Browse Source

docs/guide-ja updated [ci skip]

tags/2.0.7
Nobuo Kihara 9 years ago
parent
commit
9ff88f24b9
  1. 12
      docs/guide-ja/concept-behaviors.md
  2. 8
      docs/guide-ja/concept-properties.md
  3. 2
      docs/guide-ja/db-active-record.md
  4. 3
      docs/guide-ja/db-migrations.md
  5. 2
      docs/guide-ja/db-query-builder.md
  6. 2
      docs/guide-ja/input-validation.md
  7. 2
      docs/guide-ja/output-data-widgets.md
  8. 2
      docs/guide-ja/tutorial-console.md
  9. 82
      docs/guide-ja/tutorial-i18n.md

12
docs/guide-ja/concept-behaviors.md

@ -305,6 +305,18 @@ echo $user->created_at; // 現在のタイムスタンプが表示される
$user->touch('login_time');
```
その他のビヘイビア
------------------
その他にも、内蔵または外部ライブラリによって利用できるビヘイビアがいくつかあります。
- [[yii\behaviors\BlameableBehavior]] - 指定された属性に現在のユーザ ID を自動的に設定します。
- [[yii\behaviors\SluggableBehavior]] - 指定された属性に、URL のスラグとして使用できる値を自動的に設定します。
- [[yii\behaviors\AttributeBehavior]] - 特定のイベントが発生したときに、ActiveRecord オブジェクトの一つまたは複数の属性に、指定された値を自動的に設定します。
- [yii2tech\ar\softdelete\SoftDeleteBehavior](https://github.com/yii2tech/ar-softdelete) - ActiveRecord をソフト・デリートおよびソフト・リストアする、すなわち、レコードの削除を示すフラグまたはステータスを設定するメソッドを提供します。
- [yii2tech\ar\position\PositionBehavior](https://github.com/yii2tech/ar-position) - レコードの順序を整数のフィールドによって管理することが出来るように、順序変更メソッドを提供します。
ビヘイビアとトレイトの比較 <span id="comparison-with-traits"></span>
----------------------

8
docs/guide-ja/concept-properties.md

@ -2,8 +2,8 @@
==========
PHPでは、クラスのメンバ変数は *プロパティ* とも呼ばれます。これらの変数は、クラス定義の一部で、クラスのインスタンスの状態を表すために
(すなわち、クラスのあるインスタンスを別のものと区別するために) 使用されます。現実によく、特別な方法でこのプロパティの読み書きを扱いたい
場合があります。たとえば、`label` プロパティに割り当てられる文字列が常にトリミングされるようにしたい、など。その仕事を成し遂げるために、
(すなわち、クラスのあるインスタンスを別のものと区別するために) 使用されます。現実に、特別な方法でこのプロパティの読み書きを扱いたい
場合がよくあります。たとえば、`label` プロパティに割り当てられる文字列が常にトリミングされるようにしたい、など。その仕事を成し遂げるために、
あなたは次のようなコードを使ってきたのではありませんか:
```php
@ -44,7 +44,7 @@ class Foo extends Object
}
}
```
(詳しく言うと、getter および setter メソッドは、この場合には、内部的に `_label` と名付けられた private 属性を参照する `label` プロパティを作っています。)
詳しく言うと、getter および setter メソッドは、この場合には、内部的に `_label` と名付けられた private 属性を参照する `label` プロパティを作っています。
getter と setter によって定義されたプロパティは、クラスのメンバ変数のように使用することができます。主な違いは、
それらのプロパティが読み取りアクセスされるときは、対応する getter ソッドが呼び出されることであり、プロパティに値が割り当てられるときには、
@ -73,7 +73,7 @@ getter と setter で定義されたプロパティには、いくつかの特
getter または setter メソッドの定義によって決めることは出来ません。
* プロパティは、 *静的でない* getter および setter によってのみ定義することが出来ます。静的なメソッドは同様には扱われません。
* 通常の `property_exists()` の呼び出しでは、マジック・プロパティが存在するかどうかを知ることは出来ません。
それぞれ、`canGetProperty()` または `canSetProperty()` を呼び出さなければなりません。
それぞれ、[[yii\base\Object::canGetProperty()|canGetProperty()]] または [[yii\base\Object::canSetProperty()|canSetProperty()]] を呼び出さなければなりません。
このガイドの冒頭で説明した問題に戻ると、 `label` に値が代入されているあらゆる箇所で `trim()` を呼ぶのではなく、もう `setLabel()` という setter の内部だけで `trim()` を呼べば済むのです。
さらに、新しい要求でラベルの先頭を大文字にする必要が発生しても、他のいっさいのコードに触れることなく、すぐに `setLabel()` メソッドを変更することができます。一箇所の変更は、すべての `label` への代入に普遍的に作用します。

2
docs/guide-ja/db-active-record.md

@ -413,6 +413,8 @@ $post->updateCounters(['view_count' => 1]);
> このことは、モデルが HTML フォームからユーザの入力を受け取るときにしばしば生じます。
> HTML フォームでは全ての値が文字列として表現されるからです。
> 入力値が正しい型、例えば整数値となることを保証するために、`['attributeName', 'filter', 'filter' => 'intval']` のように [検証フィルタ](input-validation.md#data-filtering) を適用することが出来ます。
> このフィルタは、[intval()](http://php.net/manual/ja/function.intval.php), [floatval()](http://php.net/manual/ja/function.floatval.php),
> [boolval](http://php.net/manual/ja/function.boolval.php) など、PHP の全てのタイプキャスト関数で動作します。
### デフォルト属性値 <span id="default-attribute-values"></span>

3
docs/guide-ja/db-migrations.md

@ -30,7 +30,8 @@ Yii は一連のマイグレーションコマンドラインツールを提供
この節では、これらのツールを使用して、さまざまなタスクをどうやって達成するかを詳細に説明します。
各ツールの使用方法は、ヘルプコマンド `yii help migrate` によっても知ることが出来ます。
> Tip: マイグレーションはデータベーススキーマに影響を及ぼすだけでなく、既存のデータを新しいスキーマに合うように修正したり、RBAC 階層を作成したり、キャッシュをクリーンアップしたりすることも出来ます。
> Tip: マイグレーションはデータベーススキーマに影響を及ぼすだけでなく、既存のデータを新しいスキーマに合うように修正したり、RBAC 階層を作成したり、
キャッシュをクリーンアップしたりするために使うことも出来ます。
## マイグレーションを作成する <span id="creating-migrations"></span>

2
docs/guide-ja/db-query-builder.md

@ -169,7 +169,7 @@ $query->where('status=1');
$query->where('status=:status', [':status' => $status]);
// date フィールドに対して MySQL の YEAR() 関数を使う生の SQL
$query->where('YEAR(somedate) == 2015');
$query->where('YEAR(somedate) = 2015');
```
次のように、条件式に変数を直接に埋め込んではいけません。

2
docs/guide-ja/input-validation.md

@ -206,7 +206,7 @@ return [
];
```
> Note: たいていのバリデータは、[[yii\base\Validator::skipOnEmpty]] プロパティがデフォルト値 `true` を取っている場合は、空の入力値を処理しません。
> Note: たいていのバリデータは、[[yii\validators\Validator::skipOnEmpty]] プロパティがデフォルト値 `true` を取っている場合は、空の入力値を処理しません。
そのようなバリデータは、関連付けられた属性が空の入力値を受け取ったときは、検証の過程ではスキップされるだけになります。
[コアバリデータ](tutorial-core-validators.md) の中では、`captcha`、`default`、`filter`、`required`、そして `trim` だけが空の入力値を処理します。

2
docs/guide-ja/output-data-widgets.md

@ -335,7 +335,7 @@ echo GridView::widget([
### データをフィルタリングする
データをフィルタリングするためには、GridView は、フィルタリングのフォームから入力を受け取り、検索基準に合わせてデータプロバイダのクエリを修正するための [モデル](structure-models.md) を必要とします。
データをフィルタリングするためには、GridView は、フィルタリングのフォームから入力を受け取り、検索基準に従ってデータプロバイダのクエリを修正するための [モデル](structure-models.md) を必要とします。
[アクティブレコード](db-active-record.md) を使用している場合は、必要な機能を提供する検索用のモデルクラスを作成するのが一般的なプラクティスです (あなたに代って [Gii](start-gii.md) が生成してくれます)。
このクラスは、検索のためのバリデーション規則を定義し、データプロバイダを返す `search()` メソッドを提供するものです。

2
docs/guide-ja/tutorial-console.md

@ -168,7 +168,7 @@ class ExampleController extends \yii\console\Controller
public function actionIndex()
{
if (/* 何らかの問題が発生 */) {
echo "問題が生じました!\n";
echo "A problem occurred!\n";
return 1;
}
// 何かをする

82
docs/guide-ja/tutorial-i18n.md

@ -179,7 +179,7 @@ echo \Yii::t('app', 'Price: {0}', $price);
```php
$price = 100;
echo \Yii::t('app', 'Price: {0, number, currency}', $price);
echo \Yii::t('app', 'Price: {0,number,currency}', $price);
```
> Note: パラメータのフォーマットには、[intl PHP 拡張](http://www.php.net/manual/ja/intro.intl.php) のインストールが必要です。
@ -187,14 +187,14 @@ echo \Yii::t('app', 'Price: {0, number, currency}', $price);
プレースホルダにフォーマット規則を指定するためには、短い構文または完全な構文のどちらかを使うことが出来ます。
```
短い形式: {name, type}
完全な形式: {name, type, style}
短い形式: {name,type}
完全な形式: {name,type,style}
```
> Note: `{`、`}`、`'`、`#` などの特殊な文字を使用する必要がある場合は、その部分の文字列を `'` で囲んでください。
>
```php
echo Yii::t('app', "Example of string with ''-escaped characters'': '{' '}' '{test}' {count, plural, other{''count'' value is # '#{}'}}", ['count' => 3]);
echo Yii::t('app', "Example of string with ''-escaped characters'': '{' '}' '{test}' {count,plural,other{''count'' value is # '#{}'}}", ['count' => 3]);
+```
このようなプレースホルダを指定する方法についての完全な説明は、[ICU ドキュメント](http://icu-project.org/apiref/icu4c/classMessageFormat.html) を参照してください。
@ -205,9 +205,9 @@ echo Yii::t('app', "Example of string with ''-escaped characters'': '{' '}' '{te
```php
$sum = 12345;
echo \Yii::t('app', 'Balance: {0, number}', $sum);
echo \Yii::t('app', 'Balance: {0,number}', $sum);
// 日本語翻訳: '差引残高: {0, number}'
// 日本語翻訳: '差引残高: {0,number}'
// 日本語出力: '差引残高: 12,345'
```
@ -215,9 +215,9 @@ echo \Yii::t('app', 'Balance: {0, number}', $sum);
```php
$sum = 12345;
echo \Yii::t('app', 'Balance: {0, number, currency}', $sum);
echo \Yii::t('app', 'Balance: {0,number,currency}', $sum);
// 日本語翻訳: '差引残高: {0, number, currency}'
// 日本語翻訳: '差引残高: {0,number,currency}'
// 日本語出力: '差引残高: ¥12,345'
```
@ -225,9 +225,9 @@ echo \Yii::t('app', 'Balance: {0, number, currency}', $sum);
```php
$sum = 12345;
echo \Yii::t('app', 'Balance: {0, number, ,000,000000}', $sum);
echo \Yii::t('app', 'Balance: {0,number,,000,000000}', $sum);
// 日本語翻訳: '差引残高: {0, number, ,000,000000}'
// 日本語翻訳: '差引残高: {0,number,,000,000000}'
// 日本語出力: '差引残高: 000,012345'
```
@ -242,27 +242,27 @@ echo \Yii::t('app', 'Balance: {0, number, ,000,000000}', $sum);
パラメータ値は日付としてフォーマットされます。例えば、
```php
echo \Yii::t('app', 'Today is {0, date}', time());
echo \Yii::t('app', 'Today is {0,date}', time());
// 日本語翻訳: '今日は {0, date} です。'
// 日本語翻訳: '今日は {0,date} です。'
// 日本語出力: '今日は 2015/01/07 です。'
```
オプションのパラメータとして、`short`、`medium`、`long`、そして `full` のスタイルを指定することが出来ます。
```php
echo \Yii::t('app', 'Today is {0, date, short}', time());
echo \Yii::t('app', 'Today is {0,date,short}', time());
// 日本語翻訳: '今日は {0, date, short} です。'
// 日本語翻訳: '今日は {0,date,short} です。'
// 日本語出力: '今日は 2015/01/07 です。'
```
日付の値をフォーマットするカスタムパターンを指定することも出来ます。
```php
echo \Yii::t('app', 'Today is {0, date,yyyy-MM-dd}', time());
echo \Yii::t('app', 'Today is {0,date,yyyy-MM-dd}', time());
// 日本語翻訳: '今日は {0, date,yyyy-MM-dd} です。'
// 日本語翻訳: '今日は {0,date,yyyy-MM-dd} です。'
// 日本語出力: '今日は 2015-01-07 です。'
```
@ -273,27 +273,27 @@ echo \Yii::t('app', 'Today is {0, date,yyyy-MM-dd}', time());
パラメータ値は時刻としてフォーマットされます。例えば、
```php
echo \Yii::t('app', 'It is {0, time}', time());
echo \Yii::t('app', 'It is {0,time}', time());
// 日本語翻訳: '現在 {0, time} です。'
// 日本語翻訳: '現在 {0,time} です。'
// 日本語出力: '現在 22:37:47 です。'
```
オプションのパラメータとして、`short`、`medium`、`long`、そして `full` のスタイルを指定することが出来ます。
```php
echo \Yii::t('app', 'It is {0, time, short}', time());
echo \Yii::t('app', 'It is {0,time,short}', time());
// 日本語翻訳: '現在 {0, time, short} です。'
// 日本語翻訳: '現在 {0,time,short} です。'
// 日本語出力: '現在 22:37 です。'
```
時刻の値をフォーマットするカスタムパターンを指定することも出来ます。
```php
echo \Yii::t('app', 'It is {0, date,HH:mm}', time());
echo \Yii::t('app', 'It is {0,date,HH:mm}', time());
// 日本語翻訳: '現在 {0, time, HH:mm} です。'
// 日本語翻訳: '現在 {0,time,HH:mm} です。'
// 日本語出力: '現在 22:37 です。'
```
@ -306,9 +306,9 @@ echo \Yii::t('app', 'It is {0, date,HH:mm}', time());
```php
// 出力例 : "42 is spelled as forty-two"
echo \Yii::t('app', '{n, number} is spelled as {n, spellout}', ['n' => 42]);
echo \Yii::t('app', '{n,number} is spelled as {n,spellout}', ['n' => 42]);
// 日本語翻訳: '{n, number} は、文字で綴ると {n, spellout} です。'
// 日本語翻訳: '{n,number} は、文字で綴ると {n,spellout} です。'
// 日本語出力: '42 は、文字で綴ると 四十二 です。'
```
@ -316,9 +316,9 @@ echo \Yii::t('app', '{n, number} is spelled as {n, spellout}', ['n' => 42]);
```php
// 出力例 : "I am forty-seventh agent"
echo \Yii::t('app', 'I am {n, spellout,%spellout-ordinal} agent', ['n' => 47]);
echo \Yii::t('app', 'I am {n,spellout,%spellout-ordinal} agent', ['n' => 47]);
// 日本語翻訳: '私は{n, spellout,%spellout-ordinal}の工作員です。'
// 日本語翻訳: '私は{n,spellout,%spellout-ordinal}の工作員です。'
// 日本語出力: '私は第四十七の工作員です。'
```
@ -333,26 +333,26 @@ echo \Yii::t('app', 'I am {n, spellout,%spellout-ordinal} agent', ['n' => 47]);
```php
// 出力: "You are the 42nd visitor here!"
echo \Yii::t('app', 'You are the {n, ordinal} visitor here!', ['n' => 42]);
echo \Yii::t('app', 'You are the {n,ordinal} visitor here!', ['n' => 42]);
```
序数については、スペイン語などの言語では、さらに多くのフォーマットがサポートされています。
```php
// 出力: "471ª"
echo \Yii::t('app', '{n, ordinal,%digits-ordinal-feminine}', ['n' => 471]);
echo \Yii::t('app', '{n,ordinal,%digits-ordinal-feminine}', ['n' => 471]);
```
'ordinal,' と '%' の間に空白を入れてはならないことに注意してください。
あなたが使用しているロケールで利用可能なオプションのリストについては、[http://intl.rmcreative.ru/](http://intl.rmcreative.ru/) の "Numbering schemas, Ordinal" を参照してください。
> Note: 上記のソースメッセージを、プレースホルダのスタイルを守って日本語に翻訳すると、'あなたはこのサイトの{n, ordinal}の訪問者です' となります。
> Note: 上記のソースメッセージを、プレースホルダのスタイルを守って日本語に翻訳すると、'あなたはこのサイトの{n,ordinal}の訪問者です' となります。
> しかし、その出力結果は、'あなたはこのサイトの第42の訪問者です' となり、意味は通じますが、日本語としては若干不自然なものになります。
>
> プレースホルダのスタイル自体も、翻訳の対象として、より適切なものに変更することが可能であることに注意してください。
>
> この場合も、'あなたはこのサイトの{n, plural, =1{最初} other{#番目}}の訪問者です' のように翻訳するほうが適切でしょう。
> この場合も、'あなたはこのサイトの{n,plural,=1{最初} other{#番目}}の訪問者です' のように翻訳するほうが適切でしょう。
#### 継続時間 <span id="duration"></span>
@ -360,21 +360,21 @@ echo \Yii::t('app', '{n, ordinal,%digits-ordinal-feminine}', ['n' => 471]);
```php
// 出力: "You are here for 47 sec. already!"
echo \Yii::t('app', 'You are here for {n, duration} already!', ['n' => 47]);
echo \Yii::t('app', 'You are here for {n,duration} already!', ['n' => 47]);
```
継続時間については、さらに多くのフォーマットがサポートされています。
```php
// 出力: '130:53:47'
echo \Yii::t('app', '{n, duration,%in-numerals}', ['n' => 471227]);
echo \Yii::t('app', '{n,duration,%in-numerals}', ['n' => 471227]);
```
'duration,' と '%' の間に空白を入れてはならないことに注意してください。
あなたが使用しているロケールで利用可能なオプションのリストについては、[http://intl.rmcreative.ru/](http://intl.rmcreative.ru/) の "Numbering schemas, Duration" を参照してください。
> Note: このソースメッセージを 'あなたはこのサイトに既に{n, duration}の間滞在しています' と翻訳した場合の出力結果は、'あなたはこのサイトに既に47の間滞在しています' となります。
> Note: このソースメッセージを 'あなたはこのサイトに既に{n,duration}の間滞在しています' と翻訳した場合の出力結果は、'あなたはこのサイトに既に47の間滞在しています' となります。
> これも、プレースホルダのスタイルも含めて全体を翻訳し直す方が良いでしょう。
> どうも、ICU ライブラリは、ja_JP の数値関連の書式指定においては、割と貧弱な実装にとどまっている印象です。
@ -390,7 +390,7 @@ Yii は、さまざまな形式の複数形語形変化に対応したメッセ
// $n = 0 の場合の出力: "There are no cats!"
// $n = 1 の場合の出力: "There is one cat!"
// $n = 42 の場合の出: "There are 42 cats!"
echo \Yii::t('app', 'There {n, plural, =0{are no cats} =1{is one cat} other{are # cats}}!', ['n' => $n]);
echo \Yii::t('app', 'There {n,plural,=0{are no cats} =1{is one cat} other{are # cats}}!', ['n' => $n]);
```
上記の複数形規則の引数において、`=` はぴったりその値であることを意味します。
@ -402,7 +402,7 @@ echo \Yii::t('app', 'There {n, plural, =0{are no cats} =1{is one cat} other{are
例えば、次のロシア語の例では、`=1` が `n = 1` にぴったりと一致するのに対して、`one` が `21``101` などに一致します。
```
Здесь {n, plural, =0{котов нет} =1{есть один кот} one{# кот} few{# кота} many{# котов} other{# кота}}!
Здесь {n,plural,=0{котов нет} =1{есть один кот} one{# кот} few{# кота} many{# котов} other{# кота}}!
```
これら `other`、`few`、`many` などの特別な引数の名前は言語によって異なります。
@ -419,7 +419,7 @@ echo \Yii::t('app', 'There {n, plural, =0{are no cats} =1{is one cat} other{are
```php
$likeCount = 2;
echo Yii::t('app', 'You {likeCount, plural,
echo Yii::t('app', 'You {likeCount,plural,
offset: 1
=0{did not like this}
=1{liked this}
@ -446,12 +446,12 @@ echo Yii::t('app', 'You {likeCount, plural,
```php
$n = 3;
echo Yii::t('app', 'You are {n, selectordinal, one{#st} two{#nd} few{#rd} other{#th}} visitor', ['n' => $n]);
echo Yii::t('app', 'You are the {n,selectordinal,one{#st} two{#nd} few{#rd} other{#th}} visitor', ['n' => $n]);
// 英語の出力
// You are 3rd visitor
// You are the 3rd visitor
// ロシア語の翻訳
'You are {n, selectordinal, one{#st} two{#nd} few{#rd} other{#th}} visitor' => 'Вы {n, selectordinal, other{#-й}} посетитель',
'You are the {n,selectordinal,one{#st} two{#nd} few{#rd} other{#th}} visitor' => 'Вы {n, selectordinal, other{#-й}} посетитель',
// ロシア語の出力
// Вы 3-й посетитель
@ -468,7 +468,7 @@ echo Yii::t('app', 'You are {n, selectordinal, one{#st} two{#nd} few{#rd} other{
```php
// 出力: "Snoopy is a dog and it loves Yii!"
echo \Yii::t('app', '{name} is a {gender} and {gender, select, female{she} male{he} other{it}} loves Yii!', [
echo \Yii::t('app', '{name} is a {gender} and {gender,select,female{she} male{he} other{it}} loves Yii!', [
'name' => 'Snoopy',
'gender' => 'dog',
]);
@ -477,7 +477,7 @@ echo \Yii::t('app', '{name} is a {gender} and {gender, select, female{she} male{
上記の式の中で、`female` と `male``gender` が取り得る値であり、`other` がそれらに一致しない値を処理します。
それぞれの取り得る値の後には、波括弧で囲んで対応する表現を指定します。
> Note: 日本語翻訳: '{name} は {gender} であり、{gender, select, female{彼女} male{彼} other{それ}}は Yii を愛しています。'
> Note: 日本語翻訳: '{name} は {gender} であり、{gender,select,female{彼女} male{彼} other{それ}}は Yii を愛しています。'
>
> 日本語出力: 'Snoopy は dog であり、それは Yii を愛しています。'

Loading…
Cancel
Save