# SOME DESCRIPTIVE TITLE. # Copyright (C) 2001-2023, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: # tomo, 2021 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-02-03 14:14+0000\n" "PO-Revision-Date: 2021-06-28 01:50+0000\n" "Last-Translator: tomo, 2021\n" "Language-Team: Japanese (https://www.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" #: ../../tutorial/stdlib2.rst:5 msgid "Brief Tour of the Standard Library --- Part II" msgstr "標準ライブラリミニツアー --- その 2" #: ../../tutorial/stdlib2.rst:7 msgid "" "This second tour covers more advanced modules that support professional " "programming needs. These modules rarely occur in small scripts." msgstr "" "ツアーの第2部では、プロフェッショナルプログラミングを支えるもっと高度なモ" "ジュールをカバーします。ここで挙げるモジュールは、小さなスクリプトの開発では" "ほとんど使いません。" #: ../../tutorial/stdlib2.rst:14 msgid "Output Formatting" msgstr "出力のフォーマット" #: ../../tutorial/stdlib2.rst:16 msgid "" "The :mod:`reprlib` module provides a version of :func:`repr` customized for " "abbreviated displays of large or deeply nested containers::" msgstr "" ":mod:`reprlib` モジュールは、大きなコンテナや、深くネストしたコンテナを省略し" "て表示するバージョンの :func:`repr` を提供しています::" #: ../../tutorial/stdlib2.rst:23 msgid "" "The :mod:`pprint` module offers more sophisticated control over printing " "both built-in and user defined objects in a way that is readable by the " "interpreter. When the result is longer than one line, the \"pretty printer\" " "adds line breaks and indentation to more clearly reveal data structure::" msgstr "" ":mod:`pprint` モジュールは、組み込み型やユーザ定義型をわかりやすく表示するた" "めの洗練された制御手段を提供しています。表示結果が複数行にわたる場合は、 " "\"pretty printer\" と呼ばれるものが改行やインデントを追加して、データ構造がよ" "り明確になるように印字します::" #: ../../tutorial/stdlib2.rst:39 msgid "" "The :mod:`textwrap` module formats paragraphs of text to fit a given screen " "width::" msgstr "" ":mod:`textwrap` モジュールは、段落で構成された文章を、指定したスクリーン幅に" "ぴったり収まるように調整します::" #: ../../tutorial/stdlib2.rst:53 msgid "" "The :mod:`locale` module accesses a database of culture specific data " "formats. The grouping attribute of locale's format function provides a " "direct way of formatting numbers with group separators::" msgstr "" ":mod:`locale` モジュールは、文化により異なるデータ表現形式のデータベースにア" "クセスします。 :mod:`locale` の :func:`format` 関数の grouping 属性を使えば、" "数値を適切な桁区切り文字によりグループ化された形式に変換できます::" #: ../../tutorial/stdlib2.rst:72 msgid "Templating" msgstr "文字列テンプレート" #: ../../tutorial/stdlib2.rst:74 msgid "" "The :mod:`string` module includes a versatile :class:`~string.Template` " "class with a simplified syntax suitable for editing by end-users. This " "allows users to customize their applications without having to alter the " "application." msgstr "" ":mod:`string` モジュールには、柔軟で、エンドユーザが簡単に編集できる簡単な構" "文を備えた :class:`~string.Template` クラスが入っています。このクラスを使う" "と、ユーザがアプリケーションを修正することなしにアプリケーションの出力をカス" "タマイズできるようになります。" #: ../../tutorial/stdlib2.rst:78 msgid "" "The format uses placeholder names formed by ``$`` with valid Python " "identifiers (alphanumeric characters and underscores). Surrounding the " "placeholder with braces allows it to be followed by more alphanumeric " "letters with no intervening spaces. Writing ``$$`` creates a single escaped " "``$``::" msgstr "" "テンプレートでは、``$`` と有効な Python 識別子名 (英数字とアンダースコア) か" "らなるプレースホルダ名を使います。プレースホルダの周りを {} で囲えば、プレー" "スホルダの後ろにスペースを挟まず、英数文字を続けることができます。``$$`` のよ" "うにすると、``$`` 自体をエスケープできます::" #: ../../tutorial/stdlib2.rst:88 msgid "" "The :meth:`~string.Template.substitute` method raises a :exc:`KeyError` when " "a placeholder is not supplied in a dictionary or a keyword argument. For " "mail-merge style applications, user supplied data may be incomplete and the :" "meth:`~string.Template.safe_substitute` method may be more appropriate --- " "it will leave placeholders unchanged if data is missing::" msgstr "" ":meth:`~string.Template.substitute` メソッドは、プレースホルダに相当する値が" "辞書やキーワード引数にない場合に :exc:`KeyError` を送出します。メールマージ機" "能のようなアプリケーションの場合、ユーザが入力するデータは不完全なことがある" "ので、欠落したデータがあるとプレースホルダをそのままにして出力する :meth:" "`~string.Template.safe_substitute` メソッドを使う方が適切かもしれません::" #: ../../tutorial/stdlib2.rst:103 msgid "" "Template subclasses can specify a custom delimiter. For example, a batch " "renaming utility for a photo browser may elect to use percent signs for " "placeholders such as the current date, image sequence number, or file " "format::" msgstr "" "区切り文字はデフォルトは ``$`` ですが、:class:`~string.Template` のサブクラス" "を派生すると変更することができます。例えば、画像ブラウザ用に一括で名前を変更" "するユーティリティを作っていたとして、現在の日付や画像のシーケンス番号、ファ" "イル形式といったプレースホルダにパーセント記号を使うことにしたら、次のように" "なります::" #: ../../tutorial/stdlib2.rst:126 msgid "" "Another application for templating is separating program logic from the " "details of multiple output formats. This makes it possible to substitute " "custom templates for XML files, plain text reports, and HTML web reports." msgstr "" "テンプレートのもう一つの用途は、複数ある出力フォーマットからのプログラムロ" "ジックの分離です。これにより、XMLファイル用、プレーンテキストのレポート用、" "HTMLのwebレポート用のテンプレートに、同じプログラムロジックから値を埋め込むこ" "とができます。" #: ../../tutorial/stdlib2.rst:134 msgid "Working with Binary Data Record Layouts" msgstr "バイナリデータレコードの操作" #: ../../tutorial/stdlib2.rst:136 msgid "" "The :mod:`struct` module provides :func:`~struct.pack` and :func:`~struct." "unpack` functions for working with variable length binary record formats. " "The following example shows how to loop through header information in a ZIP " "file without using the :mod:`zipfile` module. Pack codes ``\"H\"`` and " "``\"I\"`` represent two and four byte unsigned numbers respectively. The " "``\"<\"`` indicates that they are standard size and in little-endian byte " "order::" msgstr "" ":mod:`struct` モジュールでは、様々な長さのバイナリレコード形式を操作する :" "func:`~struct.pack` や :func:`~struct.unpack` といった関数を提供しています。 " "以下の例では、 :mod:`zipfile` モジュールを使わずに、ZIP ファイルのヘッダ情報" "を巡回する方法を示しています。``\"H\"`` と ``\"I\"`` というパック符号は、そ" "れぞれ2バイトと4バイトの符号無し 整数を表しています。 ``\"<\"`` は、そのパッ" "ク符号が standard サイズであり、バイトオーダーがリトルエンディアンであること" "を示しています::" #: ../../tutorial/stdlib2.rst:167 msgid "Multi-threading" msgstr "マルチスレッディング" #: ../../tutorial/stdlib2.rst:169 msgid "" "Threading is a technique for decoupling tasks which are not sequentially " "dependent. Threads can be used to improve the responsiveness of " "applications that accept user input while other tasks run in the " "background. A related use case is running I/O in parallel with computations " "in another thread." msgstr "" "スレッド処理 (threading) とは、順序的な依存関係にない複数のタスクを分割するテ" "クニックです。スレッドは、ユーザの入力を受け付けつつ、背後で別のタスクを動か" "すようなアプリケーションの応答性を高めます。同じような使用例として、I/O を別" "のスレッドの計算処理と並列して動作させるというものがあります。" #: ../../tutorial/stdlib2.rst:174 msgid "" "The following code shows how the high level :mod:`threading` module can run " "tasks in background while the main program continues to run::" msgstr "" "以下のコードでは、高水準のモジュール :mod:`threading` でメインのプログラムを" "動かしながら背後で別のタスクを動作させられるようにする方法を示しています::" #: ../../tutorial/stdlib2.rst:198 msgid "" "The principal challenge of multi-threaded applications is coordinating " "threads that share data or other resources. To that end, the threading " "module provides a number of synchronization primitives including locks, " "events, condition variables, and semaphores." msgstr "" "マルチスレッドアプリケーションを作る上で最も難しい問題は、データやリソースを" "共有するスレッド間の調整 (coordination)です。この問題を解決するため、:mod:" "`threading` モジュールではロックやイベント、状態変数、セマフォといった数々の" "同期プリミティブを提供しています。" #: ../../tutorial/stdlib2.rst:203 msgid "" "While those tools are powerful, minor design errors can result in problems " "that are difficult to reproduce. So, the preferred approach to task " "coordination is to concentrate all access to a resource in a single thread " "and then use the :mod:`queue` module to feed that thread with requests from " "other threads. Applications using :class:`~queue.Queue` objects for inter-" "thread communication and coordination are easier to design, more readable, " "and more reliable." msgstr "" "こうしたツールは強力な一方、ちょっとした設計上の欠陥で再現困難な問題を引き起" "こすことがあります。したがって、タスク間調整では :mod:`queue` モジュールを" "使って他の複数のスレッドからのリクエストを一つのスレッドに送り込み、一つのリ" "ソースへのアクセスをできるだけ一つのスレッドに集中させるほうが良いでしょう。" "スレッド間の通信や調整に :class:`~queue.Queue` オブジェクトを使うと、設計が容" "易になり、可読性が高まり、信頼性が増します。" #: ../../tutorial/stdlib2.rst:214 msgid "Logging" msgstr "ログ記録" #: ../../tutorial/stdlib2.rst:216 msgid "" "The :mod:`logging` module offers a full featured and flexible logging " "system. At its simplest, log messages are sent to a file or to ``sys." "stderr``::" msgstr "" ":mod:`logging` モジュールでは、数多くの機能をそなえた柔軟性のあるログ記録シス" "テムを提供しています。最も簡単な使い方では、ログメッセージをファイルや ``sys." "stderr`` に送信します::" #: ../../tutorial/stdlib2.rst:226 msgid "This produces the following output:" msgstr "これは以下の出力を生成します:" #: ../../tutorial/stdlib2.rst:234 msgid "" "By default, informational and debugging messages are suppressed and the " "output is sent to standard error. Other output options include routing " "messages through email, datagrams, sockets, or to an HTTP Server. New " "filters can select different routing based on message priority: :const:" "`~logging.DEBUG`, :const:`~logging.INFO`, :const:`~logging.WARNING`, :const:" "`~logging.ERROR`, and :const:`~logging.CRITICAL`." msgstr "" "デフォルトでは、:meth:`~logging.Logger.info` と :meth:`~logging.Logger." "debug` による出力は抑制され、出力は標準エラーに送信されます。選択可能な送信先" "には、email、データグラム、ソケット、HTTP サーバへの送信などがあります。新た" "にフィルタを作成すると、:const:`~logging.DEBUG`、:const:`~logging.INFO`、:" "const:`~logging.WARNING`、:const:`~logging.ERROR`、:const:`~logging." "CRITICAL` といったメッセージのプライオリティによって異なる送信先を選択するこ" "とができます。" #: ../../tutorial/stdlib2.rst:241 msgid "" "The logging system can be configured directly from Python or can be loaded " "from a user editable configuration file for customized logging without " "altering the application." msgstr "" "ログ記録システムは Python から直接設定することもできますし、アプリケーション" "を変更しなくてもカスタマイズできるよう、ユーザが編集可能な設定ファイルによっ" "て設定することもできます。" #: ../../tutorial/stdlib2.rst:249 msgid "Weak References" msgstr "弱参照" #: ../../tutorial/stdlib2.rst:251 msgid "" "Python does automatic memory management (reference counting for most objects " "and :term:`garbage collection` to eliminate cycles). The memory is freed " "shortly after the last reference to it has been eliminated." msgstr "" "Python は自動的にメモリを管理します (ほとんどのオブジェクトは参照カウント方式" "で管理し、 :term:`ガベージコレクション ` で循環参照を除去" "します)。オブジェクトに対する最後の参照がなくなってしばらくするとメモリは解放" "されます。" #: ../../tutorial/stdlib2.rst:255 msgid "" "This approach works fine for most applications but occasionally there is a " "need to track objects only as long as they are being used by something else. " "Unfortunately, just tracking them creates a reference that makes them " "permanent. The :mod:`weakref` module provides tools for tracking objects " "without creating a reference. When the object is no longer needed, it is " "automatically removed from a weakref table and a callback is triggered for " "weakref objects. Typical applications include caching objects that are " "expensive to create::" msgstr "" "このようなアプローチはほとんどのアプリケーションでうまく動作しますが、中には" "オブジェクトをどこか別の場所で利用している間だけ追跡しておきたい場合もありま" "す。残念ながら、オブジェクトを追跡するだけでオブジェクトに対する恒久的な参照" "を作ることになってしまいます。 :mod:`weakref` モジュールでは、オブジェクトへ" "の参照を作らずに追跡するためのツールを提供しています。弱参照オブジェクトが不" "要になると、弱参照 (weakref) テーブルから自動的に除去され、コールバック関数が" "トリガされます。弱参照を使う典型的な応用例には、作成コストの大きいオブジェク" "トのキャッシュがあります::" #: ../../tutorial/stdlib2.rst:290 msgid "Tools for Working with Lists" msgstr "リスト操作のためのツール" #: ../../tutorial/stdlib2.rst:292 msgid "" "Many data structure needs can be met with the built-in list type. However, " "sometimes there is a need for alternative implementations with different " "performance trade-offs." msgstr "" "多くのデータ構造は、組み込みリスト型を使った実装で事足ります。とはいえ、時に" "は組み込みリストとは違うパフォーマンス上のトレードオフを持つような実装が必要" "になこともあります。" #: ../../tutorial/stdlib2.rst:296 msgid "" "The :mod:`array` module provides an :class:`~array.array()` object that is " "like a list that stores only homogeneous data and stores it more compactly. " "The following example shows an array of numbers stored as two byte unsigned " "binary numbers (typecode ``\"H\"``) rather than the usual 16 bytes per entry " "for regular lists of Python int objects::" msgstr "" ":mod:`array` (配列) モジュールでは、:class:`~array.array()` オブジェクトを提" "供しています。配列はリストに似ていますが、同じ形式のデータだけが保存でき、よ" "りコンパクトに保存されます。以下の例では、通常 1 要素あたり 16 バイトを必要と" "する Python 整数型のリストの 代りに、2 バイトの符号無しの 2 進数 (タイプコー" "ド ``\"H\"``) の配列を使っています::" #: ../../tutorial/stdlib2.rst:309 msgid "" "The :mod:`collections` module provides a :class:`~collections.deque()` " "object that is like a list with faster appends and pops from the left side " "but slower lookups in the middle. These objects are well suited for " "implementing queues and breadth first tree searches::" msgstr "" ":mod:`collections` モジュールでは、:class:`~collections.deque()` オブジェクト" "を提供しています。リスト型に似ていますが、データの追加と左端からの取り出しが" "速く、その一方で中間にある値の参照は遅くなります。こうしたオブジェクトは" "キューや木構造の幅優先探索の実装に向いています::" #: ../../tutorial/stdlib2.rst:330 msgid "" "In addition to alternative list implementations, the library also offers " "other tools such as the :mod:`bisect` module with functions for manipulating " "sorted lists::" msgstr "" "リストの代わりの実装以外にも、標準ライブラリにはソート済みのリストを操作する" "ための関数を備えた :mod:`bisect` のようなツールも提供しています::" #: ../../tutorial/stdlib2.rst:340 msgid "" "The :mod:`heapq` module provides functions for implementing heaps based on " "regular lists. The lowest valued entry is always kept at position zero. " "This is useful for applications which repeatedly access the smallest element " "but do not want to run a full list sort::" msgstr "" ":mod:`heapq` モジュールは、通常のリストでヒープを実装するための関数を提供して" "います。ヒープでは、最も低い値をもつエントリがつねにゼロの位置に配置されま" "す。ヒープは、毎回リストをソートすることなく、最小の値をもつ要素に繰り返しア" "クセスするようなアプリケーションで便利です::" #: ../../tutorial/stdlib2.rst:356 msgid "Decimal Floating Point Arithmetic" msgstr "10 進浮動小数演算" #: ../../tutorial/stdlib2.rst:358 msgid "" "The :mod:`decimal` module offers a :class:`~decimal.Decimal` datatype for " "decimal floating point arithmetic. Compared to the built-in :class:`float` " "implementation of binary floating point, the class is especially helpful for" msgstr "" ":mod:`decimal` モジュールでは、 10 進浮動小数の算術演算をサポートする :class:" "`~decimal.Decimal` データ型を提供しています。組み込みの 2 進浮動小数の実装で" "ある :class:`float` に比べて、このクラスがとりわけ便利なのは、以下の場合です" #: ../../tutorial/stdlib2.rst:362 msgid "" "financial applications and other uses which require exact decimal " "representation," msgstr "財務アプリケーションやその他の正確な10進表記が必要なアプリケーション、" #: ../../tutorial/stdlib2.rst:364 msgid "control over precision," msgstr "精度の制御、" #: ../../tutorial/stdlib2.rst:365 msgid "control over rounding to meet legal or regulatory requirements," msgstr "法的または規制上の理由に基づく値丸めの制御、" #: ../../tutorial/stdlib2.rst:366 msgid "tracking of significant decimal places, or" msgstr "有効桁数の追跡が必要になる場合" #: ../../tutorial/stdlib2.rst:367 msgid "" "applications where the user expects the results to match calculations done " "by hand." msgstr "ユーザが手計算の結果と同じ演算結果を期待するようなアプリケーション。" #: ../../tutorial/stdlib2.rst:370 msgid "" "For example, calculating a 5% tax on a 70 cent phone charge gives different " "results in decimal floating point and binary floating point. The difference " "becomes significant if the results are rounded to the nearest cent::" msgstr "" "例えば、70 セントの電話代にかかる 5% の税金を計算しようとすると、10 進の浮動" "小数点値と 2 進の浮動小数点値では違う結果になってしまいます。計算結果を四捨五" "入してセント単位にしようとすると、以下のように違いがはっきり現れます::" #: ../../tutorial/stdlib2.rst:380 msgid "" "The :class:`~decimal.Decimal` result keeps a trailing zero, automatically " "inferring four place significance from multiplicands with two place " "significance. Decimal reproduces mathematics as done by hand and avoids " "issues that can arise when binary floating point cannot exactly represent " "decimal quantities." msgstr "" "上の例で、:class:`~decimal.Decimal` を使った計算では、末尾桁のゼロが保存され" "ており、有効数字2桁の被乗数から自動的に有効数字を 4 桁と判断しています。:" "class:`~decimal.Decimal` は手計算と 同じ方法で計算を行い、2 進浮動小数が 10 " "進小数成分を正確に表現できないことに よって起きる問題を回避しています。" #: ../../tutorial/stdlib2.rst:386 msgid "" "Exact representation enables the :class:`~decimal.Decimal` class to perform " "modulo calculations and equality tests that are unsuitable for binary " "floating point::" msgstr "" ":class:`~decimal.Decimal` クラスは厳密な値を表現できるため、2 進浮動小数点数" "では 期待通りに計算できないような剰余の計算や等値テストも実現できます::" #: ../../tutorial/stdlib2.rst:400 msgid "" "The :mod:`decimal` module provides arithmetic with as much precision as " "needed::" msgstr "" ":mod:`decimal` モジュールを使うと、必要なだけの精度で算術演算を行えます::"