Translation components API.

See the Weblate's Web API documentation for detailed description of the API.

GET /api/translations/documentation/booksarch-handbookusb_index/ru/units/?format=api
HTTP 200 OK
Allow: GET, POST, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "count": 77,
    "next": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/units/?format=api&page=2",
    "previous": null,
    "results": [
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "USB Devices in FreeBSD"
            ],
            "previous_source": "",
            "target": [
                "Устройства USB в FreeBSD"
            ],
            "id_hash": 3335905357623801601,
            "content_hash": 3335905357623801601,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:1",
            "context": "",
            "note": "type: YAML Front Matter: description",
            "flags": "no-wrap",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 1,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 4,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1177152/?format=api",
            "priority": 100,
            "id": 1776742,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=ae4b843f957d3701",
            "url": "https://translate-dev.freebsd.org/api/units/1776742/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.489994Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "Chapter 13. USB Devices"
            ],
            "previous_source": "",
            "target": [
                "Глава 13. USB-устройства"
            ],
            "id_hash": -1363524846808296412,
            "content_hash": -1363524846808296412,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:1",
            "context": "",
            "note": "type: YAML Front Matter: title",
            "flags": "no-wrap",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 2,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 4,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128714/?format=api",
            "priority": 100,
            "id": 1776743,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=6d13c96047929424",
            "url": "https://translate-dev.freebsd.org/api/units/1776743/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.490736Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "USB Devices"
            ],
            "previous_source": "",
            "target": [
                "Устройства USB"
            ],
            "id_hash": 32863814669394419,
            "content_hash": 32863814669394419,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:14",
            "context": "",
            "note": "type: Title =",
            "flags": "no-wrap",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 3,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 2,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128716/?format=api",
            "priority": 100,
            "id": 1776744,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=8074c1771f5561f3",
            "url": "https://translate-dev.freebsd.org/api/units/1776744/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.491340Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "Introduction"
            ],
            "previous_source": "",
            "target": [
                "Введение"
            ],
            "id_hash": 5330140601372690748,
            "content_hash": 5330140601372690748,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:52",
            "context": "",
            "note": "type: Title ==",
            "flags": "no-wrap",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 4,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 1,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128718/?format=api",
            "priority": 100,
            "id": 1776745,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=c9f876a2fbb4c93c",
            "url": "https://translate-dev.freebsd.org/api/units/1776745/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.491921Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "The Universal Serial Bus (USB) is a new way of attaching devices to personal computers. The bus architecture features two-way communication and has been developed as a response to devices becoming smarter and requiring more interaction with the host. USB support is included in all current PC chipsets and is therefore available in all recently built PCs. Apple's introduction of the USB-only iMac has been a major incentive for hardware manufacturers to produce USB versions of their devices. The future PC specifications specify that all legacy connectors on PCs should be replaced by one or more USB connectors, providing generic plug and play capabilities. Support for USB hardware was available at a very early stage in NetBSD and was developed by Lennart Augustsson for the NetBSD project. The code has been ported to FreeBSD and we are currently maintaining a shared code base. For the implementation of the USB subsystem a number of features of USB are important."
            ],
            "previous_source": "",
            "target": [
                "Универсальная последовательная шина (USB) — это новый способ подключения устройств к персональным компьютерам. Архитектура шины поддерживает двустороннюю связь и была разработана в ответ на усложнение устройств, требующих большего взаимодействия с хостом. Поддержка USB включена во все современные чипсеты ПК и, следовательно, доступна во всех недавно собранных компьютерах. Выпуск Apple iMac только с USB стал серьёзным стимулом для производителей оборудования выпускать USB-версии своих устройств. Согласно будущим спецификациям ПК, все устаревшие разъёмы должны быть заменены одним или несколькими USB-разъёмами, обеспечивающими универсальные возможности plug and play. Поддержка USB-оборудования появилась в NetBSD на очень раннем этапе и была разработана Леннартом Аугустссоном для проекта NetBSD. Код был портирован в FreeBSD, и в настоящее время мы поддерживаем общую кодовая базу. Для реализации подсистемы USB важны некоторые особенности USB."
            ],
            "id_hash": 1199727745247349319,
            "content_hash": 1199727745247349319,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:55",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 5,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 158,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128720/?format=api",
            "priority": 100,
            "id": 1776746,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=90a64a0722a60a47",
            "url": "https://translate-dev.freebsd.org/api/units/1776746/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.492493Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "_Lennart Augustsson has done most of the implementation of the USB support for the NetBSD project. Many thanks for this incredible amount of work. Many thanks also to Ardy and Dirk for their comments and proofreading of this paper._"
            ],
            "previous_source": "",
            "target": [
                "_Леннарт Аугустссон выполнил большую часть работы по реализации поддержки USB для проекта NetBSD. Огромная благодарность за этот невероятный объём работы. Также большое спасибо Арди и Дирку за их комментарии и вычитку этой статьи._"
            ],
            "id_hash": 8859334870681140580,
            "content_hash": 8859334870681140580,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:57",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 6,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 39,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128722/?format=api",
            "priority": 100,
            "id": 1776747,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=faf2ae20492e3d64",
            "url": "https://translate-dev.freebsd.org/api/units/1776747/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.493181Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "Devices connect to ports on the computer directly or on devices called hubs, forming a treelike device structure."
            ],
            "previous_source": "",
            "target": [
                "Устройства подключаются к портам компьютера напрямую или через устройства, называемые концентраторами, образуя древовидную структуру устройств."
            ],
            "id_hash": 1056755513713405157,
            "content_hash": 1056755513713405157,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:59",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 7,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 18,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128724/?format=api",
            "priority": 100,
            "id": 1776748,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=8eaa598a7152ace5",
            "url": "https://translate-dev.freebsd.org/api/units/1776748/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.493774Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "The devices can be connected and disconnected at run time."
            ],
            "previous_source": "",
            "target": [
                "Устройства можно подключать и отключать во время работы."
            ],
            "id_hash": -3809869449357985519,
            "content_hash": -3809869449357985519,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:60",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 8,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 10,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128726/?format=api",
            "priority": 100,
            "id": 1776749,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=4b209febde677911",
            "url": "https://translate-dev.freebsd.org/api/units/1776749/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.494314Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "Devices can suspend themselves and trigger resumes of the host system"
            ],
            "previous_source": "",
            "target": [
                "Устройства могут приостанавливать свою работу и инициировать возобновление работы основной системы"
            ],
            "id_hash": 4758631710696538746,
            "content_hash": 4758631710696538746,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:61",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 9,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 11,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128728/?format=api",
            "priority": 100,
            "id": 1776750,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=c20a0e541cfa027a",
            "url": "https://translate-dev.freebsd.org/api/units/1776750/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.494835Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "As the devices can be powered from the bus, the host software has to keep track of power budgets for each hub."
            ],
            "previous_source": "",
            "target": [
                "Поскольку устройства могут получать питание от шины, программное обеспечение хоста должно отслеживать энергопотребление для каждого концентратора."
            ],
            "id_hash": -7760338501517861056,
            "content_hash": -7760338501517861056,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:62",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 10,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 22,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128730/?format=api",
            "priority": 100,
            "id": 1776751,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=144dbd3fb83d9f40",
            "url": "https://translate-dev.freebsd.org/api/units/1776751/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.495358Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "Different quality of service requirements by the different device types together with the maximum of 126 devices that can be connected to the same bus, require proper scheduling of transfers on the shared bus to take full advantage of the 12Mbps bandwidth available. (over 400Mbps with USB 2.0)"
            ],
            "previous_source": "",
            "target": [
                "Различные требования к качеству обслуживания для разных типов устройств, а также максимум в 126 устройств, которые могут быть подключены к одной шине, требуют правильного планирования передач по общей шине, чтобы полностью использовать доступную пропускную способность в 12 Мбит/с (более 400 Мбит/с для USB 2.0)"
            ],
            "id_hash": -7354469154041575779,
            "content_hash": -7354469154041575779,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:63",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 11,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 48,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128732/?format=api",
            "priority": 100,
            "id": 1776752,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=19efad4521c8c69d",
            "url": "https://translate-dev.freebsd.org/api/units/1776752/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.495908Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "Devices are intelligent and contain easily accessible information about themselves"
            ],
            "previous_source": "",
            "target": [
                "Устройства являются интеллектуальными и содержат легко доступную информацию о себе"
            ],
            "id_hash": -4334047207861479850,
            "content_hash": -4334047207861479850,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:64",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 12,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 10,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128734/?format=api",
            "priority": 100,
            "id": 1776753,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=43da5f06f7a49656",
            "url": "https://translate-dev.freebsd.org/api/units/1776753/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.496474Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "The development of drivers for the USB subsystem and devices connected to it is supported by the specifications that have been developed and will be developed. These specifications are publicly available from the USB home pages. Apple has been very strong in pushing for standards based drivers, by making drivers for the generic classes available in their operating system MacOS and discouraging the use of separate drivers for each new device. This chapter tries to collate essential information for a basic understanding of the USB 2.0 implementation stack in FreeBSD/NetBSD. It is recommended however to read it together with the relevant 2.0 specifications and other developer resources:"
            ],
            "previous_source": "",
            "target": [
                "Разработка драйверов для подсистемы USB и подключённых к ней устройств поддерживается спецификациями, которые были разработаны и будут разрабатываться. Эти спецификации общедоступны на домашних страницах USB. Apple активно продвигает стандартизированные драйверы, предоставляя драйверы для универсальных классов в своей операционной системе MacOS и не поощряя использование отдельных драйверов для каждого нового устройства. Эта глава пытается собрать основную информацию для базового понимания реализации стека USB 2.0 в FreeBSD/NetBSD. Однако рекомендуется читать её вместе с соответствующими спецификациями 2.0 и другими ресурсами для разработчиков:"
            ],
            "id_hash": -3880011722272362588,
            "content_hash": -3880011722272362588,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:66",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 13,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 107,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128736/?format=api",
            "priority": 100,
            "id": 1776754,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=4a276de5519aafa4",
            "url": "https://translate-dev.freebsd.org/api/units/1776754/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.497093Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "USB 2.0 Specification (http://www.usb.org/developers/docs/usb20_docs/[http://www.usb.org/developers/docs/usb20_docs/])"
            ],
            "previous_source": "",
            "target": [
                "Спецификация USB 2.0 (http://www.usb.org/developers/docs/usb20_docs/[http://www.usb.org/developers/docs/usb20_docs/])"
            ],
            "id_hash": -7311253690812045067,
            "content_hash": -7311253690812045067,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:68",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 14,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 4,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128738/?format=api",
            "priority": 100,
            "id": 1776755,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=1a893581406268f5",
            "url": "https://translate-dev.freebsd.org/api/units/1776755/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.497731Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "Open Host Controller Interface (OHCI) Specification(link:ftp://ftp.compaq.com/pub/supportinformation/papers/hcir1_0a.pdf[ftp://ftp.compaq.com/pub/supportinformation/papers/hcir1_0a.pdf])"
            ],
            "previous_source": "",
            "target": [
                "Спецификация интерфейса Open Host Controller (OHCI)(link:ftp://ftp.compaq.com/pub/supportinformation/papers/hcir1_0a.pdf[ftp://ftp.compaq.com/pub/supportinformation/papers/hcir1_0a.pdf])"
            ],
            "id_hash": 1853274032635794416,
            "content_hash": 1853274032635794416,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:70",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 16,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 6,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128742/?format=api",
            "priority": 100,
            "id": 1776757,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=99b826e9e2b653f0",
            "url": "https://translate-dev.freebsd.org/api/units/1776757/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.498849Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "Developer section of USB home page (http://www.usb.org/developers/[http://www.usb.org/developers/])"
            ],
            "previous_source": "",
            "target": [
                "Раздел для разработчиков на домашней странице USB (http://www.usb.org/developers/[http://www.usb.org/developers/])"
            ],
            "id_hash": -7522950387962067566,
            "content_hash": -7522950387962067566,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:71",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 17,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 7,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128744/?format=api",
            "priority": 100,
            "id": 1776758,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=17991c7afea24592",
            "url": "https://translate-dev.freebsd.org/api/units/1776758/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.499420Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "Structure of the USB Stack"
            ],
            "previous_source": "",
            "target": [
                "Структура стека USB"
            ],
            "id_hash": 8782653040725686388,
            "content_hash": 8782653040725686388,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:72",
            "context": "",
            "note": "type: Title ===",
            "flags": "no-wrap",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 18,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 5,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128746/?format=api",
            "priority": 100,
            "id": 1776759,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=f9e2406875f57874",
            "url": "https://translate-dev.freebsd.org/api/units/1776759/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.499948Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "The USB support in FreeBSD can be split into three layers. The lowest layer contains the host controller driver, providing a generic interface to the hardware and its scheduling facilities. It supports initialisation of the hardware, scheduling of transfers and handling of completed and/or failed transfers. Each host controller driver implements a virtual hub providing hardware independent access to the registers controlling the root ports on the back of the machine."
            ],
            "previous_source": "",
            "target": [
                "Поддержка USB в FreeBSD может быть разделена на три уровня. Самый нижний уровень содержит драйвер контроллера хоста, предоставляющий универсальный интерфейс к оборудованию и его механизмам планирования. Он поддерживает инициализацию оборудования, планирование передач и обработку завершённых и/или неудачных передач. Каждый драйвер контроллера хоста реализует виртуальный концентратор, обеспечивающий независимый от оборудования доступ к регистрам, управляющим корневыми портами на задней панели машины."
            ],
            "id_hash": -367554826126560694,
            "content_hash": -367554826126560694,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:75",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 19,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 71,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128748/?format=api",
            "priority": 100,
            "id": 1776760,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=7ae62ed5413ef24a",
            "url": "https://translate-dev.freebsd.org/api/units/1776760/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.500491Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "The middle layer handles the device connection and disconnection, basic initialisation of the device, driver selection, the communication channels (pipes) and does resource management. This services layer also controls the default pipes and the device requests transferred over them."
            ],
            "previous_source": "",
            "target": [
                "Средний уровень обрабатывает подключение и отключение устройства, базовую инициализацию устройства, выбор драйвера, каналы связи (pipe) и управляет ресурсами. Этот сервисный уровень также контролирует стандартные каналы и запросы устройств, передаваемые через них."
            ],
            "id_hash": 5871213670112651532,
            "content_hash": 5871213670112651532,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:77",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 20,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 39,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128750/?format=api",
            "priority": 100,
            "id": 1776761,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=d17abdb9d77b690c",
            "url": "https://translate-dev.freebsd.org/api/units/1776761/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.501102Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "The top layer contains the individual drivers supporting specific (classes of) devices. These drivers implement the protocol that is used over the pipes other than the default pipe. They also implement additional functionality to make the device available to other parts of the kernel or userland. They use the USB driver interface (USBDI) exposed by the services layer."
            ],
            "previous_source": "",
            "target": [
                "Верхний уровень содержит отдельные драйверы, поддерживающие конкретные (классы) устройств. Эти драйверы реализуют протокол, используемый в каналах, отличных от стандартного. Они также реализуют дополнительную функциональность для обеспечения доступа к устройству другим частям ядра или пользовательского пространства. Они используют интерфейс драйвера USB (USBDI), предоставляемый уровнем сервисов."
            ],
            "id_hash": 6589611673120836572,
            "content_hash": 6589611673120836572,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:79",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 21,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 58,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128752/?format=api",
            "priority": 100,
            "id": 1776762,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=db7300e748228bdc",
            "url": "https://translate-dev.freebsd.org/api/units/1776762/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.501664Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "Host Controllers"
            ],
            "previous_source": "",
            "target": [
                "Контроллеры хоста"
            ],
            "id_hash": -7894148192300866501,
            "content_hash": -7894148192300866501,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:81",
            "context": "",
            "note": "type: Title ==",
            "flags": "no-wrap",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 22,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 2,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128754/?format=api",
            "priority": 100,
            "id": 1776763,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=12725a0b499d643b",
            "url": "https://translate-dev.freebsd.org/api/units/1776763/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.502244Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "The host controller (HC) controls the transmission of packets on the bus. Frames of 1 millisecond are used. At the start of each frame the host controller generates a Start of Frame (SOF) packet."
            ],
            "previous_source": "",
            "target": [
                "Хост-контроллер (HC) управляет передачей пакетов на шине. Используются кадры длительностью 1 миллисекунда. В начале каждого кадра хост-контроллер генерирует пакет Start of Frame (SOF)."
            ],
            "id_hash": -2108970963504059377,
            "content_hash": -2108970963504059377,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:84",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 23,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 34,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128756/?format=api",
            "priority": 100,
            "id": 1776764,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=62bb6e151eba2c0f",
            "url": "https://translate-dev.freebsd.org/api/units/1776764/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.502780Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "The SOF packet is used to synchronise to the start of the frame and to keep track of the frame number. Within each frame packets are transferred, either from host to device (out) or from device to host (in). Transfers are always initiated by the host (polled transfers). Therefore there can only be one host per USB bus. Each transfer of a packet has a status stage in which the recipient of the data can return either ACK (acknowledge reception), NAK (retry), STALL (error condition) or nothing (garbled data stage, device not available or disconnected). Section 8.5 of the USB 2.0 Specification explains the details of packets in more detail. Four different types of transfers can occur on a USB bus: control, bulk, interrupt and isochronous. The types of transfers and their characteristics are described below."
            ],
            "previous_source": "",
            "target": [
                "Пакет SOF используется для синхронизации начала кадра и отслеживания номера кадра. Внутри каждого кадра передаются пакеты, либо от хоста к устройству (исходящие), либо от устройства к хосту (входящие). Передачи всегда инициируются хостом (опросные передачи). Поэтому на каждой шине USB может быть только один хост. Каждая передача пакета имеет стадию статуса, в которой получатель данных может вернуть либо ACK (подтверждение приема), NAK (повторить), STALL (ошибка) либо ничего (искаженная стадия данных, устройство недоступно или отключено). В разделе 8.5 спецификации USB 2.0 подробно объясняются детали пакетов. На шине USB могут происходить четыре различных типа передач: управляющие, массовые, прерывания и изохронные. Типы передач и их характеристики описаны ниже."
            ],
            "id_hash": 1296002762428466081,
            "content_hash": 1296002762428466081,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:86",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 24,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 136,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128758/?format=api",
            "priority": 100,
            "id": 1776765,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=91fc53a55a7943a1",
            "url": "https://translate-dev.freebsd.org/api/units/1776765/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.503336Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "Large transfers between the device on the USB bus and the device driver are split up into multiple packets by the host controller or the HC driver."
            ],
            "previous_source": "",
            "target": [
                "Крупные передачи между устройством на шине USB и драйвером устройства разделяются на несколько пакетов хост-контроллером или драйвером HC."
            ],
            "id_hash": -1080661350143426227,
            "content_hash": -1080661350143426227,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:88",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 25,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 27,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128760/?format=api",
            "priority": 100,
            "id": 1776766,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=7100b83a4635014d",
            "url": "https://translate-dev.freebsd.org/api/units/1776766/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.503957Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "Device requests (control transfers) to the default endpoints are special. They consist of two or three phases: SETUP, DATA (optional) and STATUS. The set-up packet is sent to the device. If there is a data phase, the direction of the data packet(s) is given in the set-up packet. The direction in the status phase is the opposite of the direction during the data phase, or IN if there was no data phase. The host controller hardware also provides registers with the current status of the root ports and the changes that have occurred since the last reset of the status change register. Access to these registers is provided through a virtualised hub as suggested in the USB specification. The virtual hub must comply with the hub device class given in chapter 11 of that specification. It must provide a default pipe through which device requests can be sent to it. It returns the standard andhub class specific set of descriptors. It should also provide an interrupt pipe that reports changes happening at its ports. There are currently two specifications for host controllers available: Universal Host Controller Interface (UHCI) from Intel and Open Host Controller Interface (OHCI) from Compaq, Microsoft, and National Semiconductor. The UHCI specification has been designed to reduce hardware complexity by requiring the host controller driver to supply a complete schedule of the transfers for each frame. OHCI type controllers are much more independent by providing a more abstract interface doing a lot of work themselves."
            ],
            "previous_source": "",
            "target": [
                "Запросы устройств (управляющие передачи) к конечным точкам по умолчанию являются особыми. Они состоят из двух или трёх фаз: SETUP, DATA (опционально) и STATUS. Пакет настройки отправляется на устройство. Если присутствует фаза данных, направление пакета(ов) данных указывается в пакете настройки. Направление в фазе статуса противоположно направлению во время фазы данных или IN, если фазы данных не было. Аппаратное обеспечение хост-контроллера также предоставляет регистры с текущим состоянием корневых портов и изменениями, произошедшими с момента последнего сброса регистра изменений статуса. Доступ к этим регистрам предоставляется через виртуализированный концентратор, как предложено в спецификации USB. Виртуальный концентратор должен соответствовать классу устройств концентратора, указанному в главе 11 этой спецификации. Он должен предоставлять канал по умолчанию, через который можно отправлять запросы устройств. Он возвращает стандартные и специфичные для класса концентратора наборы дескрипторов. Также он должен предоставлять прерывающий канал, сообщающий об изменениях, происходящих на его портах. В настоящее время доступны две спецификации для хост-контроллеров: - Universal Host Controller Interface (UHCI) от Intel и Open Host Controller Interface (OHCI) от Compaq, Microsoft и National Semiconductor. Спецификация UHCI разработана для уменьшения аппаратной сложности, требуя от драйвера хост-контроллера предоставления полного расписания передач для каждого кадра. Контроллеры типа OHCI гораздо более независимы, предоставляя более абстрактный интерфейс и выполняя большую часть работы самостоятельно."
            ],
            "id_hash": -4178169716895022373,
            "content_hash": -4178169716895022373,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:90",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 26,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 248,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128762/?format=api",
            "priority": 100,
            "id": 1776767,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=460428c7852d82db",
            "url": "https://translate-dev.freebsd.org/api/units/1776767/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.504542Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "UHCI"
            ],
            "previous_source": "",
            "target": [
                "UHCI"
            ],
            "id_hash": 5077005470078279795,
            "content_hash": 5077005470078279795,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:91",
            "context": "",
            "note": "type: Title ===",
            "flags": "no-wrap",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 27,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 1,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128764/?format=api",
            "priority": 100,
            "id": 1776768,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=c67525936ebb2073",
            "url": "https://translate-dev.freebsd.org/api/units/1776768/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.505271Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "The UHCI host controller maintains a framelist with 1024 pointers to per frame data structures. It understands two different data types: transfer descriptors (TD) and queue heads (QH). Each TD represents a packet to be communicated to or from a device endpoint. QHs are a means to groupTDs (and QHs) together."
            ],
            "previous_source": "",
            "target": [
                "Контроллер UHCI поддерживает список кадров (framelist) с 1024 указателями на структуры данных для каждого кадра. Он распознаёт два типа данных: дескрипторы передачи (TD) и головы очередей (QH). Каждый TD представляет пакет для передачи в конечную точку устройства или из неё. QH служат для группировки TD (и других QH) вместе."
            ],
            "id_hash": -7267031986216853495,
            "content_hash": -7267031986216853495,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:94",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 28,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 51,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128766/?format=api",
            "priority": 100,
            "id": 1776769,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=1b2650e93224a009",
            "url": "https://translate-dev.freebsd.org/api/units/1776769/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.505793Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "Each transfer consists of one or more packets. The UHCI driver splits large transfers into multiple packets. For every transfer, apart from isochronous transfers, a QH is allocated. For every type of transfer these QHs are collected at a QH for that type. Isochronous transfers have to be executed first because of the fixed latency requirement and are directly referred to by the pointer in the framelist. The last isochronous TD refers to the QH for interrupt transfers for that frame. All QHs for interrupt transfers point at the QH for control transfers, which in turn points at the QH for bulk transfers. The following diagram gives a graphical overview of this:"
            ],
            "previous_source": "",
            "target": [
                "Каждая передача состоит из одного или нескольких пакетов. Драйвер UHCI разделяет большие передачи на несколько пакетов. Для каждой передачи, за исключением изохронных, выделяется QH. Для каждого типа передачи эти QH собираются в QH для соответствующего типа. Изохронные передачи должны выполняться первыми из-за требования фиксированной задержки и непосредственно указываются указателем в списке кадров. Последний изохронный TD ссылается на QH для прерывающих передач для этого кадра. Все QH для прерывающих передач указывают на QH для управляющих передач, который, в свою очередь, указывает на QH для массовых передач. Следующая диаграмма даёт графическое представление этого:"
            ],
            "id_hash": 647258607898914069,
            "content_hash": 647258607898914069,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:96",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 29,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 112,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128768/?format=api",
            "priority": 100,
            "id": 1776770,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=88fb864649a0ed15",
            "url": "https://translate-dev.freebsd.org/api/units/1776770/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.506386Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "This results in the following schedule being run in each frame. After fetching the pointer for the current frame from the framelist the controller first executes the TDs for all the isochronous packets in that frame. The last of these TDs refers to the QH for the interrupt transfers for that frame. The host controller will then descend from that QH to the QHs for the individual interrupt transfers. After finishing that queue, the QH for the interrupt transfers will refer the controller to the QH for all control transfers. It will execute all the subqueues scheduled there, followed by all the transfers queued at the bulk QH. To facilitate the handling of finished or failed transfers different types of interrupts are generated by the hardware at the end of each frame. In the last TD for a transfer the Interrupt-On Completion bit is set by the HC driver to flag an interrupt when the transfer has completed. An error interrupt is flagged if a TD reaches its maximum error count. If the short packet detect bit is set in a TD and less than the set packet length is transferred this interrupt is flagged to notify the controller driver of the completed transfer. It is the host controller driver's task to find out which transfer has completed or produced an error. When called the interrupt service routine will locate all the finished transfers and call their callbacks."
            ],
            "previous_source": "",
            "target": [
                "В результате выполняется следующее расписание в каждом кадре. После получения указателя на текущий кадр из списка кадров контроллер сначала выполняет TDs для всех изохронных пакетов в этом кадре. Последний из этих TDs ссылается на QH для прерывающих передач этого кадра. Хост-контроллер затем переходит от этого QH к QHs для отдельных прерывающих передач. После завершения этой очереди, QH для прерывающих передач ссылается на QH для всех управляющих передач. Он выполняет все подочереди, запланированные там, а затем все передачи, поставленные в очередь в QH для массовых передач. Для упрощения обработки завершённых или неудачных передач аппаратное обеспечение генерирует различные типы прерываний в конце каждого кадра. В последнем TD для передачи бит *Interrupt-On Completion* устанавливается драйвером HC, чтобы вызвать прерывание по завершении передачи. Прерывание ошибки возникает, если TD достигает максимального количества ошибок. Если в TD установлен бит *short packet detect* и передано меньше установленной длины пакета, это прерывание уведомляет драйвер контроллера о завершении передачи. Задача драйвера хост-контроллера — определить, какая передача завершилась или вызвала ошибку. При вызове процедура обслуживания прерывания находит все завершённые передачи и вызывает их callback-функции."
            ],
            "id_hash": 3371801013597826119,
            "content_hash": 3371801013597826119,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:98",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 30,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 238,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1691945/?format=api",
            "priority": 100,
            "id": 1776771,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=aecb0b2844ccec47",
            "url": "https://translate-dev.freebsd.org/api/units/1776771/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.507052Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "Refer to the UHCI Specification for a more elaborate description."
            ],
            "previous_source": "",
            "target": [
                "Обратитесь к спецификации UHCI для более подробного описания."
            ],
            "id_hash": 4718483170048387310,
            "content_hash": 4718483170048387310,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:100",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 31,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 10,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128772/?format=api",
            "priority": 100,
            "id": 1776772,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=c17b6b718d64a8ee",
            "url": "https://translate-dev.freebsd.org/api/units/1776772/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.507758Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "OHCI"
            ],
            "previous_source": "",
            "target": [
                "OHCI"
            ],
            "id_hash": -8318000232449324922,
            "content_hash": -8318000232449324922,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:101",
            "context": "",
            "note": "type: Title ===",
            "flags": "no-wrap",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 32,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 1,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128774/?format=api",
            "priority": 100,
            "id": 1776773,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=0c9086dbf73dc886",
            "url": "https://translate-dev.freebsd.org/api/units/1776773/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.508294Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "Programming an OHCI host controller is much simpler. The controller assumes that a set of endpoints is available, and is aware of scheduling priorities and the ordering of the types of transfers in a frame. The main data structure used by the host controller is the endpoint descriptor (ED) to which a queue of transfer descriptors (TDs) is attached. The ED contains the maximum packet size allowed for an endpoint and the controller hardware does the splitting into packets. The pointers to the data buffers are updated after each transfer and when the start and end pointer are equal, the TD is retired to the done-queue. The four types of endpoints (interrupt, isochronous, control, and bulk) have their own queues. Control and bulk endpoints are queued each at their own queue. Interrupt EDs are queued in a tree, with the level in the tree defining the frequency at which they run."
            ],
            "previous_source": "",
            "target": [
                "Программирование OHCI-контроллера значительно проще. Контроллер предполагает, что доступен набор конечных точек, и учитывает приоритеты планирования и порядок типов передач в кадре. Основная структура данных, используемая хост-контроллером, — это дескриптор конечной точки (ED), к которому присоединена очередь дескрипторов передачи (TD). ED содержит максимальный размер пакета, разрешенный для конечной точки, а аппаратное обеспечение контроллера выполняет разделение на пакеты. Указатели на буферы данных обновляются после каждой передачи, и когда начальный и конечный указатели становятся равны, TD перемещается в очередь завершённых (done-queue). Четыре типа конечных точек (прерывание, изохронная, управление и массовая) имеют свои собственные очереди. Управляющие и массовые конечные точки помещаются каждая в свою очередь. ED прерываний организуются в дерево, где уровень в дереве определяет частоту их выполнения."
            ],
            "id_hash": 8297832298032021433,
            "content_hash": 8297832298032021433,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:104",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 33,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 151,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128776/?format=api",
            "priority": 100,
            "id": 1776774,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=f327d282e1f63fb9",
            "url": "https://translate-dev.freebsd.org/api/units/1776774/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.508846Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "The schedule being run by the host controller in each frame looks as follows. The controller will first run the non-periodic control and bulk queues, up to a time limit set by the HC driver. Then the interrupt transfers for that frame number are run, by using the lower five bits of the frame number as an index into level 0 of the tree of interrupts EDs. At the end of this tree the isochronous EDs are connected and these are traversed subsequently. The isochronous TDs contain the frame number of the first frame the transfer should be run in. After all the periodic transfers have been run, the control and bulk queues are traversed again. Periodically the interrupt service routine is called to process the done queue and call the callbacks for each transfer and reschedule interrupt and isochronous endpoints."
            ],
            "previous_source": "",
            "target": [
                "Порядок действий, выполняемых хост-контроллером в каждом кадре, выглядит следующим образом. Контроллер сначала запускает непериодические очереди управления и массовых передач, вплоть до ограничения времени, установленного драйвером HC. Затем выполняются прерывающие передачи для данного номера кадра, используя младшие пять битов номера кадра в качестве индекса уровня 0 дерева ED прерываний. В конце этого дерева подключены изохронные ED, которые затем обходятся. Изохронные TD содержат номер кадра, в котором должна быть запущена первая передача. После выполнения всех периодических передач очереди управления и массовых передач обходятся снова. Периодически вызывается процедура обслуживания прерывания для обработки очереди завершённых операций и вызова обратных вызовов для каждой передачи, а также для перепланирования прерывающих и изохронных конечных точек."
            ],
            "id_hash": 1694537950249937692,
            "content_hash": 1694537950249937692,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:106",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 34,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 141,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128778/?format=api",
            "priority": 100,
            "id": 1776775,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=97843549a710eb1c",
            "url": "https://translate-dev.freebsd.org/api/units/1776775/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.509520Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "See the UHCI Specification for a more elaborate description. The middle layer provides access to the device in a controlled way and maintains resources in use by the different drivers and the services layer. The layer takes care of the following aspects:"
            ],
            "previous_source": "",
            "target": [
                "См. UHCI Specification для более подробного описания. Средний уровень обеспечивает контролируемый доступ к устройству и управляет ресурсами, используемыми различными драйверами и уровнем сервисов. Этот уровень отвечает за следующие аспекты:"
            ],
            "id_hash": -5421817298047579816,
            "content_hash": -5421817298047579816,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:108",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 35,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 42,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128780/?format=api",
            "priority": 100,
            "id": 1776776,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=34c1d5e4b8ce4958",
            "url": "https://translate-dev.freebsd.org/api/units/1776776/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.510169Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "The device configuration information"
            ],
            "previous_source": "",
            "target": [
                "Информация о конфигурации устройства"
            ],
            "id_hash": 8271833733883555144,
            "content_hash": 8271833733883555144,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:110",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 36,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 4,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128782/?format=api",
            "priority": 100,
            "id": 1776777,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=f2cb74f47538ed48",
            "url": "https://translate-dev.freebsd.org/api/units/1776777/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.510781Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "The pipes to communicate with a device"
            ],
            "previous_source": "",
            "target": [
                "Каналы для взаимодействия с устройством"
            ],
            "id_hash": -479975717736998297,
            "content_hash": -479975717736998297,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:111",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 37,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 7,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128784/?format=api",
            "priority": 100,
            "id": 1776778,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=7956c8a0b3791a67",
            "url": "https://translate-dev.freebsd.org/api/units/1776778/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.511307Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "Probing and attaching and detaching form a device."
            ],
            "previous_source": "",
            "target": [
                "Обнаружение, подключение и отключение от устройства."
            ],
            "id_hash": -5941025715249721406,
            "content_hash": -5941025715249721406,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:112",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 38,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 8,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128786/?format=api",
            "priority": 100,
            "id": 1776779,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=2d8d3c96c1144fc2",
            "url": "https://translate-dev.freebsd.org/api/units/1776779/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.511834Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "USB Device Information"
            ],
            "previous_source": "",
            "target": [
                "Информация об устройстве USB"
            ],
            "id_hash": -8822369062388053998,
            "content_hash": -8822369062388053998,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:114",
            "context": "",
            "note": "type: Title ==",
            "flags": "no-wrap",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 39,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 3,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128788/?format=api",
            "priority": 100,
            "id": 1776780,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=0590a614a6f6c812",
            "url": "https://translate-dev.freebsd.org/api/units/1776780/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.512356Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "Device Configuration Information"
            ],
            "previous_source": "",
            "target": [
                "Информация о конфигурации устройства"
            ],
            "id_hash": -2898173267864380486,
            "content_hash": -2898173267864380486,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:116",
            "context": "",
            "note": "type: Title ===",
            "flags": "no-wrap",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 40,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 3,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128790/?format=api",
            "priority": 100,
            "id": 1776781,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=57c79ec49f691bba",
            "url": "https://translate-dev.freebsd.org/api/units/1776781/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.512863Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "Each device provides different levels of configuration information. Each device has one or more configurations, of which one is selected during probe/attach. A configuration provides power and bandwidth requirements. Within each configuration there can be multiple interfaces. A device interface is a collection of endpoints. For example USB speakers can have an interface for the audio data (Audio Class) and an interface for the knobs, dials and buttons (HID Class). All interfaces in a configuration are active at the same time and can be attached to by different drivers. Each interface can have alternates, providing different quality of service parameters. In for example cameras this is used to provide different frame sizes and numbers of frames per second."
            ],
            "previous_source": "",
            "target": [
                "Каждое устройство предоставляет различные уровни информации о конфигурации. У каждого устройства есть одна или несколько конфигураций, из которых одна выбирается во время обнаружения/подключения. Конфигурация определяет требования к питанию и пропускной способности. В каждой конфигурации может быть несколько интерфейсов. Интерфейс устройства — это набор конечных точек. Например, USB-колонки могут иметь интерфейс для аудиоданных (Audio Class) и интерфейс для регуляторов, ручек и кнопок (HID Class). Все интерфейсы в конфигурации активны одновременно и могут быть подключены разными драйверами. Каждый интерфейс может иметь альтернативные варианты, предоставляющие различные параметры качества обслуживания. Например, в камерах это используется для поддержки разных размеров кадра и количества кадров в секунду."
            ],
            "id_hash": -8193948532022048149,
            "content_hash": -8193948532022048149,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:119",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 41,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 118,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128792/?format=api",
            "priority": 100,
            "id": 1776782,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=0e493f3938fe0a6b",
            "url": "https://translate-dev.freebsd.org/api/units/1776782/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.513376Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "Within each interface, 0 or more endpoints can be specified. Endpoints are the unidirectional access points for communicating with a device. They provide buffers to temporarily store incoming or outgoing data from the device. Each endpoint has a unique address within a configuration, the endpoint's number plus its direction. The default endpoint, endpoint 0, is not part of any interface and available in all configurations. It is managed by the services layer and not directly available to device drivers."
            ],
            "previous_source": "",
            "target": [
                "В каждом интерфейсе может быть указано 0 или более конечных точек. Конечные точки — это однонаправленные точки доступа для связи с устройством. Они предоставляют буферы для временного хранения входящих или исходящих данных устройства. Каждая конечная точка имеет уникальный адрес в конфигурации — номер конечной точки плюс её направление. Конечная точка по умолчанию, конечная точка 0, не является частью какого-либо интерфейса и доступна во всех конфигурациях. Она управляется уровнем сервисов и не доступна напрямую драйверам устройств."
            ],
            "id_hash": -3056682018490395332,
            "content_hash": -3056682018490395332,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:121",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 42,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 79,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128794/?format=api",
            "priority": 100,
            "id": 1776783,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=55947be6308e553c",
            "url": "https://translate-dev.freebsd.org/api/units/1776783/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.514001Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "This hierarchical configuration information is described in the device by a standard set of descriptors (see section 9.6 of the USB specification). They can be requested through the Get Descriptor Request. The services layer caches these descriptors to avoid unnecessary transfers on the USB bus. Access to the descriptors is provided through function calls."
            ],
            "previous_source": "",
            "target": [
                "Эта иерархическая конфигурационная информация описывается в устройстве стандартным набором дескрипторов (см. раздел 9.6 спецификации USB). Они могут быть запрошены через Get Descriptor Request. Сервисный уровень кэширует эти дескрипторы, чтобы избежать ненужных передач по шине USB. Доступ к дескрипторам предоставляется через вызовы функций."
            ],
            "id_hash": -7354443574894541736,
            "content_hash": -7354443574894541736,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:123",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 43,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 54,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128796/?format=api",
            "priority": 100,
            "id": 1776784,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=19efc488bdc1c458",
            "url": "https://translate-dev.freebsd.org/api/units/1776784/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.514596Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "Device descriptors: General information about the device, like Vendor, Product and Revision Id, supported device class, subclass and protocol if applicable, maximum packet size for the default endpoint, etc."
            ],
            "previous_source": "",
            "target": [
                "Дескрипторы устройств: Общая информация об устройстве, такая как Vendor (производитель), Product (продукт) и Revision Id (идентификатор ревизии), поддерживаемый класс устройства, подкласс и протокол, если применимо, максимальный размер пакета для конечной точки по умолчанию и т. д."
            ],
            "id_hash": -8580133398601684504,
            "content_hash": -8580133398601684504,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:125",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 44,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 29,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128798/?format=api",
            "priority": 100,
            "id": 1776785,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=08ed3e222ae1a9e8",
            "url": "https://translate-dev.freebsd.org/api/units/1776785/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.515169Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "Configuration descriptors: The number of interfaces in this configuration, suspend and resume functionality supported and power requirements."
            ],
            "previous_source": "",
            "target": [
                "Дескрипторы конфигурации: количество интерфейсов в данной конфигурации, поддержка функций приостановки и возобновления работы, а также требования к питанию."
            ],
            "id_hash": 3792132632938321460,
            "content_hash": 3792132632938321460,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:126",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 45,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 17,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128800/?format=api",
            "priority": 100,
            "id": 1776786,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=b4a05c89bf749634",
            "url": "https://translate-dev.freebsd.org/api/units/1776786/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.515718Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "Interface descriptors: interface class, subclass and protocol if applicable, number of alternate settings for the interface and the number of endpoints."
            ],
            "previous_source": "",
            "target": [
                "Дескрипторы интерфейса: класс интерфейса, подкласс и протокол (если применимо), количество альтернативных настроек интерфейса и количество конечных точек."
            ],
            "id_hash": 3921750264527545130,
            "content_hash": 3921750264527545130,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:127",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 46,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 21,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128802/?format=api",
            "priority": 100,
            "id": 1776787,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=b66cdb1656f5632a",
            "url": "https://translate-dev.freebsd.org/api/units/1776787/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.516242Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "Endpoint descriptors: Endpoint address, direction and type, maximum packet size supported and polling frequency if type is interrupt endpoint. There is no descriptor for the default endpoint (endpoint 0) and it is never counted in an interface descriptor."
            ],
            "previous_source": "",
            "target": [
                "Дескрипторы конечных точек: Адрес конечной точки, направление и тип, максимальный поддерживаемый размер пакета и частота опроса, если тип является конечной точкой прерывания. Для конечной точки по умолчанию (конечная точка 0) дескриптора не существует, и она никогда не учитывается в дескрипторе интерфейса."
            ],
            "id_hash": -4484101439273244152,
            "content_hash": -4484101439273244152,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:128",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 47,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 38,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128804/?format=api",
            "priority": 100,
            "id": 1776788,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=41c5457faf4cea08",
            "url": "https://translate-dev.freebsd.org/api/units/1776788/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.516844Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "String descriptors: In the other descriptors string indices are supplied for some fields.These can be used to retrieve descriptive strings, possibly in multiple languages."
            ],
            "previous_source": "",
            "target": [
                "Дескрипторы строк: В остальных дескрипторах для некоторых полей указываются индексы строк. Эти индексы могут использоваться для получения описательных строк, возможно, на нескольких языках."
            ],
            "id_hash": -4056602881963407789,
            "content_hash": -4056602881963407789,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:129",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 48,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 24,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128806/?format=api",
            "priority": 100,
            "id": 1776789,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=47b40d2bf1bec653",
            "url": "https://translate-dev.freebsd.org/api/units/1776789/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.517388Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "Class specifications can add their own descriptor types that are available through the GetDescriptor Request."
            ],
            "previous_source": "",
            "target": [
                "Спецификации классов могут добавлять свои собственные типы дескрипторов, которые доступны через запрос GetDescriptor."
            ],
            "id_hash": 7397479133666119998,
            "content_hash": 7397479133666119998,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:131",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 49,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 15,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128808/?format=api",
            "priority": 100,
            "id": 1776790,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=e6a920141b88913e",
            "url": "https://translate-dev.freebsd.org/api/units/1776790/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.517914Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "Pipes Communication to end points on a device flows through so-called pipes. Drivers submit transfers to endpoints to a pipe and provide a callback to be called on completion or failure of the transfer (asynchronous transfers) or wait for completion (synchronous transfer). Transfers to an endpoint are serialised in the pipe. A transfer can either complete, fail or time-out (if a time-out has been set). There are two types of time-outs for transfers. Time-outs can happen due to time-out on the USBbus (milliseconds). These time-outs are seen as failures and can be due to disconnection of the device. A second form of time-out is implemented in software and is triggered when a transfer does not complete within a specified amount of time (seconds). These are caused by a device acknowledging negatively (NAK) the transferred packets. The cause for this is the device not being ready to receive data, buffer under- or overrun or protocol errors."
            ],
            "previous_source": "",
            "target": [
                "Канальный обмен данными с конечными точками устройства осуществляется через так называемые *каналы*. Драйверы передают данные конечным точкам через канал и предоставляют функцию обратного вызова, которая вызывается при завершении или сбое передачи (асинхронные передачи) или ожидают завершения (синхронная передача). Передачи данных в конечную точку сериализуются в канале. Передача может завершиться успешно, завершиться с ошибкой или превысить время ожидания (если оно было задано). Существует два типа таймаутов для передач. Таймауты могут происходить из-за истечения времени на шине USB (миллисекунды). Эти таймауты рассматриваются как сбои и могут быть вызваны отключением устройства. Вторая форма таймаута реализована на уровне программного обеспечения и срабатывает, если передача не завершается в течение заданного времени (секунды). Это происходит, когда устройство отрицательно подтверждает (NAK) переданные пакеты. Причинами могут быть неготовность устройства к приему данных, переполнение буфера или пустой буфер, либо ошибки протокола."
            ],
            "id_hash": 862745265346749744,
            "content_hash": 862745265346749744,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:133",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 50,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 155,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128810/?format=api",
            "priority": 100,
            "id": 1776791,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=8bf9163f70a4a530",
            "url": "https://translate-dev.freebsd.org/api/units/1776791/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.518465Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/ru/?format=api",
            "source": [
                "If a transfer over a pipe is larger than the maximum packet size specified in the associated endpoint descriptor, the host controller (OHCI) or the HC driver (UHCI) will split the transfer into packets of maximum packet size, with the last packet possibly smaller than the maximum packet size."
            ],
            "previous_source": "",
            "target": [
                "Если передача через канал превышает максимальный размер пакета, указанный в соответствующем дескрипторе конечной точки, хост-контроллер (OHCI) или драйвер HC (UHCI) разделит передачу на пакеты максимального размера, при этом последний пакет может быть меньше максимального размера."
            ],
            "id_hash": -4822289356330390006,
            "content_hash": -4822289356330390006,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:135",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 20,
            "fuzzy": false,
            "translated": true,
            "approved": false,
            "position": 51,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 49,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128812/?format=api",
            "priority": 100,
            "id": 1776792,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/ru/?checksum=3d13c96147c7ae0a",
            "url": "https://translate-dev.freebsd.org/api/units/1776792/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2025-05-25T07:56:49.519102Z"
        }
    ]
}