+- Angular lets you start small on a well-lit path and supports you as your team and apps grow.
++ Angularなら見通しのいい道から小さくスタート。チームやアプリの成長に合わせてサポートします。
+
-@@ -72,10 +72,10 @@
-
-
-
--
Works at any scale
-+
あらゆる規模で機能する
-
-- Angular lets you start small on a well-lit path and supports you as your team and apps
-- grow.
-+ Angularなら見通しのいい道から小さくスタート。
-+ チームやアプリの成長に合わせてサポートします。
-
-
-
-@@ -85,10 +85,9 @@
-
-
-
--
Loved by millions
-+
数百万人に愛される
-
-- Join the millions of developers all over the world building with Angular in a thriving
-- and friendly community.
-+ 世界中の数百万人のAngular開発者たちと活発でフレンドリーなコミュニティに参加しよう。
-
-
-
-@@ -99,12 +98,11 @@
-
-
-
-- Build for everyone
--
Build for everyone
-+ すべての人のために
-+
すべての人のために
-
-
-- Rely on Angular's built-in hydration, internationalization, security, and accessibility
-- support to build for everyone around the world.
-+ Angularに組み込まれたハイドレーション、国際化、セキュリティ、アクセシビリティのサポートを利用して、世界中すべての人のための開発を。
-
-
-
-@@ -112,10 +110,9 @@
-
-
-
--
Build for everyone
-+
すべての人のために
-
-- Rely on Angular's built-in hydration, internationalization, security, and accessibility
-- support to build for everyone around the world.
-+ Angularに組み込まれたハイドレーション、国際化、セキュリティ、アクセシビリティのサポートを利用して、世界中すべての人のための開発を。
-
+- Join the millions of developers all over the world building with Angular in a thriving and
+- friendly community.
++ 世界中の数百万人のAngular開発者たちと活発でフレンドリーなコミュニティに参加しよう。
+
+
+
+
+
+-
Build for everyone
++
すべての人のために
+
+- Rely on Angular's built-in hydration, internationalization, security, and accessibility
+- support to build for everyone around the world.
++ Angularに組み込まれたハイドレーション、国際化、セキュリティ、アクセシビリティのサポートを利用して、世界中すべての人のための開発を。
+
diff --git a/tools/adev-patches/replace-canonical-host.patch b/tools/adev-patches/replace-canonical-host.patch
index 8843490aa..884239ea7 100644
--- a/tools/adev-patches/replace-canonical-host.patch
+++ b/tools/adev-patches/replace-canonical-host.patch
@@ -13,15 +13,15 @@ index ac27b818c4..9b34429ee9 100644
* Information about the deployment of this application.
diff --git a/adev/src/index.html b/adev/src/index.html
-index f6d4c0eb48..d0087eaf2a 100644
+index 4b15ccb87c..923c9e1799 100644
--- a/adev/src/index.html
+++ b/adev/src/index.html
@@ -58,7 +58,7 @@
--
-+
+-
++
diff --git a/tools/adev-patches/replace-version-links.patch b/tools/adev-patches/replace-version-links.patch
index 7eb91146b..80d00f7d2 100644
--- a/tools/adev-patches/replace-version-links.patch
+++ b/tools/adev-patches/replace-version-links.patch
@@ -10,11 +10,11 @@ index fcb60cbd77..f59ab93291 100644
+ aDevVersionsLinkPattern: 'https://{{prefix}}{{version}}angular.jp',
aioVersions: [
{
- version: 'v17',
- url: 'https://v17.angular.io/docs',
+ version: 'v18',
+ url: 'https://v18.angular.dev/overview',
},
{
- version: 'v16',
+ version: 'v17',
diff --git a/adev/src/app/core/services/version-manager.service.ts b/adev/src/app/core/services/version-manager.service.ts
index 3da3517a8f..a2d80ea740 100644
--- a/adev/src/app/core/services/version-manager.service.ts
diff --git a/tools/translator/translate.ts b/tools/translator/translate.ts
index dcd42f056..2358d861e 100644
--- a/tools/translator/translate.ts
+++ b/tools/translator/translate.ts
@@ -44,7 +44,7 @@ ${prh}
`.trim();
const model = this.#genAI.getGenerativeModel({
- model: 'gemini-1.5-flash',
+ model: 'gemini-2.0-flash',
generationConfig: {
responseMimeType: 'application/json',
temperature: 0.2,
@@ -60,7 +60,7 @@ ${prh}
for (const block of blocks) {
const { response } = await chatSession.sendMessage([
{
- text: '次の段落を翻訳してください。\n\n',
+ text: '次のテキストに含まれる英語を日本語に翻訳してください。\n\n',
},
{
text: JSON.stringify({ text: block }),
diff --git a/zoneless.en.md b/zoneless.en.md
deleted file mode 100644
index 2234be0c2..000000000
--- a/zoneless.en.md
+++ /dev/null
@@ -1,118 +0,0 @@
-# Angular without ZoneJS (Zoneless)
-
-## Why use Zoneless?
-
-The main advantages to removing ZoneJS as a dependency are:
-
-- **Improved performance**: ZoneJS uses DOM events and async tasks as indicators of when application state _might_ have updated and subsequently triggers application synchronization to run change detection on the application's views. ZoneJS does not have any insight into whether application state actually changed and so this synchronization is triggered more frequently than necessary.
-- **Improved Core Web Vitals**: ZoneJS brings a fair amount of overhead, both in payload size and in startup time cost.
-- **Improved debugging experience**: ZoneJS makes debugging code more difficult. Stack traces are harder to understand with ZoneJS. It's also difficult to understand when code breaks as a result of being outside the Angular Zone.
-- **Better ecosystem compatibility**: ZoneJS works by patching browser APIs but does not automatically have patches for every new browser API. Some APIs simply cannot be patched effectively, such as `async`/`await`, and have to be downleveled to work with ZoneJS. Sometimes libraries in the ecosystem are also incompatible with the way ZoneJS patches the native APIs. Removing ZoneJS as a dependency ensures better long-term compatibility by removing a source of complexity, monkey patching, and ongoing maintenance.
-
-## Enabling Zoneless in an application
-
-The API for enabling Zoneless is currently experimental. Neither the shape, nor the underlying behavior is stable and can change
-in patch versions. There are known feature gaps, including the lack of an ergonomic API which prevents the application from serializing too early with Server Side Rendering.
-
-```typescript
-// standalone bootstrap
-bootstrapApplication(MyApp, {providers: [
- provideExperimentalZonelessChangeDetection(),
-]});
-
-// NgModule bootstrap requires the provider and `ngZone: 'noop'`
-platformBrowser().bootstrapModule(AppModule, {ngZone: 'noop'});
-@NgModule({
- providers: [provideExperimentalZonelessChangeDetection()]
-})
-export class AppModule {}
-```
-
-## Requirements for Zoneless compatibility
-
-Angular relies on notifications from core APIs in order to determine when to run change detection and on which views.
-These notifications include:
-
-- `ChangeDetectorRef.markForCheck` (called automatically by `AsyncPipe`)
-- `ComponentRef.setInput`
-- Updating a signal that's read in a template
-- Bound host or template listeners callbacks
-- Attaching a view that was marked dirty by one of the above
-
-### `OnPush`-compatible components
-
-One way to ensure that a component is using the correct notification mechanisms from above is to
-use [ChangeDetectionStrategy.OnPush](/adev/src/content/best-practices/runtime-performance/skipping-subtrees#using-onpush).
-
-The `OnPush` change detection strategy is not required, but it is a recommended step towards zoneless compatibility for application components. It is not always possible for library components to use `ChangeDetectionStrategy.OnPush`.
-When a library component is a host for user-components which might use `ChangeDetectionStratey.Default`, it cannot use `OnPush` because that would prevent the child component from being refreshed if it is not `OnPush` compatible and relies on ZoneJS to trigger change detection. Components can use the `Default` strategy as long as they notify Angular when change detection needs to run (calling `markForCheck`, using signals, `AsyncPipe`, etc.).
-
-### Remove `NgZone.onMicrotaskEmpty`, `NgZone.onUnstable`, `NgZone.isStable`, or `NgZone.onStable`
-
-Applications and libraries need to remove uses of `NgZone.onMicrotaskEmpty`, `NgZone.onUnstable` and `NgZone.onStable`.
-These observables will never emit when an Application enables zoneless change detection.
-Similarly, `NgZone.isStable` will always be `true` and should not be used as a condition for code execution.
-
-The `NgZone.onMicrotaskEmpty` and `NgZone.onStable` observables are most often used to wait for Angular to
-complete change detection before performing a task. Instead, these can be replaced by `afterNextRender`
-if they need to wait for a single change detection or `afterRender` if there is some condition that might span
-several change detection rounds. In other cases, these observables were used because they happened to be
-familiar and have similar timing to what was needed. More straightforward or direct DOM APIs can be used instead,
-such as `MutationObserver` when code needs to wait for certain DOM state (rather than waiting for it indirectly
-through Angular's render hooks).
-
-
-`NgZone.run` and `NgZone.runOutsideAngular` do not need to be removed in order for code to be compatible with
-Zoneless applications. In fact, removing these calls can lead to performance regressions for libraries that
-are used in applications that still rely on ZoneJS.
-
-
-### `ExperimentalPendingTasks` for Server Side Rendering (SSR)
-
-If you are using SSR with Angular, you may know that it relies on ZoneJS to help determine when the application
-is "stable" and can be serialized. If there are asynchronous tasks that should prevent serialization, an application
-not using ZoneJS will need to make Angular aware of these with the `ExperimentalPendingTasks` service. Serialization
-will wait for the first moment that all pending tasks have been removed.
-
-```typescript
-const taskService = inject(ExperimentalPendingTasks);
-const taskCleanup = taskService.add();
-await doSomeWorkThatNeedsToBeRendered();
-taskCleanup();
-```
-
-The framework uses this service internally as well to prevent serialization until asynchronous tasks are complete. These include, but are not limited to,
-an ongoing Router navigation and an incomplete `HttpClient` request.
-
-## Testing and Debugging
-
-### Using Zoneless in `TestBed`
-
-The zoneless provider function can also be used with `TestBed` to help
-ensure the components under test are compatible with a Zoneless
-Angular application.
-
-```typescript
-TestBed.configureTestingModule({
- providers: [provideExperimentalZonelessChangeDetection()]
-});
-
-const fixture = TestBed.createComponent(MyComponent);
-await fixture.whenStable();
-```
-
-To ensure tests have the most similar behavior to production code,
-avoid using `fixture.detectChanges()` when possibe. This forces
-change detection to run when Angular might otherwise have not
-scheduled change detection. Tests should ensure these notifications
-are happening and allow Angular to handle when to synchronize
-state rather than manually forcing it to happen in the test.
-
-### Debug-mode check to ensure updates are detected
-
-Angular also provides an additional tool to help verify that an application is making
-updates to state in a zoneless-compatible way. `provideExperimentalCheckNoChangesForDebug`
-can be used to periodically check to ensure that no bindings have been updated
-without a notification. Angular will throw `ExpressionChangedAfterItHasBeenCheckedError`
-if there is an updated binding that would not have refreshed by the zoneless change
-detection.