-
Notifications
You must be signed in to change notification settings - Fork 379
/
cgi.po
1078 lines (969 loc) · 50.1 KB
/
cgi.po
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
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# Copyright (C) 2001-2020, Python Software Foundation
# This file is distributed under the same license as the Python package.
# Maintained by the python-doc-es workteam.
# docs-es@python.org /
# https://mail.python.org/mailman3/lists/docs-es.python.org/
# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to
# get the list of volunteers
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 19:43+0200\n"
"PO-Revision-Date: 2023-12-24 11:45+0100\n"
"Last-Translator: Rodrigo Tobar <rtobarc@gmail.com>\n"
"Language-Team: python-doc-es\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Generated-By: Babel 2.13.0\n"
"X-Generator: Poedit 3.0.1\n"
#: ../Doc/library/cgi.rst:2
msgid ":mod:`cgi` --- Common Gateway Interface support"
msgstr ":mod:`cgi` --- Soporte de Interfaz de Entrada Común (CGI)"
#: ../Doc/library/cgi.rst:8
msgid "**Source code:** :source:`Lib/cgi.py`"
msgstr "**Código fuente:** :source:`Lib/cgi.py`"
#: ../Doc/library/cgi.rst:27
msgid ""
"The :mod:`cgi` module is deprecated (see :pep:`PEP 594 <594#cgi>` for "
"details and alternatives)."
msgstr ""
"El módulo :mod:`cgi` está obsoleto (vea :pep:`PEP 594 <594#cgi>` para más "
"detalles y alternativas)."
#: ../Doc/library/cgi.rst:22
msgid ""
"The :class:`FieldStorage` class can typically be replaced with :func:`urllib."
"parse.parse_qsl` for ``GET`` and ``HEAD`` requests, and the :mod:`email."
"message` module or `multipart <https://pypi.org/project/multipart/>`_ for "
"``POST`` and ``PUT``. Most :ref:`utility functions <functions-in-cgi-"
"module>` have replacements."
msgstr ""
"La clase :class:`FieldStorage` puede ser típicamente reemplazada con :func:"
"`urllib.parse.parse_qsl` para solicitudes ``GET`` y ``HEAD``, y el módulo :"
"mod:`email.message` o `multipart <https://pypi.org/project/multipart/>`_ "
"para ``POST`` y ``PUT``. La mayoría de las :ref:`funciones de utilidad "
"<functions-in-cgi-module>` tienen reemplazo."
#: ../Doc/library/cgi.rst:30
msgid "Support module for Common Gateway Interface (CGI) scripts."
msgstr "Módulo de soporte para scripts de la Interfaz de Entrada Común (CGI)"
#: ../Doc/library/cgi.rst:32
msgid ""
"This module defines a number of utilities for use by CGI scripts written in "
"Python."
msgstr ""
"Este módulo define una serie de utilidades para el uso de scripts CGI "
"escritos en Python."
#: ../Doc/library/cgi.rst:35
msgid ""
"The global variable ``maxlen`` can be set to an integer indicating the "
"maximum size of a POST request. POST requests larger than this size will "
"result in a :exc:`ValueError` being raised during parsing. The default value "
"of this variable is ``0``, meaning the request size is unlimited."
msgstr ""
"La variable global ``maxlen`` puede ser establecida en un entero indicando "
"el tamaño máximo de una solicitud POST. Solicitudes POST más grandes que "
"este tamaño resultarán en en lanzamiento de un :exc:`ValueError` durante el "
"análisis. El valor por defecto de esta variable es ``0``, lo que significa "
"que el tamaño de las solicitudes es ilimitado."
#: ../Doc/includes/wasm-notavail.rst:3
msgid ":ref:`Availability <availability>`: not Emscripten, not WASI."
msgstr ":ref:`Disponibilidad <availability>`: no Emscripten, no WASI."
#: ../Doc/includes/wasm-notavail.rst:5
msgid ""
"This module does not work or is not available on WebAssembly platforms "
"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for "
"more information."
msgstr ""
"Este módulo no funciona o no está disponible en plataformas WebAssembly "
"``wasm32-emscripten`` y ``wasm32-wasi``. Vea :ref:`wasm-availability` para "
"más información."
#: ../Doc/library/cgi.rst:43
msgid "Introduction"
msgstr "Introducción"
#: ../Doc/library/cgi.rst:47
msgid ""
"A CGI script is invoked by an HTTP server, usually to process user input "
"submitted through an HTML ``<FORM>`` or ``<ISINDEX>`` element."
msgstr ""
"Un script de CGI es invocado por un servidor HTTP, generalmente para "
"procesar entradas de usuario entregadas mediante un elemento HTML ``<FORM>`` "
"o ``<ISINDEX>``."
#: ../Doc/library/cgi.rst:50
msgid ""
"Most often, CGI scripts live in the server's special :file:`cgi-bin` "
"directory. The HTTP server places all sorts of information about the request "
"(such as the client's hostname, the requested URL, the query string, and "
"lots of other goodies) in the script's shell environment, executes the "
"script, and sends the script's output back to the client."
msgstr ""
"Muy a menudo, los scripts CGI viven en el directorio especial :file:`cgi-"
"bin` del servidor. El servidor HTTP coloca todo tipo de información sobre la "
"solicitud (como el nombre de host del cliente, la dirección URL solicitada, "
"la cadena de búsqueda (query string) y muchas otras consultas) en el entorno "
"de shell del script, ejecuta el script y envía la salida del script al "
"cliente."
#: ../Doc/library/cgi.rst:56
msgid ""
"The script's input is connected to the client too, and sometimes the form "
"data is read this way; at other times the form data is passed via the "
"\"query string\" part of the URL. This module is intended to take care of "
"the different cases and provide a simpler interface to the Python script. "
"It also provides a number of utilities that help in debugging scripts, and "
"the latest addition is support for file uploads from a form (if your browser "
"supports it)."
msgstr ""
"La entrada del script también está conectada al cliente, y a veces los datos "
"del formulario se leen de esta manera; en otras ocasiones los datos del "
"formulario se pasan a través de la parte \"cadena de caracteres de búsqueda "
"(query string)\" de la dirección URL. Este módulo está diseñado para "
"ocuparse de los diferentes casos y proporcionar una interfaz más simple al "
"script de Python. También proporciona una serie de utilidades que ayudan en "
"la depuración de scripts, y la última adición es la compatibilidad con "
"cargas de archivos desde un formulario (si el navegador lo admite)."
#: ../Doc/library/cgi.rst:63
msgid ""
"The output of a CGI script should consist of two sections, separated by a "
"blank line. The first section contains a number of headers, telling the "
"client what kind of data is following. Python code to generate a minimal "
"header section looks like this::"
msgstr ""
"La salida de un script CGI debe constar de dos secciones, separadas por una "
"línea en blanco. La primera sección contiene una serie de encabezados, "
"indicando al cliente qué tipo de datos sigue. El código de Python para "
"generar una sección de encabezado mínima tiene este aspecto::"
#: ../Doc/library/cgi.rst:71
msgid ""
"The second section is usually HTML, which allows the client software to "
"display nicely formatted text with header, in-line images, etc. Here's "
"Python code that prints a simple piece of HTML::"
msgstr ""
"La segunda sección suele ser HTML, lo que permite al software cliente "
"mostrar texto bien formateado con encabezado, imágenes en línea, etc. Aquí "
"está el código Python que imprime una simple pieza de HTML::"
#: ../Doc/library/cgi.rst:83
msgid "Using the cgi module"
msgstr "Usando el módulo CGI"
#: ../Doc/library/cgi.rst:85
msgid "Begin by writing ``import cgi``."
msgstr "Empieza escribiendo ``import cgi``."
#: ../Doc/library/cgi.rst:87
msgid "When you write a new script, consider adding these lines::"
msgstr "Cuando escribas un nuevo script, considera añadir estas líneas::"
#: ../Doc/library/cgi.rst:92
msgid ""
"This activates a special exception handler that will display detailed "
"reports in the web browser if any errors occur. If you'd rather not show "
"the guts of your program to users of your script, you can have the reports "
"saved to files instead, with code like this::"
msgstr ""
"Esto activa un gestor de excepciones especial que mostrará informes "
"detallados en el explorador web si se produce algún error. Si prefiere no "
"mostrar los detalles de su programa a los usuarios de su script, puede tener "
"los informes guardados en archivos en su lugar, como se muestra en el "
"siguiente código::"
#: ../Doc/library/cgi.rst:100
msgid ""
"It's very helpful to use this feature during script development. The reports "
"produced by :mod:`cgitb` provide information that can save you a lot of time "
"in tracking down bugs. You can always remove the ``cgitb`` line later when "
"you have tested your script and are confident that it works correctly."
msgstr ""
"Es muy útil usar esta característica durante el desarrollo de scripts. Los "
"informes producidos por :mod:`cgitb` proporcionan información que puede "
"ahorrarle mucho tiempo en el seguimiento de errores. Siempre puede eliminar "
"la línea ``cgitb`` más adelante cuando haya probado su script y esté seguro "
"de que funciona correctamente."
#: ../Doc/library/cgi.rst:105
msgid ""
"To get at submitted form data, use the :class:`FieldStorage` class. If the "
"form contains non-ASCII characters, use the *encoding* keyword parameter set "
"to the value of the encoding defined for the document. It is usually "
"contained in the META tag in the HEAD section of the HTML document or by "
"the :mailheader:`Content-Type` header. This reads the form contents from "
"the standard input or the environment (depending on the value of various "
"environment variables set according to the CGI standard). Since it may "
"consume standard input, it should be instantiated only once."
msgstr ""
"Para llegar a los datos de formulario enviados usa la clase :class:"
"`FieldStorage`. Si el formulario contiene caracteres que no sean ASCII, usa "
"el parámetro de palabra clave *encoding* establecido en el valor del "
"codificado definido para el documento. Éste está usualmente contenido en la "
"etiqueta META en la sección HEAD del documento HTML, o en el encabezado :"
"mailheader:`Content-Type`. Esto lee los contenidos del formulario desde la "
"entrada estándar o el ambiente (dependiendo de los valores de varias "
"variables de entorno establecidas de acuerdo del estándar CGI). Dado que "
"podría consumir entrada estándar, sólo se debería instanciar una sola vez."
#: ../Doc/library/cgi.rst:114
msgid ""
"The :class:`FieldStorage` instance can be indexed like a Python dictionary. "
"It allows membership testing with the :keyword:`in` operator, and also "
"supports the standard dictionary method :meth:`~dict.keys` and the built-in "
"function :func:`len`. Form fields containing empty strings are ignored and "
"do not appear in the dictionary; to keep such values, provide a true value "
"for the optional *keep_blank_values* keyword parameter when creating the :"
"class:`FieldStorage` instance."
msgstr ""
"La instancia :class:`FieldStorage` puede ser indexada como un diccionario "
"Python. Permite las pruebas de afiliación con el operador :keyword:`in`, y "
"también es compatible con el método de diccionario estándar :meth:`~dict."
"keys` y la función incorporada :func:`len`. Los campos de formulario que "
"contienen cadenas de caracteres vacías son ignoradas y no aparecen en el "
"diccionario; para mantener estos valores, proporciona un valor verdadero "
"para el parámetro de palabra clave opcional *keep_blank_values* al crear la "
"instancia :class:`FieldStorage`."
#: ../Doc/library/cgi.rst:122
msgid ""
"For instance, the following code (which assumes that the :mailheader:"
"`Content-Type` header and blank line have already been printed) checks that "
"the fields ``name`` and ``addr`` are both set to a non-empty string::"
msgstr ""
"Por ejemplo, el código siguiente (que supone que el encabezado :mailheader:"
"`Content-Type` y la línea en blanco ya se han impreso) comprueba que los "
"campos ``name`` y ``addr`` son ambos establecidos a una cadena de caracteres "
"no vacía::"
#: ../Doc/library/cgi.rst:136
msgid ""
"Here the fields, accessed through ``form[key]``, are themselves instances "
"of :class:`FieldStorage` (or :class:`MiniFieldStorage`, depending on the "
"form encoding). The :attr:`~FieldStorage.value` attribute of the instance "
"yields the string value of the field. The :meth:`~FieldStorage.getvalue` "
"method returns this string value directly; it also accepts an optional "
"second argument as a default to return if the requested key is not present."
msgstr ""
"Aquí los campos, a los que se accede a través de ``form[key]``, son por sí "
"mismos las instancias de :class:`FieldStorage` (o :class:`MiniFieldStorage`, "
"dependiendo de la codificación del formulario). El atributo :attr:"
"`~FieldStorage.value` de la instancia produce el valor de cadena de "
"caracteres del campo. El método :meth:`~FieldStorage.getvalue` retorna este "
"valor de cadena de caracteres directamente; también acepta un segundo "
"argumento opcional como valor predeterminado para retornar si la clave "
"solicitada no está presente."
#: ../Doc/library/cgi.rst:143
msgid ""
"If the submitted form data contains more than one field with the same name, "
"the object retrieved by ``form[key]`` is not a :class:`FieldStorage` or :"
"class:`MiniFieldStorage` instance but a list of such instances. Similarly, "
"in this situation, ``form.getvalue(key)`` would return a list of strings. If "
"you expect this possibility (when your HTML form contains multiple fields "
"with the same name), use the :meth:`~FieldStorage.getlist` method, which "
"always returns a list of values (so that you do not need to special-case the "
"single item case). For example, this code concatenates any number of "
"username fields, separated by commas::"
msgstr ""
"Si los datos del formulario enviados contienen más de un campo con el mismo "
"nombre, el objeto recuperado por ``form[key]`` no es una instancia :class:"
"`FieldStorage` o :class:`MiniFieldStorage`, sino una lista de dichas "
"instancias. De forma similar, en esta situación, ``form.getvalue(key)`` "
"retornaría una lista de cadenas de caracteres. Si espera esta posibilidad "
"(cuando su formulario HTML contiene múltiples campos con el mismo nombre), "
"utilice el método :meth:`~FieldStorage.getlist`, que siempre retorna una "
"lista de valores (para que no sea necesario poner en mayúsculas y minúsculas "
"en el caso de un solo elemento). Por ejemplo, este código concatena "
"cualquier número de campos de nombre de usuario, separados por comas::"
#: ../Doc/library/cgi.rst:156
msgid ""
"If a field represents an uploaded file, accessing the value via the :attr:"
"`~FieldStorage.value` attribute or the :meth:`~FieldStorage.getvalue` method "
"reads the entire file in memory as bytes. This may not be what you want. "
"You can test for an uploaded file by testing either the :attr:`~FieldStorage."
"filename` attribute or the :attr:`~FieldStorage.file` attribute. You can "
"then read the data from the :attr:`!file` attribute before it is "
"automatically closed as part of the garbage collection of the :class:"
"`FieldStorage` instance (the :func:`~io.RawIOBase.read` and :func:`~io."
"IOBase.readline` methods will return bytes)::"
msgstr ""
"Si un campo representa un archivo cargado, el acceso al valor a través del "
"atributo :attr:`~FieldStorage.value` o el método :meth:`~FieldStorage."
"getvalue` lee todo el archivo en memoria como bytes. Puede que esto no sea "
"lo que quiera que ocurra. Puede probar un archivo cargado probando el "
"atributo :attr:`~FieldStorage.filename` o el atributo :attr:`~FieldStorage."
"file`. Después, puede leer los datos del atributo :attr:`!file` antes de "
"que se cierre automáticamente como parte de la recolección de elementos no "
"utilizados de la instancia :class:`FieldStorage` (los métodos :func:`~io."
"RawIOBase.read` y :func:`~io.IOBase.readline` retornarán bytes)::"
#: ../Doc/library/cgi.rst:176
msgid ""
":class:`FieldStorage` objects also support being used in a :keyword:`with` "
"statement, which will automatically close them when done."
msgstr ""
"Los objetos :class:`FieldStorage` también permiten ser usados en una "
"sentencia :keyword:`with` , lo que automáticamente los cerrará cuando "
"termine la sentencia."
#: ../Doc/library/cgi.rst:179
msgid ""
"If an error is encountered when obtaining the contents of an uploaded file "
"(for example, when the user interrupts the form submission by clicking on a "
"Back or Cancel button) the :attr:`~FieldStorage.done` attribute of the "
"object for the field will be set to the value -1."
msgstr ""
"Si un error es encontrado al obtener el contenido de un archivo cargado (por "
"ejemplo, cuando el usuario interrumpe el envío del formulario haciendo clic "
"en un botón Atrás o Cancelar), el atributo :attr:`~FieldStorage.done` del "
"objeto para el campo se establecerá en el valor -1."
#: ../Doc/library/cgi.rst:184
msgid ""
"The file upload draft standard entertains the possibility of uploading "
"multiple files from one field (using a recursive :mimetype:`multipart/\\*` "
"encoding). When this occurs, the item will be a dictionary-like :class:"
"`FieldStorage` item. This can be determined by testing its :attr:`!type` "
"attribute, which should be :mimetype:`multipart/form-data` (or perhaps "
"another MIME type matching :mimetype:`multipart/\\*`). In this case, it can "
"be iterated over recursively just like the top-level form object."
msgstr ""
"El borrador de archivo de carga estándar presenta la posibilidad de cargar "
"varios archivos desde un campo (utilizando una codificación recursiva :"
"mimetype:`multipart/\\*`). Cuando esto ocurre, el elemento será un elemento "
"similar a un diccionario :class:`FieldStorage`. Esto se puede determinar "
"probando su atributo :attr:`!type`, que debe ser :mimetype:`multipart/form-"
"data` (o tal vez otro tipo MIME que coincida :mimetype:`multipart/\\*`). En "
"este caso, se puede iterar recursivamente al igual que el objeto de "
"formulario de nivel superior."
#: ../Doc/library/cgi.rst:192
msgid ""
"When a form is submitted in the \"old\" format (as the query string or as a "
"single data part of type :mimetype:`application/x-www-form-urlencoded`), the "
"items will actually be instances of the class :class:`MiniFieldStorage`. In "
"this case, the :attr:`!list`, :attr:`!file`, and :attr:`filename` attributes "
"are always ``None``."
msgstr ""
"Cuando se envía un formulario en el formato \"antiguo\" (como la cadena de "
"caracteres de consulta (query string) o como una sola parte de datos de "
"tipo :mimetype:`application/x-www-form-urlencoded`), los elementos serán "
"realmente instancias de la clase :class:`MiniFieldStorage`. En este caso, "
"los atributos :attr:`!list`, :attr:`!file` y :attr:`filename` siempre son "
"``None``."
#: ../Doc/library/cgi.rst:197
msgid ""
"A form submitted via POST that also has a query string will contain both :"
"class:`FieldStorage` and :class:`MiniFieldStorage` items."
msgstr ""
"Un formulario enviado a través de POST que también tiene una cadena de "
"caracteres de consulta (query string) contendrá los elementos :class:"
"`FieldStorage` y :class:`MiniFieldStorage`."
#: ../Doc/library/cgi.rst:200
msgid ""
"The :attr:`~FieldStorage.file` attribute is automatically closed upon the "
"garbage collection of the creating :class:`FieldStorage` instance."
msgstr ""
"El atributo :attr:`~FieldStorage.file` se cierra automáticamente con el "
"recolector de basura de la instancia creada :class:`FieldStorage`."
#: ../Doc/library/cgi.rst:204
msgid ""
"Added support for the context management protocol to the :class:"
"`FieldStorage` class."
msgstr ""
"Agregado soporte para el protocolo de administrador de contexto a la clase :"
"class:`FieldStorage` ."
#: ../Doc/library/cgi.rst:210
msgid "Higher Level Interface"
msgstr "Interfaz de nivel superior"
#: ../Doc/library/cgi.rst:212
msgid ""
"The previous section explains how to read CGI form data using the :class:"
"`FieldStorage` class. This section describes a higher level interface which "
"was added to this class to allow one to do it in a more readable and "
"intuitive way. The interface doesn't make the techniques described in "
"previous sections obsolete --- they are still useful to process file uploads "
"efficiently, for example."
msgstr ""
"La sección anterior explica cómo leer datos de un formulario CGI usando la "
"clase :class:`FieldStorage`. Esta sección describe un nivel de interfaz "
"superior que se añadió a esta clase para permitir que uno lo haga de una "
"manera más legible e intuitiva. La interfaz no hace que las técnicas "
"descritas en las secciones anteriores estén obsoletas -- por ejemplo, siguen "
"siendo útiles para procesar la carga de archivos de manera eficiente."
#: ../Doc/library/cgi.rst:221
msgid ""
"The interface consists of two simple methods. Using the methods you can "
"process form data in a generic way, without the need to worry whether only "
"one or more values were posted under one name."
msgstr ""
"La interfaz consiste en dos métodos simples. Usando los métodos puedes "
"procesar datos de formulario de una manera genérica, sin la necesidad de "
"preocuparte si solo se publicaron uno o más valores con un solo nombre."
#: ../Doc/library/cgi.rst:225
msgid ""
"In the previous section, you learned to write following code anytime you "
"expected a user to post more than one value under one name::"
msgstr ""
"En la sección anterior, aprendiste a escribir el siguiente código cada vez "
"que esperabas que un usuario publicara más de un valor con un nombre::"
#: ../Doc/library/cgi.rst:234
msgid ""
"This situation is common for example when a form contains a group of "
"multiple checkboxes with the same name::"
msgstr ""
"Esta situación es común, por ejemplo, cuando un formulario contiene un grupo "
"de múltiples casillas de verificación (checkboxes) con el mismo nombre::"
#: ../Doc/library/cgi.rst:240
msgid ""
"In most situations, however, there's only one form control with a particular "
"name in a form and then you expect and need only one value associated with "
"this name. So you write a script containing for example this code::"
msgstr ""
"En la mayoría de las situaciones, sin embargo, solo hay un control de "
"formulario con un nombre determinado en un formulario y así, espera y solo "
"necesita un valor asociado con este nombre. Así que escribe un script que "
"contiene, por ejemplo, este código::"
#: ../Doc/library/cgi.rst:246
msgid ""
"The problem with the code is that you should never expect that a client will "
"provide valid input to your scripts. For example, if a curious user appends "
"another ``user=foo`` pair to the query string, then the script would crash, "
"because in this situation the ``getvalue(\"user\")`` method call returns a "
"list instead of a string. Calling the :meth:`~str.upper` method on a list "
"is not valid (since lists do not have a method of this name) and results in "
"an :exc:`AttributeError` exception."
msgstr ""
"El problema con el código es que nunca debe esperar que un cliente "
"proporcione una entrada válida a los scripts. Por ejemplo, si un usuario "
"curioso anexa otro par ``user=foo`` a la cadena de caracteres de consulta "
"(query string), el script se bloquearía, porque en esta situación la llamada "
"al método ``getvalue(\"user\")`` retorna una lista en lugar de una cadena de "
"caracteres. Llamar al método :meth:`~str.upper` en una lista no es válido "
"(ya que las listas no tienen un método con este nombre) y se produce una "
"excepción :exc:`AttributeError`."
#: ../Doc/library/cgi.rst:254
msgid ""
"Therefore, the appropriate way to read form data values was to always use "
"the code which checks whether the obtained value is a single value or a list "
"of values. That's annoying and leads to less readable scripts."
msgstr ""
"Por lo tanto, la forma adecuada de leer los valores de datos de formulario "
"era usar siempre el código que comprueba si el valor obtenido es un valor "
"único o una lista de valores. Eso es molesto y conduce a scripts menos "
"legibles."
#: ../Doc/library/cgi.rst:258
msgid ""
"A more convenient approach is to use the methods :meth:`~FieldStorage."
"getfirst` and :meth:`~FieldStorage.getlist` provided by this higher level "
"interface."
msgstr ""
"Un enfoque más conveniente es utilizar los métodos :meth:`~FieldStorage."
"getfirst` y :meth:`~FieldStorage.getlist` proporcionados por esta interfaz "
"de nivel superior."
#: ../Doc/library/cgi.rst:264
msgid ""
"This method always returns only one value associated with form field *name*. "
"The method returns only the first value in case that more values were posted "
"under such name. Please note that the order in which the values are "
"received may vary from browser to browser and should not be counted on. "
"[#]_ If no such form field or value exists then the method returns the "
"value specified by the optional parameter *default*. This parameter "
"defaults to ``None`` if not specified."
msgstr ""
"Este método siempre retorna solo un valor asociado con el campo de "
"formulario *name*. El método retorna solo el primer valor en caso de que se "
"registraran más valores con dicho nombre. Tenga en cuenta que el orden en "
"que se reciben los valores puede variar de un navegador a otro y no debe "
"darse por sentado. [#]_ Si no existe ningún campo o valor de formulario, el "
"método retorna el valor especificado por el parámetro opcional *default*. "
"Este parámetro tiene como valor predeterminado ``None`` si no se especifica."
#: ../Doc/library/cgi.rst:275
msgid ""
"This method always returns a list of values associated with form field "
"*name*. The method returns an empty list if no such form field or value "
"exists for *name*. It returns a list consisting of one item if only one "
"such value exists."
msgstr ""
"Este método siempre retorna una lista de valores asociados con el campo de "
"formulario *name*. El método retorna una lista vacía si no existe tal campo "
"o valor de formulario para *name*. Retorna una lista que consta de un "
"elemento si solo existe un valor de este tipo."
#: ../Doc/library/cgi.rst:279
msgid "Using these methods you can write nice compact code::"
msgstr "Usando estos métodos puede escribir código compacto agradable::"
#: ../Doc/library/cgi.rst:291
msgid "Functions"
msgstr "Funciones"
#: ../Doc/library/cgi.rst:293
msgid ""
"These are useful if you want more control, or if you want to employ some of "
"the algorithms implemented in this module in other circumstances."
msgstr ""
"Estas son útiles si desea más control, o si desea emplear algunos de los "
"algoritmos implementados en este módulo en otras circunstancias."
#: ../Doc/library/cgi.rst:299
msgid ""
"Parse a query in the environment or from a file (the file defaults to ``sys."
"stdin``). The *keep_blank_values*, *strict_parsing* and *separator* "
"parameters are passed to :func:`urllib.parse.parse_qs` unchanged."
msgstr ""
"Analiza una consulta en el entorno o desde un archivo (el archivo "
"predeterminado es ``sys.stdin``). Los parámetros *keep_blank_values*, "
"*strict_parsing* y *separator* se pasan a :func:`urllib.parse.parse_qs` sin "
"cambios."
#: ../Doc/library/cgi.rst:307
msgid ""
"This function, like the rest of the :mod:`cgi` module, is deprecated. It can "
"be replaced by calling :func:`urllib.parse.parse_qs` directly on the desired "
"query string (except for ``multipart/form-data`` input, which can be handled "
"as described for :func:`parse_multipart`)."
msgstr ""
"Esta función, como el resto del módulo :mod:`cgi`, está obsoleta. Puede ser "
"reemplazada llamando directamente a :func:`urllib.parse.parse_qs` con la "
"cadena de caracteres de la consulta (excepto para entradas ``multipart/form-"
"data``, las cuales puede ser manejadas como se describe para :func:"
"`parse_multipart`)."
#: ../Doc/library/cgi.rst:312
msgid ""
"Parse input of type :mimetype:`multipart/form-data` (for file uploads). "
"Arguments are *fp* for the input file, *pdict* for a dictionary containing "
"other parameters in the :mailheader:`Content-Type` header, and *encoding*, "
"the request encoding."
msgstr ""
"Analiza la entrada de tipo :mimetype:`multipart/form-data` (para cargas de "
"archivos). Los argumentos son *fp* para el archivo de entrada, *pdict* para "
"un diccionario que contiene otros parámetros en el encabezado :mailheader:"
"`Content-Type` y *encoding*, la codificación de la solicitud."
#: ../Doc/library/cgi.rst:317
msgid ""
"Returns a dictionary just like :func:`urllib.parse.parse_qs`: keys are the "
"field names, each value is a list of values for that field. For non-file "
"fields, the value is a list of strings."
msgstr ""
"Retorna un diccionario al igual que :func:`urllib.parse.parse_qs`: las "
"claves son los nombres de campo, cada valor es una lista de valores para ese "
"campo. Para los campos que no son de archivo, el valor es una lista de "
"cadenas de caracteres."
#: ../Doc/library/cgi.rst:321
msgid ""
"This is easy to use but not much good if you are expecting megabytes to be "
"uploaded --- in that case, use the :class:`FieldStorage` class instead which "
"is much more flexible."
msgstr ""
"Esto es fácil de usar pero no muy bueno si espera que se carguen megabytes "
"--- en ese caso, utilice la clase :class:`FieldStorage` en su lugar, que es "
"mucho más flexible."
#: ../Doc/library/cgi.rst:325
msgid ""
"Added the *encoding* and *errors* parameters. For non-file fields, the "
"value is now a list of strings, not bytes."
msgstr ""
"Se agregaron los parámetros *encoding* y *errors*. Para los campos que no "
"son de archivo, el valor es ahora una lista de cadenas de caracteres, no "
"bytes."
#: ../Doc/library/cgi.rst:329
msgid "Added the *separator* parameter."
msgstr "Agregado el parámetro *separator*."
#: ../Doc/library/cgi.rst:337
msgid ""
"This function, like the rest of the :mod:`cgi` module, is deprecated. It can "
"be replaced with the functionality in the :mod:`email` package (e.g. :class:"
"`email.message.EmailMessage`/:class:`email.message.Message`) which "
"implements the same MIME RFCs, or with the `multipart <https://pypi.org/"
"project/multipart/>`__ PyPI project."
msgstr ""
"Esta función, como el resto del módulo :mod:`cgi`, está obsoleta. Puede ser "
"reemplazada con la funcionalidad del paquete :mod:`email` (por ejemplo, :"
"class:`email.message.EmailMessage`/:class:`email.message.Message`) el cual "
"implementa los mismos RFCs de MIME, o con el proyecto de PyPI `multipart "
"<https://pypi.org/project/multipart/>`__."
#: ../Doc/library/cgi.rst:342
msgid ""
"Parse a MIME header (such as :mailheader:`Content-Type`) into a main value "
"and a dictionary of parameters."
msgstr ""
"Analiza un encabezado MIME (como :mailheader:`Content-Type`) en un valor "
"principal y un diccionario de parámetros."
#: ../Doc/library/cgi.rst:355
msgid ""
"This function, like the rest of the :mod:`cgi` module, is deprecated. It can "
"be replaced with the functionality in the :mod:`email` package, which "
"implements the same MIME RFCs."
msgstr ""
"Esta función, como el resto del módulo :mod:`cgi`, está obsoleta. Puede ser "
"reemplazada con la funcionalidad del paquete :mod:`email`, el cual "
"implementa los mismos RFCs de MIME."
#: ../Doc/library/cgi.rst:350
msgid "For example, with :class:`email.message.EmailMessage`::"
msgstr "Por ejemplo, con :class:`email.message.EmailMessage`::"
#: ../Doc/library/cgi.rst:360
msgid ""
"Robust test CGI script, usable as main program. Writes minimal HTTP headers "
"and formats all information provided to the script in HTML format."
msgstr ""
"Script CGI de prueba robusto, usable como programa principal. Escribe "
"encabezados HTTP mínimos y formatea toda la información proporcionada hacia "
"el script en formato HTML."
#: ../Doc/library/cgi.rst:366
msgid "Format the shell environment in HTML."
msgstr "Da formato al entorno del shell en HTML."
#: ../Doc/library/cgi.rst:371
msgid "Format a form in HTML."
msgstr "Da formato a un formulario en HTML."
#: ../Doc/library/cgi.rst:376
msgid "Format the current directory in HTML."
msgstr "Da formato al directorio actual en HTML."
#: ../Doc/library/cgi.rst:381
msgid "Print a list of useful (used by CGI) environment variables in HTML."
msgstr ""
"Imprime una lista de variables de entorno útiles (utilizadas por CGI) en "
"HTML."
#: ../Doc/library/cgi.rst:387
msgid "Caring about security"
msgstr "Preocuparse por la seguridad"
#: ../Doc/library/cgi.rst:391
msgid ""
"There's one important rule: if you invoke an external program (via :func:`os."
"system`, :func:`os.popen` or other functions with similar functionality), "
"make very sure you don't pass arbitrary strings received from the client to "
"the shell. This is a well-known security hole whereby clever hackers "
"anywhere on the web can exploit a gullible CGI script to invoke arbitrary "
"shell commands. Even parts of the URL or field names cannot be trusted, "
"since the request doesn't have to come from your form!"
msgstr ""
"Hay una regla importante: si invoca un programa externo (a través de :func:"
"`os.system`, :func:`os.popen` u otras funciones con una funcionalidad "
"similar), asegúrese bien de no pasar strings arbitrarios recibidos desde el "
"cliente hacia la shell. Este es una brecha de seguridad muy conocida por la "
"que los hackers inteligentes en cualquier lugar de la web pueden explotar un "
"inocente script CGI para invocar comandos de shell arbitrarios. Incluso "
"partes de la URL o nombres de campo pueden no ser confiables, ya que la "
"solicitud no tiene que venir de su formulario!"
#: ../Doc/library/cgi.rst:399
msgid ""
"To be on the safe side, if you must pass a string gotten from a form to a "
"shell command, you should make sure the string contains only alphanumeric "
"characters, dashes, underscores, and periods."
msgstr ""
"Para estar en el lado seguro, si debe pasar una cadena de caracteres de un "
"formulario a un comando de shell, debe asegurarse de que la cadena de "
"caracteres contiene solo caracteres alfanuméricos, guiones, guiones bajos y "
"puntos."
#: ../Doc/library/cgi.rst:405
msgid "Installing your CGI script on a Unix system"
msgstr "Instalando su script de CGI en un sistema Unix"
#: ../Doc/library/cgi.rst:407
msgid ""
"Read the documentation for your HTTP server and check with your local system "
"administrator to find the directory where CGI scripts should be installed; "
"usually this is in a directory :file:`cgi-bin` in the server tree."
msgstr ""
"Lea la documentación del servidor HTTP y consulte con el administrador del "
"sistema local para encontrar el directorio donde se deben instalar los "
"scripts CGI; por lo general, esto se encuentra en un directorio :file:`cgi-"
"bin` en el árbol del servidor."
#: ../Doc/library/cgi.rst:411
msgid ""
"Make sure that your script is readable and executable by \"others\"; the "
"Unix file mode should be ``0o755`` octal (use ``chmod 0755 filename``). "
"Make sure that the first line of the script contains ``#!`` starting in "
"column 1 followed by the pathname of the Python interpreter, for instance::"
msgstr ""
"Asegúrese de que el script es legible y ejecutable por \"otros\"; el modo de "
"archivo Unix debe ser octal ``0o755`` (utilice ``chmod 0755 filename``). "
"Asegúrese de que la primera línea del script contiene ``#!`` a partir de la "
"columna 1 seguida del nombre de ruta del intérprete de Python, por ejemplo::"
#: ../Doc/library/cgi.rst:418
msgid ""
"Make sure the Python interpreter exists and is executable by \"others\"."
msgstr ""
"Asegúrese que el intérprete de Python exista y sea ejecutable por \"otros\"."
#: ../Doc/library/cgi.rst:420
msgid ""
"Make sure that any files your script needs to read or write are readable or "
"writable, respectively, by \"others\" --- their mode should be ``0o644`` for "
"readable and ``0o666`` for writable. This is because, for security reasons, "
"the HTTP server executes your script as user \"nobody\", without any special "
"privileges. It can only read (write, execute) files that everybody can read "
"(write, execute). The current directory at execution time is also different "
"(it is usually the server's cgi-bin directory) and the set of environment "
"variables is also different from what you get when you log in. In "
"particular, don't count on the shell's search path for executables (:envvar:"
"`PATH`) or the Python module search path (:envvar:`PYTHONPATH`) to be set to "
"anything interesting."
msgstr ""
"Asegúrese de que cualquier archivo que su script necesite leer o escribir "
"sea legible o tenga permiso de escritura, respectivamente, por \"otros\" --- "
"su modo debe ser ``0o644`` para legible y ``0o666`` para escribir. Esto se "
"debe a que, por razones de seguridad, el servidor HTTP ejecuta el script "
"como usuario \"nadie\", sin ningún privilegio especial. Sólo puede leer "
"(escribir, ejecutar) archivos que todo el mundo puede leer (escribir, "
"ejecutar). El directorio actual en tiempo de ejecución también es diferente "
"(normalmente es el directorio cgi-bin del servidor) y el conjunto de "
"variables de entorno también es diferente de lo que se obtiene al iniciar "
"sesión. En particular, no cuente con la ruta de búsqueda del shell para "
"ejecutables (:envvar:`PATH`) o la ruta de búsqueda del módulo Python (:"
"envvar:`PYTHONPATH`) que se establecerá en cualquier cosa interesante."
#: ../Doc/library/cgi.rst:431
msgid ""
"If you need to load modules from a directory which is not on Python's "
"default module search path, you can change the path in your script, before "
"importing other modules. For example::"
msgstr ""
"Si necesita cargar módulos desde un directorio el cual no está en la ruta de "
"búsqueda de módulos predeterminada de Python, puede cambiar la ruta en su "
"script, antes de importar otros módulos. Por ejemplo::"
#: ../Doc/library/cgi.rst:439
msgid "(This way, the directory inserted last will be searched first!)"
msgstr ""
"(¡De esta manera, el directorio insertado de último será buscado primero!)"
#: ../Doc/library/cgi.rst:441
msgid ""
"Instructions for non-Unix systems will vary; check your HTTP server's "
"documentation (it will usually have a section on CGI scripts)."
msgstr ""
"Las instrucciones para sistemas que no son Unix pueden variar; consulte la "
"documentación de su servidor HTTP (usualmente tendrá una sección sobre "
"scripts CGI)."
#: ../Doc/library/cgi.rst:446
msgid "Testing your CGI script"
msgstr "Probando su script de CGI"
#: ../Doc/library/cgi.rst:448
msgid ""
"Unfortunately, a CGI script will generally not run when you try it from the "
"command line, and a script that works perfectly from the command line may "
"fail mysteriously when run from the server. There's one reason why you "
"should still test your script from the command line: if it contains a syntax "
"error, the Python interpreter won't execute it at all, and the HTTP server "
"will most likely send a cryptic error to the client."
msgstr ""
"Desafortunadamente, un script CGI generalmente no se ejecutará cuando lo "
"pruebe desde la línea de comandos, y un script que funcione perfectamente "
"desde la línea de comandos puede fallar misteriosamente cuando se ejecuta "
"desde el servidor. Hay una razón por la que debe probar el script desde la "
"línea de comandos: si contiene un error de sintaxis, el intérprete de Python "
"no lo ejecutará en absoluto y lo más probable es que el servidor HTTP envíe "
"un error críptico al cliente."
#: ../Doc/library/cgi.rst:455
msgid ""
"Assuming your script has no syntax errors, yet it does not work, you have no "
"choice but to read the next section."
msgstr ""
"Asumiendo que su script no tiene errores de sintaxis, pero este no funciona, "
"no tiene más opción que leer la siguiente sección."
#: ../Doc/library/cgi.rst:460
msgid "Debugging CGI scripts"
msgstr "Depurando scripts de CGI"
#: ../Doc/library/cgi.rst:464
msgid ""
"First of all, check for trivial installation errors --- reading the section "
"above on installing your CGI script carefully can save you a lot of time. "
"If you wonder whether you have understood the installation procedure "
"correctly, try installing a copy of this module file (:file:`cgi.py`) as a "
"CGI script. When invoked as a script, the file will dump its environment "
"and the contents of the form in HTML format. Give it the right mode etc., "
"and send it a request. If it's installed in the standard :file:`cgi-bin` "
"directory, it should be possible to send it a request by entering a URL into "
"your browser of the form:"
msgstr ""
"En primer lugar, compruebe si hay errores de instalación triviales --- leer "
"la sección anterior sobre la instalación cuidadosa de su script CGI puede "
"ahorrarle mucho tiempo. Si se pregunta si ha entendido correctamente el "
"procedimiento de instalación, intente instalando una copia de este archivo "
"de módulo (:file:`cgi.py`) como un script CGI. Cuando se invoca como un "
"script, el archivo cambiará su entorno y el contenido del formulario en "
"formato HTML. Dele el modo correcto, etc., y envíe una solicitud. Si está "
"instalado en el directorio estándar :file:`cgi-bin`, debería ser posible "
"enviarle una solicitud introduciendo una URL en su navegador de la forma:"
#: ../Doc/library/cgi.rst:477
msgid ""
"If this gives an error of type 404, the server cannot find the script -- "
"perhaps you need to install it in a different directory. If it gives "
"another error, there's an installation problem that you should fix before "
"trying to go any further. If you get a nicely formatted listing of the "
"environment and form content (in this example, the fields should be listed "
"as \"addr\" with value \"At Home\" and \"name\" with value \"Joe Blow\"), "
"the :file:`cgi.py` script has been installed correctly. If you follow the "
"same procedure for your own script, you should now be able to debug it."
msgstr ""
"Si esto da un error de tipo 404, el servidor no puede encontrar el script -- "
"quizás necesite instalarlo en un directorio diferente. Si este da otro "
"error, hay un problema con la instalación que debería intentar solucionar "
"antes de continuar. Si obtiene una lista bien formateada del entorno y el "
"contenido del formulario (en este ejemplo, los campos deberían estar "
"listados como \"addr\" con el valor \"At Home\" y \"name\" con el valor "
"\"Joe Blow\"), el script :file:`cgi.py` ha sido instalado correctamente. Si "
"sigue el mismo procedimiento para su propio script, ya debería poder "
"depurarlo."
#: ../Doc/library/cgi.rst:486
msgid ""
"The next step could be to call the :mod:`cgi` module's :func:`test` function "
"from your script: replace its main code with the single statement ::"
msgstr ""
"El siguiente paso podría ser llamar a la función :func:`test` del módulo :"
"mod:`cgi` de su script: reemplace su código principal con la declaración "
"única ::"
#: ../Doc/library/cgi.rst:491
msgid ""
"This should produce the same results as those gotten from installing the :"
"file:`cgi.py` file itself."
msgstr ""
"Esto debería producir los mismos resultados que los obtenidos al instalar el "
"archivo :file:`cgi.py` en sí."
#: ../Doc/library/cgi.rst:494
msgid ""
"When an ordinary Python script raises an unhandled exception (for whatever "
"reason: of a typo in a module name, a file that can't be opened, etc.), the "
"Python interpreter prints a nice traceback and exits. While the Python "
"interpreter will still do this when your CGI script raises an exception, "
"most likely the traceback will end up in one of the HTTP server's log files, "
"or be discarded altogether."
msgstr ""
"Cuando un script de Python normal lanza una excepción no controlada (por "
"cualquier razón: de un error tipográfico en un nombre de módulo, un archivo "
"que no se puede abrir, etc.), el intérprete de Python imprime un traceback "
"sutil y sale. Aunque el intérprete de Python seguirá haciendo esto cuando "
"el script CGI lance una excepción, lo más probable es que el traceback "
"termine en uno de los archivos de registro del servidor HTTP o se descarte "
"por completo."
#: ../Doc/library/cgi.rst:501
msgid ""
"Fortunately, once you have managed to get your script to execute *some* "
"code, you can easily send tracebacks to the web browser using the :mod:"
"`cgitb` module. If you haven't done so already, just add the lines::"
msgstr ""
"Afortunadamente, una vez que haya logrado que su script ejecute *algún* "
"código, puede enviar fácilmente tracebacks al navegador web utilizando el "
"módulo :mod:`cgitb`. Si aún no lo ha hecho, solo añada las líneas::"
#: ../Doc/library/cgi.rst:508
msgid ""
"to the top of your script. Then try running it again; when a problem "
"occurs, you should see a detailed report that will likely make apparent the "
"cause of the crash."
msgstr ""
"al principio de su script. Luego intente ejecutarlo de nuevo; cuando un "
"problema ocurra, debería ver un informe detallado que probablemente muestre "
"la causa del error."
#: ../Doc/library/cgi.rst:512
msgid ""
"If you suspect that there may be a problem in importing the :mod:`cgitb` "
"module, you can use an even more robust approach (which only uses built-in "
"modules)::"
msgstr ""
"Si sospecha que puede haber un problema al importar el módulo :mod:`cgitb`, "
"puede usar un enfoque aún más robusto (que solo usa módulos integrados)::"
#: ../Doc/library/cgi.rst:521
msgid ""
"This relies on the Python interpreter to print the traceback. The content "
"type of the output is set to plain text, which disables all HTML "
"processing. If your script works, the raw HTML will be displayed by your "
"client. If it raises an exception, most likely after the first two lines "
"have been printed, a traceback will be displayed. Because no HTML "
"interpretation is going on, the traceback will be readable."
msgstr ""
"Esto se basa en el intérprete de Python para imprimir el traceback. El tipo "
"de contenido de la salida se establece en texto plano, lo que deshabilita "
"todo el procesamiento HTML. Si el script funciona, el cliente mostrará el "
"código HTML sin formato. Si lanza una excepción, lo más probable es que "
"después que se hayan impreso las dos primeras líneas, se mostrará un "
"traceback. Dado que no se está realizando ninguna interpretación HTML, el "
"traceback será legible."
#: ../Doc/library/cgi.rst:530
msgid "Common problems and solutions"
msgstr "Problemas comunes y soluciones"
#: ../Doc/library/cgi.rst:532
msgid ""
"Most HTTP servers buffer the output from CGI scripts until the script is "
"completed. This means that it is not possible to display a progress report "
"on the client's display while the script is running."
msgstr ""
"La mayoría de servidores HTTP almacenan en búfer la salida de los scripts "
"CGI hasta que el script esté completado. Esto significa que no es posible "
"mostrar un reporte del progreso en la parte del cliente mientras que el "
"script se esté ejecutando."
#: ../Doc/library/cgi.rst:536
msgid "Check the installation instructions above."
msgstr "Compruebe las instrucciones de instalación anteriores."
#: ../Doc/library/cgi.rst:538
msgid ""
"Check the HTTP server's log files. (``tail -f logfile`` in a separate "
"window may be useful!)"
msgstr ""
"Verifique los archivos de registro (logs) del servidor HTTP. (¡Usar ``tail -"
"f logfile`` en una ventana separada puede ser útil!)"
#: ../Doc/library/cgi.rst:541
msgid ""
"Always check a script for syntax errors first, by doing something like "
"``python script.py``."
msgstr ""
"Siempre verifique un script para encontrar errores de sintaxis primero, "
"haciendo algo como ``python script.py``."
#: ../Doc/library/cgi.rst:544
msgid ""
"If your script does not have any syntax errors, try adding ``import cgitb; "
"cgitb.enable()`` to the top of the script."
msgstr ""
"Si su script no tiene ningún error sintáctico, pruebe añadiendo ``import "
"cgitb; cgitb.enable()`` en la parte superior del script."
#: ../Doc/library/cgi.rst:547
msgid ""
"When invoking external programs, make sure they can be found. Usually, this "
"means using absolute path names --- :envvar:`PATH` is usually not set to a "
"very useful value in a CGI script."
msgstr ""
"Cuando se invoquen programas externos, asegúrese de que pueden ser "
"encontrados. Generalmente esto significa usar nombres de ruta absolutos --- :"
"envvar:`PATH` generalmente no se establece en un valor útil en un script CGI."
#: ../Doc/library/cgi.rst:551
msgid ""
"When reading or writing external files, make sure they can be read or "