diff --git a/TranslationTable.md b/TranslationTable.md new file mode 100644 index 0000000000..5b7ed65ed9 --- /dev/null +++ b/TranslationTable.md @@ -0,0 +1,229 @@ +# 原則 + +* カタカナ語のままで違和感のない用語はカタカナ語のまま使う + + 気持としては「無理矢理和訳」を避けたい。そのための基準。 + + カタカナ語の方が用語として認識しやすい +* 3音以上のカタカナ語の末尾の長音記号「ー」は省く([JIS Z 8301:2011](http://kikakurui.com/z8/Z8301-2011-01.html) G.6.2.2 b 表3を参照) +* 構文キーワードなどはそのままアルファベットを使う + +# 対訳表 + +| English | 日本語 +|:-------------------------------|:------------- +| abort | アボート +| (lockの) acquire | 獲得 +| aggregate type | 合成型 +| alignment | アラインメント +| allocate | メモリを確保する(アロケートする) +| allocation | メモリを確保すること(アロケーション) +| allocator | アロケータ +| antipattern | アンチパターン +| application | アプリケーション +| arity | アリティ +| (マッチの)arm | 腕 +| array | 配列 +| assignment | 代入 +| associated - | 関連- +| atomic | アトミック +| attribute | アトリビュート +| binary | バイナリ +| binding | 束縛 +| block | ブロック +| borrowing | 借用 +| bounds | 境界 +| boxed | ボックス化された +| bug | バグ +| byte string | バイト列 +| capture | キャプチャ +| case analysis | 場合分け +| channel | チャネル +| closure | クロージャ +| coercion | 型強制 +| code bloat | コードの膨張 +| combinator | コンビネータ +| comma | カンマ +| command line | コマンドライン +| compile-time error | コンパイル時エラー +| compiler | コンパイラ +| compound data type | 複合データ型 +| composable | 合成可能 +| computer science | コンピュータサイエンス +| concurrency | 並行性 +| constant | 定数 +| constructor | コンストラクタ +| continuous integration | 継続的インテグレーション +| control flow | 制御フロー +| crate | クレート +| dangling | ダングリング +| data race | データ競合 +| deadlock | デッドロック +| deallocate | デアロケートする +| declaration statement | 宣言文 +| (crateの)dependency | 依存 +| dereferencing | 参照外し +| destructor | デストラクタ +| destructuring | 分配 +| directive | ディレクティブ +| directory | ディレクトリ +| discriminant | 判別子 +| distribution | 配布物 +| diverge | 発散する +| diverging | 発散する〜(上の diverge を修飾語として使った場合) +| documentation comment | ドキュメンテーションコメント +| documentation test | ドキュメンテーションテスト +| early return | 早期リターン +| edition | エディション +| empty tuple | 空タプル +| encode | エンコード +| entry point | エントリポイント +| enum | 列挙型 +| equality | 等値性 +| ergonomic | エルゴノミック(人間にとって扱いやすいもの) +| error | エラー +| error handling | エラーハンドリング +| executable | 実行可能形式 +| existentially quantified type | 存在量型 +| expression statement | 式文 +| exterior | 外側の +| feature | フィーチャ +| foreign | 他言語 +| free | 解放する +| free-standing function | フリースタンディングな関数 +| fully qualified (syntax) | フルパス(記法) +| garbage collector | ガベージコレクタ +| generic parameter | ジェネリックパラメータ +| generics | ジェネリクス +| glob | グロブ +| growable | サイズ可変 +| guard | ガード +| handle | ハンドル +| hash | ハッシュ +| identifier | 識別子 +| immutable | 不変 +| immutability | 不変性 +| implement | 実装する +| index(動詞) | 添え字アクセス +| initialize | 初期化する +| input lifetime | 入力ライフタイム +| interior | 内側の +| install | インストール +| installer | インストーラ +| interpolate | 補間する +| (string) interpolation | (文字列)補間 +| Intrinsics | Intrinsic +| key | キー +| keyword | キーワード +| Lang Items | Lang Item +| leak | リーク +| lending | 貸付け +| library | ライブラリ +| lifetime | ライフタイム +| lifetime elision | ライフタイムの省略 +| lifetime parameter | ライフタイムパラメータ +| link | リンク +| lint | リント +| lock | ロック +| mangling | マングリング +| match | マッチ +| match guards | マッチガード +| memory | メモリ +| method | メソッド +| monomorphization | 単相化 +| move | ムーブ +| mutability | 可変性 +| mutable | 可変 +| mutable binding | 可変束縛 +| mutual-exclusion | 相互排他 +| null | ヌル +| object-safe | オブジェクト安全 +| offline | オフライン +| opaque | オペーク +| open source | オープンソース +| option | オプション +| output lifetime | 出力ライフタイム +| overflow | オーバーフロー +| owned | 所有権を持った +| owner | 所有者 +| ownership | 所有権 +| panic | パニック +| parallel | 並行に +| parameter | パラメータ +| parametric polymorphism | パラメトリック多相 +| parse | パース、パースする +| patch | パッチ +| pattern | パターン +| performance | パフォーマンス +| platform | プラットフォーム +| pointer | ポインタ +| process | プロセス +| range | 範囲 +| raw identifier | 生識別子 +| raw pointer | 生ポインタ +| raw string literal | 生文字列リテラル +| re-assignment | 再代入 +| rebind | 再束縛 +| reference | 参照 +| reference count | 参照カウント +| regression | リグレッション +| release | リリース +| (lockの) release | 解放 +| to reason | 正しいと確認すること +| return | 返す +| return type | リターン型 +| return value | 戻り値 +| runtime | 実行時 +| safe | 安全 +| safety check | 安全性検査 +| scope | スコープ +| scoped | スコープ化された +| script | スクリプト +| semantic versioning | セマンティックバージョニング +| semantics | セマンティクス +| shadow | 覆い隠す +| shadowing | シャドーイング +| signature | シグネチャ +| signed | 符号付き +| slice | スライス +| slicing | スライシング +| specialized | 特殊化された +| standard library | 標準ライブラリ +| string | 文字列 +| string interpolation | 文字列インターポーレーション +| string slice | 文字列スライス +| struct | 構造体 +| structure | ストラクチャ +| sum type | 直和型 +| symbol | シンボル +| syntactic sugar | 糖衣構文 +| syntax tree | 構文木 +| system | システム +| tagged union | タグ付き共用体 +| term | 項 +| thread-locality | スレッドローカル性 +| threadsafe | スレッドセーフ +| tick | クオート +| trait | トレイト +| tuple | タプル +| token trees | トークン木 +| type alias | 型エイリアス +| type erasure | 型消去 +| type family | 型族 +| type inference | 型推論 +| type parameter | 型パラメータ +| uninstall | アンインストール +| unit 注: `()` の読み | ユニット +| Universal Function Call Syntax | 共通の関数呼び出し構文 +| unsafe | アンセーフ +| unsigned | 符号無し +| unsized type | サイズ不定型 +| unwinding | 巻き戻し +| unwrap | アンラップ +| value constructor | 値コンストラクタ +| variable | 変数 +| variable binding | 変数束縛 +| variant | 列挙子 +| vector | ベクタ +| version | バージョン +| warning | ウォーニング +| wildcard | ワイルドカード +| wrapper | ラッパ diff --git a/po/ja.po b/po/ja.po index 4667db6a54..5128d4da71 100644 --- a/po/ja.po +++ b/po/ja.po @@ -15,438 +15,440 @@ msgstr "" msgid "The Rust Programming Language" msgstr "The Rust Programming Language 日本語版" +# この部分は特に影響しない様子。title-page.md, foreword.md, ch00-00-introduction.md の見出しが優先されている? #: src/SUMMARY.md:3 msgid "The Rust Programming Language Foreword Introduction" -msgstr "" +msgstr "The Rust Programming Language 日本語版 まえがき はじめに" #: src/SUMMARY.md:7 msgid "Getting started" -msgstr "" +msgstr "事始め" #: src/SUMMARY.md:9 src/ch01-00-getting-started.md:1 msgid "Getting Started" -msgstr "" +msgstr "事始め" #: src/SUMMARY.md:10 src/ch01-01-installation.md:1 msgid "Installation" -msgstr "" +msgstr "インストール" #: src/SUMMARY.md:11 src/ch01-02-hello-world.md:1 msgid "Hello, World!" -msgstr "" +msgstr "Hello, World!" #: src/SUMMARY.md:12 src/ch01-03-hello-cargo.md:1 msgid "Hello, Cargo!" -msgstr "" +msgstr "Hello, Cargo!" #: src/SUMMARY.md:14 src/ch02-00-guessing-game-tutorial.md:1 msgid "Programming a Guessing Game" -msgstr "" +msgstr "数当てゲームのプログラミング" #: src/SUMMARY.md:16 src/ch03-00-common-programming-concepts.md:1 msgid "Common Programming Concepts" -msgstr "" +msgstr "一般的なプログラミングの概念" #: src/SUMMARY.md:17 src/ch03-01-variables-and-mutability.md:1 msgid "Variables and Mutability" -msgstr "" +msgstr "変数と可変性" #: src/SUMMARY.md:18 src/ch03-02-data-types.md:1 msgid "Data Types" -msgstr "" +msgstr "データ型" #: src/SUMMARY.md:19 src/ch03-03-how-functions-work.md:1 msgid "Functions" -msgstr "" +msgstr "関数" #: src/SUMMARY.md:20 src/ch03-04-comments.md:1 msgid "Comments" -msgstr "" +msgstr "コメント" #: src/SUMMARY.md:21 src/ch03-05-control-flow.md:1 msgid "Control Flow" -msgstr "" +msgstr "制御フロー" #: src/SUMMARY.md:23 src/ch04-00-understanding-ownership.md:1 msgid "Understanding Ownership" -msgstr "" +msgstr "所有権を理解する" #: src/SUMMARY.md:24 msgid "What is Ownership?" -msgstr "" +msgstr "所有権とは?" #: src/SUMMARY.md:25 src/ch04-02-references-and-borrowing.md:1 msgid "References and Borrowing" -msgstr "" +msgstr "参照と借用" #: src/SUMMARY.md:26 src/ch04-03-slices.md:1 msgid "The Slice Type" -msgstr "" +msgstr "スライス型" #: src/SUMMARY.md:28 src/ch05-00-structs.md:1 msgid "Using Structs to Structure Related Data" -msgstr "" +msgstr "構造体を使用して関係のあるデータを構造化する" #: src/SUMMARY.md:29 src/ch05-01-defining-structs.md:1 msgid "Defining and Instantiating Structs" -msgstr "" +msgstr "構造体を定義し、インスタンス化する" #: src/SUMMARY.md:30 src/ch05-02-example-structs.md:1 msgid "An Example Program Using Structs" -msgstr "" +msgstr "構造体を使ったプログラム例" #: src/SUMMARY.md:31 src/ch05-03-method-syntax.md:1 msgid "Method Syntax" -msgstr "" +msgstr "メソッド記法" #: src/SUMMARY.md:33 src/ch06-00-enums.md:1 msgid "Enums and Pattern Matching" -msgstr "" +msgstr "Enumとパターンマッチング" #: src/SUMMARY.md:34 src/ch06-01-defining-an-enum.md:1 msgid "Defining an Enum" -msgstr "" +msgstr "Enumを定義する" #: src/SUMMARY.md:35 src/ch06-02-match.md:3 msgid "The `match` Control Flow Construct" -msgstr "" +msgstr "`match`制御フロー構造" #: src/SUMMARY.md:36 src/ch06-03-if-let.md:1 msgid "Concise Control Flow with `if let`" -msgstr "" +msgstr "`if let`で簡潔な制御フロー" #: src/SUMMARY.md:38 msgid "Basic Rust Literacy" -msgstr "" +msgstr "基本的なRustリテラシー" #: src/SUMMARY.md:40 #: src/ch07-00-managing-growing-projects-with-packages-crates-and-modules.md:1 msgid "Managing Growing Projects with Packages, Crates, and Modules" -msgstr "" +msgstr "肥大化していくプロジェクトをパッケージ、クレート、モジュールを利用して管理する" #: src/SUMMARY.md:41 src/ch07-01-packages-and-crates.md:1 msgid "Packages and Crates" -msgstr "" +msgstr "パッケージとクレート" #: src/SUMMARY.md:42 #: src/ch07-02-defining-modules-to-control-scope-and-privacy.md:1 msgid "Defining Modules to Control Scope and Privacy" -msgstr "" +msgstr "モジュールを定義して、スコープとプライバシーを制御する" #: src/SUMMARY.md:43 #: src/ch07-03-paths-for-referring-to-an-item-in-the-module-tree.md:1 msgid "Paths for Referring to an Item in the Module Tree" -msgstr "" +msgstr "モジュールツリーの要素を示すためのパス" #: src/SUMMARY.md:44 msgid "Bringing Paths Into Scope with the `use` Keyword" -msgstr "" +msgstr "`use`キーワードでパスをスコープに持ち込む" #: src/SUMMARY.md:45 src/ch07-05-separating-modules-into-different-files.md:1 msgid "Separating Modules into Different Files" -msgstr "" +msgstr "モジュールを複数のファイルに分割する" #: src/SUMMARY.md:47 src/ch08-00-common-collections.md:1 msgid "Common Collections" -msgstr "" +msgstr "一般的なコレクション" #: src/SUMMARY.md:48 src/ch08-01-vectors.md:1 msgid "Storing Lists of Values with Vectors" -msgstr "" +msgstr "ベクタで値のリストを保持する" #: src/SUMMARY.md:49 src/ch08-02-strings.md:1 msgid "Storing UTF-8 Encoded Text with Strings" -msgstr "" +msgstr "文字列でUTF-8でエンコードされたテキストを保持する" #: src/SUMMARY.md:50 src/ch08-03-hash-maps.md:1 msgid "Storing Keys with Associated Values in Hash Maps" -msgstr "" +msgstr "キーとそれに紐づいた値をハッシュマップに格納する" #: src/SUMMARY.md:52 src/ch09-00-error-handling.md:1 msgid "Error Handling" -msgstr "" +msgstr "エラー処理" #: src/SUMMARY.md:53 src/ch09-01-unrecoverable-errors-with-panic.md:1 msgid "Unrecoverable Errors with `panic!`" -msgstr "" +msgstr "`panic!`で回復不能なエラー" #: src/SUMMARY.md:54 src/ch09-02-recoverable-errors-with-result.md:1 msgid "Recoverable Errors with `Result`" -msgstr "" +msgstr "`Result`で回復可能なエラー" #: src/SUMMARY.md:55 src/ch09-03-to-panic-or-not-to-panic.md:1 msgid "To `panic!` or Not to `panic!`" -msgstr "" +msgstr "`panic!`すべきかするまいか" #: src/SUMMARY.md:57 src/ch10-00-generics.md:1 msgid "Generic Types, Traits, and Lifetimes" -msgstr "" +msgstr "ジェネリック型、トレイト、ライフタイム" #: src/SUMMARY.md:58 src/ch10-01-syntax.md:1 msgid "Generic Data Types" -msgstr "" +msgstr "ジェネリックなデータ型" #: src/SUMMARY.md:59 src/ch10-02-traits.md:1 msgid "Traits: Defining Shared Behavior" -msgstr "" +msgstr "トレイト: 共通の振る舞いを定義する" #: src/SUMMARY.md:60 src/ch10-03-lifetime-syntax.md:1 msgid "Validating References with Lifetimes" -msgstr "" +msgstr "ライフタイムで参照を検証する" #: src/SUMMARY.md:62 src/ch11-00-testing.md:1 msgid "Writing Automated Tests" -msgstr "" +msgstr "自動テストを書く" #: src/SUMMARY.md:63 src/ch11-01-writing-tests.md:1 msgid "How to Write Tests" -msgstr "" +msgstr "テストの記述法" #: src/SUMMARY.md:64 src/ch11-02-running-tests.md:1 msgid "Controlling How Tests Are Run" -msgstr "" +msgstr "テストの実行のされ方を制御する" #: src/SUMMARY.md:65 src/ch11-03-test-organization.md:1 msgid "Test Organization" -msgstr "" +msgstr "テストの体系化" #: src/SUMMARY.md:67 src/ch12-00-an-io-project.md:1 msgid "An I/O Project: Building a Command Line Program" -msgstr "" +msgstr "入出力プロジェクト: コマンドラインプログラムを構築する" #: src/SUMMARY.md:68 src/ch12-01-accepting-command-line-arguments.md:1 msgid "Accepting Command Line Arguments" -msgstr "" +msgstr "コマンドライン引数を受け付ける" #: src/SUMMARY.md:69 src/ch12-02-reading-a-file.md:1 msgid "Reading a File" -msgstr "" +msgstr "ファイルを読み込む" #: src/SUMMARY.md:70 src/ch12-03-improving-error-handling-and-modularity.md:1 msgid "Refactoring to Improve Modularity and Error Handling" -msgstr "" +msgstr "リファクタリングしてモジュール性とエラー処理を向上させる" #: src/SUMMARY.md:71 msgid "Developing the Library’s Functionality with Test Driven Development" -msgstr "" +msgstr "テスト駆動開発でライブラリの機能を開発する" #: src/SUMMARY.md:72 src/ch12-05-working-with-environment-variables.md:1 msgid "Working with Environment Variables" -msgstr "" +msgstr "環境変数を取り扱う" #: src/SUMMARY.md:73 src/ch12-06-writing-to-stderr-instead-of-stdout.md:1 msgid "Writing Error Messages to Standard Error Instead of Standard Output" -msgstr "" +msgstr "標準出力ではなく標準エラーにエラーメッセージを書き込む" #: src/SUMMARY.md:75 msgid "Thinking in Rust" -msgstr "" +msgstr "Rustで思考する" #: src/SUMMARY.md:77 src/ch13-00-functional-features.md:1 msgid "Functional Language Features: Iterators and Closures" -msgstr "" +msgstr "関数型言語の機能: イテレータとクロージャ" #: src/SUMMARY.md:78 src/ch13-01-closures.md:4 msgid "Closures: Anonymous Functions that Capture Their Environment" -msgstr "" +msgstr "クロージャ: 環境をキャプチャする匿名関数" #: src/SUMMARY.md:79 src/ch13-02-iterators.md:1 msgid "Processing a Series of Items with Iterators" -msgstr "" +msgstr "一連の要素をイテレータで処理する" #: src/SUMMARY.md:80 src/ch13-03-improving-our-io-project.md:1 msgid "Improving Our I/O Project" -msgstr "" +msgstr "入出力プロジェクトを改善する" #: src/SUMMARY.md:81 src/ch13-04-performance.md:1 msgid "Comparing Performance: Loops vs. Iterators" -msgstr "" +msgstr "パフォーマンス比較: ループVSイテレータ" #: src/SUMMARY.md:83 msgid "More about Cargo and Crates.io" -msgstr "" +msgstr "CargoとCrates.ioについてより詳しく" #: src/SUMMARY.md:84 src/ch14-01-release-profiles.md:1 msgid "Customizing Builds with Release Profiles" -msgstr "" +msgstr "リリースプロファイルでビルドをカスタマイズする" #: src/SUMMARY.md:85 src/ch14-02-publishing-to-crates-io.md:1 msgid "Publishing a Crate to Crates.io" -msgstr "" +msgstr "Crates.ioにクレートを公開する" #: src/SUMMARY.md:86 src/ch14-03-cargo-workspaces.md:1 msgid "Cargo Workspaces" -msgstr "" +msgstr "Cargoのワークスペース" #: src/SUMMARY.md:87 msgid "Installing Binaries from Crates.io with `cargo install`" -msgstr "" +msgstr "`cargo install`でCrates.ioからバイナリをインストールする" #: src/SUMMARY.md:88 src/ch14-05-extending-cargo.md:1 msgid "Extending Cargo with Custom Commands" -msgstr "" +msgstr "独自のコマンドでCargoを拡張する" #: src/SUMMARY.md:90 src/ch15-00-smart-pointers.md:1 msgid "Smart Pointers" -msgstr "" +msgstr "スマートポインタ" #: src/SUMMARY.md:91 src/ch15-01-box.md:1 msgid "Using `Box` to Point to Data on the Heap" -msgstr "" +msgstr "ヒープのデータを指す`Box`を使用する" #: src/SUMMARY.md:92 src/ch15-02-deref.md:1 msgid "Treating Smart Pointers Like Regular References with the `Deref` Trait" -msgstr "" +msgstr "`Deref`トレイトでスマートポインタを普通の参照のように扱う" #: src/SUMMARY.md:93 src/ch15-03-drop.md:1 msgid "Running Code on Cleanup with the `Drop` Trait" -msgstr "" +msgstr "`Drop`トレイトで片付け時にコードを走らせる" #: src/SUMMARY.md:94 src/ch15-04-rc.md:1 msgid "`Rc`, the Reference Counted Smart Pointer" -msgstr "" +msgstr "`Rc`は、参照カウント方式のスマートポインタ" #: src/SUMMARY.md:95 src/ch15-05-interior-mutability.md:1 msgid "`RefCell` and the Interior Mutability Pattern" -msgstr "" +msgstr "`RefCell`と内部可変性パターン" #: src/SUMMARY.md:96 src/ch15-06-reference-cycles.md:1 msgid "Reference Cycles Can Leak Memory" -msgstr "" +msgstr "循環参照は、メモリをリークすることもある" #: src/SUMMARY.md:98 src/ch16-00-concurrency.md:1 msgid "Fearless Concurrency" -msgstr "" +msgstr "恐れるな!並行性" #: src/SUMMARY.md:99 src/ch16-01-threads.md:1 msgid "Using Threads to Run Code Simultaneously" -msgstr "" +msgstr "スレッドを使用してコードを同時に走らせる" #: src/SUMMARY.md:100 src/ch16-02-message-passing.md:1 msgid "Using Message Passing to Transfer Data Between Threads" -msgstr "" +msgstr "メッセージ受け渡しを使ってスレッド間でデータを転送する" #: src/SUMMARY.md:101 src/ch16-03-shared-state.md:1 msgid "Shared-State Concurrency" -msgstr "" +msgstr "状態共有並行性" #: src/SUMMARY.md:102 src/ch16-04-extensible-concurrency-sync-and-send.md:1 msgid "Extensible Concurrency with the `Sync` and `Send` Traits" -msgstr "" +msgstr "`Sync`と`Send`トレイトで拡張可能な並行性" #: src/SUMMARY.md:104 msgid "Object Oriented Programming Features of Rust" -msgstr "" +msgstr "Rustのオブジェクト指向プログラミング機能" #: src/SUMMARY.md:105 src/ch17-01-what-is-oo.md:1 msgid "Characteristics of Object-Oriented Languages" -msgstr "" +msgstr "オブジェクト指向言語の特徴" #: src/SUMMARY.md:106 src/ch17-02-trait-objects.md:1 msgid "Using Trait Objects That Allow for Values of Different Types" -msgstr "" +msgstr "トレイトオブジェクトで異なる型の値を許容する" #: src/SUMMARY.md:107 src/ch17-03-oo-design-patterns.md:1 msgid "Implementing an Object-Oriented Design Pattern" -msgstr "" +msgstr "オブジェクト指向デザインパターンを実装する" #: src/SUMMARY.md:109 msgid "Advanced Topics" -msgstr "" +msgstr "高度なトピック" #: src/SUMMARY.md:111 src/ch18-00-patterns.md:1 msgid "Patterns and Matching" -msgstr "" +msgstr "パターンとマッチング" #: src/SUMMARY.md:112 src/ch18-01-all-the-places-for-patterns.md:1 msgid "All the Places Patterns Can Be Used" -msgstr "" +msgstr "パターンが使用されることのある箇所全部" #: src/SUMMARY.md:113 src/ch18-02-refutability.md:1 msgid "Refutability: Whether a Pattern Might Fail to Match" -msgstr "" +msgstr "論駁可能性: パターンが合致しないかどうか" #: src/SUMMARY.md:114 src/ch18-03-pattern-syntax.md:1 msgid "Pattern Syntax" -msgstr "" +msgstr "パターン記法" #: src/SUMMARY.md:116 src/ch19-00-advanced-features.md:1 msgid "Advanced Features" -msgstr "" +msgstr "高度な機能" #: src/SUMMARY.md:117 src/ch19-01-unsafe-rust.md:1 msgid "Unsafe Rust" -msgstr "" +msgstr "Unsafe Rust" #: src/SUMMARY.md:118 src/ch19-03-advanced-traits.md:1 msgid "Advanced Traits" -msgstr "" +msgstr "高度なトレイト" #: src/SUMMARY.md:119 src/ch19-04-advanced-types.md:1 msgid "Advanced Types" -msgstr "" +msgstr "高度な型" #: src/SUMMARY.md:120 src/ch19-05-advanced-functions-and-closures.md:1 msgid "Advanced Functions and Closures" -msgstr "" +msgstr "高度な関数とクロージャ" #: src/SUMMARY.md:121 src/ch19-06-macros.md:1 msgid "Macros" -msgstr "" +msgstr "マクロ" #: src/SUMMARY.md:123 src/ch20-00-final-project-a-web-server.md:1 msgid "Final Project: Building a Multithreaded Web Server" -msgstr "" +msgstr "最後のプロジェクト: マルチスレッドのWebサーバを構築する" #: src/SUMMARY.md:124 src/ch20-01-single-threaded.md:1 msgid "Building a Single-Threaded Web Server" -msgstr "" +msgstr "シングルスレッドのWebサーバを構築する" #: src/SUMMARY.md:125 src/ch20-02-multithreaded.md:1 msgid "Turning Our Single-Threaded Server into a Multithreaded Server" -msgstr "" +msgstr "シングルスレッドサーバをマルチスレッド化する" #: src/SUMMARY.md:126 src/ch20-03-graceful-shutdown-and-cleanup.md:1 msgid "Graceful Shutdown and Cleanup" -msgstr "" +msgstr "正常なシャットダウンと片付け" #: src/SUMMARY.md:128 src/appendix-00.md:1 msgid "Appendix" -msgstr "" +msgstr "付録" #: src/SUMMARY.md:129 msgid "A - Keywords" -msgstr "" +msgstr "A - キーワード" #: src/SUMMARY.md:130 msgid "B - Operators and Symbols" -msgstr "" +msgstr "B - 演算子と記号" #: src/SUMMARY.md:131 msgid "C - Derivable Traits" -msgstr "" +msgstr "C - 導出可能なトレイト" #: src/SUMMARY.md:132 msgid "D - Useful Development Tools" -msgstr "" +msgstr "D - 便利な開発ツール" #: src/SUMMARY.md:133 msgid "E - Editions" -msgstr "" +msgstr "E - エディション" #: src/SUMMARY.md:134 msgid "F - Translations of the Book" -msgstr "" +msgstr "F - 本の翻訳" #: src/SUMMARY.md:135 msgid "G - How Rust is Made and “Nightly Rust”" -msgstr "" +msgstr "G - Rustの作られ方と“Nightly Rust”" #: src/title-page.md:3 msgid "" "_by Steve Klabnik and Carol Nichols, with contributions from the Rust " "Community_" msgstr "" +"*著:Steve Klabnik、Carol Nichols、貢献:Rustコミュニティ*" #: src/title-page.md:5 msgid "" @@ -454,25 +456,37 @@ msgid "" "2024-02-08) or later. See the [“Installation” section of Chapter 1](ch01-01-" "installation.html) to install or update Rust." msgstr "" +"このテキストのこの版ではRust 1.76.0(2024年2月8日リリース)かそれ以降が使われていることを前提にしています。" +"Rustをインストールしたりアップデートしたりするには[第1章の「インストール」節](ch01-01-" +"installation.html)を読んでください。" +# TODO: 訳注ブロックの挿入はこれでいいか検討 #: src/title-page.md:9 msgid "" "The HTML format is available online at [https://doc.rust-lang.org/stable/" "book/](https://doc.rust-lang.org/stable/book/) and offline with " "installations of Rust made with `rustup`; run `rustup docs --book` to open." msgstr "" +"HTML版は[https://doc.rust-lang.org/stable/book/](https://doc.rust-lang.org/stable/book/)で公開されています。" +"オフラインのときは、`rustup`でインストールしたRustを使って`rustup docs --book`で開けます。" +"" +"\n\n> 訳注:日本語のHTML版は[https://doc.rust-jp.rs/book-ja/](https://doc.rust-jp.rs/book-ja/)で公開されています。" +"`rustup`を使ってオフラインで読むことはできません。" #: src/title-page.md:14 msgid "" "Several community [translations](appendix-06-translation.html) are also " "available." msgstr "" +"また、コミュニティによるいくつかの[翻訳版](appendix-06-translation.html)もあります。" #: src/title-page.md:16 msgid "" "This text is available in [paperback and ebook format from No Starch Press]" "(https://nostarch.com/rust-programming-language-2nd-edition)." msgstr "" +"このテキストの(英語版の)[ペーパーバック版と電子書籍版はNo Starch出版]" +"(https://nostarch.com/rust-programming-language-2nd-edition)から発売されています。" #: src/title-page.md:24 msgid "" @@ -480,10 +494,13 @@ msgid "" "of the Rust Book, featuring: quizzes, highlighting, visualizations, and " "more**: " msgstr "" +"**🚨 もっと双方向的な学習体験が欲しいですか?" +"クイズや蛍光ペン機能、可視化などを備えた、別バージョンの the Rust Book を試してみてください**: " +"" #: src/foreword.md:1 msgid "Foreword" -msgstr "" +msgstr "まえがき" #: src/foreword.md:3 msgid "" @@ -492,6 +509,9 @@ msgid "" "writing now, Rust empowers you to reach farther, to program with confidence " "in a wider variety of domains than you did before." msgstr "" +"すぐにはわかりにくいかもしれませんが、Rustプログラミング言語は、エンパワーメント(empowerment)を根本原理としています: " +"どんな種類のコードを現在書いているにせよ、Rustは幅広い領域で以前よりも遠くへ到達し、" +"自信を持ってプログラムを組む力を与え(empower)ます。" #: src/foreword.md:8 msgid "" @@ -502,6 +522,9 @@ msgid "" "And even those who practice it do so with caution, lest their code be open " "to exploits, crashes, or corruption." msgstr "" +"一例を挙げると、メモリ管理やデータ表現、並行性などの低レベルな詳細を扱う「システムレベル」のプログラミングがあります。" +"伝統的にこの分野は難解で、年月をかけてやっかいな落とし穴を回避する術を習得した選ばれし者にだけ可能と見なされています。" +"そのように鍛錬を積んだ者でさえ注意が必要で、さもないと書いたコードがクラッキングの糸口になったりクラッシュやデータ破損を引き起こしかねないのです。" #: src/foreword.md:15 msgid "" @@ -513,6 +536,10 @@ msgid "" "the language is designed to guide you naturally towards reliable code that " "is efficient in terms of speed and memory usage." msgstr "" +"この難しさを取り除くために、Rustは、古い落とし穴を排除し、その過程で使いやすく役に立つ洗練された一連のツールを提供します。" +"低レベルな制御に「下がる」必要があるプログラマは、お決まりのクラッシュやセキュリティホールのリスクを負わず、" +"気まぐれなツールチェーンのデリケートな部分を学ぶ必要なくRustで同じことができます。さらにいいことに、" +"Rustは、スピードとメモリ使用の観点で効率的な信頼性の高いコードへと自然に導くよう設計されています。" #: src/foreword.md:23 msgid "" @@ -523,6 +550,9 @@ msgid "" "code with the confidence that you won’t accidentally introduce crashes or " "vulnerabilities." msgstr "" +"既に低レベルコードに取り組んでいるプログラマは、Rustを使用してさらなる高みを目指せます。" +"例えば、Rustで並列性を導入することは、比較的低リスクです: コンパイラが伝統的なミスを捕捉してくれるのです。" +"そして、クラッシュや脆弱性の糸口を誤って導入しないという自信を持ってコードの大胆な最適化に取り組めるのです。" #: src/foreword.md:29 msgid "" @@ -533,6 +563,11 @@ msgid "" "domain to another; you can learn Rust by writing a web app, then apply those " "same skills to target your Raspberry Pi." msgstr "" +"ですが、Rustは低レベルなシステムプログラミングに限定されているわけではありません。" +"十分に表現力豊かでエルゴノミックなので、コマンドラインアプリやWebサーバ、その他様々な楽しいコードを書けます。" +"この本の後半に両者の単純な例が見つかるでしょう。" +"Rustを使うことで1つの領域から他の領域へと使い回せる技術を身につけられます; " +"ウェブアプリを書いてRustを学び、それからその同じ技術をラズベリーパイを対象に適用できるのです。" #: src/foreword.md:36 msgid "" @@ -541,14 +576,17 @@ msgid "" "knowledge of Rust, but also your reach and confidence as a programmer in " "general. So dive in, get ready to learn—and welcome to the Rust community!" msgstr "" +"この本は、ユーザに力を与え(empower)るRustのポテンシャルを全て含んでいます。" +"あなたのRustの知識のみをレベルアップさせるだけでなく、プログラマとしての全般的な能力や自信をもレベルアップさせる手助けを意図した親しみやすくわかりやすいテキストです。" +"さあ、飛び込んで学ぶ準備をしてください。Rustコミュニティへようこそ!" #: src/foreword.md:41 msgid "— Nicholas Matsakis and Aaron Turon" -msgstr "" +msgstr "— ニコラス・マットサキス(Nicholas Matsakis)とアーロン・チューロン(Aaron Turon)" #: src/ch00-00-introduction.md:1 msgid "Introduction" -msgstr "" +msgstr "はじめに" #: src/ch00-00-introduction.md:3 msgid "" @@ -556,6 +594,9 @@ msgid "" "(https://nostarch.com/rust-programming-language-2nd-edition) available in " "print and ebook format from [No Starch Press](https://nostarch.com/)." msgstr "" +"注釈: この本のこの版は、本として利用可能な[The Rust Programming Language]" +"(https://nostarch.com/rust-programming-language-2nd-edition)と、" +"[No Starch Press](https://nostarch.com/)のebook形式と同じです。" #: src/ch00-00-introduction.md:10 msgid "" @@ -567,20 +608,27 @@ msgid "" "gives you the option to control low-level details (such as memory usage) " "without all the hassle traditionally associated with such control." msgstr "" +"*The Rust Programming Language* へようこそ。Rustに関する入門書です。" +"Rustプログラミング言語は、高速で信頼できるソフトウェアを書く手助けをしてくれます。" +"高レベルのエルゴノミクス(`訳注`: ergonomicsとは、人間工学的という意味。砕いて言えば、人間に優しいということ)と低レベルの制御は、" +"しばしばプログラミング言語の設計においてトレードオフの関係になります; " +"Rustは、その衝突に挑戦しています。バランスのとれた強力な技術の許容量と素晴らしい開発者経験を通して、" +"Rustは伝統的にそれらの制御と紐付いていた困難全てなしに低レベルの詳細(メモリ使用など)を制御する選択肢を与えてくれます。" #: src/ch00-00-introduction.md:18 msgid "Who Rust Is For" -msgstr "" +msgstr "Rustは誰のためのものなの" #: src/ch00-00-introduction.md:20 msgid "" "Rust is ideal for many people for a variety of reasons. Let’s look at a few " "of the most important groups." msgstr "" +"Rustは、様々な理由により多くの人にとって理想的です。いくつか最も重要なグループを見ていきましょう。" #: src/ch00-00-introduction.md:23 msgid "Teams of Developers" -msgstr "" +msgstr "開発者チーム" #: src/ch00-00-introduction.md:25 msgid "" @@ -593,12 +641,19 @@ msgid "" "bugs. By working alongside the compiler, the team can spend their time " "focusing on the program’s logic rather than chasing down bugs." msgstr "" +"Rustは、いろんなレベルのシステムプログラミングの知識を持つ開発者の巨大なチームとコラボするのに生産的なツールであると証明してきています。" +"低レベルコードは様々な種類の微細なバグを抱える傾向があり、そのようなバグは他の言語だと広範なテストと、" +"経験豊富な開発者による注意深いコードレビューによってのみ捕捉されるものです。Rustにおいては、" +"コンパイラが並行性のバグも含めたこのようなとらえどころのないバグのあるコードをコンパイルするのを拒むことで、" +"門番の役割を担います。コンパイラとともに取り組むことで、チームはバグを追いかけるよりもプログラムのロジックに集中することに、" +"時間を費やせるのです。" #: src/ch00-00-introduction.md:34 msgid "" "Rust also brings contemporary developer tools to the systems programming " "world:" msgstr "" +"Rustはまた、現代的な開発ツールをシステムプログラミング世界に導入します。" #: src/ch00-00-introduction.md:36 msgid "" @@ -606,28 +661,32 @@ msgid "" "compiling, and managing dependencies painless and consistent across the Rust " "ecosystem." msgstr "" +"Cargoは、付属の依存関係管理ツール兼ビルドツールで、依存関係の追加、コンパイル、管理を容易にし、Rustのエコシステム全体で一貫性を持たせます。" #: src/ch00-00-introduction.md:39 msgid "" "The Rustfmt formatting tool ensures a consistent coding style across " "developers." msgstr "" +"Rustfmtフォーマットツールは開発者の間で一貫したコーディングスタイルを保証します。" #: src/ch00-00-introduction.md:41 msgid "" "The Rust Language Server powers Integrated Development Environment (IDE) " "integration for code completion and inline error messages." msgstr "" +"Rust言語サーバーは、IDE(統合開発環境)との統合により、コード補完やインラインエラーメッセージに対応しています。" #: src/ch00-00-introduction.md:44 msgid "" "By using these and other tools in the Rust ecosystem, developers can be " "productive while writing systems-level code." msgstr "" +"これらのツールやRustのエコシステムの他のツールを使用することで、開発者はシステムレベルのコードを書きながら生産性を高めることができます。" #: src/ch00-00-introduction.md:47 msgid "Students" -msgstr "" +msgstr "学生" #: src/ch00-00-introduction.md:49 msgid "" @@ -638,10 +697,13 @@ msgid "" "make systems concepts more accessible to more people, especially those new " "to programming." msgstr "" +"Rustは、学生やシステムの概念を学ぶことに興味のある方向けです。Rustを使用して、" +"多くの人がOS開発などの話題を学んできました。コミュニティはとても暖かく、喜んで学生の質問に答えてくれます。" +"この本のような努力を通じて、Rustチームはシステムの概念を多くの人、特にプログラミング初心者にとってアクセス可能にしたいと考えています。" #: src/ch00-00-introduction.md:56 msgid "Companies" -msgstr "" +msgstr "企業" #: src/ch00-00-introduction.md:58 msgid "" @@ -652,10 +714,14 @@ msgid "" "applications, machine learning, and even major parts of the Firefox web " "browser." msgstr "" +"数百の企業が、大企業、中小企業を問わず、様々なタスクにプロダクションでRustを使用しています。" +"そのタスクには、コマンドラインツール、Webサービス、DevOpsツール、組み込みデバイス、" +"オーディオとビデオの解析および変換、暗号通貨、生物情報学、サーチエンジン、IoTアプリケーション、" +"機械学習、Firefoxウェブブラウザの主要部分さえ含まれます。" #: src/ch00-00-introduction.md:64 msgid "Open Source Developers" -msgstr "" +msgstr "オープンソース開発者" #: src/ch00-00-introduction.md:66 msgid "" @@ -663,10 +729,12 @@ msgid "" "community, developer tools, and libraries. We’d love to have you contribute " "to the Rust language." msgstr "" +"Rustは、Rustプログラミング言語やコミュニティ、開発者ツール、ライブラリを開発したい方向けです。" +"あなたがRust言語に貢献されることを心よりお待ちしております。" #: src/ch00-00-introduction.md:70 msgid "People Who Value Speed and Stability" -msgstr "" +msgstr "スピードと安定性に価値を見出す方" #: src/ch00-00-introduction.md:72 msgid "" @@ -679,6 +747,12 @@ msgid "" "to lower-level code as fast as code written manually, Rust endeavors to make " "safe code be fast code as well." msgstr "" +"Rustは、スピードと安定性を言語に渇望する方向けです。ここでいうスピードとは、" +"Rustコードの実行速度とプログラムを書くスピードのことです。Rustコンパイラのチェックにより、" +"機能の追加とリファクタリングを通して安定性を保証してくれます。これはこのようなチェックがない言語の脆いレガシーコードとは対照的で、" +"その場合開発者はしばしば、変更するのを恐れてしまいます。ゼロコスト抽象化を志向し、" +"手で書いたコードと同等の速度を誇る低レベルコードにコンパイルされる高レベル機能により、" +"Rustは安全なコードを高速なコードにもしようと努力しています。" #: src/ch00-00-introduction.md:81 msgid "" @@ -688,10 +762,13 @@ msgid "" "decades by providing safety _and_ productivity, speed _and_ ergonomics. Give " "Rust a try and see if its choices work for you." msgstr "" +"Rust言語は他の多くのユーザのサポートも望んでいます; ここで名前を出した方は、" +"ただの最大の出資者の一部です。総合すると、Rustの最大の野望は、プログラマが数十年間受け入れてきた代償を、安全性 *と* 生産性、" +"スピード *と* エルゴノミクスを提供することで排除することです。Rustを試してみて、その選択が自分に合っているか確かめてください。" #: src/ch00-00-introduction.md:87 msgid "Who This Book Is For" -msgstr "" +msgstr "この本は誰のためのものなの" #: src/ch00-00-introduction.md:89 msgid "" @@ -703,10 +780,14 @@ msgid "" "would be better served by reading a book that specifically provides an " "introduction to programming." msgstr "" +"この本は、あなたが他のプログラミング言語でコードを書いたことがあることを想定していますが、" +"具体的にどの言語かという想定はしません。私たちは、幅広い分野のプログラミング背景からの人にとってこの資料を広くアクセスできるようにしようとしてきました。" +"プログラミングとはなん *なのか* やそれについて考える方法について多くを語るつもりはありません。" +"もし、完全なプログラミング初心者であれば、プログラミング入門を特に行う本を読むことでよりよく役に立つでしょう。" #: src/ch00-00-introduction.md:96 msgid "How to Use This Book" -msgstr "" +msgstr "この本の使い方" #: src/ch00-00-introduction.md:98 msgid "" @@ -715,6 +796,8 @@ msgid "" "chapters might not delve into details on a particular topic but will revisit " "the topic in a later chapter." msgstr "" +"一般的に、この本は、順番に読み進めていくことを前提にしています。後の章は、前の章の概念の上に成り立ち、" +"前の章では、特定の話題にさほど深入りしない可能性がありますが、後ほどの章で同じ話題を再検討するでしょう。" #: src/ch00-00-introduction.md:103 msgid "" @@ -724,6 +807,9 @@ msgid "" "learned so far. Chapters 2, 12, and 20 are project chapters; the rest are " "concept chapters." msgstr "" +"この本には2種類の章があるとわかるでしょう: 概念の章とプロジェクトの章です。概念の章では、" +"Rustの一面を学ぶでしょう。プロジェクトの章では、それまでに学んだことを適用して一緒に小さなプログラムを構築します。" +"2、12、20章がプロジェクトの章です。つまり、残りは概念の章です。" #: src/ch00-00-introduction.md:108 msgid "" @@ -740,6 +826,13 @@ msgid "" "Chapter 3, returning to Chapter 2 when you’d like to work on a project " "applying the details you’ve learned." msgstr "" +"第1章はRustのインストール方法、“Hello, world!”プログラムの書き方、Rustのパッケージマネージャ兼、" +"ビルドツールのCargoの使用方法を説明します。第2章は、数当てゲームを作りながら、実際にRustでのプログラミングをやってもらう導入です。" +"ここでは概念をざっくりと講義し、後ほどの章で追加の詳細を提供します。" +"今すぐRustの世界に飛び込みたいなら、第2章こそがそのためのものです。第3章は他のプログラミング言語の機能に似たRustの機能を講義し、" +"第4章ではRustの所有権システムについて学びます。" +"あなたが次に進む前に全ての詳細を学ぶことを好む特別に几帳面な学習者なら、" +"第2章を飛ばして真っ先に第3章に行き、学んだ詳細を適用するプロジェクトに取り組みたくなった時に第2章に戻りたくなる可能性があります。" #: src/ch00-00-introduction.md:120 msgid "" @@ -747,6 +840,8 @@ msgid "" "expressions, and the `if let` control flow construct. You’ll use structs and " "enums to make custom types in Rust." msgstr "" +"第5章は、構造体とメソッドについて議論し、第6章はenum、`match`式、`if let`制御フロー構文を講義します。" +"構造体とenumを使用してRustにおいて独自の型を作成します。" #: src/ch00-00-introduction.md:124 msgid "" @@ -756,6 +851,9 @@ msgid "" "that the standard library provides, such as vectors, strings, and hash maps. " "Chapter 9 explores Rust’s error-handling philosophy and techniques." msgstr "" +"第7章では、Rustのモジュールシステムと自分のコードとその公開されたAPI(Application Programming Interface)を体系化するプライバシー規則について学びます。" +"第8章では、ベクタ、文字列、ハッシュマップなどの標準ライブラリが提供する一般的なコレクションデータ構造の一部を議論します。" +"第9章では、Rustのエラー処理哲学とテクニックを探究します。" #: src/ch00-00-introduction.md:130 msgid "" @@ -767,6 +865,10 @@ msgid "" "tool that searches for text within files. For this, we’ll use many of the " "concepts we discussed in the previous chapters." msgstr "" +"第10章ではジェネリクス、トレイト、ライフタイムについて深入りし、これらは複数の型に適用されるコードを定義する力をくれます。" +"第11章は、完全にテストに関してで、Rustの安全性保証があってさえ、プログラムのロジックが正しいことを保証するために、" +"必要になります。第12章では、ファイル内のテキストを検索する`grep`コマンドラインツールの一部の機能を自身で構築します。" +"このために、以前の章で議論した多くの概念を使用します。" #: src/ch00-00-introduction.md:138 msgid "" @@ -776,6 +878,9 @@ msgid "" "Chapter 15 discusses smart pointers that the standard library provides and " "the traits that enable their functionality." msgstr "" +"第13章はクロージャとイテレータを探究します。これらは、関数型プログラミング言語由来のRustの機能です。" +"第14章では、Cargoをより詳しく調査し、他人と自分のライブラリを共有する最善の策について語ります。" +"第15章では、標準ライブラリが提供するスマートポインタとその機能を可能にするトレイトを議論します。" #: src/ch00-00-introduction.md:144 msgid "" @@ -784,6 +889,8 @@ msgid "" "Chapter 17 looks at how Rust idioms compare to object-oriented programming " "principles you might be familiar with." msgstr "" +"第16章では、並行プログラミングの異なるモデルを見ていき、Rustが恐れなしに複数のスレッドでプログラムする手助けをする方法を語ります。" +"第17章では、馴染み深い可能性のあるオブジェクト指向プログラミングの原則とRustのイディオムがどう比較されるかに目を向けます。" #: src/ch00-00-introduction.md:149 msgid "" @@ -793,12 +900,16 @@ msgid "" "Rust, macros, and more about lifetimes, traits, types, functions, and " "closures." msgstr "" +"第18章は、パターンとパターンマッチングのリファレンスであり、これらはRustプログラムを通して、" +"考えを表現する強力な方法になります。第19章は、unsafe Rustやマクロ、ライフタイム、トレイト、型、関数、クロージャの詳細を含む、" +"興味のある高度な話題のスモーガスボード(`訳注`: 日本でいうバイキングのこと)を含みます。" #: src/ch00-00-introduction.md:154 msgid "" "In Chapter 20, we’ll complete a project in which we’ll implement a low-level " "multithreaded web server!" msgstr "" +"第20章では、低レベルなマルチスレッドのWebサーバを実装するプロジェクトを完成させます!" #: src/ch00-00-introduction.md:157 msgid "" @@ -810,6 +921,11 @@ msgid "" "translations of the book, and in Appendix G we’ll cover how Rust is made and " "what nightly Rust is." msgstr "" +"最後に、言語についての有用な情報をよりリファレンスのような形式で含む付録があります。" +"付録AはRustのキーワードを講義し、付録Bは、Rustの演算子と記号、付録Cは、" +"標準ライブラリが提供する導出可能なトレイト、付録Dはいくつか便利な開発ツールを講義し、" +"付録EではRustのエディションについて説明します。付録Fではこの本の翻訳を見つけることができ、" +"付録GではRustの作られ方、そしてnightly Rustとは何かについて講義します。" #: src/ch00-00-introduction.md:165 msgid "" @@ -817,10 +933,12 @@ msgid "" "it! You might have to jump back to earlier chapters if you experience any " "confusion. But do whatever works for you." msgstr "" +"この本を読む間違った方法なんてありません: 飛ばしたければ、どうぞご自由に!" +"混乱したら、前の章に戻らなければならない可能性もあります。ですが、自分に合った方法でどうぞ。" #: src/ch00-00-introduction.md:169 msgid "" -msgstr "" +msgstr "" #: src/ch00-00-introduction.md:171 msgid "" @@ -833,78 +951,99 @@ msgid "" "run is meant to error. Ferris will also help you distinguish code that isn’t " "meant to work:" msgstr "" +"Rustを学ぶ過程で重要な部分は、コンパイラが表示するエラーメッセージを読む方法を学ぶことです: " +"それは動くコードへと導いてくれます。そのため、各場面でコンパイラが表示するエラーメッセージとともに、" +"コンパイルできない例を多く提供します。適当に例を選んで走らせたら、コンパイルできないかもしれないことを知ってください!" +"周りのテキストを読んで実行しようとしている例がエラーになることを意図しているのか確認することを確かめてください。" +"フェリスもコードが動作するとは意図されていないコードを見分けるのを手助けしてくれます:" #: src/ch00-00-introduction.md:179 msgid "Ferris" -msgstr "" +msgstr "Ferris" #: src/ch00-00-introduction.md:179 msgid "Meaning" -msgstr "" +msgstr "Meaning" +# FIXME: img に訳文を追加するとテーブルが崩れる #: src/ch00-00-introduction.md:181 msgid "" "
 " msgstr "" +"
+" #: src/ch00-00-introduction.md:181 msgid "This code does not compile!" -msgstr "" +msgstr "このコードはコンパイルできません!" +# FIXME: img に訳文を追加するとテーブルが崩れる #: src/ch00-00-introduction.md:182 msgid "" "\"Ferris" msgstr "" +"\"Ferris" #: src/ch00-00-introduction.md:182 msgid "This code panics!" -msgstr "" +msgstr "このコードはパニックします!" +# FIXME: img に訳文を追加するとテーブルが崩れる #: src/ch00-00-introduction.md:183 msgid "" "" msgstr "" +"" #: src/ch00-00-introduction.md:183 msgid "This code does not produce the desired behavior." -msgstr "" +msgstr "このコードは求められている振る舞いをしません。" #: src/ch00-00-introduction.md:185 msgid "" "In most situations, we’ll lead you to the correct version of any code that " "doesn’t compile." msgstr "" +"ほとんどの場合、コンパイルできないあらゆるコードの正しいバージョンへと導きます。" #: src/ch00-00-introduction.md:188 msgid "Source Code" -msgstr "" +msgstr "ソースコード" +# TODO: 訳注ブロックの挿入はこれでいいか検討 #: src/ch00-00-introduction.md:190 msgid "" "The source files from which this book is generated can be found on [GitHub]" "(https://github.com/rust-lang/book/tree/main/src)." msgstr "" +"この本が生成されるソースファイルは、[GitHub](https://github.com/rust-lang/book/tree/main/src)で見つかります。" +"" +"\n\n> 訳注: 日本語版は[こちら](https://github.com/rust-lang-ja/book-ja)です。" #: src/ch01-00-getting-started.md:3 msgid "" "Let’s start your Rust journey! There’s a lot to learn, but every journey " "starts somewhere. In this chapter, we’ll discuss:" msgstr "" +"Rustの旅を始めましょう!学ぶべきことはたくさんありますが、いかなる旅もどこかから始まります。" +"この章では、以下のことを説明します:" #: src/ch01-00-getting-started.md:6 msgid "Installing Rust on Linux, macOS, and Windows" -msgstr "" +msgstr "RustをLinux、macOS、Windowsにインストールする" #: src/ch01-00-getting-started.md:7 msgid "Writing a program that prints `Hello, world!`" -msgstr "" +msgstr "`Hello, world!`と表示するプログラムを書く" #: src/ch01-00-getting-started.md:8 msgid "Using `cargo`, Rust’s package manager and build system" -msgstr "" +msgstr "`cargo`というRustのパッケージマネージャ兼ビルドシステムを使用する" #: src/ch01-01-installation.md:3 msgid "" @@ -912,6 +1051,7 @@ msgid "" "command line tool for managing Rust versions and associated tools. You’ll " "need an internet connection for the download." msgstr "" +"最初の手順は、Rustをインストールすることです。Rustは、Rustのバージョンと関連するツールを管理する、`rustup`というコマンドラインツールを使用してダウンロードします。ダウンロードには、インターネットへの接続が必要になります。" #: src/ch01-01-installation.md:7 msgid "" @@ -919,6 +1059,8 @@ msgid "" "[Other Rust Installation Methods page](https://forge.rust-lang.org/infra/" "other-installation-methods.html) for more options." msgstr "" +"注釈: なんらかの理由で`rustup`を使用したくない場合、[Other Rust Installation Methods ページ](https://forge.rust-lang.org/infra/other-installation-methods.html)で、" +"他の選択肢をご覧になってください。" #: src/ch01-01-installation.md:10 msgid "" @@ -929,10 +1071,15 @@ msgid "" "and warnings. In other words, any newer, stable version of Rust you install " "using these steps should work as expected with the content of this book." msgstr "" +"以下の手順で最新の安定版のRustコンパイラをインストールします。" +"Rustは安定性 (stability) を保証しているので、現在この本の例でコンパイルできるものは、新しいバージョンになってもコンパイルでき続けることが保証されます。" +"出力は、バージョンによって多少異なる可能性があります。Rustは頻繁にエラーメッセージと警告を改善しているからです。" +"言い換えると、どんな新しいバージョンでもこの手順に従ってインストールした安定版なら、" +"この本の内容で想定通りに動くはずです。" #: src/ch01-01-installation.md:17 msgid "Command Line Notation" -msgstr "" +msgstr "コマンドラインの記法" #: src/ch01-01-installation.md:19 msgid "" @@ -943,16 +1090,22 @@ msgid "" "typically show the output of the previous command. Additionally, PowerShell-" "specific examples will use `>` rather than `$`." msgstr "" +"この章及び、本を通して、端末で使用するなんらかのコマンドを示すことがあります。読者が入力するべき行は、" +"全て`$`で始まります。ただし、読者が`$`文字を入力する必要はありません; " +"これは各コマンドの開始を示すために表示しているコマンドラインプロンプトです。" +"`$`で始まらない行は、典型的には直前のコマンドの出力を示します。また、PowerShell限定の例には、" +"`$`ではなく、`>`を使用します。" #: src/ch01-01-installation.md:26 msgid "Installing `rustup` on Linux or macOS" -msgstr "" +msgstr "LinuxとmacOSに`rustup`をインストールする" #: src/ch01-01-installation.md:28 msgid "" "If you’re using Linux or macOS, open a terminal and enter the following " "command:" msgstr "" +"LinuxかmacOSを使用しているなら、端末(ターミナル)を開き、以下のコマンドを入力してください:" #: src/ch01-01-installation.md:30 msgid "" @@ -960,6 +1113,9 @@ msgid "" "$ curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh\n" "```" msgstr "" +"```console\n" +"$ curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh\n" +"```" #: src/ch01-01-installation.md:34 msgid "" @@ -968,6 +1124,8 @@ msgid "" "prompted for your password. If the install is successful, the following line " "will appear:" msgstr "" +"このコマンドはスクリプトをダウンロードし、`rustup`ツールのインストールを開始し、Rustの最新の安定版をインストールします。" +"パスワードを求められる可能性があります。インストールがうまく行けば、以下の行が出現するでしょう:" #: src/ch01-01-installation.md:42 msgid "" @@ -977,10 +1135,15 @@ msgid "" "include a linker. A C compiler is also useful because some common Rust " "packages depend on C code and will need a C compiler." msgstr "" +"*リンカ* も必要になるでしょう。" +"リンカは、コンパイルされた出力をひとつのファイルに合体させるためにRustが使用するプログラムです。" +"リンカが既にインストールされている可能性は高いでしょう。" +"リンカエラーが発生したときは、Cコンパイラは典型的にリンカを含んでいるでしょうから、Cコンパイラをインストールすべきです。" +"一般的なRustパッケージの中には、Cコードに依存し、Cコンパイラが必要になるものもあるので、この理由からもCコンパイラは有用です。" #: src/ch01-01-installation.md:48 msgid "On macOS, you can get a C compiler by running:" -msgstr "" +msgstr "macOSでは、以下を実行することでCコンパイラが手に入ります:" #: src/ch01-01-installation.md:54 msgid "" @@ -988,10 +1151,12 @@ msgid "" "distribution’s documentation. For example, if you use Ubuntu, you can " "install the `build-essential` package." msgstr "" +"Linuxユーザは、通常はディストリビューションのドキュメントに従って、GCCまたはClangをインストールするべきです。" +"例えばUbuntuを使用している場合は、`build-essential`パッケージをインストールすれば大丈夫です。" #: src/ch01-01-installation.md:58 msgid "Installing `rustup` on Windows" -msgstr "" +msgstr "Windowsで`rustup`をインストールする" #: src/ch01-01-installation.md:60 msgid "" @@ -1000,6 +1165,8 @@ msgid "" "some point in the installation, you’ll receive a message explaining that " "you’ll also need the MSVC build tools for Visual Studio 2013 or later." msgstr "" +"Windowsでは、[https://www.rust-lang.org/tools/install](https://www.rust-lang.org/tools/install)に行き、手順に従ってRustをインストールしてください。" +"インストールの途中で、Visual Studio 2013以降用のMSVCビルドツールも必要になるという旨のメッセージが出るでしょう。" #: src/ch01-01-installation.md:65 msgid "" @@ -1007,42 +1174,53 @@ msgid "" "(https://visualstudio.microsoft.com/downloads/). When asked which workloads " "to install, include:" msgstr "" +"ビルドツールを取得するには、[Visual Studio 2022](https://visualstudio.microsoft.com/downloads/)をインストールする必要があるでしょう。" +"どのワークロード (workloads) をインストールするかと質問されたときは、以下を含めてください:" #: src/ch01-01-installation.md:68 msgid "“Desktop Development with C++”" -msgstr "" +msgstr "「C++によるデスクトップ開発」(“Desktop Development with C++”)" #: src/ch01-01-installation.md:69 msgid "The Windows 10 or 11 SDK" -msgstr "" +msgstr "Windows 10または11のSDK" #: src/ch01-01-installation.md:70 msgid "" "The English language pack component, along with any other language pack of " "your choosing" msgstr "" +"英語の言語パック (English language pack) コンポーネント (お好みで他の任意の言語パックも)" +# TODO: 訳注ブロックの挿入はこれでいいか検討 +# 上のブロックの末尾ではなくこのブロックの先頭に置いているのは