When performance matters
++ Trusted by millions to build fast, relaible applications that scale with the size of your + team +
+ +diff --git a/adev-ja/shared-docs/components/cookie-popup/cookie-popup.component.en.html b/adev-ja/shared-docs/components/cookie-popup/cookie-popup.component.en.html index 808d146175..becf5b6b42 100644 --- a/adev-ja/shared-docs/components/cookie-popup/cookie-popup.component.en.html +++ b/adev-ja/shared-docs/components/cookie-popup/cookie-popup.component.en.html @@ -4,7 +4,7 @@
+ Resources and integrations to supercharge your development with AI
+Organized yet modular thanks to Angular components and dependency injection
+Fast state updates with fine-gained reactivity based on Angular Signals
++ Everything works together with Angular's first-party modules for forms, routing, and more +
++ Trusted by millions to build fast, relaible applications that scale with the size of your + team +
+ ++ Try our completely in browser tutorial lessons designed to give you hands on experience + with Angular. +
++ Recommended for developers new to Angular looking to dive right into the code +
+ Start coding ++ Our essentials guides are designed to help you understand Angular fundamentals in the + time it would take to finish a cup of coffee (or tea). +
++ Recommended for developers with framework experience but want quick overview of concepts +
+ Angular concepts +Learn about Angular, its benefits, and if it's right for you.
++ Recommended for developers seeking to learn more about the Angular framework +
+ About Angular ++ Head over to our AI section to find prompts, strategies, best practices, examples, and + more. +
++ Recommended for robots... and developers who want to get the most out of Angular and AI +
+ Angular + AI +
+ AIで開発を加速させるリソースと統合機能が充実
+Angularコンポーネントと依存性注入で、構造化と柔軟性を実現
+Angular Signalsで実現する高速で細やかな状態管理
++ フォーム、ルーティングなど、Angularの公式モジュールがシームレスに連携 +
++ チーム規模に応じてスケールする高速で信頼性の高いアプリケーション構築で世界中の何百万もの開発者に選ばれています。 + +
+ ++ ブラウザ上で完結するインタラクティブなチュートリアルで、Angularの実践的なスキルを身につけましょう。 + +
++ Angularが初めてで、まずはコードを書いて学びたい開発者におすすめ +
+ コーディングを始める ++ コーヒー一杯分の時間で、Angularの基本概念を効率よく理解できるガイドをご用意しています。 + +
++ 他のフレームワーク経験があり、Angularの概要を素早く把握したい開発者におすすめ +
+ 基本概念を学ぶ +Angularの特徴や利点を知り、あなたのプロジェクトに最適かどうか確認してみましょう。
++ Angularフレームワークについて詳しく知りたい開発者におすすめ +
+ Angularについて学ぶ ++ 効果的なプロンプト、開発戦略、ベストプラクティス、実践例など、AIとAngularを組み合わせた開発に役立つ情報が満載です。 + +
++ ロボット用...そしてAngularとAIを最大限活用したい開発者におすすめ +
+ Angular + AI +🌷.
+In this case, the injector looks no further than the current `ElementInjector` because it finds the `FlowerService` and returns the tulip 🌷.
🌿 value for `emoji`, but you had maple leaf 🍁 in the component's `providers` array, Angular would ignore maple leaf 🍁 and use fern 🌿.
+So if the parent `ElementInjector` were using the fern 🌿 value for `emoji`, but you had maple leaf 🍁 in the component's `providers` array, Angular would ignore maple leaf 🍁 and use fern 🌿.
To see this in code, assume that the following value for `emoji` is what the parent component were using, as in this service:
@@ -250,7 +250,7 @@ export class LeafService {
}
-Imagine that in the child component, you had a different value, maple leaf 🍁 but you wanted to use the parent's value instead.
+Imagine that in the child component, you had a different value, maple leaf 🍁 but you wanted to use the parent's value instead.
This is when you'd use `skipSelf`:
🌿, not maple leaf 🍁.
+In this case, the value you'd get for `emoji` would be fern 🌿, not maple leaf 🍁.
#### `skipSelf` option with `optional`
@@ -307,7 +307,7 @@ export class HostComponent {
}
🌷.
+Since `HostComponent` has the `host` option , no matter what the parent of `HostComponent` might have as a `flower.emoji` value, the `HostComponent` will use tulip 🌷.
### Modifiers with constructor injection
@@ -383,7 +383,7 @@ These aren't real attributes but are here to demonstrate what is going on under
### Example app structure
-The example application has a `FlowerService` provided in `root` with an `emoji` value of red hibiscus 🌺.
+The example application has a `FlowerService` provided in `root` with an `emoji` value of red hibiscus 🌺.
Emoji from FlowerService: {{flower.emoji}} (🌺)
+Emoji from FlowerService: {{flower.emoji}} (🌺)
Emoji from FlowerService: {{flower.emoji}} (🌺)
-Emoji from FlowerService: {{flower.emoji}} (🌺)
+Emoji from FlowerService: {{flower.emoji}} (🌻)
+Emoji from FlowerService: {{flower.emoji}} (🌻)
#VIEW>🌻 of the `🌻 of the `🌺.
+It stops as soon as it finds the `FlowerService` and never sees the red hibiscus 🌺.
### Using the `viewProviders` array
@@ -551,7 +551,7 @@ For step-by-step instructions, continue with this section.
If you can set it up on your own, skip ahead to [Modifying service availability](#visibility-of-provided-tokens).
For demonstration, we are building an `AnimalService` to demonstrate `viewProviders`.
-First, create an `AnimalService` with an `emoji` property of whale 🐳:
+First, create an `AnimalService` with an `emoji` property of whale 🐳:
🐶.
+Here, it has a value of dog 🐶.
Emoji from AnimalService: {{animal.emoji}} (🐶)
+Emoji from AnimalService: {{animal.emoji}} (🐶)
#VIEW>🐶.
+This means that since the injector first looks in the `ElementInjector` of the component, it finds the `AnimalService` value of dog 🐶.
It doesn't need to continue searching the `ElementInjector` tree, nor does it need to search the `ModuleInjector`.
### `providers` vs. `viewProviders`
@@ -710,43 +710,43 @@ The browser now renders the following, omitting the previous examples for brevit
...
Content projection
-Emoji from FlowerService: 🌻
-Emoji from AnimalService: 🐳
+Emoji from FlowerService: 🌻
+Emoji from AnimalService: 🐳
-Emoji from FlowerService: 🌻
-Emoji from AnimalService: 🐶
+Emoji from FlowerService: 🌻
+Emoji from AnimalService: 🐶
🐶 is declared inside the `<#VIEW>` of `ChildComponent` and isn't visible to the projected content.
-Instead, the projected content sees the whale 🐳.
+Remember that the dog emoji 🐶 is declared inside the `<#VIEW>` of `ChildComponent` and isn't visible to the projected content.
+Instead, the projected content sees the whale 🐳.
-However, in the next output section though, the `InspectorComponent` is an actual child component of `ChildComponent`, `InspectorComponent` is inside the `<#VIEW>`, so when it asks for the `AnimalService`, it sees the dog 🐶.
+However, in the next output section though, the `InspectorComponent` is an actual child component of `ChildComponent`, `InspectorComponent` is inside the `<#VIEW>`, so when it asks for the `AnimalService`, it sees the dog 🐶.
The `AnimalService` in the logical tree would look like this:
Emoji from AnimalService: {{animal.emoji}} (🐶)
+Emoji from AnimalService: {{animal.emoji}} (🐶)
Emoji from AnimalService: {{animal.emoji}} (🐳)
+Emoji from AnimalService: {{animal.emoji}} (🐳)
Emoji from AnimalService: {{animal.emoji}} (🐶)
+ <#VIEW @Inject(AnimalService) animal=>"🐶"> +Emoji from AnimalService: {{animal.emoji}} (🐶)
#VIEW>🐳, not the dog 🐶, because the dog 🐶 is inside the `🐶 if it is also within the `<#VIEW>`.
+The projected content of `🐳, not the dog 🐶, because the dog 🐶 is inside the `🐶 if it is also within the `<#VIEW>`.
### Visibility of provided tokens
@@ -773,12 +773,12 @@ flower = inject(FlowerService, { skipSelf: true })
With `skipSelf`, the `🌺 value, which is available because `🌺 value, which is available because `🌻, the application renders the red hibiscus 🌺 because `skipSelf` causes the current injector (`app-child`) to skip itself and look to its parent.
+Though `🌻, the application renders the red hibiscus 🌺 because `skipSelf` causes the current injector (`app-child`) to skip itself and look to its parent.
If you now add `host` (in addition to the `skipSelf`), the result will be `null`.
This is because `host` limits the upper bound of the search to the `app-child` `<#VIEW>`.
@@ -808,9 +808,9 @@ Here's the idea in the logical tree:
🐶.
-Because the injector has only to look at the `ElementInjector` of the `🐳.
+Remember, `🐶.
+Because the injector has only to look at the `ElementInjector` of the `🐳.
As in the `FlowerService` example, if you add `skipSelf` to the `inject()` of `AnimalService`, the injector won't look in the `ElementInjector` of the current `🐳.
+With `skipSelf` in the `🐶 because the injector finds the `AnimalService` in the `🐶 because the injector finds the `AnimalService` in the `🦔, to the `app.component.ts` `@Component()` metadata:
+Add a `viewProviders` array with a third animal, hedgehog 🦔, to the `app.component.ts` `@Component()` metadata:
🦔
templateUrl: './app.component.html',
styleUrls: [ './app.component.css' ],
viewProviders: [
- { provide: AnimalService, useValue: { emoji: '🦔' } },
+ { provide: AnimalService, useValue: { emoji: '🦔' } },
],
})
@@ -933,13 +933,13 @@ The logical tree representation shows why this is:
🦔 in the `<#VIEW>`.
+Since `AnimalService` is provided by way of the `viewProviders` array, the injector finds hedgehog 🦔 in the `<#VIEW>`.
## Example: `ElementInjector` use cases
diff --git a/adev-ja/src/content/guide/di/hierarchical-dependency-injection.md b/adev-ja/src/content/guide/di/hierarchical-dependency-injection.md
index cc2dc48173..a3b7841f41 100644
--- a/adev-ja/src/content/guide/di/hierarchical-dependency-injection.md
+++ b/adev-ja/src/content/guide/di/hierarchical-dependency-injection.md
@@ -232,7 +232,7 @@ export class SelfNoDataComponent {
In this example, there is a parent provider and injecting the service will return the value, however, injecting the service with `self` and `optional` will return `null` because `self` tells the injector to stop searching in the current host element.
別の例では、 `FlowerService` のプロバイダーを備えたコンポーネントクラスを示しています。
-この場合、インジェクターは現在の `ElementInjector` より先を見ずに、 `FlowerService` を見つけて、チューリップ 🌷 を返します。
+この場合、インジェクターは現在の `ElementInjector` より先を見ずに、 `FlowerService` を見つけて、チューリップ 🌷 を返します。
🌿 値を使用していたが、コンポーネントの `providers` 配列にカエデの葉 🍁 が含まれている場合、Angular はカエデの葉 🍁 を無視して、シダ 🌿 を使用します。
+そのため、親 `ElementInjector` が `emoji` にシダ 🌿 値を使用していたが、コンポーネントの `providers` 配列にカエデの葉 🍁 が含まれている場合、Angular はカエデの葉 🍁 を無視して、シダ 🌿 を使用します。
これをコードで確認するために、親コンポーネントが使用する `emoji` の次の値を想定します。これは、このサービスと同じです。
@@ -250,7 +250,7 @@ export class LeafService {
}
🍁 が含まれていると想像してください。ただし、親の値を使用したいとします。
+子コンポーネントに、異なる値、カエデの葉 🍁 が含まれていると想像してください。ただし、親の値を使用したいとします。
This is when you'd use `skipSelf`:
🍁 ではなく、シダ 🌿 になります。
+この場合、 `emoji` に対して取得する値は、カエデの葉 🍁 ではなく、シダ 🌿 になります。
#### `skipSelf` option with `optional`
@@ -307,7 +307,7 @@ export class HostComponent {
}
🌷.
+Since `HostComponent` has the `host` option , no matter what the parent of `HostComponent` might have as a `flower.emoji` value, the `HostComponent` will use tulip 🌷.
### Modifiers with constructor injection
@@ -383,7 +383,7 @@ The following sections demonstrate `providers` and `viewProviders` along with wa
### アプリケーション構造の例
-この例では、 `emoji` の値が赤いハイビスカス 🌺 である、 `root` に提供される `FlowerService` があります。
+この例では、 `emoji` の値が赤いハイビスカス 🌺 である、 `root` に提供される `FlowerService` があります。
Emoji from FlowerService: {{flower.emoji}} (🌺)
+Emoji from FlowerService: {{flower.emoji}} (🌺)
Emoji from FlowerService: {{flower.emoji}} (🌺)
-Emoji from FlowerService: {{flower.emoji}} (🌺)
+Emoji from FlowerService: {{flower.emoji}} (🌻)
+Emoji from FlowerService: {{flower.emoji}} (🌻)
#VIEW>🌻 を使用して解決されます。
+この場合、 `FlowerService` は、 `🌻 を使用して解決されます。
インジェクターは、インジェクターツリーをさらに検索する必要はありません。
-`FlowerService` を見つけるとすぐに停止し、赤いハイビスカス 🌺 は見えません。
+`FlowerService` を見つけるとすぐに停止し、赤いハイビスカス 🌺 は見えません。
### `viewProviders` 配列を使用する
@@ -551,7 +551,7 @@ HELPFUL: ステップは `providers` 配列を使用する場合と同じです
自分で設定できる場合は、[サービスの可用性を変更する](#visibility-of-provided-tokens) に進んでください。
デモのために、 `AnimalService` を作成して、 `viewProviders` を示します。
-最初に、 `emoji` プロパティがクジラ 🐳 である `AnimalService` を作成します。
+最初に、 `emoji` プロパティがクジラ 🐳 である `AnimalService` を作成します。
🐶 の値があります。
+ここでは、犬 🐶 の値があります。
Emoji from AnimalService: {{animal.emoji}} (🐶)
+Emoji from AnimalService: {{animal.emoji}} (🐶)
#VIEW>🐶 の `AnimalService` 値が見つかります。
+つまり、インジェクターは最初にコンポーネントの `ElementInjector` を調べるため、犬 🐶 の `AnimalService` 値が見つかります。
インジェクターは、 `ElementInjector` ツリーをさらに検索する必要も、 `ModuleInjector` を検索する必要もありません。
### `providers` と `viewProviders` の違い
@@ -710,43 +710,43 @@ export class InspectorComponent {
...
Content projection
-Emoji from FlowerService: 🌻
-Emoji from AnimalService: 🐳
+Emoji from FlowerService: 🌻
+Emoji from AnimalService: 🐳
-Emoji from FlowerService: 🌻
-Emoji from AnimalService: 🐶
+Emoji from FlowerService: 🌻
+Emoji from AnimalService: 🐶
🐶 は、 `ChildComponent` の `<#VIEW>` 内に宣言され、投影されたコンテンツには可視ではないことを覚えておいてください。
-代わりに、投影されたコンテンツには、クジラ 🐳 が表示されます。
+犬の絵文字 🐶 は、 `ChildComponent` の `<#VIEW>` 内に宣言され、投影されたコンテンツには可視ではないことを覚えておいてください。
+代わりに、投影されたコンテンツには、クジラ 🐳 が表示されます。
-ただし、次の出力セクションでは `InspectorComponent` は `ChildComponent` の実際の子コンポーネントです。そして `InspectorComponent` は `<#VIEW>` の内側にあるため、 `AnimalService` を要求すると、犬 🐶 が表示されます。
+ただし、次の出力セクションでは `InspectorComponent` は `ChildComponent` の実際の子コンポーネントです。そして `InspectorComponent` は `<#VIEW>` の内側にあるため、 `AnimalService` を要求すると、犬 🐶 が表示されます。
論理ツリー内の `AnimalService` は、次のようになります。
Emoji from AnimalService: {{animal.emoji}} (🐶)
+Emoji from AnimalService: {{animal.emoji}} (🐶)
Emoji from AnimalService: {{animal.emoji}} (🐳)
+Emoji from AnimalService: {{animal.emoji}} (🐳)
Emoji from AnimalService: {{animal.emoji}} (🐶)
+ <#VIEW @Inject(AnimalService) animal=>"🐶"> +Emoji from AnimalService: {{animal.emoji}} (🐶)
#VIEW>🐳 が表示され、犬 🐶 は表示されません。これは、犬 🐶 が `🐶 を表示できます。
+`🐳 が表示され、犬 🐶 は表示されません。これは、犬 🐶 が `🐶 を表示できます。
### 提供されたトークンの可視性
@@ -773,12 +773,12 @@ flower = inject(FlowerService, { skipSelf: true })
With `skipSelf`, the `🌺 値が見つかります。
+次に、 `🌺 値が見つかります。
UIには次のように表示されます。
🌻, the application renders the red hibiscus 🌺 because `skipSelf` causes the current injector (`app-child`) to skip itself and look to its parent.
+Though `🌻, the application renders the red hibiscus 🌺 because `skipSelf` causes the current injector (`app-child`) to skip itself and look to its parent.
If you now add `host` (in addition to the `skipSelf`), the result will be `null`.
This is because `host` limits the upper bound of the search to the `app-child` `<#VIEW>`.
@@ -808,9 +808,9 @@ This is because `host` limits the upper bound of the search to the `app-child` `
🐶 です。
-インジェクターは、 `🐳 は見えません。
+覚えておいてください。 `🐶 です。
+インジェクターは、 `🐳 は見えません。
As in the `FlowerService` example, if you add `skipSelf` to the `inject()` of `AnimalService`, the injector won't look in the `ElementInjector` of the current `🐳.
+With `skipSelf` in the `🐳.
### `host` and `viewProviders`
-If you just use `host` for the injection of `AnimalService`, the result is dog 🐶 because the injector finds the `AnimalService` in the `🐶 because the injector finds the `AnimalService` in the `🦔 を含む `viewProviders` 配列を、 `app.component.ts` の `@Component()` メタデータに追加します。
+3番目の動物、ハリネズミ 🦔 を含む `viewProviders` 配列を、 `app.component.ts` の `@Component()` メタデータに追加します。
🦔 を見つけます。
+`AnimalService` は `viewProviders` 配列を介して提供されるため、インジェクターは `<#VIEW>` でハリネズミ 🦔 を見つけます。
## 例: `ElementInjector` のユースケース
diff --git a/adev-ja/src/content/guide/http/interceptors.en.md b/adev-ja/src/content/guide/http/interceptors.en.md
index 86ef23c7ac..d4d78494e2 100644
--- a/adev-ja/src/content/guide/http/interceptors.en.md
+++ b/adev-ja/src/content/guide/http/interceptors.en.md
@@ -197,6 +197,43 @@ export function authRedirectInterceptor(req: HttpRequestAngular is a web framework that empowers developers to build fast, reliable applications. - +
Maintained by a dedicated team at Google, Angular provides a broad suite of tools, APIs, and libraries to simplify and streamline your development workflow. Angular gives you diff --git a/adev-ja/src/content/introduction/what-is-angular.md b/adev-ja/src/content/introduction/what-is-angular.md index db8e208e10..b23bbd0d91 100644 --- a/adev-ja/src/content/introduction/what-is-angular.md +++ b/adev-ja/src/content/introduction/what-is-angular.md @@ -1,9 +1,9 @@Angularは、開発者が高速で信頼性の高いアプリケーションを構築できるようにするWebフレームワークです。 - +
Googleの専門チームによって管理されているAngularは、 開発ワークフローを簡素化し効率化するためのツール、API、ライブラリの幅広いスイートを提供します。 diff --git a/adev-ja/src/content/kitchen-sink.md b/adev-ja/src/content/kitchen-sink.md index fb2f194eb9..6346b7f270 100644 --- a/adev-ja/src/content/kitchen-sink.md +++ b/adev-ja/src/content/kitchen-sink.md @@ -212,6 +212,17 @@ Adding the `preview` flag builds a running example of the code below the code sn NOTE: `preview` only works with standalone. +### Styling example previews with Tailwind CSS + +Tailwind utility classes can be used within code examples. + +-- Angular lets you start small on a well-lit path and supports you as your team and apps grow. -+ Angularなら見通しのいい道から小さくスタート。チームやアプリの成長に合わせてサポートします。 -
--- Join the millions of developers all over the world building with Angular in a thriving and -- friendly community. -+ 世界中の数百万人のAngular開発者たちと活発で -+ フレンドリーなコミュニティに参加しよう。 -
--- Rely on Angular's built-in hydration, internationalization, security, and accessibility -- support to build for everyone around the world. -+ Angularに組み込まれたハイドレーション、国際化、セキュリティ、 -+ アクセシビリティのサポートを利用して、世界中すべての人のための開発を。 -
-