Translation components API.

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

GET /api/translations/documentation/booksarch-handbookusb_index/zh_CN/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/zh_CN/units/?format=api&page=2",
    "previous": null,
    "results": [
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?format=api",
            "source": [
                "Chapter 13. USB Devices"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "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": 0,
            "fuzzy": false,
            "translated": false,
            "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": 1129322,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=6d13c96047929424",
            "url": "https://translate-dev.freebsd.org/api/units/1129322/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.010028Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?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:13",
            "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": 1129323,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=8074c1771f5561f3",
            "url": "https://translate-dev.freebsd.org/api/units/1129323/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.015850Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?format=api",
            "source": [
                "Introduction"
            ],
            "previous_source": "",
            "target": [
                "介绍"
            ],
            "id_hash": 5330140601372690748,
            "content_hash": 5330140601372690748,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:51",
            "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": 1129324,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=c9f876a2fbb4c93c",
            "url": "https://translate-dev.freebsd.org/api/units/1129324/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.021293Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?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)是将设备连接到个人计算机的一种新方法。总线 结构突出了双向通信的特色,并且其开发充分考虑到了设备正逐渐智能化 和需要与host进行更多交互的现实。对USB的支持包含在当前所有芯片中, 因此在新近制造的PC中都可用。苹果(Apple)引入仅带USB的iMac对硬件 制造商生产他们USB版本的设备是一个很大的激励。未来的PC规范指定 PC上的所有老连接器应当由一个或多个USB连接器取代,提供通用的 即插即用能力。对USB硬件的支持在NetBSD的相当早期就有了,它是由 Lennart Augustsson为NetBSD项目开发的。代码已经被移植到FreeBSD上, 我们目前维护着一个底层共享代码。对USB子系统的实现来说,许多USB的 特性很重要。"
            ],
            "id_hash": 1199727745247349319,
            "content_hash": 1199727745247349319,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:54",
            "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": 1129325,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=90a64a0722a60a47",
            "url": "https://translate-dev.freebsd.org/api/units/1129325/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.026861Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?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": [
                "<emphasis>Lennart Augustsson已经完成了NetBSD项目中USB支持的 大部分实现。十分感谢这项工作量惊人的工作。也十分感谢Ardy和Dirk 对本文稿的评论和校对。</emphasis>"
            ],
            "id_hash": 8859334870681140580,
            "content_hash": 8859334870681140580,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:56",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 10,
            "fuzzy": true,
            "translated": false,
            "approved": false,
            "position": 6,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": true,
            "num_words": 39,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128722/?format=api",
            "priority": 100,
            "id": 1129326,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=faf2ae20492e3d64",
            "url": "https://translate-dev.freebsd.org/api/units/1129326/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.087281Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?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:58",
            "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": 1129327,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=8eaa598a7152ace5",
            "url": "https://translate-dev.freebsd.org/api/units/1129327/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.094580Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?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:59",
            "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": 1129328,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=4b209febde677911",
            "url": "https://translate-dev.freebsd.org/api/units/1129328/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.100798Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?format=api",
            "source": [
                "Devices can suspend themselves and trigger resumes of the host system"
            ],
            "previous_source": "",
            "target": [
                "设备可以挂起自身并触发host系统的重新投入运行。"
            ],
            "id_hash": 4758631710696538746,
            "content_hash": 4758631710696538746,
            "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": 9,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": true,
            "num_words": 11,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128728/?format=api",
            "priority": 100,
            "id": 1129329,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=c20a0e541cfa027a",
            "url": "https://translate-dev.freebsd.org/api/units/1129329/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.106899Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?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": [
                "由于设备可由总线供电,因此host软件必须跟踪每个 集中器的电源预算。"
            ],
            "id_hash": -7760338501517861056,
            "content_hash": -7760338501517861056,
            "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": 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": 1129330,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=144dbd3fb83d9f40",
            "url": "https://translate-dev.freebsd.org/api/units/1129330/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.112830Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?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个设备,这就需要恰当地调度总线上的传输以充分 利用12Mbps的可用带宽。(USB 2.0超过400Mbps)"
            ],
            "id_hash": -7354469154041575779,
            "content_hash": -7354469154041575779,
            "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": 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": 1129331,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=19efad4521c8c69d",
            "url": "https://translate-dev.freebsd.org/api/units/1129331/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.119460Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?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:63",
            "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": true,
            "num_words": 10,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128734/?format=api",
            "priority": 100,
            "id": 1129332,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=43da5f06f7a49656",
            "url": "https://translate-dev.freebsd.org/api/units/1129332/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.124996Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?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中获得,而且不鼓励为每种新设备 使用单独的驱动程序来强烈推行基于标准的驱动程序。本章试图整理基本 信息以便对FreeBSD/NetBSD中USB栈的当前实现有个基本的了解。然而, 建议将下面参考中提及的相关规范与本章同时阅读:"
            ],
            "id_hash": -3880011722272362588,
            "content_hash": -3880011722272362588,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:65",
            "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": 1129333,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=4a276de5519aafa4",
            "url": "https://translate-dev.freebsd.org/api/units/1129333/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.130670Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?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": [
                ""
            ],
            "id_hash": -7311253690812045067,
            "content_hash": -7311253690812045067,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:67",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "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": 1129334,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=1a893581406268f5",
            "url": "https://translate-dev.freebsd.org/api/units/1129334/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.136271Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?format=api",
            "source": [
                "Universal Host Controller Interface (UHCI) Specification (link:ftp://ftp.netbsd.org/pub/NetBSD/misc/blymn/uhci11d.pdf[ftp://ftp.netbsd.org/pub/NetBSD/misc/blymn/uhci11d.pdf)]"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 9149167822234243421,
            "content_hash": 9149167822234243421,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:68",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 15,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 7,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128740/?format=api",
            "priority": 100,
            "id": 1129335,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=fef85fa8f2b4d15d",
            "url": "https://translate-dev.freebsd.org/api/units/1129335/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.141058Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?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": [
                ""
            ],
            "id_hash": 1853274032635794416,
            "content_hash": 1853274032635794416,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:69",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "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": 1129336,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=99b826e9e2b653f0",
            "url": "https://translate-dev.freebsd.org/api/units/1129336/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.146565Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?format=api",
            "source": [
                "Developer section of USB home page (http://www.usb.org/developers/[http://www.usb.org/developers/])"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -7522950387962067566,
            "content_hash": -7522950387962067566,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:70",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "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": 1129337,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=17991c7afea24592",
            "url": "https://translate-dev.freebsd.org/api/units/1129337/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.152318Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?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:71",
            "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": 1129338,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=f9e2406875f57874",
            "url": "https://translate-dev.freebsd.org/api/units/1129338/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.184613Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?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": [
                "FreeBSD中的USB支持可被分为三层。最底层包含主控器,向硬件 及其调度设施提供一个通用接口。它支持硬件初始化,对传输进行调度, 处理已完成/失败的传输。每个主控器驱动程序实现一个虚拟hub, 以硬件无关方式提供对控制机器背面根端口的寄存器的访问。"
            ],
            "id_hash": -367554826126560694,
            "content_hash": -367554826126560694,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:74",
            "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": 1129339,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=7ae62ed5413ef24a",
            "url": "https://translate-dev.freebsd.org/api/units/1129339/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.191154Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?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": [
                "中间层处理设备连接和断开,设备的基本初始化,驱动程序的选择, 通信通道(管道)和资源管理。这个服务层也控制默认管道和其上传输的 设备请求。"
            ],
            "id_hash": 5871213670112651532,
            "content_hash": 5871213670112651532,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:76",
            "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": 1129340,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=d17abdb9d77b690c",
            "url": "https://translate-dev.freebsd.org/api/units/1129340/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.197576Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?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:78",
            "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": 1129341,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=db7300e748228bdc",
            "url": "https://translate-dev.freebsd.org/api/units/1129341/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.204010Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?format=api",
            "source": [
                "Host Controllers"
            ],
            "previous_source": "",
            "target": [
                "主控器"
            ],
            "id_hash": -7894148192300866501,
            "content_hash": -7894148192300866501,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:80",
            "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": 1129342,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=12725a0b499d643b",
            "url": "https://translate-dev.freebsd.org/api/units/1129342/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.211603Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?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毫秒的帧。在每帧开始 时,主控器产生一个帧开始(SOF, Start of Frame)包。"
            ],
            "id_hash": -2108970963504059377,
            "content_hash": -2108970963504059377,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:83",
            "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": 1129343,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=62bb6e151eba2c0f",
            "url": "https://translate-dev.freebsd.org/api/units/1129343/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.217686Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?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包用于同步帧的开始和跟踪帧的数目。包在帧中被传输,或由host 到设备(out),或由设备到host(in)。传输总是由host发起(轮询传输)。 因此每条USB总线只能有一个host。每个包的传输都有一个状态阶段, 数据接收者可以在其中返回ACK(应答接收),NAK(重试),STALL(错误 条件)或什么也没有(混乱数据阶段,设备不可用或已断开)。USB规范 <link xlink:href=\"http://www.usb.org/developers/docs.html\">USB specification</link>的第8.5节更详细地解释了包的细节。USB总线 上可以出现四中不同类型的传输:控制(control), 大块(bulk), 中断 (interrupt)和同步(isochronous)。传输的类型和他们的特性在下面 描述(`管道'子节中)。"
            ],
            "id_hash": 1296002762428466081,
            "content_hash": 1296002762428466081,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:85",
            "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": 1129344,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=91fc53a55a7943a1",
            "url": "https://translate-dev.freebsd.org/api/units/1129344/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.222971Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?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:87",
            "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": 1129345,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=7100b83a4635014d",
            "url": "https://translate-dev.freebsd.org/api/units/1129345/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.228467Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?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)。设置(set-up) 包被发送到设备。如果存在数据阶段,数据包的方向在设置包中给出。 状态阶段中的方向与数据阶段期间的方向相反,或者当没有数据阶段时 为IN。主控器硬件也提供寄存器,用于保存根端口的当前状态和自从 状态改变寄存器最后一次复位以来所发生的改变。USB规范[2]建议使用一个 虚拟hub来提供对这些寄存器的访问。虚拟hub必须符合规范第11章中给出的 hub设备类。它必须提供一个默认管道使得设备请求可以发送给它。它返回 标准和hub类特定的一组描述符。它也应当提供一个中断管道用来报告其 端口发生的变化。当前可用的主控器规范有两个:通用主控器接口(<acronym>UHCI</acronym>;英特尔)和开放主控器接口(<acronym>OHCI</acronym>;康柏,微软,国家半导体)。 <acronym>UHCI</acronym>规范的设计通过要求主控器驱动程序为每帧的传输提供完整的调度, 从而减少了硬件复杂性。OHCI类型的控制器自身提供一个更抽象的接口来 完成很多工作,从而更加独立。"
            ],
            "id_hash": -4178169716895022373,
            "content_hash": -4178169716895022373,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:89",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 10,
            "fuzzy": true,
            "translated": false,
            "approved": false,
            "position": 26,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": true,
            "num_words": 248,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128762/?format=api",
            "priority": 100,
            "id": 1129346,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=460428c7852d82db",
            "url": "https://translate-dev.freebsd.org/api/units/1129346/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.234246Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?format=api",
            "source": [
                "UHCI"
            ],
            "previous_source": "",
            "target": [
                "UHCI"
            ],
            "id_hash": 5077005470078279795,
            "content_hash": 5077005470078279795,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:90",
            "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": 1129347,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=c67525936ebb2073",
            "url": "https://translate-dev.freebsd.org/api/units/1129347/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.241193Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?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主控器维护着带有1024个指向每帧数据结构的帧列表。 它理解两种不同的数据类型:传输描述符(TD)和队列头(QH)。每个 TD表示表示与设备端点进行通信的一个包。QH是将一些TD(和QH)划分 成组的一种方法。"
            ],
            "id_hash": -7267031986216853495,
            "content_hash": -7267031986216853495,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:93",
            "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": 1129348,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=1b2650e93224a009",
            "url": "https://translate-dev.freebsd.org/api/units/1129348/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.246990Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?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都会被集中到这个QH上。 由于有固定的时延需求,同步传输必须首先执行,它是通过帧列表中的 指针直接引用的。最后的同步TD传输引用那一帧的中断传输的QH。中断 传输的所有QH指向控制传输的QH,控制传输的QH又指向大块传输的QH。 下面的图表给出了一个图形概览:"
            ],
            "id_hash": 647258607898914069,
            "content_hash": 647258607898914069,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:95",
            "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": 1129349,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=88fb864649a0ed15",
            "url": "https://translate-dev.freebsd.org/api/units/1129349/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.282010Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?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 thatframe. 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": [
                "这导致下面的调度会在每帧中运行。控制器从帧列表中取得当前帧 的指针后,首先为那一帧中的所有的同步(isochronous)包执行TD。 这些TD的最后一个 引用那一帧的中断传输的QH。然后主控器将从那个QH下行到各个 中断传输的QH。完成那一队列后,中断传输的QH会将控制器指向到所有 控制传输的QH。它将执行在那儿等待调度的所有子队列,然后是在大块QH中 排队的所有传输。为了方便处理已完成或失败的传输,硬件会在每帧末尾 产生不同类型的中断。在传输的最后一个TD中,HC驱动程序设置 Interrupt-On-Completion位来标记传输完成时的一个中断。如果TD达到了 其最大错误数,就标记错误中断。如果在TD中设置短包侦测位,且传输了 小于所设置的包长度(的包),就会标记此中断以通知控制器驱动程序传输 已完成。找出哪个传输已完成或产生错误是主控器驱动程序的任务。 当中断服务例程被调用时,它将定位所有已完成的传输并调用它们的回调。"
            ],
            "id_hash": 6131611924046206156,
            "content_hash": 6131611924046206156,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:97",
            "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": 237,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128770/?format=api",
            "priority": 100,
            "id": 1129350,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=d517dc8ee952d4cc",
            "url": "https://translate-dev.freebsd.org/api/units/1129350/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.288697Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?format=api",
            "source": [
                "Refer to the UHCI Specification for a more elaborate description."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 4718483170048387310,
            "content_hash": 4718483170048387310,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:99",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "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": 1129351,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=c17b6b718d64a8ee",
            "url": "https://translate-dev.freebsd.org/api/units/1129351/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.295359Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?format=api",
            "source": [
                "OHCI"
            ],
            "previous_source": "",
            "target": [
                "OHCI"
            ],
            "id_hash": -8318000232449324922,
            "content_hash": -8318000232449324922,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:100",
            "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": 1129352,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=0c9086dbf73dc886",
            "url": "https://translate-dev.freebsd.org/api/units/1129352/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.301847Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?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主控器进行编程要容易得多。控制器假设有一组端点(endpoint)可用, 并知道帧中不同传输类型的调度优先级和排序。主控器使用的主要 数据结构是端点描述符(ED),它上面连接着一个传输描述符(TD)的队列。 ED包含端点所允许的最大的包大小,控制器硬件完成包的分割。每次传输 后都会更新指向数据缓冲区的指针,当起始和终止指针相等时,TD就退归 到完成队列(done-queue)。四种类型的端点各有其自己的队列。控制和 大块(bulk)端点分别在它们自己的队列排队。中断ED在树中排队,在树中的深度 定义了它们运行的频度。"
            ],
            "id_hash": 8297832298032021433,
            "content_hash": 8297832298032021433,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:103",
            "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": 1129353,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=f327d282e1f63fb9",
            "url": "https://translate-dev.freebsd.org/api/units/1129353/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.308744Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?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驱动程序设置的一个时间限制。 然后以帧编号低5位作为中断ED树上深度为0的那一层中的索引,运行 那个帧编号的中断传输。在这个树的末尾,同步ED被连接,并随后被 遍历。同步TD包含了传输应当运行其中的第一个帧的帧编号。所有周期 性的传输运行过以后,控制和大块队列再次被遍历。中断服务例程会被 周期性地调用,来处理完成的队列,为每个传输调用回调,并重新调度 中断和同步端点。"
            ],
            "id_hash": 1694537950249937692,
            "content_hash": 1694537950249937692,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:105",
            "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": 1129354,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=97843549a710eb1c",
            "url": "https://translate-dev.freebsd.org/api/units/1129354/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.316086Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?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": [
                "更详尽的描述请看<acronym>UHCI</acronym>标准描述。服务层,即中间层,提供了以可控的方式 对设备进行访问,并维护着由不同驱动程序和服务层所使用的资源。 此层处理下面几方面:"
            ],
            "id_hash": -5421817298047579816,
            "content_hash": -5421817298047579816,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:107",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 10,
            "fuzzy": true,
            "translated": false,
            "approved": false,
            "position": 35,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": true,
            "num_words": 42,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128780/?format=api",
            "priority": 100,
            "id": 1129355,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=34c1d5e4b8ce4958",
            "url": "https://translate-dev.freebsd.org/api/units/1129355/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.322486Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?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:109",
            "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": 1129356,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=f2cb74f47538ed48",
            "url": "https://translate-dev.freebsd.org/api/units/1129356/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.328357Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?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:110",
            "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": 1129357,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=7956c8a0b3791a67",
            "url": "https://translate-dev.freebsd.org/api/units/1129357/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.334416Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?format=api",
            "source": [
                "Probing and attaching and detaching form a device."
            ],
            "previous_source": "",
            "target": [
                "探测和连接设备,以及从设备分离(detach)。"
            ],
            "id_hash": -5941025715249721406,
            "content_hash": -5941025715249721406,
            "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": 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": 1129358,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=2d8d3c96c1144fc2",
            "url": "https://translate-dev.freebsd.org/api/units/1129358/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.340527Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?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:113",
            "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": 1129359,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=0590a614a6f6c812",
            "url": "https://translate-dev.freebsd.org/api/units/1129359/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.378887Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?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:115",
            "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": 1129360,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=57c79ec49f691bba",
            "url": "https://translate-dev.freebsd.org/api/units/1129360/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.384845Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?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": [
                "每个设备提供了不同级别的配置信息。每个设备具有一个或多个 配置,探测/连接期间从其中选定一个。配置提供功率和带宽要求。 每个配置中可以有多个接口。设备接口是端点的汇集(collection)。 例如,USB扬声器可以有一个音频接口(音频类),和对旋钮(knob)、 拨号盘(dial)和按钮的接口(HID类)。 一个配置中的所有接口可以同时有效,并可被不同的 驱动程序连接。每个接口可以有备用接口,以提供不同质量的服务参数。 例如,在照相机中,这用来提供不同的帧大小以及每秒帧数。"
            ],
            "id_hash": -8193948532022048149,
            "content_hash": -8193948532022048149,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:118",
            "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": 1129361,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=0e493f3938fe0a6b",
            "url": "https://translate-dev.freebsd.org/api/units/1129361/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.392170Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?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:120",
            "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": 1129362,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=55947be6308e553c",
            "url": "https://translate-dev.freebsd.org/api/units/1129362/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.398356Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?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": [
                "这种层次化配置信息在设备中通过标准的一组描述符来描述(参看 USB规范[2]第9.6节)。它们可以通过Get Descriptor Request来请求。 服务层缓存这些描述符以避免在USB总线上进行不必要的传输。对这些 描述符的访问是通过函数调用来提供的。"
            ],
            "id_hash": -7354443574894541736,
            "content_hash": -7354443574894541736,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:122",
            "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": 1129363,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=19efc488bdc1c458",
            "url": "https://translate-dev.freebsd.org/api/units/1129363/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.404785Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?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": [
                "设备描述符:关于设备的通用信息,如供应商,产品 和修订ID,支持的设备类、子类和适用的协议,默认端点的最大包大小 等。"
            ],
            "id_hash": -8580133398601684504,
            "content_hash": -8580133398601684504,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:124",
            "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": 1129364,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=08ed3e222ae1a9e8",
            "url": "https://translate-dev.freebsd.org/api/units/1129364/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.411609Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?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:125",
            "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": 1129365,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=b4a05c89bf749634",
            "url": "https://translate-dev.freebsd.org/api/units/1129365/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.418116Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?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:126",
            "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": 1129366,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=b66cdb1656f5632a",
            "url": "https://translate-dev.freebsd.org/api/units/1129366/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.423939Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?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:127",
            "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": 1129367,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=41c5457faf4cea08",
            "url": "https://translate-dev.freebsd.org/api/units/1129367/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.429567Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?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:128",
            "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": 1129368,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=47b40d2bf1bec653",
            "url": "https://translate-dev.freebsd.org/api/units/1129368/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.434907Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?format=api",
            "source": [
                "Class specifications can add their own descriptor types that are available through the GetDescriptor Request."
            ],
            "previous_source": "",
            "target": [
                "类说明(specification)可以添加它们自己的描述符类型,这些描述符 也可以通过GetDescriptor Request来获得。"
            ],
            "id_hash": 7397479133666119998,
            "content_hash": 7397479133666119998,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:130",
            "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": 1129369,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=e6a920141b88913e",
            "url": "https://translate-dev.freebsd.org/api/units/1129369/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.439543Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?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总线上的超时(毫秒)。这些超时被视为失败, 可能是由于设备断开连接引起的。另一种超时在软件中实现,当传输没有 在指定的时间(秒)内完成时触发。这是由于设备对传输的包否定应答引起的。 其原因是由于设备还没有准备好接收数据,缓冲区欠载或超载,或协议错误。"
            ],
            "id_hash": 862745265346749744,
            "content_hash": 862745265346749744,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:132",
            "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": 1129370,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=8bf9163f70a4a530",
            "url": "https://translate-dev.freebsd.org/api/units/1129370/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.476729Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/zh_CN/?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:134",
            "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": 1129371,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/zh_CN/?checksum=3d13c96147c7ae0a",
            "url": "https://translate-dev.freebsd.org/api/units/1129371/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T13:14:56.483881Z"
        }
    ]
}