[from now] 2013/02/23 20:18:11

diff --git a/docs/locale/ja/LC_MESSAGES/data_driven_testing.mo b/docs/locale/ja/LC_MESSAGES/data_driven_testing.mo
index 2e916d3..9954ed3 100644
Binary files a/docs/locale/ja/LC_MESSAGES/data_driven_testing.mo and b/docs/locale/ja/LC_MESSAGES/data_driven_testing.mo differ
diff --git a/docs/locale/ja/LC_MESSAGES/interaction_based_testing.po b/docs/locale/ja/LC_MESSAGES/interaction_based_testing.po
index fa61229..bee0dc4 100644
--- a/docs/locale/ja/LC_MESSAGES/interaction_based_testing.po
+++ b/docs/locale/ja/LC_MESSAGES/interaction_based_testing.po
@@ -56,6 +56,11 @@ msgid ""
 "the publisher and its subscribers. Such an implementation is often called a "
 "*mock object*."
 msgstr ""
+"どのように\\ ``Publisher``\\ をテストすればよいでしょうか？状態ベースのテスト"
+"ではpublisherがsubscriberを追跡できているか検証できます。しかし一番の興味は、"
+"publisherが送ったメッセージがsubscriberが受信できるかです。これを確かめる"
+"ためには\\ ``Subscriber``\\ の特別な実装を用意し、publisherとsubscriberの"
+"やり取りを監視します。このような実装を\\ *モックオブジェクト*\\ と呼びます。"

 # 7e7ca8ee5001456c92ea6821bba2c5a9
 #: ../../interaction_based_testing.rst:31
@@ -68,6 +73,11 @@ msgid ""
 "generate mock implementations of collaborators that verify these "
 "expectations."
 msgstr ""
+"subscriberのモックの実装を自前で行うこともできますが、相互作用な複雑な"
+"メソッドが増えてくるために非常に手間を感じてきます。そこでモックフレームワーク"
+"の登場です。このフレームワークはコラボレーが仕様の条件下でどのように"
+"相互作業するか定義でき、またそれが期待どおりに動いたかを検証"
+"できるモックを作成できます。"

 # 24e8bec5a9bd4c10bdeff0a92bc789ce
 #: ../../interaction_based_testing.rst:38
@@ -79,6 +89,11 @@ msgid ""
 "meta-programming, this has the advantage that it also works for testing Java "
 "code."
 msgstr ""
+"よくあるJavaのモックフレームワークと同様に、Spockも"
+"\\ `JDK動的プロキシ <http://docs.oracle.com/javase/7/docs/api/>`_\\ (モックインタフェースの作成時)"
+"、\\ `CGLIB <http://cglib.sourceforge.net>`_\\ プロキシ(モッククラスの作成時)を使用してモックを"
+"作成しています。Groovyのメタプラグラミングと比べると、これらはJavaのコードに対してテストする際に"
+"有利に働きます。"

 # d0dd89c9f6b144b0b02acbb9aa9f1181
 #: ../../interaction_based_testing.rst:43
@@ -93,6 +108,15 @@ msgid ""
 "and ultimately more fun. We hope that by the end of this chapter, you will "
 "agree that we have achieved these goals."
 msgstr ""
+"Javaの世界では、"
+"\\ `JMock <http://www.jmock.org/>`_\\ 、\\ `EasyMock <http://www.easymock.org/>`_\\ 、"
+"\\ `Mockito <http://code.google.com/p/mockito/>`_\\ といったモックフレームワークが人気があり、"
+"また非常に成熟しています。これらモックフレームワークをSpcokで使用することもできますが"
+"Spcokの言語仕様に合わせてより自然に記述できるように、これらのモックフレームを"
+"Spock自身で構築することを決めました。この決定は、インタラクションベースの"
+"テストを容易にするために、Groovyの機能を活用し、より読みやすく、より楽しく書けるよう"
+"にしたいという思いからです。"
+"この章を読み終えた時には、その目標が達成されていると感じていただけること望んでいます。"

 # 4283b6f8f4274562a5d7f6d9199ad9fd
 #: ../../interaction_based_testing.rst:50
@@ -100,11 +124,13 @@ msgid ""
 "Except where indicated, all features of Spock's mocking framework work both "
 "for testing Java and Groovy code."
 msgstr ""
+"特に何も明示されていない限り、すべてのモックフレームの機能は"
+"JavaとGroovyそれぞれのテストで使用できます。"

 # 843766b3049a4ec7b1a78e71767197ab
 #: ../../interaction_based_testing.rst:53
 msgid "Creating Mock Objects"
-msgstr ""
+msgstr "Mockオブジェクトの作成"

 # d15e89ba2a48421cae3abbff619354e7
 #: ../../interaction_based_testing.rst:55
@@ -112,6 +138,8 @@ msgid ""
 "Mock objects are created with the ``MockingApi.Mock()`` method [#creating]_. "
 "Let's create two mock subscribers::"
 msgstr ""
+"モックオブジェクトは\\ ``MockingApi.Mock()``\\ メソッドで作成出来ます\\ [#creating]_\\ 。"
+"2つのsubscriberのモックを作成してみましょう。"

 # 12a6c83680a1401c92cc9ea29f7875ed
 #: ../../interaction_based_testing.rst:60
@@ -119,6 +147,8 @@ msgid ""
 "Alternatively, the following Java-like syntax is supported, which may give "
 "better IDE support::"
 msgstr ""
+"または、IDEのサポートが得られやすいように、よりJavaのシンタックスに"
+"近い形で記述することもできます。"

 # 6b8b1190c5b442929500e1f6d669d45c
 #: ../../interaction_based_testing.rst:65
@@ -126,6 +156,7 @@ msgid ""
 "Here, the mock's type is inferred from the variable type on the left-hand "
 "side of the assignment."
 msgstr ""
+"この場合のモックの型は左辺の変数の型から推論されます。"

 # 5ca22ed0f5484584b8008aab18278335
 #: ../../interaction_based_testing.rst:67
@@ -133,6 +164,7 @@ msgid ""
 "If the mock's type is given on the left-hand side of the assignment, it's "
 "permissible (though not required) to omit it on the right-hand side."
 msgstr ""
+"もしモックの型が左辺で指定された場合は、右辺で型を省略することができます(指定しても問題ない)。"

 # 40f827a8103e457383377bbb220e02bd
 #: ../../interaction_based_testing.rst:70
@@ -142,11 +174,15 @@ msgid ""
 "``Subscriber``. Hence it can be passed to statically typed (Java) code that "
 "expects this type."
 msgstr ""
+"モックオブジェクトは文字通りその型の実装を作成します(クラスの場合は継承)。"
+"別の言い方をすると、上記の例でsubscriberはis-a Subscriberです。"
+"これの意味するところは、この型を期待する静的型付けのコード(Java)に"
+"このオブジェクトを渡すことができます。"

 # 92b15d3b0c0d44d8a26f37dffc24ea58
 #: ../../interaction_based_testing.rst:75
 msgid "Default Behavior of Mock Objects"
-msgstr ""
+msgstr "モックオブジェクトのデフォルト動作"

 # ea4f6095988d4ef6812df44e535f6e5a
 #: ../../interaction_based_testing.rst:79
@@ -162,6 +198,17 @@ msgid ""
 "describe only what's relevant about an interaction, avoiding the over-"
 "specification trap."
 msgstr ""
+"Mockitのように、モックフレームはデフォルトでlenient(緩い)であるべきだと私たちは考えています。"
+"これはモックオブジェクトに対して予期しないメソッド(別の言い方をすると、"
+"テストの関係のない相互作用)の呼び出しが可能で、"
+"それの呼び出しに対しデフォルトのレスポンスを返すことを意味しています。"
+"逆にEasyMock、JMockといったモックフレームはデフォルトでstrictで、"
+"予期しないメソッドの呼び出しに対して例外をスローします。"
+"このような厳密性を強制することで、over-specification(詳細すぎる仕様)"
+"な状態となり、内部のコード変更に対してテストがbrittle(壊れやすい)"
+"になり、すぐにテストの失敗を引き起こします。"
+"Spockのモックフレームワークはover-specificationのトラップを回避して、"
+"関心のある相互作用だけを簡単に記述することができます。"

 # cf77246bfb6441debd3f255bf615b39f
 #: ../../interaction_based_testing.rst:86
@@ -175,6 +222,15 @@ msgid ""
 "type it represents. This default behavior is overridable by stubbing the "
 "methods, which we will learn about in the `Stubbing`_ section."
 msgstr ""
+"初期化状態のモックは何の振る舞いもしません。このオブジェクトに対して"
+"メソッドの呼び出しをすることはできますが、メソッドの戻り値の方に応じた"
+"デフォルト値を返すだけです(\\ ``false``\\ 、\\ ``0``\\、または\\ ``null``\\ )。"
+"ただし\\ ``Object.equals``\\ 、\\ ``Object.hashCode``\\ 、\\ ``Object.toString``\\ メソッド"
+"は例外です。モックオブジェクトはオブジェクト毎に一意のハッシュコードを持ち"
+"自身との比較にのみ等しくなります。そして文字列表現では、そのモックが表す"
+"型が含まれるようになっています。"
+"このデフォルトの動作はスタブ化のメソッドによりオーバーライド可能です。"
+"詳細は\\ `Stubbing`_\\ セクションで学びます。"

 # da8994c41e7a43b8a2553a67729422f5
 #: ../../interaction_based_testing.rst:93
[from now] 2013/02/23 20:38:45

diff --git a/docs/locale/ja/LC_MESSAGES/interaction_based_testing.po b/docs/locale/ja/LC_MESSAGES/interaction_based_testing.po
index bee0dc4..f4a62b2 100644
--- a/docs/locale/ja/LC_MESSAGES/interaction_based_testing.po
+++ b/docs/locale/ja/LC_MESSAGES/interaction_based_testing.po
@@ -73,10 +73,10 @@ msgid ""
 "generate mock implementations of collaborators that verify these "
 "expectations."
 msgstr ""
-"subscriberのモックの実装を自前で行うこともできますが、相互作用な複雑な"
+"subscriberのモックの実装を自前で行うこともできますが、インタラクションが複雑な"
 "メソッドが増えてくるために非常に手間を感じてきます。そこでモックフレームワーク"
 "の登場です。このフレームワークはコラボレーが仕様の条件下でどのように"
-"相互作業するか定義でき、またそれが期待どおりに動いたかを検証"
+"相互作用するか定義でき、またそれが期待どおりに動いたかを検証"
 "できるモックを作成できます。"

 # 24e8bec5a9bd4c10bdeff0a92bc789ce
@@ -200,7 +200,7 @@ msgid ""
 msgstr ""
 "Mockitのように、モックフレームはデフォルトでlenient(緩い)であるべきだと私たちは考えています。"
 "これはモックオブジェクトに対して予期しないメソッド(別の言い方をすると、"
-"テストの関係のない相互作用)の呼び出しが可能で、"
+"テストと関係のないインタラクション)の呼び出しが可能で、"
 "それの呼び出しに対しデフォルトのレスポンスを返すことを意味しています。"
 "逆にEasyMock、JMockといったモックフレームはデフォルトでstrictで、"
 "予期しないメソッドの呼び出しに対して例外をスローします。"
@@ -208,7 +208,7 @@ msgstr ""
 "な状態となり、内部のコード変更に対してテストがbrittle(壊れやすい)"
 "になり、すぐにテストの失敗を引き起こします。"
 "Spockのモックフレームワークはover-specificationのトラップを回避して、"
-"関心のある相互作用だけを簡単に記述することができます。"
+"関心のあるインタラクションだけを簡単に記述することができます。"

 # cf77246bfb6441debd3f255bf615b39f
 #: ../../interaction_based_testing.rst:86
@@ -235,7 +235,7 @@ msgstr ""
 # da8994c41e7a43b8a2553a67729422f5
 #: ../../interaction_based_testing.rst:93
 msgid "Injecting Mock Objects into Code Under Specification"
-msgstr ""
+msgstr "スペック内でモックオブジェクトを注入する"

 # bfa13eeb62654adeae594fead2271469
 #: ../../interaction_based_testing.rst:95
@@ -243,6 +243,8 @@ msgid ""
 "After creating the publisher and its subscribers, we need to make the latter "
 "known to the former::"
 msgstr ""
+"publisherとsubscriberのモックを作成した後に、publisherに作成したsubscriber"
+"を知らせれる必要があります。"

 # 30335c8a92ea4482832a90b74282c2d2
 #: ../../interaction_based_testing.rst:108
@@ -250,11 +252,13 @@ msgid ""
 "We are now ready to describe the expected interactions between the two "
 "parties."
 msgstr ""
+"これで2つのオブジェクト間で行われるインタラクションについて記述する"
+"準備が整いました。"

 # 6e9b615a816a46e6a3aff1e3c4129e74
 #: ../../interaction_based_testing.rst:111
 msgid "Mocking"
-msgstr ""
+msgstr "モック化"

 # be2452128cb34aca894ac477050b5496
 #: ../../interaction_based_testing.rst:113
[from now] 2013/02/23 22:25:30

diff --git a/docs/locale/ja/LC_MESSAGES/interaction_based_testing.po b/docs/locale/ja/LC_MESSAGES/interaction_based_testing.po
index f4a62b2..4306bd0 100644
--- a/docs/locale/ja/LC_MESSAGES/interaction_based_testing.po
+++ b/docs/locale/ja/LC_MESSAGES/interaction_based_testing.po
@@ -244,7 +244,7 @@ msgid ""
 "known to the former::"
 msgstr ""
 "publisherとsubscriberのモックを作成した後に、publisherに作成したsubscriber"
-"を知らせれる必要があります。"
+"を知らせる必要があります。"

 # 30335c8a92ea4482832a90b74282c2d2
 #: ../../interaction_based_testing.rst:108
@@ -258,7 +258,7 @@ msgstr ""
 # 6e9b615a816a46e6a3aff1e3c4129e74
 #: ../../interaction_based_testing.rst:111
 msgid "Mocking"
-msgstr "モック化"
+msgstr "モック化する"

 # be2452128cb34aca894ac477050b5496
 #: ../../interaction_based_testing.rst:113
@@ -266,6 +266,9 @@ msgid ""
 "Mocking is the act of describing (mandatory) interactions between the object "
 "under specification and its collaborators. Here is an example::"
 msgstr ""
+"モック化するとは仕様に従い、オブジェクトとそのコラボレータ間(で必須)の"
+"インタラクションを記述するということです。"
+"次の例を見てください。"

 # b8109a44526043bfb0a9c3b825217ca3
 #: ../../interaction_based_testing.rst:125
@@ -273,6 +276,8 @@ msgid ""
 "Read out aloud: \"When the publisher sends a 'hello' message, then both "
 "subscribers should receive that message exactly once.\""
 msgstr ""
+"言葉にしてみると「publisher が 'hello' のメッセージを send したとき、"
+" それぞれの subscriber は 1回 message を receive すべき」になります。"

 # 91ae211516c54c659901daca01dd8b90
 #: ../../interaction_based_testing.rst:127
@@ -284,11 +289,17 @@ msgid ""
 "thrown. This verification happens automatically and does not require any "
 "additional code."
 msgstr ""
+"フィーチャーメソッドが実行されると、\\ ``when:``\\ ブロック内において"
+"\\ ``then:``\\ ブロックで指定したインタラクションにマッチする"
+"モックオブジェクトへの呼び出しが全て記録されます。"
+"もし期待したインタラクションが満たされない場合は\\ ``InteractionNotSatisfiedError``\\ "
+"(のサブクラス)がスローされます。"
+"この検証は自動的に行われ、これ以上にコードを記述する必要はありません。"

 # be33d88d5f3141f497456c847fc5da94
 #: ../../interaction_based_testing.rst:133
 msgid "Interactions"
-msgstr ""
+msgstr "インタラクション"

 # 27703cd55f37403d907950416aa5d7e1
 #: ../../interaction_based_testing.rst:137
@@ -300,6 +311,12 @@ msgid ""
 "against. Depending on the circumstances, the interaction may match zero, "
 "one, or multiple invocations."
 msgstr ""
+"いいえ。インタラクションは通常のメソッド呼び出しのように見えますが、"
+"これは期待するメソッドの実行を簡単に表現する方法でしかありません。"
+"インタラクションをモックオブジェクトへの全ての呼び出しに対する正規表現と"
+"考えるのは良い方法です。"
+"指定の方法によってはインタラクションが0回、1回、または複数回マッチする"
+"かも知れません。"

 # d496b838aad345629eea4eb09cf0a80c
 #: ../../interaction_based_testing.rst:142
@@ -308,11 +325,16 @@ msgid ""
 "*interactions*, each of which has four distinct parts: a *cardinality*, a "
 "*target constraint*, a *method constraint*, and an *argument constraint*::"
 msgstr ""
+"``then:``\\ ブロックの内容を詳細に見ていきましょう。"
+"これには2つの\\ *インタラクション*\\ が記述されており、それぞれ"
+"\\ *cardinality(濃度)*\\ 、\\ *target constraint*\\ 、"
+"\\ *method constraint*\\ 、そして\\ *argument constraint*\\ "
+"の4つの個別パートから成り立っています。"

 # e81001af510f4785ab5bfaeb5f3f5358
 #: ../../interaction_based_testing.rst:153
 msgid "Cardinality"
-msgstr ""
+msgstr "Cardinality"

 # 97b577ab60bf4adca010687ef58d4f33
 #: ../../interaction_based_testing.rst:155
@@ -320,11 +342,14 @@ msgid ""
 "The cardinality of an interaction describes how often a method call is "
 "expected. It can either be a fixed number or a range::"
 msgstr ""
+"インタラクションでのcardinalityは、メソッドの呼び出しがどの程度あることを"
+"期待しているか表しています。"
+"これは固定の数値、または範囲で指定できます。"

 # f9b110fd388d4db0b4b7cbf2fc64ef28
 #: ../../interaction_based_testing.rst:166
 msgid "Target Constraint"
-msgstr ""
+msgstr "Target Constraint"

 # 152deec0237540a1a2d07454f65c6759
 #: ../../interaction_based_testing.rst:168
@@ -332,6 +357,8 @@ msgid ""
 "The target constraint of an interaction describes which mock object is "
 "expected to receive the method call::"
 msgstr ""
+"インタラクションでのtarget constraintは呼び出しを期待するモックオブジェクト"
+"を表しています。"

 # e2e656ab80a34aa89e52d0b0c617ccee
 #: ../../interaction_based_testing.rst:174
@@ -344,6 +371,8 @@ msgid ""
 "The method constraint of an interaction describes which method is expected "
 "to be called::"
 msgstr ""
+"インタラクションでのmethod constraintは呼び出しを期待するメソッド"
+"を表しています。"

 # 2b94d1219446478c88bd63a30abe2a82
 #: ../../interaction_based_testing.rst:182
@@ -351,12 +380,15 @@ msgid ""
 "When expecting a call to a getter method, Groovy property syntax *can* be "
 "used instead of method syntax::"
 msgstr ""
+"ゲッターメソッドの呼び出しを期待する場合は、Groovyのプロパティ構文が"
+"メソッドのシンタックスの代わりに使用できます。"

 # e00d2250ebc347c2ae5216213044e292
 #: ../../interaction_based_testing.rst:186
 msgid ""
 "When expecting a call to a setter method, only method syntax can be used::"
 msgstr ""
+"逆にセッターメソッドの呼び出しを期待する場合は、メソッドのシンタックスのみが使用できます。"

 # 922b9cdcc93842ebb533f0e576994bab
 #: ../../interaction_based_testing.rst:191
@@ -369,12 +401,15 @@ msgid ""
 "The argument constraints of an interaction describe which method arguments "
 "are expected::"
 msgstr ""
+"インタラクションでのargument constraintsは呼び出しを期待するメソッドの引数"
+"を表しています。"

 # a185b9bd01604d5caa517f00c4e2b4ca
 #: ../../interaction_based_testing.rst:205
 msgid ""
 "Argument constraints work as expected for methods with multiple arguments::"
 msgstr ""
+"Argument constraintsは複数の引数を持つメソッドに対しても期待通り動作します。"

 # 607bcfd285c0441ebef7bc92e267ae89
 #: ../../interaction_based_testing.rst:209
@@ -382,6 +417,8 @@ msgid ""
 "When dealing with vararg methods, vararg syntax can also be used in the "
 "corresponding interactions::"
 msgstr ""
+"可変長引数のメソッドを扱う場も、インタラクションの記述方法に"
+"合わせて記述することができます。"

 # acc5f693a51b4b3ca00bf183a8707c08
 #: ../../interaction_based_testing.rst:221
@@ -390,6 +427,9 @@ msgid ""
 "in vararg style. Consequently, vararg syntax can also be used in "
 "interactions matching such methods."
 msgstr ""
+"Groovyのメソッドは最後のパラメータを配列とすると可変長引数が使用できます。"
+"したがって、可変長引数のシンタックスと同様にこのようなメソッドに対しても"
+"インタラクションのマッチングが行えます。"

 # 14cd2169aba94449b8480464e4f10e0f
 #: ../../interaction_based_testing.rst:225
[from now] 2013/02/23 22:34:36

diff --git a/docs/locale/ja/LC_MESSAGES/interaction_based_testing.po b/docs/locale/ja/LC_MESSAGES/interaction_based_testing.po
index 4306bd0..1b8bb03 100644
--- a/docs/locale/ja/LC_MESSAGES/interaction_based_testing.po
+++ b/docs/locale/ja/LC_MESSAGES/interaction_based_testing.po
@@ -417,7 +417,7 @@ msgid ""
 "When dealing with vararg methods, vararg syntax can also be used in the "
 "corresponding interactions::"
 msgstr ""
-"可変長引数のメソッドを扱う場も、インタラクションの記述方法に"
+"可変長引数のメソッドを扱う場合も、インタラクションの記述方法に"
 "合わせて記述することができます。"

 # acc5f693a51b4b3ca00bf183a8707c08
@@ -434,13 +434,14 @@ msgstr ""
 # 14cd2169aba94449b8480464e4f10e0f
 #: ../../interaction_based_testing.rst:225
 msgid "Matching Any Method Call"
-msgstr ""
+msgstr "すべてのメソッド呼び出しに対するマッチング"

 # 8e83a78da53f4e8aacbceedb37701063
 #: ../../interaction_based_testing.rst:227
 msgid ""
 "Sometimes it can be useful to match \"anything\", in some sense of the word::"
 msgstr ""
+"いくつかの単語の意味を含む、\"何か\"に一致出来ると便利な場合があります。"

 # 1bcbbe46c8ec4e52bbab7cf46855b643
 #: ../../interaction_based_testing.rst:235
@@ -448,11 +449,13 @@ msgid ""
 "Although ``(_.._) * _._(*_) >> _`` is a valid interaction declaration, it is "
 "neither good style nor particularly useful."
 msgstr ""
+"しかし ``(_.._) * _._(*_) >> _`` は有効なインタラクションの定義ですが、"
+"これは良いスタイルでもなければ、便利な場面があるわけでもありません。"

 # 59e83546c22047bc8f90c18f87fcfa20
 #: ../../interaction_based_testing.rst:239
 msgid "Strict Mocking"
-msgstr ""
+msgstr "Strictなモック化"

 # 192f5fb0081d4765a3b4b32e12b68201
 #: ../../interaction_based_testing.rst:241