# SOME DESCRIPTIVE TITLE. # Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-06-29 12:56+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:125 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:133 msgid "Working with Binary Data Record Layouts" msgstr "バイナリデータレコードの操作" #: ../../tutorial/stdlib2.rst:135 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:166 msgid "Multi-threading" msgstr "マルチスレッディング" #: ../../tutorial/stdlib2.rst:168 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:173 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:197 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:202 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:213 msgid "Logging" msgstr "ログ記録" #: ../../tutorial/stdlib2.rst:215 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:225 msgid "This produces the following output:" msgstr "これは以下の出力を生成します:" #: ../../tutorial/stdlib2.rst:233 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:240 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:248 msgid "Weak References" msgstr "弱参照" #: ../../tutorial/stdlib2.rst:250 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:254 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:289 msgid "Tools for Working with Lists" msgstr "リスト操作のためのツール" #: ../../tutorial/stdlib2.rst:291 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:295 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:308 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:329 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:339 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:355 msgid "Decimal Floating Point Arithmetic" msgstr "10 進浮動小数演算" #: ../../tutorial/stdlib2.rst:357 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:361 msgid "" "financial applications and other uses which require exact decimal " "representation," msgstr "財務アプリケーションやその他の正確な10進表記が必要なアプリケーション、" #: ../../tutorial/stdlib2.rst:363 msgid "control over precision," msgstr "精度の制御、" #: ../../tutorial/stdlib2.rst:364 msgid "control over rounding to meet legal or regulatory requirements," msgstr "法的または規制上の理由に基づく値丸めの制御、" #: ../../tutorial/stdlib2.rst:365 msgid "tracking of significant decimal places, or" msgstr "有効桁数の追跡が必要になる場合" #: ../../tutorial/stdlib2.rst:366 msgid "" "applications where the user expects the results to match calculations done " "by hand." msgstr "ユーザが手計算の結果と同じ演算結果を期待するようなアプリケーション。" #: ../../tutorial/stdlib2.rst:369 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:379 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:385 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:399 msgid "" "The :mod:`decimal` module provides arithmetic with as much precision as " "needed::" msgstr ":mod:`decimal` モジュールを使うと、必要なだけの精度で算術演算を行えます::"