-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathapi-io.po
3011 lines (2702 loc) · 120 KB
/
api-io.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
#
# NuINu <don't@send.my>, 2019.
#
#. extracted from /home/bear/work/guile/doc/guile/en/api-io.texi
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-05-07 12:36+0300\n"
"PO-Revision-Date: 2019-03-13 13:31+0300\n"
"Last-Translator: NuINu <don't@send.my>\n"
"Language-Team: Russian <don't@send.my>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Gtranslator 2.91.7\n"
"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : "
"4;\n"
#: /home/bear/work/guile/doc/guile/en/api-io.texi:6
msgid ""
"@c -*-texinfo-*-\n"
"@c This is part of the GNU Guile Reference Manual.\n"
"@c Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2007, 2009,\n"
"@c 2010, 2011, 2013, 2016 Free Software Foundation, Inc.\n"
"@c See the file guile.texi for copying conditions."
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:9
msgid ""
"@node Input and Output\n"
"@section Input and Output"
msgstr ""
"@node Input and Output\n"
"@section Ввод и Вывод"
#: /home/bear/work/guile/doc/guile/en/api-io.texi:27
msgid ""
"@menu\n"
"* Ports:: What's a port?\n"
"* Binary I/O:: Reading and writing bytes.\n"
"* Encoding:: Characters as bytes.\n"
"* Textual I/O:: Reading and writing characters.\n"
"* Simple Output:: Simple syntactic sugar solution.\n"
"* Buffering:: Controlling when data is written to ports.\n"
"* Random Access:: Moving around a random access port.\n"
"* Line/Delimited:: Read and write lines or delimited text.\n"
"* Default Ports:: Defaults for input, output and errors.\n"
"* Port Types:: Types of port and how to make them.\n"
"* Venerable Port Interfaces:: Procedures from the last millenium.\n"
"* Using Ports from C:: Nice interfaces for C.\n"
"* I/O Extensions:: Implementing new port types in C.\n"
"* Non-Blocking I/O:: How Guile deals with EWOULDBLOCK.\n"
"* BOM Handling:: Handling of Unicode byte order marks.\n"
"@end menu"
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:32
msgid ""
"@node Ports\n"
"@subsection Ports\n"
"@cindex Port"
msgstr ""
"@node Ports\n"
"@subsection Порты(Ports)\n"
"@cindex Port"
#: /home/bear/work/guile/doc/guile/en/api-io.texi:36
msgid ""
"Ports are the way that Guile performs input and output. Guile can read\n"
"in characters or bytes from an @dfn{input port}, or write them out to an\n"
"@dfn{output port}. Some ports support both interfaces."
msgstr ""
"Порты, это способ, которым Guile выполняет ввод и вывод. Guile может "
"читать\n"
"в символах или байтах из порта ввода(@dfn{input port}), или записывать их\n"
"в порт вывода(@dfn{output port}). Некоторые порты поддерживают оба "
"интерфейса."
#: /home/bear/work/guile/doc/guile/en/api-io.texi:40
msgid ""
"There are a number of different port types implemented in Guile. File\n"
"ports provide input and output over files, as you might imagine. For\n"
"example, we might display a string to a file like this:"
msgstr ""
"В Guile реализованы несколько различных типов портов. Файловые порты\n"
"обеспечивают ввод и вывод поверх файлов, как вы можете представить. "
"Например,\n"
"мы можем отобразить строку в файл, так:"
#: /home/bear/work/guile/doc/guile/en/api-io.texi:46
msgid ""
"@example\n"
"(let ((port (open-output-file \"foo.txt\")))\n"
" (display \"Hello, world!\\n\" port)\n"
" (close-port port))\n"
"@end example"
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:52
msgid ""
"There are also string ports, for taking input from a string, or\n"
"collecting output to a string; bytevector ports, for doing the same but\n"
"using a bytevector as a source or sink of data; and soft ports, for\n"
"arranging to call Scheme functions to provide input or handle output.\n"
"@xref{Port Types}."
msgstr ""
"Существуют также строковые порты, для получения ввода из строки или\n"
"сброса вывода в строку; байтвекторные(bytevector) порты, для того же\n"
"самого, но используя байтвектор(bytevector) как источника или приемника\n"
"данных; и программные порты, для организации вызова функций Scheme \n"
"для обеспечения ввода или обработки вывода.\n"
"@xref{Port Types}."
#: /home/bear/work/guile/doc/guile/en/api-io.texi:61
msgid ""
"Ports should be @dfn{closed} when they are not needed by calling\n"
"@code{close-port} on them, as in the example above. This will make sure\n"
"that any pending output is successfully written out to disk, in the case\n"
"of a file port, or otherwise to whatever mutable store is backed by the\n"
"port. Any error that occurs while writing out that buffered data would\n"
"also be raised promptly at the @code{close-port}, and not later when the\n"
"port is closed by the garbage collector. @xref{Buffering}, for more on\n"
"buffered output."
msgstr ""
"Порты должны быть закрыты(@dfn{closed}) когда они не нужны, вызовом\n"
"@code{close-port}, как в примере выше. Это обеспечит успешную запись\n"
"любого ожидающего вывода на диск, в случае файлового порта, или иным\n"
"образом в любое изменяемое хранилище поддерживаемое портом. Любая ошибка,\n"
"которая возникает при записи этих буфферезированных данных, также будет\n"
"возникать незамедлительно при закрытии порта(@code{close-port}), но не "
"позднее,\n"
"когда порт закрывается с помощью сборщика мусора. @xref{Buffering}, для "
"получения\n"
"дополнительной информации о буферизированном выводе."
#: /home/bear/work/guile/doc/guile/en/api-io.texi:69
msgid ""
"Closing a port also releases any precious resource the file might have.\n"
"Usually in Scheme a programmer doesn't have to clean up after their data\n"
"structures (@pxref{Memory Management}), but most systems have strict\n"
"limits on how many files can be open, both on a per-process and a\n"
"system-wide basis. A program that uses many files should take care not\n"
"to hit those limits. The same applies to similar system resources such\n"
"as pipes and sockets."
msgstr ""
"Закрытие порта также освобождает любой драгоценный ресурс, который может\n"
"иметь файл. Обычно в Scheme программисту не нужно очищать свои структуры\n"
"данных (@pxref{Memory Management}), но большинство систем имеют жесткие\n"
"ограничения на количество открытых файлов, как для отдельных процессов,\n"
"так и для всей системы. Программа, которая использует много файлов, должна\n"
"стараться не выходить за эти пределы. То же самое относиться к аналогичным\n"
"системным ресурсам, таким как сокеты(socket) и каналы/трубы(pipe)."
#: /home/bear/work/guile/doc/guile/en/api-io.texi:74
msgid ""
"Indeed for these reasons the above example is not the most idiomatic way\n"
"to use ports. It is more common to acquire ports via procedures like\n"
"@code{call-with-output-file}, which handle the @code{close-port}\n"
"automatically:"
msgstr ""
"Действительно, по этим причинам приведенный выше пример на самый "
"идеоматичный\n"
"способ использования портов. В более общем случае получать порты надо через\n"
"процедуры подобные @code{call-with-output-file}, которые обрабатывают "
"@code{close-port}\n"
"автоматически:"
#: /home/bear/work/guile/doc/guile/en/api-io.texi:80
msgid ""
"@example\n"
"(call-with-output-file \"foo.txt\"\n"
" (lambda (port)\n"
" (display \"Hello, world!\\n\" port)))\n"
"@end example"
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:89
msgid ""
"Finally, all ports have associated input and output buffers, as\n"
"appropriate. Buffering is a common strategy to limit the overhead of\n"
"small reads and writes: without buffering, each character fetched from a\n"
"file would involve at least one call into the kernel, and maybe more\n"
"depending on the character and the encoding. Instead, Guile will batch\n"
"reads and writes into internal buffers. However, sometimes you want to\n"
"make output on a port show up immediately. @xref{Buffering}, for more\n"
"on interfaces to control port buffering."
msgstr ""
"Наконец, все порты имеют соответсвтующие входные и выходные буферы, в "
"зависимости\n"
"от ситуации. Буферизация это общая стратегия для ограничения накладных "
"расходов\n"
"на небольшие операции чтения и записи: без буферизации, каждый символьный "
"знак извлекаемый\n"
"из файла, будет включать как минимум один вызов ядра, и, возможно, больше в "
"зависимости\n"
"от символа и кодировки. Вместо этого, Guile будет пакетно читать и "
"записывать во внутренние\n"
"буферы. Однако, иногда вы хотите сделать вывод в порт и получить отображение "
"немедленно. См.\n"
" @xref{Buffering}, для получения дополнительной информации о управлении "
"буферизацией порта."
#: /home/bear/work/guile/doc/guile/en/api-io.texi:94
msgid ""
"@deffn {Scheme Procedure} port? x\n"
"@deffnx {C Function} scm_port_p (x)\n"
"Return a boolean indicating whether @var{x} is a port.\n"
"@end deffn"
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:102
msgid ""
"@rnindex input-port?\n"
"@deffn {Scheme Procedure} input-port? x\n"
"@deffnx {C Function} scm_input_port_p (x)\n"
"Return @code{#t} if @var{x} is an input port, otherwise return\n"
"@code{#f}. Any object satisfying this predicate also satisfies\n"
"@code{port?}.\n"
"@end deffn"
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:110
msgid ""
"@rnindex output-port?\n"
"@deffn {Scheme Procedure} output-port? x\n"
"@deffnx {C Function} scm_output_port_p (x)\n"
"Return @code{#t} if @var{x} is an output port, otherwise return\n"
"@code{#f}. Any object satisfying this predicate also satisfies\n"
"@code{port?}.\n"
"@end deffn"
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:121
msgid ""
"@cindex Closing ports\n"
"@cindex Port, close\n"
"@deffn {Scheme Procedure} close-port port\n"
"@deffnx {C Function} scm_close_port (port)\n"
"Close the specified port object. Return @code{#t} if it successfully\n"
"closes a port or @code{#f} if it was already closed. An exception may\n"
"be raised if an error occurs, for example when flushing buffered output.\n"
"@xref{Buffering}, for more on buffered output. @xref{Ports and File\n"
"Descriptors, close}, for a procedure which can close file descriptors.\n"
"@end deffn"
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:127
msgid ""
"@deffn {Scheme Procedure} port-closed? port\n"
"@deffnx {C Function} scm_port_closed_p (port)\n"
"Return @code{#t} if @var{port} is closed or @code{#f} if it is\n"
"open.\n"
"@end deffn"
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:131
msgid ""
"@node Binary I/O\n"
"@subsection Binary I/O"
msgstr ""
"@node Binary I/O\n"
"@subsection Бинарный Ввод/Вывод(Binary I/O)"
#: /home/bear/work/guile/doc/guile/en/api-io.texi:136
msgid ""
"Guile's ports are fundamentally binary in nature: at the lowest level,\n"
"they work on bytes. This section describes Guile's core binary I/O\n"
"operations. @xref{Textual I/O}, for input and output of strings and\n"
"characters."
msgstr ""
"Порты Guile по своей природе являются двоичными: на самом низком уровне,\n"
"они работают с байтами. В этом разделе описываются основные операции\n"
"двоичного ввода/вывода. @xref{Textual I/O}, для ввода и вывода строк и\n"
"символьных знаков."
#: /home/bear/work/guile/doc/guile/en/api-io.texi:138
msgid "To use these routines, first include the binary I/O module:"
msgstr ""
"Чтобы использовать эти функции, сначала подключите модуль \n"
"бинарного ввода/вывода:"
#: /home/bear/work/guile/doc/guile/en/api-io.texi:142
msgid ""
"@example\n"
"(use-modules (ice-9 binary-ports))\n"
"@end example"
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:146
msgid ""
"Note that although this module's name suggests that binary ports are\n"
"some different kind of port, that's not the case: all ports in Guile are\n"
"both binary and textual ports."
msgstr ""
"Обратите внимание, что хотя название модуля предполагает, что бинарные "
"порты\n"
"отличаются от портов, это не так: все порты Guile являются и бинарными и\n"
"текстовыми портами."
#: /home/bear/work/guile/doc/guile/en/api-io.texi:153
msgid ""
"@cindex binary input\n"
"@deffn {Scheme Procedure} get-u8 port\n"
"@deffnx {C Function} scm_get_u8 (port)\n"
"Return an octet read from @var{port}, an input port, blocking as\n"
"necessary, or the end-of-file object.\n"
"@end deffn"
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:159
msgid ""
"@deffn {Scheme Procedure} lookahead-u8 port\n"
"@deffnx {C Function} scm_lookahead_u8 (port)\n"
"Like @code{get-u8} but does not update @var{port}'s position to point\n"
"past the octet.\n"
"@end deffn"
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:163
msgid ""
"The end-of-file object is unlike any other kind of object: it's not a\n"
"pair, a symbol, or anything else. To check if a value is the\n"
"end-of-file object, use the @code{eof-object?} predicate."
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:171
msgid ""
"@rnindex eof-object?\n"
"@cindex End of file object\n"
"@deffn {Scheme Procedure} eof-object? x\n"
"@deffnx {C Function} scm_eof_object_p (x)\n"
"Return @code{#t} if @var{x} is an end-of-file object, or @code{#f}\n"
"otherwise.\n"
"@end deffn"
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:174
msgid ""
"Note that unlike other procedures in this module, @code{eof-object?} is\n"
"defined in the default environment."
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:181
msgid ""
"@deffn {Scheme Procedure} get-bytevector-n port count\n"
"@deffnx {C Function} scm_get_bytevector_n (port, count)\n"
"Read @var{count} octets from @var{port}, blocking as necessary and\n"
"return a bytevector containing the octets read. If fewer bytes are\n"
"available, a bytevector smaller than @var{count} is returned.\n"
"@end deffn"
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:188
msgid ""
"@deffn {Scheme Procedure} get-bytevector-n! port bv start count\n"
"@deffnx {C Function} scm_get_bytevector_n_x (port, bv, start, count)\n"
"Read @var{count} bytes from @var{port} and store them in @var{bv}\n"
"starting at index @var{start}. Return either the number of bytes\n"
"actually read or the end-of-file object.\n"
"@end deffn"
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:196
msgid ""
"@deffn {Scheme Procedure} get-bytevector-some port\n"
"@deffnx {C Function} scm_get_bytevector_some (port)\n"
"Read from @var{port}, blocking as necessary, until bytes are available\n"
"or an end-of-file is reached. Return either the end-of-file object or a\n"
"new bytevector containing some of the available bytes (at least one),\n"
"and update the port position to point just past these bytes.\n"
"@end deffn"
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:203
msgid ""
"@deffn {Scheme Procedure} get-bytevector-all port\n"
"@deffnx {C Function} scm_get_bytevector_all (port)\n"
"Read from @var{port}, blocking as necessary, until the end-of-file is\n"
"reached. Return either a new bytevector containing the data read or the\n"
"end-of-file object (if no data were available).\n"
"@end deffn"
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:212
msgid ""
"@deffn {Scheme Procedure} unget-bytevector port bv [start [count]]\n"
"@deffnx {C Function} scm_unget_bytevector (port, bv, start, count)\n"
"Place the contents of @var{bv} in @var{port}, optionally starting at\n"
"index @var{start} and limiting to @var{count} octets, so that its bytes\n"
"will be read from left-to-right as the next bytes from @var{port} during\n"
"subsequent read operations. If called multiple times, the unread bytes\n"
"will be read again in last-in first-out order.\n"
"@end deffn"
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:216
msgid ""
"@cindex binary output\n"
"To perform binary output on a port, use @code{put-u8} or\n"
"@code{put-bytevector}."
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:222
msgid ""
"@deffn {Scheme Procedure} put-u8 port octet\n"
"@deffnx {C Function} scm_put_u8 (port, octet)\n"
"Write @var{octet}, an integer in the 0--255 range, to @var{port}, a\n"
"binary output port.\n"
"@end deffn"
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:228
msgid ""
"@deffn {Scheme Procedure} put-bytevector port bv [start [count]]\n"
"@deffnx {C Function} scm_put_bytevector (port, bv, start, count)\n"
"Write the contents of @var{bv} to @var{port}, optionally starting at\n"
"index @var{start} and limiting to @var{count} octets.\n"
"@end deffn"
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:231
msgid ""
"@node Encoding\n"
"@subsection Encoding"
msgstr ""
"@node Encoding\n"
"@subsection Кодировка(Encoding)"
#: /home/bear/work/guile/doc/guile/en/api-io.texi:236
msgid ""
"Textual input and output on Guile ports is layered on top of binary\n"
"operations. To this end, each port has an associated character encoding\n"
"that controls how bytes read from the port are converted to characters,\n"
"and how characters written to the port are converted to bytes."
msgstr ""
"Текстовый ввод и вывод через порты Guile располагается поверх бинарных\n"
"операций. Каждый порт имеет связанную с ним кодировку символов, которая\n"
"контролирует, как байты читаемые из порта преобразуются в симольные знаки,\n"
"и как символьные знаки записвываемые в порт преобразуются в байты."
#: /home/bear/work/guile/doc/guile/en/api-io.texi:242
msgid ""
"@deffn {Scheme Procedure} port-encoding port\n"
"@deffnx {C Function} scm_port_encoding (port)\n"
"Returns, as a string, the character encoding that @var{port} uses to\n"
"interpret its input and output.\n"
"@end deffn"
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:251
msgid ""
"@deffn {Scheme Procedure} set-port-encoding! port enc\n"
"@deffnx {C Function} scm_set_port_encoding_x (port, enc)\n"
"Sets the character encoding that will be used to interpret I/O to\n"
"@var{port}. @var{enc} is a string containing the name of an encoding.\n"
"Valid encoding names are those\n"
"@url{http://www.iana.org/assignments/character-sets, defined by IANA},\n"
"for example @code{\"UTF-8\"} or @code{\"ISO-8859-1\"}.\n"
"@end deffn"
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:255
msgid ""
"When ports are created, they are assigned an encoding. The usual\n"
"process to determine the initial encoding for a port is to take the\n"
"value of the @code{%default-port-encoding} fluid."
msgstr ""
"Когда порты созданы, им присваивается кодировка. Обычный процесс "
"определения\n"
"начальной кодировки для порта --- получение значения флюида \n"
"@code{%default-port-encoding}."
#: /home/bear/work/guile/doc/guile/en/api-io.texi:261
msgid ""
"@defvr {Scheme Variable} %default-port-encoding\n"
"A fluid containing name of the encoding to be used by default for newly\n"
"created ports (@pxref{Fluids and Dynamic States}). As a special case,\n"
"the value @code{#f} is equivalent to @code{\"ISO-8859-1\"}.\n"
"@end defvr"
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:266
msgid ""
"The @code{%default-port-encoding} itself defaults to the encoding\n"
"appropriate for the current locale, if @code{setlocale} has been called.\n"
"@xref{Locales}, for more on locales and when you might need to call\n"
"@code{setlocale} explicitly."
msgstr ""
"@code{%default-port-encoding} по умолчанию использует кодировку,\n"
"соответствующую текущей локали, если @code{setlocale} был вызван.\n"
"@xref{Locales}, для получения дополнительной информации о локалях\n"
"и когда вам может понадобитсья вызов @code{setlocale}."
#: /home/bear/work/guile/doc/guile/en/api-io.texi:274
msgid ""
"Some port types have other ways of determining their initial locales.\n"
"String ports, for example, default to the UTF-8 encoding, in order to be\n"
"able to represent all characters regardless of the current locale. File\n"
"ports can optionally sniff their file for a @code{coding:} declaration;\n"
"@xref{File Ports}. Binary ports might be initialized to the ISO-8859-1\n"
"encoding in which each codepoint between 0 and 255 corresponds to a byte\n"
"with that value."
msgstr ""
"Некоторые порты имеют другой способ определения их начальных локалей.\n"
"Строковые порты, например, по умолчанию используют кодировку UTF-8, \n"
"чтобы иметь возможность представлять все символы независимо от текущей\n"
"локали. Файловые порты могут опционально прослушивать свой файл для \n"
"поиска объявления @code{coding:};\n"
"@xref{File Ports}. Двоичные порты могут быть инициализированы в кодировке\n"
"ISO-8859-1 в которой каждая кодовая точка(codepoint) между 0 и 255 "
"соответствует\n"
"байту с этим значением."
#: /home/bear/work/guile/doc/guile/en/api-io.texi:280
msgid ""
"Currently, the ports only work with @emph{non-modal} encodings. Most\n"
"encodings are non-modal, meaning that the conversion of bytes to a\n"
"string doesn't depend on its context: the same byte sequence will always\n"
"return the same string. A couple of modal encodings are in common use,\n"
"like ISO-2022-JP and ISO-2022-KR, and they are not yet supported."
msgstr ""
"В настоящее время порты работают с не модальными(@emph{non-modal}) "
"кодировками.\n"
"Большинство кодировок являются не модальными, это означают что "
"преобразование\n"
"байтов в строку не зависит от ее контекста: одна и таже последовательность "
"байтов\n"
"всегда возвращает одну и ту же строку. Несколько модальных кодировок "
"находятся в\n"
"общем использовании, таке как ISO-2022-JP и ISO-2022-KR, и они еще не "
"поддерживаются."
#: /home/bear/work/guile/doc/guile/en/api-io.texi:292
msgid ""
"@cindex port conversion strategy\n"
"@cindex conversion strategy, port\n"
"@cindex decoding error\n"
"@cindex encoding error\n"
"Each port also has an associated conversion strategy, which determines\n"
"what to do when a Guile character can't be converted to the port's\n"
"encoded character representation for output. There are three possible\n"
"strategies: to raise an error, to replace the character with a hex\n"
"escape, or to replace the character with a substitute character. Port\n"
"conversion strategies are also used when decoding characters from an\n"
"input port."
msgstr ""
"@cindex port conversion strategy\n"
"@cindex conversion strategy, port\n"
"@cindex decoding error\n"
"@cindex encoding error\n"
"С каждым портом также связана стратегия конвертации, которая определяет, что "
"делать,\n"
"когда символьный знак Guile не может быть преобразован в закодированное "
"представление \n"
"символьных знаков порта для вывода. Существует три возможных стратегии:\n"
"выбросить ошибку, заменить символьный знак с помощью шестнадцатеричного "
"экранирования,\n"
"или заменить символьный знак замещающим символьным знаком. Стратегия "
"преобразования порта\n"
"также используется при декодировании символов из входного порта."
#: /home/bear/work/guile/doc/guile/en/api-io.texi:297
msgid ""
"@deffn {Scheme Procedure} port-conversion-strategy port\n"
"@deffnx {C Function} scm_port_conversion_strategy (port)\n"
"Returns the behavior of the port when outputting a character that is not\n"
"representable in the port's current encoding."
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:302
msgid ""
"If @var{port} is @code{#f}, then the current default behavior will be\n"
"returned. New ports will have this default behavior when they are\n"
"created.\n"
"@end deffn"
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:309
msgid ""
"@deffn {Scheme Procedure} set-port-conversion-strategy! port sym\n"
"@deffnx {C Function} scm_set_port_conversion_strategy_x (port, sym)\n"
"Sets the behavior of Guile when outputting a character that is not\n"
"representable in the port's current encoding, or when Guile encounters a\n"
"decoding error when trying to read a character. @var{sym} can be either\n"
"@code{error}, @code{substitute}, or @code{escape}."
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:314
msgid ""
"If @var{port} is an open port, the conversion error behavior is set for\n"
"that port. If it is @code{#f}, it is set as the default behavior for\n"
"any future ports that get created in this thread.\n"
"@end deffn"
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:317
msgid ""
"As with port encodings, there is a fluid which determines the initial\n"
"conversion strategy for a port."
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:323
msgid ""
"@deffn {Scheme Variable} %default-port-conversion-strategy\n"
"The fluid that defines the conversion strategy for newly created ports,\n"
"and also for other conversion routines such as @code{scm_to_stringn},\n"
"@code{scm_from_stringn}, @code{string->pointer}, and\n"
"@code{pointer->string}."
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:326
msgid ""
"Its value must be one of the symbols described above, with the same\n"
"semantics: @code{error}, @code{substitute}, or @code{escape}."
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:328
msgid "When Guile starts, its value is @code{substitute}."
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:333
msgid ""
"Note that @code{(set-port-conversion-strategy! #f @var{sym})} is\n"
"equivalent to @code{(fluid-set! %default-port-conversion-strategy\n"
"@var{sym})}.\n"
"@end deffn"
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:343
msgid ""
"As mentioned above, for an output port there are three possible port\n"
"conversion strategies. The @code{error} strategy will throw an error\n"
"when a nonconvertible character is encountered. The @code{substitute}\n"
"strategy will replace nonconvertible characters with a question mark\n"
"(@samp{?}). Finally the @code{escape} strategy will print\n"
"nonconvertible characters as a hex escape, using the escaping that is\n"
"recognized by Guile's string syntax. Note that if the port's encoding\n"
"is a Unicode encoding, like @code{UTF-8}, then encoding errors are\n"
"impossible."
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:351
msgid ""
"For an input port, the @code{error} strategy will cause Guile to throw\n"
"an error if it encounters an invalid encoding, such as might happen if\n"
"you tried to read @code{ISO-8859-1} as @code{UTF-8}. The error is\n"
"thrown before advancing the read position. The @code{substitute}\n"
"strategy will replace the bad bytes with a U+FFFD replacement character,\n"
"in accordance with Unicode recommendations. When reading from an input\n"
"port, the @code{escape} strategy is treated as if it were @code{error}."
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:357
msgid ""
"@node Textual I/O\n"
"@subsection Textual I/O\n"
"@cindex textual input\n"
"@cindex textual output"
msgstr ""
"@node Textual I/O\n"
"@subsection Текстовый Ввод/Вывод(Textual I/O)\n"
"@cindex textual input\n"
"@cindex textual output"
#: /home/bear/work/guile/doc/guile/en/api-io.texi:363
msgid ""
"This section describes Guile's core textual I/O operations on characters\n"
"and strings. @xref{Binary I/O}, for input and output of bytes and\n"
"bytevectors. @xref{Encoding}, for more on how characters relate to\n"
"bytes. To read general S-expressions from ports, @xref{Scheme Read}.\n"
"@xref{Scheme Write}, for interfaces that write generic Scheme datums."
msgstr ""
"В этом разделе описываются основные текстовые операции ввода/вывода\n"
"символьных знаков и строк Guile. @xref{Binary I/O}, для ввода и вывода\n"
"байтов и байтовых векторов. @xref{Encoding}, для получения дополнительной\n"
"информации о том как символьные знаки связаны с байтами. Чтения общих\n"
"S-выражений из потортов, @xref{Scheme Read}.\n"
"@xref{Scheme Write}, для интерфейсво которые записывают общие данные\n"
"Scheme."
#: /home/bear/work/guile/doc/guile/en/api-io.texi:365
msgid "To use these routines, first include the textual I/O module:"
msgstr ""
"Чтобы использовать данные функции, сначала подключите модуль текстового\n"
"ввода/вывода:"
#: /home/bear/work/guile/doc/guile/en/api-io.texi:369
msgid ""
"@example\n"
"(use-modules (ice-9 textual-ports))\n"
"@end example"
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:373
msgid ""
"Note that although this module's name suggests that textual ports are\n"
"some different kind of port, that's not the case: all ports in Guile are\n"
"both binary and textual ports."
msgstr ""
"Обратите внимание, что хотя название модуля предполагает, что текстовые "
"порты\n"
"несколько отличаются от портов, это не так: все порты в Guile являются "
"двоичными\n"
"и текстовыми одновременно.."
#: /home/bear/work/guile/doc/guile/en/api-io.texi:378
msgid ""
"@deffn {Scheme Procedure} get-char input-port\n"
"Reads from @var{input-port}, blocking as necessary, until a\n"
"complete character is available from @var{input-port},\n"
"or until an end of file is reached."
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:384
msgid ""
"If a complete character is available before the next end of file,\n"
"@code{get-char} returns that character and updates the input port to\n"
"point past the character. If an end of file is reached before any\n"
"character is read, @code{get-char} returns the end-of-file object.\n"
"@end deffn"
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:389
msgid ""
"@deffn {Scheme Procedure} lookahead-char input-port\n"
"The @code{lookahead-char} procedure is like @code{get-char}, but it does\n"
"not update @var{input-port} to point past the character.\n"
"@end deffn"
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:392
msgid ""
"In the same way that it's possible to \"unget\" a byte or bytes, it's\n"
"possible to \"unget\" the bytes corresponding to an encoded character."
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:398
msgid ""
"@deffn {Scheme Procedure} unget-char port char\n"
"Place character @var{char} in @var{port} so that it will be read by the\n"
"next read operation. If called multiple times, the unread characters\n"
"will be read again in last-in first-out order.\n"
"@end deffn"
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:405
msgid ""
"@deffn {Scheme Procedure} unget-string port str\n"
"Place the string @var{str} in @var{port} so that its characters will\n"
"be read from left-to-right as the next characters from @var{port}\n"
"during subsequent read operations. If called multiple times, the\n"
"unread characters will be read again in last-in first-out order.\n"
"@end deffn"
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:409
msgid ""
"Reading in a character at a time can be inefficient. If it's possible\n"
"to perform I/O over multiple characters at a time, via strings, that\n"
"might be faster."
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:415
msgid ""
"@deffn {Scheme Procedure} get-string-n input-port count\n"
"The @code{get-string-n} procedure reads from @var{input-port}, blocking\n"
"as necessary, until @var{count} characters are available, or until an\n"
"end of file is reached. @var{count} must be an exact, non-negative\n"
"integer, representing the number of characters to be read."
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:424
msgid ""
"If @var{count} characters are available before end of file,\n"
"@code{get-string-n} returns a string consisting of those @var{count}\n"
"characters. If fewer characters are available before an end of file, but\n"
"one or more characters can be read, @code{get-string-n} returns a string\n"
"containing those characters. In either case, the input port is updated\n"
"to point just past the characters read. If no characters can be read\n"
"before an end of file, the end-of-file object is returned.\n"
"@end deffn"
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:431
msgid ""
"@deffn {Scheme Procedure} get-string-n! input-port string start count\n"
"The @code{get-string-n!} procedure reads from @var{input-port} in the\n"
"same manner as @code{get-string-n}. @var{start} and @var{count} must be\n"
"exact, non-negative integer objects, with @var{count} representing the\n"
"number of characters to be read. @var{string} must be a string with at\n"
"least $@var{start} + @var{count}$ characters."
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:440
msgid ""
"If @var{count} characters are available before an end of file, they are\n"
"written into @var{string} starting at index @var{start}, and @var{count}\n"
"is returned. If fewer characters are available before an end of file,\n"
"but one or more can be read, those characters are written into\n"
"@var{string} starting at index @var{start} and the number of characters\n"
"actually read is returned as an exact integer object. If no characters\n"
"can be read before an end of file, the end-of-file object is returned.\n"
"@end deffn"
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:444
msgid ""
"@deffn {Scheme Procedure} get-string-all input-port\n"
"Reads from @var{input-port} until an end of file, decoding characters in\n"
"the same manner as @code{get-string-n} and @code{get-string-n!}."
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:449
msgid ""
"If characters are available before the end of file, a string containing\n"
"all the characters decoded from that data are returned. If no character\n"
"precedes the end of file, the end-of-file object is returned.\n"
"@end deffn"
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:454
msgid ""
"@deffn {Scheme Procedure} get-line input-port\n"
"Reads from @var{input-port} up to and including the linefeed\n"
"character or end of file, decoding characters in the same manner as\n"
"@code{get-string-n} and @code{get-string-n!}."
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:463
msgid ""
"If a linefeed character is read, a string containing all of the text up\n"
"to (but not including) the linefeed character is returned, and the port\n"
"is updated to point just past the linefeed character. If an end of file\n"
"is encountered before any linefeed character is read, but some\n"
"characters have been read and decoded as characters, a string containing\n"
"those characters is returned. If an end of file is encountered before\n"
"any characters are read, the end-of-file object is returned.\n"
"@end deffn"
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:466
msgid ""
"Finally, there are just two core procedures to write characters to a\n"
"port."
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:471
msgid ""
"@deffn {Scheme Procedure} put-char port char\n"
"Writes @var{char} to the port. The @code{put-char} procedure returns\n"
"an unspecified value.\n"
"@end deffn"
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:477
msgid ""
"@deffn {Scheme Procedure} put-string port string\n"
"@deffnx {Scheme Procedure} put-string port string start\n"
"@deffnx {Scheme Procedure} put-string port string start count\n"
"Write the @var{count} characters of @var{string} starting at index\n"
"@var{start} to the port."
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:482
msgid ""
"@var{start} and @var{count} must be non-negative exact integer objects.\n"
"@var{string} must have a length of at least @math{@var{start} +\n"
"@var{count}}. @var{start} defaults to 0. @var{count} defaults to\n"
"@math{@code{(string-length @var{string})} - @var{start}}$."
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:487
msgid ""
"Calling @code{put-string} is equivalent in all respects to calling\n"
"@code{put-char} on the relevant sequence of characters, except that it\n"
"will attempt to write multiple characters to the port at a time, even if\n"
"the port is unbuffered."
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:490
msgid ""
"The @code{put-string} procedure returns an unspecified value.\n"
"@end deffn"
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:494
msgid ""
"Textual ports have a textual position associated with them: a line and a\n"
"column. Reading in characters or writing them out advances the line and\n"
"the column appropriately."
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:501
msgid ""
"@deffn {Scheme Procedure} port-column port\n"
"@deffnx {Scheme Procedure} port-line port\n"
"@deffnx {C Function} scm_port_column (port)\n"
"@deffnx {C Function} scm_port_line (port)\n"
"Return the current column number or line number of @var{port}.\n"
"@end deffn"
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:508
msgid ""
"Port lines and positions are represented as 0-origin integers, which is\n"
"to say that the the first character of the first line is line 0, column\n"
"0. However, when you display a line number, for example in an error\n"
"message, we recommend you add 1 to get 1-origin integers. This is\n"
"because lines numbers traditionally start with 1, and that is what\n"
"non-programmers will find most natural."
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:515
msgid ""
"@deffn {Scheme Procedure} set-port-column! port column\n"
"@deffnx {Scheme Procedure} set-port-line! port line\n"
"@deffnx {C Function} scm_set_port_column_x (port, column)\n"
"@deffnx {C Function} scm_set_port_line_x (port, line)\n"
"Set the current column or line number of @var{port}.\n"
"@end deffn"
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:518
msgid ""
"@node Simple Output\n"
"@subsection Simple Textual Output"
msgstr ""
"@node Simple Output\n"
"@subsection Простой Текстовый Вывод"
#: /home/bear/work/guile/doc/guile/en/api-io.texi:521
msgid ""
"Guile exports a simple formatted output function, @code{simple-format}.\n"
"For a more capable formatted output facility, @xref{Formatted Output}."
msgstr ""
"Guile экспортирует простую функцию форматированного вывода, @code{simple-"
"format}.\n"
"Для более мощного средства форматированого вывода, @xref{Formatted Output}."
#: /home/bear/work/guile/doc/guile/en/api-io.texi:532
msgid ""
"@deffn {Scheme Procedure} simple-format destination message . args\n"
"@deffnx {C Function} scm_simple_format (destination, message, args)\n"
"Write @var{message} to @var{destination}, defaulting to the current\n"
"output port. @var{message} can contain @code{~A} and @code{~S} escapes.\n"
"When printed, the escapes are replaced with corresponding members of\n"
"@var{args}: @code{~A} formats using @code{display} and @code{~S} formats\n"
"using @code{write}. If @var{destination} is @code{#t}, then use the\n"
"current output port, if @var{destination} is @code{#f}, then return a\n"
"string containing the formatted text. Does not add a trailing newline.\n"
"@end deffn"
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:538
msgid ""
"Somewhat confusingly, Guile binds the @code{format} identifier to\n"
"@code{simple-format} at startup. Once @code{(ice-9 format)} loads, it\n"
"actually replaces the core @code{format} binding, so depending on\n"
"whether you or a module you use has loaded @code{(ice-9 format)}, you\n"
"may be using the simple or the more capable version."
msgstr ""
"Несколько запутанно, Guile связывает идентификатор @code{format} с\n"
"@code{simple-format} при запуске. После загрузки @code{(ice-9 format)}, он\n"
"фактически заменяет привязку @code{format}, поэтому в зависимости от того,\n"
"загружаете ли вы модуль @code{(ice-9 format)}, вы можете польозваться "
"простой\n"
"или более мощной версией."
#: /home/bear/work/guile/doc/guile/en/api-io.texi:542
msgid ""
"@node Buffering\n"
"@subsection Buffering\n"
"@cindex Port, buffering"
msgstr ""
"@node Buffering\n"
"@subsection Буфферизация\n"
"@cindex Port, buffering"
#: /home/bear/work/guile/doc/guile/en/api-io.texi:554
msgid ""
"Every port has associated input and output buffers. You can think of\n"
"ports as being backed by some mutable store, and that store might be far\n"
"away. For example, ports backed by file descriptors have to go all the\n"
"way to the kernel to read and write their data. To avoid this\n"
"round-trip cost, Guile usually reads in data from the mutable store in\n"
"chunks, and then services small requests like @code{get-char} out of\n"
"that intermediate buffer. Similarly, small writes like\n"
"@code{write-char} first go to a buffer, and are sent to the store when\n"
"the buffer is full (or when port is flushed). Buffered ports speed up\n"
"your program by reducing the number of round-trips to the mutable store,\n"
"and they do so in a way that is mostly transparent to the user."
msgstr ""
#: /home/bear/work/guile/doc/guile/en/api-io.texi:558
msgid ""
"There are two major ways, however, in which buffering affects program\n"
"semantics. Building correct, performant programs requires understanding\n"
"these situations."
msgstr ""