-
-
Notifications
You must be signed in to change notification settings - Fork 38
Expand file tree
/
Copy pathhtml.parser.po
More file actions
563 lines (499 loc) · 21 KB
/
Copy pathhtml.parser.po
File metadata and controls
563 lines (499 loc) · 21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2001 Python Software Foundation
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# python-doc bot, 2025
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Python 3.15\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-01 19:07+0000\n"
"PO-Revision-Date: 2025-09-16 00:01+0000\n"
"Last-Translator: python-doc bot, 2025\n"
"Language-Team: Japanese (https://app.transifex.com/python-doc/teams/5390/"
"ja/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ja\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: ../../library/html.parser.rst:2
msgid ":mod:`!html.parser` --- Simple HTML and XHTML parser"
msgstr ":mod:`!html.parser` --- HTML と XHTML のシンプルなパーサー"
#: ../../library/html.parser.rst:7
msgid "**Source code:** :source:`Lib/html/parser.py`"
msgstr "**ソースコード:** :source:`Lib/html/parser.py`"
#: ../../library/html.parser.rst:15
msgid ""
"This module defines a class :class:`HTMLParser` which serves as the basis "
"for parsing text files formatted in HTML (HyperText Mark-up Language) and "
"XHTML."
msgstr ""
"このモジュールでは :class:`HTMLParser` クラスを定義します。このクラスは HTML "
"(ハイパーテキスト記述言語、HyperText Mark-up Language) および XHTML で書式化"
"されているテキストファイルを解釈するための基礎となります。"
#: ../../library/html.parser.rst:20
msgid "Create a parser instance able to parse invalid markup."
msgstr "不正なマークアップをパースできるパーサーインスタンスを作成します。"
#: ../../library/html.parser.rst:22
msgid ""
"If *convert_charrefs* is true (the default), all character references "
"(except the ones in elements like ``script`` and ``style``) are "
"automatically converted to the corresponding Unicode characters."
msgstr ""
#: ../../library/html.parser.rst:26
msgid ""
"If *scripting* is false (the default), the content of the ``noscript`` "
"element is parsed normally; if it's true, it's returned as is without being "
"parsed."
msgstr ""
#: ../../library/html.parser.rst:30
msgid ""
"An :class:`.HTMLParser` instance is fed HTML data and calls handler methods "
"when start tags, end tags, text, comments, and other markup elements are "
"encountered. The user should subclass :class:`.HTMLParser` and override its "
"methods to implement the desired behavior."
msgstr ""
":class:`.HTMLParser` インスタンスは、HTML データが入力されると、開始タグ、終"
"了タグ、およびその他の要素が見つかる度にハンドラーメソッドを呼び出します。各"
"メソッドの挙動を実装するには :class:`.HTMLParser` サブクラスを使ってそれぞれ"
"を上書きして行います。"
#: ../../library/html.parser.rst:35
msgid ""
"This parser does not check that end tags match start tags or call the end-"
"tag handler for elements which are closed implicitly by closing an outer "
"element."
msgstr ""
"このパーサーは終了タグが開始タグと一致しているか調べたり、外側のタグ要素が閉"
"じるときに内側で明示的に閉じられていないタグ要素のタグ終了ハンドラーを呼び出"
"したりはしません。"
#: ../../library/html.parser.rst:38
msgid "*convert_charrefs* keyword argument added."
msgstr "キーワード引数 *convert_charrefs* を追加。"
#: ../../library/html.parser.rst:41
msgid "The default value for argument *convert_charrefs* is now ``True``."
msgstr "*convert_charrefs* のデフォルト値は ``True`` になりました。"
#: ../../library/html.parser.rst:44
msgid "Added the *scripting* parameter."
msgstr ""
#: ../../library/html.parser.rst:49
msgid "Example HTML Parser Application"
msgstr "HTML パーサーアプリケーションの例"
#: ../../library/html.parser.rst:51
msgid ""
"As a basic example, below is a simple HTML parser that uses the :class:"
"`HTMLParser` class to print out start tags, end tags, and data as they are "
"encountered:"
msgstr ""
#: ../../library/html.parser.rst:55
msgid ""
"from html.parser import HTMLParser\n"
"\n"
"class MyHTMLParser(HTMLParser):\n"
" def handle_starttag(self, tag, attrs):\n"
" print(\"Encountered a start tag:\", tag)\n"
"\n"
" def handle_endtag(self, tag):\n"
" print(\"Encountered an end tag :\", tag)\n"
"\n"
" def handle_data(self, data):\n"
" print(\"Encountered some data :\", data)\n"
"\n"
"parser = MyHTMLParser()\n"
"parser.feed('<html><head><title>Test</title></head>'\n"
" '<body><h1>Parse me!</h1></body></html>')"
msgstr ""
#: ../../library/html.parser.rst:73
msgid "The output will then be:"
msgstr "出力は以下のようになります:"
#: ../../library/html.parser.rst:75
msgid ""
"Encountered a start tag: html\n"
"Encountered a start tag: head\n"
"Encountered a start tag: title\n"
"Encountered some data : Test\n"
"Encountered an end tag : title\n"
"Encountered an end tag : head\n"
"Encountered a start tag: body\n"
"Encountered a start tag: h1\n"
"Encountered some data : Parse me!\n"
"Encountered an end tag : h1\n"
"Encountered an end tag : body\n"
"Encountered an end tag : html"
msgstr ""
#: ../../library/html.parser.rst:92
msgid ":class:`.HTMLParser` Methods"
msgstr ":class:`.HTMLParser` メソッド"
#: ../../library/html.parser.rst:94
msgid ":class:`HTMLParser` instances have the following methods:"
msgstr ":class:`HTMLParser` インスタンスは以下のメソッドを提供します:"
#: ../../library/html.parser.rst:99
msgid ""
"Feed some text to the parser. It is processed insofar as it consists of "
"complete elements; incomplete data is buffered until more data is fed or :"
"meth:`close` is called. *data* must be :class:`str`."
msgstr ""
"パーサーにテキストを入力します。入力が完全なタグ要素で構成されている場合に限"
"り処理が行われます; 不完全なデータであった場合、新たにデータが入力されるか、:"
"meth:`close` が呼び出されるまでバッファーされます。 *data* は :class:`str` で"
"なければなりません。"
#: ../../library/html.parser.rst:106
msgid ""
"Force processing of all buffered data as if it were followed by an end-of-"
"file mark. This method may be redefined by a derived class to define "
"additional processing at the end of the input, but the redefined version "
"should always call the :class:`HTMLParser` base class method :meth:`close`."
msgstr ""
"全てのバッファーされているデータについて、その後にファイル終端マークが続いて"
"いるとみなして強制的に処理を行います。このメソッドは入力データの終端で行う追"
"加処理を定義するために、派生クラスで再定義することができます。しかし、再定義"
"されたバージョンでは、常に :class:`HTMLParser` 基底クラスのメソッド :meth:"
"`close` を呼び出さなくてはなりません。"
#: ../../library/html.parser.rst:114
msgid ""
"Reset the instance. Loses all unprocessed data. This is called implicitly "
"at instantiation time."
msgstr ""
"インスタンスをリセットします。未処理のデータはすべて失われます。インスタンス"
"化の際に暗黙的に呼び出されます。"
#: ../../library/html.parser.rst:120
msgid "Return current line number and offset."
msgstr "現在の行番号およびオフセット値を返します。"
#: ../../library/html.parser.rst:125
msgid ""
"Return the text of the most recently opened start tag. This should not "
"normally be needed for structured processing, but may be useful in dealing "
"with HTML \"as deployed\" or for re-generating input with minimal changes "
"(whitespace between attributes can be preserved, etc.)."
msgstr ""
"最も最近開かれた開始タグのテキスト部分を返します。このテキストは必ずしも元"
"データを構造化する上で必須ではありませんが、 \"広く知られている (as "
"deployed)\" HTML を扱ったり、入力を最小限の変更で再生成 (属性間の空白をそのま"
"まにする、など) したりする場合に便利なことがあります。"
#: ../../library/html.parser.rst:131
msgid ""
"The following methods are called when data or markup elements are "
"encountered and they are meant to be overridden in a subclass. The base "
"class implementations do nothing (except for :meth:`~HTMLParser."
"handle_startendtag`):"
msgstr ""
"以下のメソッドはデータまたはマークアップ要素が見つかる度に呼び出されます。こ"
"れらはサブクラスで上書きされることを想定されています。基底クラスの実装は (:"
"meth:`~HTMLParser.handle_startendtag` を除き) 何もしません:"
#: ../../library/html.parser.rst:138
msgid ""
"This method is called to handle the start tag of an element (e.g. ``<div "
"id=\"main\">``)."
msgstr ""
"このメソッドは要素の開始タグを扱うために呼び出されます (例: ``<div "
"id=\"main\">``)。"
#: ../../library/html.parser.rst:140
msgid ""
"The *tag* argument is the name of the tag converted to lower case. The "
"*attrs* argument is a list of ``(name, value)`` pairs containing the "
"attributes found inside the tag's ``<>`` brackets. The *name* will be "
"translated to lower case, and quotes in the *value* have been removed, and "
"character and entity references have been replaced. For empty attributes, "
"*value* is ``None``."
msgstr ""
#: ../../library/html.parser.rst:146
msgid ""
"For instance, for the tag ``<A HREF=\"https://www.cwi.nl/\">``, this method "
"would be called as ``handle_starttag('a', [('href', 'https://www.cwi."
"nl/')])``."
msgstr ""
"例えば、タグ ``<A HREF=\"https://www.cwi.nl/\">`` を処理する場合、このメソッ"
"ドは ``handle_starttag('a', [('href', 'https://www.cwi.nl/')])`` として呼び出"
"されます。"
#: ../../library/html.parser.rst:149
msgid ""
"All entity references from :mod:`html.entities` are replaced in the "
"attribute values."
msgstr ""
":mod:`html.entities` からのすべての実態参照は、属性値に置き換えられます。"
#: ../../library/html.parser.rst:155
msgid ""
"This method is called to handle the end tag of an element (e.g. ``</div>``)."
msgstr ""
"このメソッドは要素の終了タグを扱うために呼び出されます (例: ``</div>``)。"
#: ../../library/html.parser.rst:157
msgid "The *tag* argument is the name of the tag converted to lower case."
msgstr "引数 *tag* はタグの名前で、小文字に変換されます。"
#: ../../library/html.parser.rst:162
msgid ""
"Similar to :meth:`handle_starttag`, but called when the parser encounters an "
"XHTML-style empty tag (``<img ... />``). This method may be overridden by "
"subclasses which require this particular lexical information; the default "
"implementation simply calls :meth:`handle_starttag` and :meth:"
"`handle_endtag`."
msgstr ""
":meth:`handle_starttag` と似ていますが、パーサーが XHTML 形式の空タグ "
"(``<img ... />``) を見つける度に呼び出されます。この特定の字句情報が必要な場"
"合にこのメソッドをサブクラスで上書きすることができます; 既定の実装では、単"
"に :meth:`handle_starttag` および :meth:`handle_endtag` を呼び出します。"
#: ../../library/html.parser.rst:170
msgid ""
"This method is called to process arbitrary data (e.g. text nodes and the "
"content of elements like ``script`` and ``style``)."
msgstr ""
#: ../../library/html.parser.rst:176
msgid ""
"This method is called to process a named character reference of the form "
"``&name;`` (e.g. ``>``), where *name* is a general entity reference (e.g. "
"``'gt'``). This method is only called if *convert_charrefs* is false."
msgstr ""
#: ../../library/html.parser.rst:184
msgid ""
"This method is called to process decimal and hexadecimal numeric character "
"references of the form :samp:`&#{NNN};` and :samp:`&#x{NNN};`. For example, "
"the decimal equivalent for ``>`` is ``>``, whereas the hexadecimal is "
"``>``; in this case the method will receive ``'62'`` or ``'x3E'``. This "
"method is only called if *convert_charrefs* is false."
msgstr ""
#: ../../library/html.parser.rst:193
msgid ""
"This method is called when a comment is encountered (e.g. ``<!--comment--"
">``)."
msgstr ""
"このメソッドはコメントが見つかった場合に呼び出されます (例: ``<!--comment--"
">``)。"
#: ../../library/html.parser.rst:195
msgid ""
"For example, the comment ``<!-- comment -->`` will cause this method to be "
"called with the argument ``' comment '``."
msgstr ""
"例えば、コメント ``<!-- comment -->`` があると。このメソッドを引数 ``' "
"comment '`` で呼び出されます。"
#: ../../library/html.parser.rst:198
msgid ""
"The content of Internet Explorer conditional comments (condcoms) will also "
"be sent to this method, so, for ``<!--[if IE 9]>IE9-specific content<!"
"[endif]-->``, this method will receive ``'[if IE 9]>IE9-specific content<!"
"[endif]'``."
msgstr ""
"Internet Explorer 独自拡張の条件付きコメント (condcoms) はこのメソッドに送る"
"ことができます。``<!--[if IE 9]>IE9-specific content<![endif]-->`` の場合、こ"
"のメソッドは ``'[if IE 9]>IE9-specific content<![endif]'`` を受け取ります。"
#: ../../library/html.parser.rst:205
msgid ""
"This method is called to handle an HTML doctype declaration (e.g. ``<!"
"DOCTYPE html>``)."
msgstr ""
"このメソッドは HTML doctype 宣言を扱うために呼び出されます (例: ``<!DOCTYPE "
"html>``)。"
#: ../../library/html.parser.rst:208
msgid ""
"The *decl* parameter will be the entire contents of the declaration inside "
"the ``<!...>`` markup (e.g. ``'DOCTYPE html'``)."
msgstr ""
"引数 *decl* は ``<!...>`` マークアップ内の宣言の内容全体になります (例: "
"``'DOCTYPE html'``)。"
#: ../../library/html.parser.rst:214
msgid ""
"Method called when a processing instruction is encountered. The *data* "
"parameter will contain the entire processing instruction. For example, for "
"the processing instruction ``<?proc color='red'>``, this method would be "
"called as ``handle_pi(\"proc color='red'\")``. It is intended to be "
"overridden by a derived class; the base class implementation does nothing."
msgstr ""
"処理指令が見つかった場合に呼び出されます。*data* には、処理指令全体が含まれ、"
"例えば ``<?proc color='red'>`` という処理指令の場合、``handle_pi(\"proc "
"color='red'\")`` のように呼び出されます。このメソッドは派生クラスで上書きする"
"ためのメソッドです; 基底クラスの実装では何も行いません。"
#: ../../library/html.parser.rst:222
msgid ""
"The :class:`HTMLParser` class uses the SGML syntactic rules for processing "
"instructions. An XHTML processing instruction using the trailing ``'?'`` "
"will cause the ``'?'`` to be included in *data*."
msgstr ""
":class:`HTMLParser` クラスでは、処理指令に SGML の構文を使用します。末尾に "
"``'?'`` がある XHTML の処理指令では、 ``'?'`` が *data* に含まれることになり"
"ます。"
#: ../../library/html.parser.rst:229
msgid ""
"This method is called when an unrecognized declaration is read by the parser."
msgstr "このメソッドはパーサーが未知の宣言を読み込んだ時に呼び出されます。"
#: ../../library/html.parser.rst:231
msgid ""
"The *data* parameter will be the entire contents of the declaration inside "
"the ``<![...]>`` markup. It is sometimes useful to be overridden by a "
"derived class. The base class implementation does nothing."
msgstr ""
"パラメータ *data* は ``<![...]>`` マークアップ内の宣言の内容全体になりま"
"す。\n"
"これは派生クラスで上書きする時に役立つことがあります。\n"
"基底クラスの実装では何もしません。"
#: ../../library/html.parser.rst:239
msgid "Examples"
msgstr "使用例"
#: ../../library/html.parser.rst:241
msgid ""
"The following class implements a parser that will be used to illustrate more "
"examples:"
msgstr ""
#: ../../library/html.parser.rst:244
msgid ""
"from html.parser import HTMLParser\n"
"from html.entities import name2codepoint\n"
"\n"
"class MyHTMLParser(HTMLParser):\n"
" def handle_starttag(self, tag, attrs):\n"
" print(\"Start tag:\", tag)\n"
" for attr in attrs:\n"
" print(\" attr:\", attr)\n"
"\n"
" def handle_endtag(self, tag):\n"
" print(\"End tag :\", tag)\n"
"\n"
" def handle_data(self, data):\n"
" print(\"Data :\", data)\n"
"\n"
" def handle_comment(self, data):\n"
" print(\"Comment :\", data)\n"
"\n"
" def handle_entityref(self, name):\n"
" c = chr(name2codepoint[name])\n"
" print(\"Named ent:\", c)\n"
"\n"
" def handle_charref(self, name):\n"
" if name.startswith('x'):\n"
" c = chr(int(name[1:], 16))\n"
" else:\n"
" c = chr(int(name))\n"
" print(\"Num ent :\", c)\n"
"\n"
" def handle_decl(self, data):\n"
" print(\"Decl :\", data)\n"
"\n"
"parser = MyHTMLParser()"
msgstr ""
#: ../../library/html.parser.rst:280
msgid "Parsing a doctype:"
msgstr ""
#: ../../library/html.parser.rst:282
msgid ""
">>> parser.feed('<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" '\n"
"... '\"http://www.w3.org/TR/html4/strict.dtd\">')\n"
"Decl : DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3."
"org/TR/html4/strict.dtd\""
msgstr ""
#: ../../library/html.parser.rst:288
msgid "Parsing an element with a few attributes and a title:"
msgstr ""
#: ../../library/html.parser.rst:290
msgid ""
">>> parser.feed('<img src=\"python-logo.png\" alt=\"The Python logo\">')\n"
"Start tag: img\n"
" attr: ('src', 'python-logo.png')\n"
" attr: ('alt', 'The Python logo')\n"
">>>\n"
">>> parser.feed('<h1>Python</h1>')\n"
"Start tag: h1\n"
"Data : Python\n"
"End tag : h1"
msgstr ""
#: ../../library/html.parser.rst:302
msgid ""
"The content of elements like ``script`` and ``style`` is returned as is, "
"without further parsing:"
msgstr ""
#: ../../library/html.parser.rst:305
msgid ""
">>> parser.feed('<style type=\"text/css\">#python { color: green }</"
"style>')\n"
"Start tag: style\n"
" attr: ('type', 'text/css')\n"
"Data : #python { color: green }\n"
"End tag : style\n"
"\n"
">>> parser.feed('<script type=\"text/javascript\">'\n"
"... 'alert(\"<strong>hello! ☺</strong>\");</script>')\n"
"Start tag: script\n"
" attr: ('type', 'text/javascript')\n"
"Data : alert(\"<strong>hello! ☺</strong>\");\n"
"End tag : script"
msgstr ""
#: ../../library/html.parser.rst:320
msgid ""
"Attribute names are converted to lowercase, quotes from attribute values "
"removed, and ``None`` is returned as *value* for empty attributes (such as "
"``checked``):"
msgstr ""
#: ../../library/html.parser.rst:323
msgid ""
">>> parser.feed(\"<input TYPE='checkbox' checked required='' "
"disabled=disabled>\")\n"
"Start tag: input\n"
" attr: ('type', 'checkbox')\n"
" attr: ('checked', None)\n"
" attr: ('required', '')\n"
" attr: ('disabled', 'disabled')"
msgstr ""
#: ../../library/html.parser.rst:332
msgid "Parsing comments:"
msgstr ""
#: ../../library/html.parser.rst:334
msgid ""
">>> parser.feed('<!--a comment-->'\n"
"... '<!--[if IE 9]>IE-specific content<![endif]-->')\n"
"Comment : a comment\n"
"Comment : [if IE 9]>IE-specific content<![endif]"
msgstr ""
#: ../../library/html.parser.rst:341
msgid ""
"Parsing named and numeric character references and converting them to the "
"correct char (note: these 3 references are all equivalent to ``'>'``):"
msgstr ""
#: ../../library/html.parser.rst:344
msgid ""
">>> parser = MyHTMLParser()\n"
">>> parser.feed('>>>')\n"
"Data : >>>\n"
"\n"
">>> parser = MyHTMLParser(convert_charrefs=False)\n"
">>> parser.feed('>>>')\n"
"Named ent: >\n"
"Num ent : >\n"
"Num ent : >"
msgstr ""
#: ../../library/html.parser.rst:356
msgid ""
"Feeding incomplete chunks to :meth:`~HTMLParser.feed` works, but :meth:"
"`~HTMLParser.handle_data` might be called more than once if "
"*convert_charrefs* is false:"
msgstr ""
#: ../../library/html.parser.rst:360
msgid ""
">>> for chunk in ['<sp', 'an>buff', 'ered', ' text</s', 'pan>']:\n"
"... parser.feed(chunk)\n"
"...\n"
"Start tag: span\n"
"Data : buff\n"
"Data : ered\n"
"Data : text\n"
"End tag : span"
msgstr ""
#: ../../library/html.parser.rst:371
msgid "Parsing invalid HTML (e.g. unquoted attributes) also works:"
msgstr ""
#: ../../library/html.parser.rst:373
msgid ""
">>> parser.feed('<p><a class=link href=#main>tag soup</p ></a>')\n"
"Start tag: p\n"
"Start tag: a\n"
" attr: ('class', 'link')\n"
" attr: ('href', '#main')\n"
"Data : tag soup\n"
"End tag : p\n"
"End tag : a"
msgstr ""
#: ../../library/html.parser.rst:9
msgid "HTML"
msgstr "HTML"
#: ../../library/html.parser.rst:9
msgid "XHTML"
msgstr "XHTML"