99msgstr ""
1010"Project-Id-Version : UIFlow2 Programming Guide \n "
1111"Report-Msgid-Bugs-To : \n "
12- "POT-Creation-Date : 2026-02-25 18:05 +0800\n "
12+ "POT-Creation-Date : 2026-08-21 14:23 +0800\n "
1313"PO-Revision-Date : YEAR-MO-DA HO:MI+ZONE\n "
1414"Last-Translator : FULL NAME <EMAIL@ADDRESS>\n "
1515"Language : zh_CN\n "
@@ -20,113 +20,310 @@ msgstr ""
2020"Content-Transfer-Encoding : 8bit\n "
2121"Generated-By : Babel 2.16.0\n "
2222
23- #: ../../source/unit/dualbutton.rst:2 afa3a4f4188943f183263e6a847cb3aa
24- msgid "Dual_Button Unit"
23+ #: ../../source/unit/dualbutton.rst:2
24+ msgid "Dual Button Unit"
2525msgstr "双按键 Unit"
2626
27- #: ../../source/unit/dualbutton.rst:6 e732df3f7b4943ab80718cee2b65e7a2
27+ #: ../../source/unit/dualbutton.rst:6
28+ msgid ""
29+ "The Dual Button Unit provides two independent buttons. Use "
30+ "``DualButtonUnit`` for click, double-click, hold, and callback handling, "
31+ "or ``SimpleDualButtonUnit`` for direct pin reads and debounced edge "
32+ "polling."
33+ msgstr ""
34+ "Dual Button Unit 提供两个独立按键。使用 ``DualButtonUnit`` 可处理单击、"
35+ "双击、长按和回调;使用 ``SimpleDualButtonUnit`` 可直接读取引脚并轮询消抖后的"
36+ "边沿事件。"
37+
38+ #: ../../source/unit/dualbutton.rst:10
2839msgid "Support the following products:"
2940msgstr "支持以下产品:"
3041
31- #: ../../source/unit/dualbutton.rst:8 a8ad70f78531425d810b166c427b203d
42+ #: ../../source/unit/dualbutton.rst:12
3243msgid "|Dual_Button|"
3344msgstr ""
3445
35- #: ../../source/refs/unit.dual_button.ref e6967b332adf471a91e2d36d2ccb2f5c
46+ #: ../../source/refs/unit.dual_button.ref
3647msgid "Dual_Button"
3748msgstr "Dual_Button"
3849
39- #: ../../source/unit/dualbutton.rst:11 ccd7d9fa100542f39372b6bd2a42895a
40- msgid "Micropython Example:"
41- msgstr "MicroPython 应用示例"
42-
43- #: ../../source/unit/dualbutton.rst:18 2535460e4df24c52bdfb93a8c76ac190
44- msgid "UIFLOW2 Example:"
50+ #: ../../source/unit/dualbutton.rst:15
51+ msgid "UiFlow2 Example"
4552msgstr "UiFlow2 应用示例"
4653
47- #: ../../source/unit/dualbutton.rst:20 7f1dd29495a843ab98c8b713dd0ea602
54+ #: ../../source/unit/dualbutton.rst:18
55+ msgid "Button events"
56+ msgstr "按键事件"
57+
58+ #: ../../source/unit/dualbutton.rst:20
59+ msgid "Open the |dual_button_core_example.m5f2| project in UiFlow2."
60+ msgstr "在 UiFlow2 中打开 |dual_button_core_example.m5f2| 项目。"
61+
62+ #: ../../source/unit/dualbutton.rst:22
63+ msgid ""
64+ "This example demonstrates how to read the button state and handle button "
65+ "events in UiFlow2."
66+ msgstr "本示例演示如何在 UiFlow2 中读取按键状态并处理按键事件。"
67+
68+ #: ../../source/unit/dualbutton.rst:25 ../../source/unit/dualbutton.rst:83
69+ #: ../../source/unit/dualbutton.rst:91 ../../source/unit/dualbutton.rst:102
70+ #: ../../source/unit/dualbutton.rst:113
71+ msgid "UiFlow2 Code Block:"
72+ msgstr "UiFlow2 代码块:"
73+
74+ #: ../../source/unit/dualbutton.rst:27
4875msgid "|example.png|"
4976msgstr ""
5077
51- #: ../../source/refs/unit.dual_button.ref:6 70573ffaef754c14b4ae9ccf6fd0d84d
78+ #: ../../source/refs/unit.dual_button.ref:6
5279msgid "example.png"
5380msgstr ""
5481
55- #: ../../source/unit/dualbutton.rst:25 30b098ce2f8e4266807df6d4c6b568be
56- msgid "|dual_button_core_example.m5f2|"
57- msgstr ""
82+ #: ../../source/unit/dualbutton.rst:29 ../../source/unit/dualbutton.rst:48
83+ #: ../../source/unit/dualbutton.rst:65
84+ msgid "Example output:"
85+ msgstr "示例输出:"
86+
87+ #: ../../source/unit/dualbutton.rst:31
88+ msgid "The button state is shown when a button event occurs."
89+ msgstr "按键事件发生时显示按键状态。"
90+
91+ #: ../../source/unit/dualbutton.rst:34
92+ msgid "MicroPython Example"
93+ msgstr "MicroPython 应用示例"
94+
95+ #: ../../source/unit/dualbutton.rst:37
96+ msgid "Button events and callbacks"
97+ msgstr "按键事件与回调"
5898
59- #: ../../source/unit/dualbutton.rst:29 83aad7e1ede744fb9bed33325f057d3d
60- msgid "class DualButton"
61- msgstr "class DualButton"
99+ #: ../../source/unit/dualbutton.rst:39
100+ msgid ""
101+ "This example demonstrates how to use ``DualButtonUnit`` for button state,"
102+ " click, hold, and callback handling."
103+ msgstr "本示例演示如何使用 ``DualButtonUnit`` 处理按键状态、单击、长按和回调。"
104+
105+ #: ../../source/unit/dualbutton.rst:42 ../../source/unit/dualbutton.rst:59
106+ msgid "MicroPython Code Block:"
107+ msgstr "MicroPython 代码块:"
108+
109+ #: ../../source/unit/dualbutton.rst:50
110+ msgid "The button state is printed when the blue button event occurs."
111+ msgstr "蓝色按键事件发生时打印按键状态。"
112+
113+ #: ../../source/unit/dualbutton.rst:53
114+ msgid "Simple polling"
115+ msgstr "简单轮询"
62116
63- #: ../../source/unit/dualbutton.rst:32 3fa1ce26926047c496cebf9b098e8888
64- msgid "Constructors"
117+ #: ../../source/unit/dualbutton.rst:55
118+ msgid ""
119+ "This example demonstrates how to use ``SimpleDualButtonUnit`` to read the"
120+ " pins directly and poll debounced press and release edges without "
121+ "``tick()`` or callbacks."
65122msgstr ""
123+ "本示例演示如何使用 ``SimpleDualButtonUnit`` 直接读取引脚,并在无需 "
124+ "``tick()`` 或回调的情况下轮询消抖后的按下和释放边沿。"
125+
126+ #: ../../source/unit/dualbutton.rst:67
127+ msgid "Press and release events for the blue and red buttons are printed."
128+ msgstr "打印蓝色和红色按键的按下与释放事件。"
129+
130+ #: ../../source/unit/dualbutton.rst:70
131+ msgid "**API**"
132+ msgstr "**API**"
133+
134+ #: ../../source/unit/dualbutton.rst:73
135+ msgid "DualButtonUnit"
136+ msgstr "DualButtonUnit"
66137
67- #: ../../source/unit/dualbutton.rst:36 b5e33e5dd5dc4aec8029e597e93b55f2
68- msgid "Create a DualButton object ."
69- msgstr "创建一个 DualButton 对象 。"
138+ #: ../../source/unit/dualbutton.rst:77
139+ msgid "Create two full-featured button objects ."
140+ msgstr "创建两个功能完整的按键对象 。"
70141
71- #: ../../source/unit/dualbutton.rst:39 ../../source/unit/dualbutton.rst:51
72- #: 2812e94733484b8ba4a64f6159e44af9 2f455409a5484f8a9b6233bae1e6617c
73- msgid "The parameters are:"
74- msgstr "参数为:"
142+ #: ../../source/unit/dualbutton.rst
143+ msgid "Parameters"
144+ msgstr "参数"
75145
76- #: ../../source/unit/dualbutton.rst:39 8f04b975133243d985b8def660c2dda7
77- msgid "``IO1,IO2`` Define two key pins ."
78- msgstr "``IO1,IO2`` 定义两个按键引脚 。"
146+ #: ../../source/unit/dualbutton.rst:79 ../../source/unit/dualbutton.rst:124
147+ msgid "Two button pin numbers ."
148+ msgstr "两个按键的引脚号 。"
79149
80- #: ../../source/unit/dualbutton.rst:41 ../../source/unit/dualbutton.rst:53
81- #: ../../source/unit/dualbutton.rst:62 ../../source/unit/dualbutton.rst:71
82- #: 535410cab4a64eed9ea580707c2d6111 9dd1b574bbac48959c9314c06ee120c7
83- #: afd7ecc56c80465cb047998a3f490a61 d5da378bf45a4018a6108668b530f331
84- msgid "UIFLOW2:"
85- msgstr "UiFlow2"
150+ #: ../../source/unit/dualbutton.rst
151+ msgid "Returns"
152+ msgstr "返回"
86153
87- #: ../../source/unit/dualbutton.rst:43 9646a80afb9c426dbb23e9d220cec887
154+ #: ../../source/unit/dualbutton.rst:80
155+ msgid "The blue and red :class:`hardware.Button` objects."
156+ msgstr "蓝色和红色 :class:`hardware.Button` 按键对象。"
157+
158+ #: ../../source/unit/dualbutton.rst
159+ msgid "Return type"
160+ msgstr "返回类型"
161+
162+ #: ../../source/unit/dualbutton.rst:85
88163msgid "|init.png|"
89164msgstr ""
90165
91- #: ../../source/refs/unit.dual_button.ref:8 4ebcb69655e74a6c97738241d49b6a27
166+ #: ../../source/refs/unit.dual_button.ref:8
92167msgid "init.png"
93168msgstr ""
94169
95- #: ../../source/unit/dualbutton.rst:47 eb6a103b271344ceb745634c28997b08
96- msgid "Methods "
97- msgstr ""
170+ #: ../../source/unit/dualbutton.rst:89
171+ msgid "Return whether the button is currently being held. "
172+ msgstr "返回按键当前是否处于长按状态。 "
98173
99- #: ../../source/unit/dualbutton.rst:55 7b0d9205428644fe970f7aa758b90ddf
174+ #: ../../source/unit/dualbutton.rst:93
100175msgid "|get_status.png|"
101176msgstr ""
102177
103- #: ../../source/refs/unit.dual_button.ref:10 d3f954dc4b444a4d99191d2bc44747cf
178+ #: ../../source/refs/unit.dual_button.ref:10
104179msgid "get_status.png"
105180msgstr ""
106181
107- #: ../../source/unit/dualbutton.rst:60 34839fd41d6c4147888851706e0eb272
108- msgid "Execute the program when the key is pressed."
109- msgstr "当按键被按下时执行程序。"
182+ #: ../../source/unit/dualbutton.rst:97
183+ msgid "Register a callback for the specified button event."
184+ msgstr "为指定的按键事件注册回调函数。"
185+
186+ #: ../../source/unit/dualbutton.rst:99
187+ msgid "Button event type."
188+ msgstr "按键事件类型。"
110189
111- #: ../../source/unit/dualbutton.rst:64 48fae677686e4b2abe4d4060ac1a886d
190+ #: ../../source/unit/dualbutton.rst:100
191+ msgid "Function called when the event occurs."
192+ msgstr "事件发生时调用的函数。"
193+
194+ #: ../../source/unit/dualbutton.rst:104
112195msgid "|setCallback.png|"
113196msgstr ""
114197
115- #: ../../source/refs/unit.dual_button.ref:12 5ccd4b3752bc4bb5ac0b87f9cf0d2264
198+ #: ../../source/refs/unit.dual_button.ref:12
116199msgid "setCallback.png"
117200msgstr ""
118201
119- #: ../../source/unit/dualbutton.rst:69 1026a2891e3d4bc79d658720073828f3
202+ #: ../../source/unit/dualbutton.rst:108
203+ msgid "Poll the button state machine. Call this method regularly in the loop."
204+ msgstr "轮询按键状态机。请在循环中定期调用此方法。"
205+
206+ #: ../../source/unit/dualbutton.rst:110
120207msgid ""
121- "The polling method, placed in the loop function, constantly detects the "
122- "state of the key ."
123- msgstr "轮询方法放置在 loop 函数中,持续检测按键的状态 。"
208+ "Optional pin argument passed by an interrupt handler. Use ``None`` when "
209+ "polling from the loop ."
210+ msgstr "中断处理程序传入的可选引脚参数。从循环中轮询时使用 ``None`` 。"
124211
125- #: ../../source/unit/dualbutton.rst:73 6c83fa2343d94f77940e8dce85af4add
212+ #: ../../source/unit/dualbutton.rst:115
126213msgid "|tick.png|"
127214msgstr ""
128215
129- #: ../../source/refs/unit.dual_button.ref:14 8c63aa1305ae4464a3804e08ed7accf1
216+ #: ../../source/refs/unit.dual_button.ref:14
130217msgid "tick.png"
131218msgstr ""
132219
220+ #: ../../source/unit/dualbutton.rst:118
221+ msgid "SimpleDualButtonUnit"
222+ msgstr "SimpleDualButtonUnit"
223+
224+ #: ../../source/unit/dualbutton.rst:122
225+ msgid "Create two :class:`SimpleButton` objects for direct polling."
226+ msgstr "创建两个用于直接轮询的 :class:`SimpleButton` 对象。"
227+
228+ #: ../../source/unit/dualbutton.rst:125
229+ msgid ""
230+ "Use low level as the active state when ``True``. Active-low inputs use an"
231+ " internal pull-up and active-high inputs use an internal pull-down."
232+ msgstr "为 ``True`` 时使用低电平作为有效状态。低电平有效输入使用内部上拉,高电平有效输入使用内部下拉。"
233+
234+ #: ../../source/unit/dualbutton.rst:128
235+ msgid ""
236+ "Time in milliseconds that an input must remain stable before generating "
237+ "an edge event. Set to ``0`` to disable debounce."
238+ msgstr "输入在生成边沿事件前必须保持稳定的时间,单位为毫秒。设为 ``0`` 可禁用消抖。"
239+
240+ #: ../../source/unit/dualbutton.rst:131
241+ msgid "The blue and red button objects."
242+ msgstr "蓝色和红色按键对象。"
243+
244+ #: ../../source/unit/dualbutton.rst:135
245+ msgid "SimpleButton"
246+ msgstr "SimpleButton"
247+
248+ #: ../../source/unit/dualbutton.rst:139
249+ msgid "Provide direct pin reads and debounced edge polling without callbacks."
250+ msgstr "提供无需回调的直接引脚读取和消抖边沿轮询。"
251+
252+ #: ../../source/unit/dualbutton.rst:141
253+ msgid ""
254+ "Call :meth:`SimpleButton.update` regularly before reading edge events. "
255+ "The :meth:`SimpleButton.value` and :meth:`SimpleButton.is_active` methods"
256+ " read the pin directly and do not require ``update()``."
257+ msgstr ""
258+ "读取边沿事件前需定期调用 :meth:`SimpleButton.update`。:meth:`SimpleButton.value` 和 "
259+ ":meth:`SimpleButton.is_active` 方法会直接读取引脚,无需调用 ``update()``。"
260+
261+ #: ../../source/unit/dualbutton.rst:147
262+ msgid "Return the raw pin value."
263+ msgstr "返回原始引脚值。"
264+
265+ #: ../../source/unit/dualbutton.rst:149
266+ msgid "``0`` or ``1``."
267+ msgstr "``0`` 或 ``1``。"
268+
269+ #: ../../source/unit/dualbutton.rst:154
270+ msgid "Return whether the button is currently active according to ``active_low``."
271+ msgstr "根据 ``active_low`` 返回按键当前是否处于有效状态。"
272+
273+ #: ../../source/unit/dualbutton.rst:157
274+ msgid "``True`` when the button is active."
275+ msgstr "按键处于有效状态时返回 ``True``。"
276+
277+ #: ../../source/unit/dualbutton.rst:162
278+ msgid ""
279+ "Sample the pin and update the debounced edge state. Call this method once"
280+ " per loop iteration."
281+ msgstr "采样引脚并更新消抖后的边沿状态。每次循环迭代调用一次此方法。"
282+
283+ #: ../../source/unit/dualbutton.rst:167
284+ msgid ""
285+ "Return whether a debounced press was detected by the latest call to "
286+ ":meth:`SimpleButton.update`."
287+ msgstr "返回最近一次调用 :meth:`SimpleButton.update` 是否检测到消抖后的按下事件。"
288+
289+ #: ../../source/unit/dualbutton.rst:174
290+ msgid ""
291+ "Return whether a debounced release was detected by the latest call to "
292+ ":meth:`SimpleButton.update`."
293+ msgstr "返回最近一次调用 :meth:`SimpleButton.update` 是否检测到消抖后的释放事件。"
294+
295+ #~ msgid ""
296+ #~ "Use ``DualButtonUnit`` when click, double-"
297+ #~ "click, and hold detection or callbacks"
298+ #~ " are required."
299+ #~ msgstr "需要检测单击、双击、长按或使用回调时,请使用 ``DualButtonUnit``。"
300+
301+ #~ msgid "|dual_button_core_example.m5f2|"
302+ #~ msgstr ""
303+
304+ #~ msgid "class DualButton"
305+ #~ msgstr "class DualButton"
306+
307+ #~ msgid "Constructors"
308+ #~ msgstr ""
309+
310+ #~ msgid "The parameters are:"
311+ #~ msgstr "参数为:"
312+
313+ #~ msgid "``IO1,IO2`` Define two key pins."
314+ #~ msgstr "``IO1,IO2`` 定义两个按键引脚。"
315+
316+ #~ msgid "UIFLOW2:"
317+ #~ msgstr "UiFlow2"
318+
319+ #~ msgid "Methods"
320+ #~ msgstr ""
321+
322+ #~ msgid "Execute the program when the key is pressed."
323+ #~ msgstr "当按键被按下时执行程序。"
324+
325+ #~ msgid ""
326+ #~ "The polling method, placed in the "
327+ #~ "loop function, constantly detects the "
328+ #~ "state of the key."
329+ #~ msgstr "轮询方法放置在 loop 函数中,持续检测按键的状态。"
0 commit comments