-
-
Notifications
You must be signed in to change notification settings - Fork 32
/
Copy path2.1.po
1457 lines (1303 loc) · 71.6 KB
/
2.1.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
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2001-2025, Python Software Foundation
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# tomo, 2021
# Mikami Akiko, 2021
# souma987, 2023
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Python 3.13\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-02-14 14:17+0000\n"
"PO-Revision-Date: 2021-06-28 01:51+0000\n"
"Last-Translator: souma987, 2023\n"
"Language-Team: Japanese (https://app.transifex.com/python-doc/teams/5390/"
"ja/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ja\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: ../../whatsnew/2.1.rst:3
msgid "What's New in Python 2.1"
msgstr "What's New in Python 2.1"
#: ../../whatsnew/2.1.rst:0
msgid "Author"
msgstr "著者"
#: ../../whatsnew/2.1.rst:5
msgid "A.M. Kuchling"
msgstr "A.M. Kuchling"
#: ../../whatsnew/2.1.rst:13
msgid "Introduction"
msgstr "はじめに"
#: ../../whatsnew/2.1.rst:15
msgid ""
"This article explains the new features in Python 2.1. While there aren't as "
"many changes in 2.1 as there were in Python 2.0, there are still some "
"pleasant surprises in store. 2.1 is the first release to be steered through "
"the use of Python Enhancement Proposals, or PEPs, so most of the sizable "
"changes have accompanying PEPs that provide more complete documentation and "
"a design rationale for the change. This article doesn't attempt to document "
"the new features completely, but simply provides an overview of the new "
"features for Python programmers. Refer to the Python 2.1 documentation, or "
"to the specific PEP, for more details about any new feature that "
"particularly interests you."
msgstr ""
"この記事はPython 2.1の新機能について説明します。Python 2.1には Python 2.0ほど"
"多くの変更点はありませんが、楽しい驚きがあります。2.1はPythonの拡張計画"
"(PEP)を使い動かす最初のリリースであり、大きい変更点のほとんどは、より詳細な"
"ドキュメントや変更のための設計原理を提供するPEPに付随しています。この記事は新"
"機能について網羅していませんが、Pythonプログラマのための新機能について概要を"
"示します。特に興味のある任意の新機能の詳細については、Python 2.1ドキュメント"
"か特定のPEPを参照してください。"
#: ../../whatsnew/2.1.rst:25
msgid ""
"One recent goal of the Python development team has been to accelerate the "
"pace of new releases, with a new release coming every 6 to 9 months. 2.1 is "
"the first release to come out at this faster pace, with the first alpha "
"appearing in January, 3 months after the final version of 2.0 was released."
msgstr ""
"Python開発チームの最近の目標の一つとして新しいリリースのペースを上げており、"
"一つのリリースにつき6~9ヶ月ごとにリリースしています。2.1はこの速いペースに"
"なって出てきた最初のリリースで、初のアルファ版は、2.0の最終版がリリースされた"
"3ヶ月後の1月に登場しました。"
#: ../../whatsnew/2.1.rst:30
msgid "The final release of Python 2.1 was made on April 17, 2001."
msgstr "Python 2.1の最終版は2001年4月17日に作成されました。"
#: ../../whatsnew/2.1.rst:36
msgid "PEP 227: Nested Scopes"
msgstr "PEP 227: 入れ子状のスコープ"
#: ../../whatsnew/2.1.rst:38
msgid ""
"The largest change in Python 2.1 is to Python's scoping rules. In Python "
"2.0, at any given time there are at most three namespaces used to look up "
"variable names: local, module-level, and the built-in namespace. This often "
"surprised people because it didn't match their intuitive expectations. For "
"example, a nested recursive function definition doesn't work::"
msgstr ""
"Python2.1における最も大きな変更点はPythonのスコープルールです。Python2.0で"
"は、ある指定された時点である変数の名前を検索するために多くても3つの名前空間、"
"つまりローカル、モジュールレベル、ビルトイン名前空間しか使われませんでした。"
"このことは直感的な期待と一致せずしばしば人々を驚かせました。例えば、入れ子に"
"なった再帰関数の定義は動きません::"
#: ../../whatsnew/2.1.rst:44
msgid ""
"def f():\n"
" ...\n"
" def g(value):\n"
" ...\n"
" return g(value-1) + 1\n"
" ..."
msgstr ""
#: ../../whatsnew/2.1.rst:51
msgid ""
"The function :func:`!g` will always raise a :exc:`NameError` exception, "
"because the binding of the name ``g`` isn't in either its local namespace or "
"in the module-level namespace. This isn't much of a problem in practice "
"(how often do you recursively define interior functions like this?), but "
"this also made using the :keyword:`lambda` expression clumsier, and this was "
"a problem in practice. In code which uses :keyword:`lambda` you can often "
"find local variables being copied by passing them as the default values of "
"arguments. ::"
msgstr ""
#: ../../whatsnew/2.1.rst:59
msgid ""
"def find(self, name):\n"
" \"Return list of any entries equal to 'name'\"\n"
" L = filter(lambda x, name=name: x == name,\n"
" self.list_attribute)\n"
" return L"
msgstr ""
#: ../../whatsnew/2.1.rst:65
msgid ""
"The readability of Python code written in a strongly functional style "
"suffers greatly as a result."
msgstr ""
"過度な関数型スタイルで書かれた Python コードの可読性は、結果的にはひどく苦痛"
"を感じるものですね。"
#: ../../whatsnew/2.1.rst:68
msgid ""
"The most significant change to Python 2.1 is that static scoping has been "
"added to the language to fix this problem. As a first effect, the "
"``name=name`` default argument is now unnecessary in the above example. Put "
"simply, when a given variable name is not assigned a value within a function "
"(by an assignment, or the :keyword:`def`, :keyword:`class`, or :keyword:"
"`import` statements), references to the variable will be looked up in the "
"local namespace of the enclosing scope. A more detailed explanation of the "
"rules, and a dissection of the implementation, can be found in the PEP."
msgstr ""
"Python 2.1の最も重要な変更点は、この問題を解決するために静的なスコープが追加"
"されたことです。最初の効果として、``name=name`` という例ではデフォルトの引数"
"は必要ありません。簡単に言えば、指定された引数名が関数内の値に割り当てられな"
"い場合(:keyword:`def`、:keyword:`class` または :keyword:`import` ステートメン"
"トの割り当てによって)、変数の参照は外側のスコープのローカル名前空間で検索され"
"ます。ルールや実装の詳細はPEPで参照できます。"
#: ../../whatsnew/2.1.rst:77
msgid ""
"This change may cause some compatibility problems for code where the same "
"variable name is used both at the module level and as a local variable "
"within a function that contains further function definitions. This seems "
"rather unlikely though, since such code would have been pretty confusing to "
"read in the first place."
msgstr ""
"この変更は、同じ変数名がモジュールレベルと関数の定義が含まれている関数内の"
"ローカルの両方で変数名として使用されているコードで、互換性の問題を引き起こす"
"可能性があります。ですがむしろ気にしなくてよいでしょう。そのようなコードはそ"
"もそも最初から相当こんがらかっているので。"
#: ../../whatsnew/2.1.rst:83
msgid ""
"One side effect of the change is that the ``from module import *`` and "
"``exec`` statements have been made illegal inside a function scope under "
"certain conditions. The Python reference manual has said all along that "
"``from module import *`` is only legal at the top level of a module, but the "
"CPython interpreter has never enforced this before. As part of the "
"implementation of nested scopes, the compiler which turns Python source into "
"bytecodes has to generate different code to access variables in a containing "
"scope. ``from module import *`` and ``exec`` make it impossible for the "
"compiler to figure this out, because they add names to the local namespace "
"that are unknowable at compile time. Therefore, if a function contains "
"function definitions or :keyword:`lambda` expressions with free variables, "
"the compiler will flag this by raising a :exc:`SyntaxError` exception."
msgstr ""
"この変更の副作用の一つは、 ``from module import *`` と ``exec`` の両ステート"
"メントが特定の条件下の関数スコープ内で不正となることです。 Python のリファレ"
"ンスマニュアルははじめからずっと ``from module import *`` はトップレベルモ"
"ジュールでのみ合法であると言ってきましたが、以前の CPython インタプリタはこれ"
"を一度も強制していませんでした。入れ子になったスコープ実装の一環として、"
"Python のソースをバイトコードに変換するコンパイラは、内包されたスコープ内の変"
"数にアクセスするために別のコードを生成する必要があります。 ``from module "
"import *``, ``exec`` はコンパイラにこれを理解することを不可能にしてしまいま"
"す。なぜならそれらはコンパイル時にはわからないローカル名前空間に名前を追加す"
"るからです。それゆえ、もし関数が関数定義を含んだり自由な変数に :keyword:"
"`lambda` の語句を含んだりする場合、コンパイラは :exc:`SyntaxError` 例外を上げ"
"て知らせます。"
#: ../../whatsnew/2.1.rst:96
msgid "To make the preceding explanation a bit clearer, here's an example::"
msgstr "前述した説明を少し明確にするため、例を挙げます::"
#: ../../whatsnew/2.1.rst:98
msgid ""
"x = 1\n"
"def f():\n"
" # The next line is a syntax error\n"
" exec 'x=2'\n"
" def g():\n"
" return x"
msgstr ""
#: ../../whatsnew/2.1.rst:105
msgid ""
"Line 4 containing the ``exec`` statement is a syntax error, since ``exec`` "
"would define a new local variable named ``x`` whose value should be accessed "
"by :func:`!g`."
msgstr ""
#: ../../whatsnew/2.1.rst:109
msgid ""
"This shouldn't be much of a limitation, since ``exec`` is rarely used in "
"most Python code (and when it is used, it's often a sign of a poor design "
"anyway)."
msgstr ""
"これは実際には大した制約でもないはずです。 ``exec`` が Python コードで使われ"
"るのは稀です(使われているとしたら大抵どこか貧弱な設計であることの証)。"
#: ../../whatsnew/2.1.rst:113
msgid ""
"Compatibility concerns have led to nested scopes being introduced gradually; "
"in Python 2.1, they aren't enabled by default, but can be turned on within a "
"module by using a future statement as described in :pep:`236`. (See the "
"following section for further discussion of :pep:`236`.) In Python 2.2, "
"nested scopes will become the default and there will be no way to turn them "
"off, but users will have had all of 2.1's lifetime to fix any breakage "
"resulting from their introduction."
msgstr ""
"互換性の問題が考慮されて、入れ子のスコープは段階的導入につながりました; "
"Python 2.1 ではそれらはデフォルトで有効になっていませんが、 :pep:`236` に記載"
"されているように、future 文を使用してモジュール内でオンにすることができます。"
"(:pep:`236` の更なる議論について、続くセクションを参照してください。) Python "
"2.2では入れ子になったスコープがデフォルトになり、それをオフにする方法はありま"
"せんが、ユーザは 2.1 の全ライフタイムを通して、導入の結果起きるあらゆる破損を"
"修正し続けるでしょう。"
#: ../../whatsnew/2.1.rst:123
msgid ":pep:`227` - Statically Nested Scopes"
msgstr ":pep:`227` - 静的に入れ子になったスコープ"
#: ../../whatsnew/2.1.rst:124
msgid "Written and implemented by Jeremy Hylton."
msgstr "Jeremy Hylton著、実装"
#: ../../whatsnew/2.1.rst:130
msgid "PEP 236: __future__ Directives"
msgstr "PEP 236: __future__ 指示文"
#: ../../whatsnew/2.1.rst:132
msgid ""
"The reaction to nested scopes was widespread concern about the dangers of "
"breaking code with the 2.1 release, and it was strong enough to make the "
"Pythoneers take a more conservative approach. This approach consists of "
"introducing a convention for enabling optional functionality in release N "
"that will become compulsory in release N+1."
msgstr ""
"ネストされたスコープへのこの対応は、リリース 2.1 ではコードを壊すことの危険性"
"について広く懸念されており、 Pythoneer 達に保守的なアプローチを選ばせるには"
"十分でした。このアプローチは、必須とするリリース N+1 に対する、 リリース N で"
"のオプション機能として有効化という序奏、というものです。"
#: ../../whatsnew/2.1.rst:138
msgid ""
"The syntax uses a ``from...import`` statement using the reserved module "
"name :mod:`__future__`. Nested scopes can be enabled by the following "
"statement::"
msgstr ""
"この構文は :mod:`__future__` という名の予約モジュールを使う ``from..."
"import`` ステートメントを使用します。ネストしたスコープは以下のステートメント"
"で有効にできます。"
#: ../../whatsnew/2.1.rst:141
msgid "from __future__ import nested_scopes"
msgstr ""
#: ../../whatsnew/2.1.rst:143
msgid ""
"While it looks like a normal :keyword:`import` statement, it's not; there "
"are strict rules on where such a future statement can be put. They can only "
"be at the top of a module, and must precede any Python code or regular :"
"keyword:`!import` statements. This is because such statements can affect "
"how the Python bytecode compiler parses code and generates bytecode, so they "
"must precede any statement that will result in bytecodes being produced."
msgstr ""
"普通 の :keyword:`import` ステートメントに見えますが、実は違います; このよう"
"な未来のステートメントが置かれる場所には厳格なルールがあります。これらはモ"
"ジュールの冒頭にしか置けませんし、必ず何らかのPythonコードや正規の :keyword:"
"`!import` ステートメントの前になければなりません。それと言うのもこのようなス"
"テートメントは、Pythonのバイトコードコンパイラがコードを解析し、バイトコード"
"を生成する方法に影響しますので、生成されるバイトコードとなるステートメントの"
"前になくてはならないのです。"
#: ../../whatsnew/2.1.rst:153
msgid ":pep:`236` - Back to the :mod:`__future__`"
msgstr ":pep:`236` - バック・トゥ・ザ・ :mod:`__future__` "
#: ../../whatsnew/2.1.rst:154
msgid "Written by Tim Peters, and primarily implemented by Jeremy Hylton."
msgstr "Tim Peter著、Jeremy Hylton主実装"
#: ../../whatsnew/2.1.rst:160
msgid "PEP 207: Rich Comparisons"
msgstr "PEP 207: 拡張比較"
#: ../../whatsnew/2.1.rst:162
msgid ""
"In earlier versions, Python's support for implementing comparisons on user-"
"defined classes and extension types was quite simple. Classes could "
"implement a :meth:`!__cmp__` method that was given two instances of a class, "
"and could only return 0 if they were equal or +1 or -1 if they weren't; the "
"method couldn't raise an exception or return anything other than a Boolean "
"value. Users of Numeric Python often found this model too weak and "
"restrictive, because in the number-crunching programs that numeric Python is "
"used for, it would be more useful to be able to perform elementwise "
"comparisons of two matrices, returning a matrix containing the results of a "
"given comparison for each element. If the two matrices are of different "
"sizes, then the compare has to be able to raise an exception to signal the "
"error."
msgstr ""
#: ../../whatsnew/2.1.rst:174
msgid ""
"In Python 2.1, rich comparisons were added in order to support this need. "
"Python classes can now individually overload each of the ``<``, ``<=``, "
"``>``, ``>=``, ``==``, and ``!=`` operations. The new magic method names "
"are:"
msgstr ""
"Python2.1で、このニーズを満たすために拡張比較が追加されました。Pythonのクラス"
"は、``<``、``<=``、``>``、``>=``、``==``、``!=`` の各演算を個別にオーバーロー"
"ドできます。この新しい特殊メソッドの名前は:"
#: ../../whatsnew/2.1.rst:179
msgid "Operation"
msgstr "演算"
#: ../../whatsnew/2.1.rst:179
msgid "Method name"
msgstr "メソッド名"
#: ../../whatsnew/2.1.rst:181
msgid "``<``"
msgstr "``<``"
#: ../../whatsnew/2.1.rst:181
msgid ":meth:`~object.__lt__`"
msgstr ""
#: ../../whatsnew/2.1.rst:183
msgid "``<=``"
msgstr "``<=``"
#: ../../whatsnew/2.1.rst:183
msgid ":meth:`~object.__le__`"
msgstr ""
#: ../../whatsnew/2.1.rst:185
msgid "``>``"
msgstr "``>``"
#: ../../whatsnew/2.1.rst:185
msgid ":meth:`~object.__gt__`"
msgstr ""
#: ../../whatsnew/2.1.rst:187
msgid "``>=``"
msgstr "``>=``"
#: ../../whatsnew/2.1.rst:187
msgid ":meth:`~object.__ge__`"
msgstr ""
#: ../../whatsnew/2.1.rst:189
msgid "``==``"
msgstr "``==``"
#: ../../whatsnew/2.1.rst:189
msgid ":meth:`~object.__eq__`"
msgstr ""
#: ../../whatsnew/2.1.rst:191
msgid "``!=``"
msgstr "``!=``"
#: ../../whatsnew/2.1.rst:191
msgid ":meth:`~object.__ne__`"
msgstr ""
#: ../../whatsnew/2.1.rst:194
msgid ""
"(The magic methods are named after the corresponding Fortran operators ``.LT."
"``. ``.LE.``, &c. Numeric programmers are almost certainly quite familiar "
"with these names and will find them easy to remember.)"
msgstr ""
"(特殊メソッドはFortranの ``.LT.`` や ``.LE.`` 等々の演算子にちなんで命名され"
"ています。プログラマはほぼ確実にこれらの名前を熟知していますので、覚えやすい"
"でしょう。)"
#: ../../whatsnew/2.1.rst:198
msgid ""
"Each of these magic methods is of the form ``method(self, other)``, where "
"``self`` will be the object on the left-hand side of the operator, while "
"``other`` will be the object on the right-hand side. For example, the "
"expression ``A < B`` will cause ``A.__lt__(B)`` to be called."
msgstr ""
"これらの特殊メソッドは ``method(self, other)`` の形式になっており、``self`` "
"が演算子の左辺、``other`` が右辺のオブジェクトになります。例えば、式 ``A < "
"B`` は ``A.__lt__(B)`` を呼び出します。"
#: ../../whatsnew/2.1.rst:203
msgid ""
"Each of these magic methods can return anything at all: a Boolean, a matrix, "
"a list, or any other Python object. Alternatively they can raise an "
"exception if the comparison is impossible, inconsistent, or otherwise "
"meaningless."
msgstr ""
"これらの特殊メソッドは何でも、つまり真偽値や行列、リストや他のPython オブジェ"
"クトを返せます。もし比較が不可能であったり、矛盾していたり、意味がない場合"
"は、代わりに例外を上げることができます。"
#: ../../whatsnew/2.1.rst:207
msgid ""
"The built-in ``cmp(A,B)`` function can use the rich comparison machinery, "
"and now accepts an optional argument specifying which comparison operation "
"to use; this is given as one of the strings ``\"<\"``, ``\"<=\"``, "
"``\">\"``, ``\">=\"``, ``\"==\"``, or ``\"!=\"``. If called without the "
"optional third argument, :func:`!cmp` will only return -1, 0, or +1 as in "
"previous versions of Python; otherwise it will call the appropriate method "
"and can return any Python object."
msgstr ""
#: ../../whatsnew/2.1.rst:214
msgid ""
"There are also corresponding changes of interest to C programmers; there's a "
"new slot ``tp_richcmp`` in type objects and an API for performing a given "
"rich comparison. I won't cover the C API here, but will refer you to :pep:"
"`207`, or to 2.1's C API documentation, for the full list of related "
"functions."
msgstr ""
"C プログラマにとって興味深い関連する変更があります。型オブジェクトに新しい "
"``tp_richcmp`` スロットと、この拡張された比較を行うAPIが追加されました。ここ"
"ではC APIについて言及しませんが、あながた関連する関数のリストを見たければ、 :"
"pep:`207` かバージョン2.1のC APIドキュメントを参照してください。"
#: ../../whatsnew/2.1.rst:222
msgid ":pep:`207` - Rich Comparisons"
msgstr ":pep:`207`: 拡張比較"
#: ../../whatsnew/2.1.rst:223
msgid ""
"Written by Guido van Rossum, heavily based on earlier work by David Ascher, "
"and implemented by Guido van Rossum."
msgstr ""
"David Ascher によるかつての仕事に大きく拠りますが Guido van Rossum によって"
"著され、実装されました。"
#: ../../whatsnew/2.1.rst:230
msgid "PEP 230: Warning Framework"
msgstr "PEP 230: 警告フレームワーク"
#: ../../whatsnew/2.1.rst:232
msgid ""
"Over its 10 years of existence, Python has accumulated a certain number of "
"obsolete modules and features along the way. It's difficult to know when a "
"feature is safe to remove, since there's no way of knowing how much code "
"uses it --- perhaps no programs depend on the feature, or perhaps many do. "
"To enable removing old features in a more structured way, a warning "
"framework was added. When the Python developers want to get rid of a "
"feature, it will first trigger a warning in the next version of Python. The "
"following Python version can then drop the feature, and users will have had "
"a full release cycle to remove uses of the old feature."
msgstr ""
"10 年の間に、Python は途中で廃止されたモジュールと機能の特定の番号を蓄積して"
"きました。どれだけのコードが活用されているか知る術はないので、機能を削除して"
"問題ないか把握することは困難です。その機能に依存するプログラムは一つもないか"
"もしれませんし、たくさんあるかもしれません。より構造化された方法で古い機能を"
"削除できるようにするために、警告のフレームワークが追加されました。Python の開"
"発者がある機能を取り除きたいときは、まずは Python の次のバージョンで警告を引"
"き起こします。続く Python バージョンで開発者はその機能を削除出来、ユーザは古"
"い機能の使用を取り除くために Python リリースサイクル一つ丸々使えます。"
#: ../../whatsnew/2.1.rst:242
msgid ""
"Python 2.1 adds the warning framework to be used in this scheme. It adds a :"
"mod:`warnings` module that provide functions to issue warnings, and to "
"filter out warnings that you don't want to be displayed. Third-party modules "
"can also use this framework to deprecate old features that they no longer "
"wish to support."
msgstr ""
"Python 2.1 はこのスキームで使われる警告フレームワークを追加します。また、警告"
"の表示機能や表示させたくない警告を除外する機能を提供する、 :mod:`warnings` モ"
"ジュールを追加します。サードパーティーのモジュールはまた、彼らがサポート対象"
"外にしたい古い機能を非推奨と知らしめるのにこのフレームワークを利用できます。"
#: ../../whatsnew/2.1.rst:248
msgid ""
"For example, in Python 2.1 the :mod:`!regex` module is deprecated, so "
"importing it causes a warning to be printed::"
msgstr ""
#: ../../whatsnew/2.1.rst:251
msgid ""
">>> import regex\n"
"__main__:1: DeprecationWarning: the regex module\n"
" is deprecated; please use the re module\n"
">>>"
msgstr ""
#: ../../whatsnew/2.1.rst:256
msgid "Warnings can be issued by calling the :func:`warnings.warn` function::"
msgstr "警告は :func:`warnings.warn` 関数を呼び出すことで発行できます::"
#: ../../whatsnew/2.1.rst:258
msgid "warnings.warn(\"feature X no longer supported\")"
msgstr ""
#: ../../whatsnew/2.1.rst:260
msgid ""
"The first parameter is the warning message; an additional optional "
"parameters can be used to specify a particular warning category."
msgstr ""
"最初のパラメータは警告メッセージです。任意追加のパラメータは、特定の警告カテ"
"ゴリを指定するために利用することができます。"
#: ../../whatsnew/2.1.rst:263
msgid ""
"Filters can be added to disable certain warnings; a regular expression "
"pattern can be applied to the message or to the module name in order to "
"suppress a warning. For example, you may have a program that uses the :mod:"
"`!regex` module and not want to spare the time to convert it to use the :mod:"
"`re` module right now. The warning can be suppressed by calling ::"
msgstr ""
#: ../../whatsnew/2.1.rst:269
msgid ""
"import warnings\n"
"warnings.filterwarnings(action = 'ignore',\n"
" message='.*regex module is deprecated',\n"
" category=DeprecationWarning,\n"
" module = '__main__')"
msgstr ""
#: ../../whatsnew/2.1.rst:275
msgid ""
"This adds a filter that will apply only to warnings of the class :class:"
"`DeprecationWarning` triggered in the :mod:`__main__` module, and applies a "
"regular expression to only match the message about the :mod:`!regex` module "
"being deprecated, and will cause such warnings to be ignored. Warnings can "
"also be printed only once, printed every time the offending code is "
"executed, or turned into exceptions that will cause the program to stop "
"(unless the exceptions are caught in the usual way, of course)."
msgstr ""
#: ../../whatsnew/2.1.rst:283
msgid ""
"Functions were also added to Python's C API for issuing warnings; refer to "
"PEP 230 or to Python's API documentation for the details."
msgstr ""
"関数は、警告を発行するための Python の C API にも追加されました。詳細について"
"は PEP 230 または Python の API ドキュメントを参照してください。"
#: ../../whatsnew/2.1.rst:289
msgid ":pep:`5` - Guidelines for Language Evolution"
msgstr ":pep:`5` - 言語の進化のためのガイドライン"
#: ../../whatsnew/2.1.rst:290
msgid ""
"Written by Paul Prescod, to specify procedures to be followed when removing "
"old features from Python. The policy described in this PEP hasn't been "
"officially adopted, but the eventual policy probably won't be too different "
"from Prescod's proposal."
msgstr ""
"Python から古い機能を削除する時に従うべき手順を示すため、 Paul Prescod により"
"書かれました。当 PEP に記載された方針は正式に採用されていませんが、最終的な方"
"針も Prescod の提案とおそらくさほど違いはないでしょう。"
#: ../../whatsnew/2.1.rst:295
msgid ":pep:`230` - Warning Framework"
msgstr ":pep:`230` - 警告フレームワーク"
#: ../../whatsnew/2.1.rst:296
msgid "Written and implemented by Guido van Rossum."
msgstr "Guido van Rossum 著、実装"
#: ../../whatsnew/2.1.rst:302
msgid "PEP 229: New Build System"
msgstr "PEP 229: 新しいビルドシステム"
#: ../../whatsnew/2.1.rst:304
msgid ""
"When compiling Python, the user had to go in and edit the :file:`Modules/"
"Setup` file in order to enable various additional modules; the default set "
"is relatively small and limited to modules that compile on most Unix "
"platforms. This means that on Unix platforms with many more features, most "
"notably Linux, Python installations often don't contain all useful modules "
"they could."
msgstr ""
"Python のコンパイル時、ユーザはソースツリーの中に入って、様々な追加モジュール"
"を有効にするために :file:`Modules/Setup` ファイルを編集しなければなりませんで"
"した; デフォルトのセットは比較的小さくて、ほとんどの Unix プラットフォーム"
"で、コンパイルするモジュールを制限しています。これは、特に Linux に顕著です"
"が、たくさんの追加機能を持った Unix プラットフォームでは、Python インストレー"
"ションはしばしば、そう出来るのに有用なモジュールを全く含まない、といったこと"
"が起こることを意味しています。"
#: ../../whatsnew/2.1.rst:310
msgid ""
"Python 2.0 added the Distutils, a set of modules for distributing and "
"installing extensions. In Python 2.1, the Distutils are used to compile "
"much of the standard library of extension modules, autodetecting which ones "
"are supported on the current machine. It's hoped that this will make Python "
"installations easier and more featureful."
msgstr ""
"Python 2.0 は、配布と拡張のインストールをするためのモジュールのセットである "
"Distutils を追加しました。Python 2.1 では Distutils を、たくさんの拡張モ"
"ジュールの標準ライブラリを、サポートする機器かどうかを自動検出してコンパイル"
"するのに使っています。これが Python インストレーションをより簡単に、より機能"
"的とするものであることが期待されています。"
#: ../../whatsnew/2.1.rst:316
msgid ""
"Instead of having to edit the :file:`Modules/Setup` file in order to enable "
"modules, a :file:`setup.py` script in the top directory of the Python source "
"distribution is run at build time, and attempts to discover which modules "
"can be enabled by examining the modules and header files on the system. If "
"a module is configured in :file:`Modules/Setup`, the :file:`setup.py` script "
"won't attempt to compile that module and will defer to the :file:`Modules/"
"Setup` file's contents. This provides a way to specific any strange command-"
"line flags or libraries that are required for a specific platform."
msgstr ""
"モジュールを有効化するために :file:`Modules/Setup` を編集する必要性の代わり"
"に、Python ソースツリーのトップレベルディレクトリにある :file:`setup.py` スク"
"リプトがビルド時に実行され、システムのモジュールとヘッダファイルを調べること"
"によって、どのモジュールが有効に出来るのかを検出しようと試みます。モジュール"
"が :file:`Modules/Setup` 内でそう構成されていれば、 :file:`setup.py` スクリプ"
"トはそのモジュールをコンパイルしようとはせずに :file:`Modules/Setup` ファイル"
"内容に従います。これは特定のプラットフォームで必要となるヘンチクリンなコマン"
"ドラインフラグやライブラリフラグを特定する手段も与えてくれます。"
#: ../../whatsnew/2.1.rst:325
msgid ""
"In another far-reaching change to the build mechanism, Neil Schemenauer "
"restructured things so Python now uses a single makefile that isn't "
"recursive, instead of makefiles in the top directory and in each of the :"
"file:`Python/`, :file:`Parser/`, :file:`Objects/`, and :file:`Modules/` "
"subdirectories. This makes building Python faster and also makes hacking "
"the Makefiles clearer and simpler."
msgstr ""
"もう一つの大きなビルド機構の変更点は Neil Schemenauer による再構成で、今や "
"Python は、トップディレクトリと :file:`Python/`, :file:`Parser/`, :file:"
"`Objects/`, :file:`Modules/` サブディレクトリにあった別々の Makefile が再帰的"
"にビルドする代わりに、再帰をしないトップレベルの単一 makefile を使うように"
"なっています。このことで Python のビルドは速くなり、 Makefile をもてあそぶの"
"が単純明快になっています。"
#: ../../whatsnew/2.1.rst:335
msgid ":pep:`229` - Using Distutils to Build Python"
msgstr ":pep:`229` - Distutils を使った Python のビルド"
#: ../../whatsnew/2.1.rst:336 ../../whatsnew/2.1.rst:575
msgid "Written and implemented by A.M. Kuchling."
msgstr "A.M. Kuchling 著、実装"
#: ../../whatsnew/2.1.rst:342
msgid "PEP 205: Weak References"
msgstr "PEP 205: 弱参照"
#: ../../whatsnew/2.1.rst:344
msgid ""
"Weak references, available through the :mod:`weakref` module, are a minor "
"but useful new data type in the Python programmer's toolbox."
msgstr ""
":mod:`weakref` モジュールを通して利用出来る弱参照(weak references)は、ささや"
"かですが有用な、Python プログラマの道具箱に新たに加わったデータ型です。"
#: ../../whatsnew/2.1.rst:347
msgid ""
"Storing a reference to an object (say, in a dictionary or a list) has the "
"side effect of keeping that object alive forever. There are a few specific "
"cases where this behaviour is undesirable, object caches being the most "
"common one, and another being circular references in data structures such as "
"trees."
msgstr ""
"オブジェクトへの参照(辞書内やリスト内を思い浮かべてください)を記憶しておくと"
"いうことは、オブジェクトを生き永らえさせるという副作用を持っています。少しば"
"かりの、この振る舞いが望ましくない特殊なケースがあります。オブジェクトの"
"キャッシュがその最もありがちな一つで、もう一つはツリーのようなデータ構造での"
"循環参照です。"
#: ../../whatsnew/2.1.rst:352
msgid ""
"For example, consider a memoizing function that caches the results of "
"another function ``f(x)`` by storing the function's argument and its result "
"in a dictionary::"
msgstr ""
"例えば、他の関数 ``f(x)`` の結果を、その関数の引数と結果を辞書に格納すること"
"でキャッシュするメモライジング関数を考えてみましょう。"
#: ../../whatsnew/2.1.rst:356
msgid ""
"_cache = {}\n"
"def memoize(x):\n"
" if _cache.has_key(x):\n"
" return _cache[x]\n"
"\n"
" retval = f(x)\n"
"\n"
" # Cache the returned object\n"
" _cache[x] = retval\n"
"\n"
" return retval"
msgstr ""
#: ../../whatsnew/2.1.rst:368
msgid ""
"This version works for simple things such as integers, but it has a side "
"effect; the ``_cache`` dictionary holds a reference to the return values, so "
"they'll never be deallocated until the Python process exits and cleans up. "
"This isn't very noticeable for integers, but if :func:`!f` returns an "
"object, or a data structure that takes up a lot of memory, this can be a "
"problem."
msgstr ""
#: ../../whatsnew/2.1.rst:374
msgid ""
"Weak references provide a way to implement a cache that won't keep objects "
"alive beyond their time. If an object is only accessible through weak "
"references, the object will be deallocated and the weak references will now "
"indicate that the object it referred to no longer exists. A weak reference "
"to an object *obj* is created by calling ``wr = weakref.ref(obj)``. The "
"object being referred to is returned by calling the weak reference as if it "
"were a function: ``wr()``. It will return the referenced object, or "
"``None`` if the object no longer exists."
msgstr ""
"弱参照は、オブジェクトをその時間を超えて生き永らえさせたくないキャッシュの実"
"装のための手段を提供します。オブジェクトがアクセス出来るのが弱参照からのみで"
"ある場合、そのオブジェクトは解放されて、その弱参照は参照しているそのオブジェ"
"クトがもはや存在しないことを表明します。オブジェクト *obj* への弱参照を作るに"
"は、 ``wr = weakref.ref(obj)`` とします。参照されているオブジェクトは、それが"
"あたかも関数であったかのように弱参照を「コール」することで得ます: ``wr()`` 。"
"それは参照されたオブジェクトを返すか、もう存在していないのであれば ``None`` "
"を返します。"
#: ../../whatsnew/2.1.rst:382
msgid ""
"This makes it possible to write a :func:`!memoize` function whose cache "
"doesn't keep objects alive, by storing weak references in the cache. ::"
msgstr ""
#: ../../whatsnew/2.1.rst:385
msgid ""
"_cache = {}\n"
"def memoize(x):\n"
" if _cache.has_key(x):\n"
" obj = _cache[x]()\n"
" # If weak reference object still exists,\n"
" # return it\n"
" if obj is not None: return obj\n"
"\n"
" retval = f(x)\n"
"\n"
" # Cache a weak reference\n"
" _cache[x] = weakref.ref(retval)\n"
"\n"
" return retval"
msgstr ""
#: ../../whatsnew/2.1.rst:400
msgid ""
"The :mod:`weakref` module also allows creating proxy objects which behave "
"like weak references --- an object referenced only by proxy objects is "
"deallocated -- but instead of requiring an explicit call to retrieve the "
"object, the proxy transparently forwards all operations to the object as "
"long as the object still exists. If the object is deallocated, attempting "
"to use a proxy will cause a :exc:`!weakref.ReferenceError` exception to be "
"raised. ::"
msgstr ""
#: ../../whatsnew/2.1.rst:407
msgid ""
"proxy = weakref.proxy(obj)\n"
"proxy.attr # Equivalent to obj.attr\n"
"proxy.meth() # Equivalent to obj.meth()\n"
"del obj\n"
"proxy.attr # raises weakref.ReferenceError"
msgstr ""
#: ../../whatsnew/2.1.rst:416
msgid ":pep:`205` - Weak References"
msgstr ":pep:`205` - 弱参照"
#: ../../whatsnew/2.1.rst:417
msgid "Written and implemented by Fred L. Drake, Jr."
msgstr "Fred L. Drake, Jr. 著、実装"
#: ../../whatsnew/2.1.rst:423
msgid "PEP 232: Function Attributes"
msgstr "PEP 232: 関数の属性"
#: ../../whatsnew/2.1.rst:425
msgid ""
"In Python 2.1, functions can now have arbitrary information attached to "
"them. People were often using docstrings to hold information about functions "
"and methods, because the :attr:`~function.__doc__` attribute was the only "
"way of attaching any information to a function. For example, in the Zope "
"web application server, functions are marked as safe for public access by "
"having a docstring, and in John Aycock's SPARK parsing framework, docstrings "
"hold parts of the BNF grammar to be parsed. This overloading is "
"unfortunate, since docstrings are really intended to hold a function's "
"documentation; for example, it means you can't properly document functions "
"intended for private use in Zope."
msgstr ""
#: ../../whatsnew/2.1.rst:436
msgid ""
"Arbitrary attributes can now be set and retrieved on functions using the "
"regular Python syntax::"
msgstr ""
"ついに関数に、任意の属性をセットし、取り出すことが出来るようになりました。普"
"通の Python 構文で出来ます::"
#: ../../whatsnew/2.1.rst:439
msgid ""
"def f(): pass\n"
"\n"
"f.publish = 1\n"
"f.secure = 1\n"
"f.grammar = \"A ::= B (C D)*\""
msgstr ""
#: ../../whatsnew/2.1.rst:445
msgid ""
"The dictionary containing attributes can be accessed as the function's :attr:"
"`~function.__dict__`. Unlike the :attr:`~type.__dict__` attribute of class "
"instances, in functions you can actually assign a new dictionary to :attr:"
"`~function.__dict__`, though the new value is restricted to a regular Python "
"dictionary; you *can't* be tricky and set it to a :class:`!UserDict` "
"instance, or any other random object that behaves like a mapping."
msgstr ""
#: ../../whatsnew/2.1.rst:455
msgid ":pep:`232` - Function Attributes"
msgstr ":pep:`232` - 関数の属性"
#: ../../whatsnew/2.1.rst:456
msgid "Written and implemented by Barry Warsaw."
msgstr "Barry Warsaw 著、実装"
#: ../../whatsnew/2.1.rst:462
msgid "PEP 235: Importing Modules on Case-Insensitive Platforms"
msgstr ""
"PEP 235: 大文字小文字を区別しないプラットフォームでのモジュールの読み込み"
#: ../../whatsnew/2.1.rst:464
msgid ""
"Some operating systems have filesystems that are case-insensitive, MacOS and "
"Windows being the primary examples; on these systems, it's impossible to "
"distinguish the filenames ``FILE.PY`` and ``file.py``, even though they do "
"store the file's name in its original case (they're case-preserving, too)."
msgstr ""
"いくつかのオペレーティングシステムは、大小文字区別に無関心なファイルシステム"
"を持っています。MacOS と Windows がその代表例です。それらシステムにおいては"
"ファイル名 ``FILE.PY`` と ``file.py`` の区別が出来ません。たとえそれが元の"
"ファイル名を尊重して格納出来たとしてもです(それらは大小文字維持、でもありま"
"す)。"
#: ../../whatsnew/2.1.rst:469
msgid ""
"In Python 2.1, the :keyword:`import` statement will work to simulate case-"
"sensitivity on case-insensitive platforms. Python will now search for the "
"first case-sensitive match by default, raising an :exc:`ImportError` if no "
"such file is found, so ``import file`` will not import a module named ``FILE."
"PY``. Case-insensitive matching can be requested by setting the :envvar:"
"`PYTHONCASEOK` environment variable before starting the Python interpreter."
msgstr ""
"Python 2.1 では :keyword:`import` 文が、case-insensitive (大小文字に無関心)な"
"プラットフォームで case-sensitivity (大小文字への繊細さ)をシミュレートして動"
"作します。Python は今や、まずはデフォルトで case-sensitive なマッチによる検索"
"をし、それで見つからなければ :exc:`ImportError` を投げます。ですから "
"``import file`` は ``FILE.PY`` をインポートしません。case-insensitive マッチ"
"ングは Python インタプリタ開始前に環境変数 :envvar:`PYTHONCASEOK` をセットす"
"ることで要求出来ます。"
#: ../../whatsnew/2.1.rst:480
msgid "PEP 217: Interactive Display Hook"
msgstr "PEP 217: 対話モード用 Display Hook"
#: ../../whatsnew/2.1.rst:482
msgid ""
"When using the Python interpreter interactively, the output of commands is "
"displayed using the built-in :func:`repr` function. In Python 2.1, the "
"variable :func:`sys.displayhook` can be set to a callable object which will "
"be called instead of :func:`repr`. For example, you can set it to a special "
"pretty-printing function::"
msgstr ""
"Python インタプリタを対話的に使う際には、コマンドの出力結果表示にはビルトイン"
"の :func:`repr` 関数が使われます。Python 2.1 ではこの :func:`repr` の代わりに"
"呼び出される呼び出し可能オブジェクトを、 :func:`sys.displayhook` 変数にセット"
"出来ます。たとえば特別な pretty- printing 関数をセット出来ます::"
#: ../../whatsnew/2.1.rst:488
msgid ""
">>> # Create a recursive data structure\n"
"... L = [1,2,3]\n"
">>> L.append(L)\n"
">>> L # Show Python's default output\n"
"[1, 2, 3, [...]]\n"
">>> # Use pprint.pprint() as the display function\n"
"... import sys, pprint\n"
">>> sys.displayhook = pprint.pprint\n"
">>> L\n"
"[1, 2, 3, <Recursion on list with id=135143996>]\n"
">>>"
msgstr ""
#: ../../whatsnew/2.1.rst:503
msgid ":pep:`217` - Display Hook for Interactive Use"
msgstr ":pep:`217` - Display Hook の対話的な使用"
#: ../../whatsnew/2.1.rst:504
msgid "Written and implemented by Moshe Zadka."
msgstr "Moshe Zadka 著、実装"
#: ../../whatsnew/2.1.rst:510
msgid "PEP 208: New Coercion Model"
msgstr "PEP 208: 新しい型強制モデル"
#: ../../whatsnew/2.1.rst:512
msgid ""
"How numeric coercion is done at the C level was significantly modified. "
"This will only affect the authors of C extensions to Python, allowing them "
"more flexibility in writing extension types that support numeric operations."
msgstr ""
"数値強制が C レベルでどのようになされるかについての修正は、とても大きなもので"
"した。これは Python の C 拡張の著者にのみ影響し、数値操作をサポートする拡張型"
"を書くのをより柔軟にするものです。"
#: ../../whatsnew/2.1.rst:516
msgid ""
"Extension types can now set the type flag ``Py_TPFLAGS_CHECKTYPES`` in their "
"``PyTypeObject`` structure to indicate that they support the new coercion "
"model. In such extension types, the numeric slot functions can no longer "
"assume that they'll be passed two arguments of the same type; instead they "
"may be passed two arguments of differing types, and can then perform their "
"own internal coercion. If the slot function is passed a type it can't "
"handle, it can indicate the failure by returning a reference to the "
"``Py_NotImplemented`` singleton value. The numeric functions of the other "
"type will then be tried, and perhaps they can handle the operation; if the "
"other type also returns ``Py_NotImplemented``, then a :exc:`TypeError` will "
"be raised. Numeric methods written in Python can also return "
"``Py_NotImplemented``, causing the interpreter to act as if the method did "
"not exist (perhaps raising a :exc:`TypeError`, perhaps trying another "
"object's numeric methods)."
msgstr ""
"拡張型はその ``PyTypeObject`` 構造体に、新しい型強制モデルをサポートすること"
"を示すために ``Py_TPFLAGS_CHECKTYPES`` フラグをセット出来るようになりました。"
"そのような拡張型内では、数値的スロット関数は 2 つの引数が同じ型であることを仮"
"定しなくなります。代わりに、2 つの引数が異なる型を渡せて、内部的に型変換を実"
"行出来ます。スロット関数にそれが処理出来ない型が渡された場合は、それが失敗で"
"あることを表すために ``Py_NotImplemented`` シングルトン値への参照を返せます。"
"この場合他の数値関数が試されて、おそらく操作を実行出来ます。それでも "
"``Py_NotImplemented`` を返すなら :exc:`TypeError` が送出されます。Python で書"
"かれた数値メソッドも ``Py_NotImplemented`` を返せます。この場合インタプリタは"
"メソッドが存在しないものとして振舞います。 (おそらく :exc:`TypeError` が投げ"
"られたり、オブジェクトのほかの数値メソッドが試されます。)"
#: ../../whatsnew/2.1.rst:533
msgid ":pep:`208` - Reworking the Coercion Model"
msgstr ":pep:`208` - 型強制モデルの手直し"
#: ../../whatsnew/2.1.rst:534
msgid ""
"Written and implemented by Neil Schemenauer, heavily based upon earlier work "
"by Marc-André Lemburg. Read this to understand the fine points of how "
"numeric operations will now be processed at the C level."
msgstr ""
"Neil Schemenauer により著され、実装されましたが、大変多くを Marc-André "
"Lemburg による以前の仕事に拠っています。C レベルで今では数値操作がどのように"
"処理されるようになったかの細かい点を理解したければ、これを読んで下さい。"
#: ../../whatsnew/2.1.rst:542
msgid "PEP 241: Metadata in Python Packages"
msgstr "PEP 241: Pythonソフトウェアパッケージのためのメタデータ"
#: ../../whatsnew/2.1.rst:544
msgid ""
"A common complaint from Python users is that there's no single catalog of "
"all the Python modules in existence. T. Middleton's Vaults of Parnassus at "
"``www.vex.net/parnassus/`` (retired in February 2009, `available in the "
"Internet Archive Wayback Machine <https://web.archive.org/web/20090130140102/"
"http://www.vex.net/parnassus/>`_) was the largest catalog of Python modules, "
"but registering software at the Vaults is optional, and many people did not "
"bother."
msgstr ""