From 4ef11158548d1f026a738df98fdfce8bf1c2f7fb Mon Sep 17 00:00:00 2001 From: Suguru Inatomi Date: Fri, 21 Nov 2025 01:24:07 +0900 Subject: [PATCH 1/2] fix: migrate source code translation changes --- .../app/features/update/update.component.ts | 5 ++-- .../src/app/routing/sub-navigation-data.ts | 25 ++++++++++++++++--- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/adev-ja/src/app/features/update/update.component.ts b/adev-ja/src/app/features/update/update.component.ts index 4ff9e7ea94..6a1f38b7ad 100644 --- a/adev-ja/src/app/features/update/update.component.ts +++ b/adev-ja/src/app/features/update/update.component.ts @@ -71,6 +71,7 @@ export default class UpdateComponent { protected afterRecommendations: Step[] = []; protected readonly versions = [ + {name: '21.0', number: 2100}, {name: '20.0', number: 2000}, {name: '19.0', number: 1900}, {name: '18.0', number: 1800}, @@ -108,8 +109,8 @@ export default class UpdateComponent { {name: '2.1', number: 201}, {name: '2.0', number: 200}, ]; - protected from = this.versions.find((version) => version.name === '19.0')!; - protected to = this.versions.find((version) => version.name === '20.0')!; + protected from = this.versions.find((version) => version.name === '20.0')!; + protected to = this.versions.find((version) => version.name === '21.0')!; protected futureVersion = 2100; protected readonly steps: Step[] = RECOMMENDATIONS; diff --git a/adev-ja/src/app/routing/sub-navigation-data.ts b/adev-ja/src/app/routing/sub-navigation-data.ts index 28c9dec49d..e13a0ce52a 100644 --- a/adev-ja/src/app/routing/sub-navigation-data.ts +++ b/adev-ja/src/app/routing/sub-navigation-data.ts @@ -14,6 +14,7 @@ import FIRST_APP_TUTORIAL_NAV_DATA from '../../../src/assets/tutorials/first-app import LEARN_ANGULAR_TUTORIAL_NAV_DATA from '../../../src/assets/tutorials/learn-angular/routes.json'; import DEFERRABLE_VIEWS_TUTORIAL_NAV_DATA from '../../../src/assets/tutorials/deferrable-views/routes.json'; import SIGNALS_TUTORIAL_NAV_DATA from '../../../src/assets/tutorials/signals/routes.json'; +import SIGNAL_FORMS_TUTORIAL_NAV_DATA from '../../../src/assets/tutorials/signal-forms/routes.json'; import ERRORS_NAV_DATA from '../../../src/assets/content/reference/errors/routes.json'; import EXT_DIAGNOSTICS_NAV_DATA from '../../../src/assets/content/reference/extended-diagnostics/routes.json'; @@ -435,19 +436,31 @@ const DOCS_SUB_NAVIGATION_DATA: NavigationItem[] = [ label: '概要', path: 'guide/forms/signals/overview', contentPath: 'guide/forms/signals/overview', - status: 'new', }, { label: 'フォームモデル', path: 'guide/forms/signals/models', contentPath: 'guide/forms/signals/models', - status: 'new', + }, + { + label: 'フィールド状態管理', + path: 'guide/forms/signals/field-state-management', + contentPath: 'guide/forms/signals/field-state-management', + }, + { + label: 'バリデーション', + path: 'guide/forms/signals/validation', + contentPath: 'guide/forms/signals/validation', + }, + { + label: 'カスタムコントロール', + path: 'guide/forms/signals/custom-controls', + contentPath: 'guide/forms/signals/custom-controls', }, { label: '他のフォームシステムとの比較', path: 'guide/forms/signals/comparison', contentPath: 'guide/forms/signals/comparison', - status: 'new', }, ], }, @@ -592,6 +605,11 @@ const DOCS_SUB_NAVIGATION_DATA: NavigationItem[] = [ path: 'guide/testing/utility-apis', contentPath: 'guide/testing/utility-apis', }, + { + label: 'Zone.jsテストユーティリティ', + path: 'guide/testing/zone-js-testing-utilities', + contentPath: 'guide/testing/zone-js-testing-utilities', + }, { label: 'コンポーネントハーネスの概要', path: 'guide/testing/component-harnesses-overview', @@ -1201,6 +1219,7 @@ export const TUTORIALS_SUB_NAVIGATION_DATA: NavigationItem[] = [ LEARN_ANGULAR_TUTORIAL_NAV_DATA, DEFERRABLE_VIEWS_TUTORIAL_NAV_DATA, SIGNALS_TUTORIAL_NAV_DATA, + SIGNAL_FORMS_TUTORIAL_NAV_DATA, { path: DEFAULT_PAGES.TUTORIALS, contentPath: 'tutorials/home', From 718d2bc874a593759a68ecc3a82336681b6aeac0 Mon Sep 17 00:00:00 2001 From: Suguru Inatomi Date: Fri, 21 Nov 2025 01:24:22 +0900 Subject: [PATCH 2/2] fix: update origin to 0812ac3bec9b9f2fabba5a379e6626aa641a97c9 --- .../features/update/update.component.en.ts | 5 +- .../src/app/routing/sub-navigation-data.en.ts | 25 +++++++-- .../content/best-practices/style-guide.en.md | 3 ++ adev-ja/src/content/guide/aria/overview.en.md | 33 +++++++++--- .../content/guide/components/lifecycle.en.md | 13 ++--- .../src/content/guide/testing/services.en.md | 2 + .../content/guide/testing/utility-apis.en.md | 19 ++++--- .../essentials/signal-forms.en.md | 53 +++++++++++-------- adev-ja/src/content/tutorials/home.en.md | 3 ++ origin | 2 +- 10 files changed, 108 insertions(+), 50 deletions(-) diff --git a/adev-ja/src/app/features/update/update.component.en.ts b/adev-ja/src/app/features/update/update.component.en.ts index 1537342506..6ee0d2dee2 100644 --- a/adev-ja/src/app/features/update/update.component.en.ts +++ b/adev-ja/src/app/features/update/update.component.en.ts @@ -71,6 +71,7 @@ export default class UpdateComponent { protected afterRecommendations: Step[] = []; protected readonly versions = [ + {name: '21.0', number: 2100}, {name: '20.0', number: 2000}, {name: '19.0', number: 1900}, {name: '18.0', number: 1800}, @@ -108,8 +109,8 @@ export default class UpdateComponent { {name: '2.1', number: 201}, {name: '2.0', number: 200}, ]; - protected from = this.versions.find((version) => version.name === '19.0')!; - protected to = this.versions.find((version) => version.name === '20.0')!; + protected from = this.versions.find((version) => version.name === '20.0')!; + protected to = this.versions.find((version) => version.name === '21.0')!; protected futureVersion = 2100; protected readonly steps: Step[] = RECOMMENDATIONS; diff --git a/adev-ja/src/app/routing/sub-navigation-data.en.ts b/adev-ja/src/app/routing/sub-navigation-data.en.ts index 12d4d84abc..e7813b6d56 100644 --- a/adev-ja/src/app/routing/sub-navigation-data.en.ts +++ b/adev-ja/src/app/routing/sub-navigation-data.en.ts @@ -14,6 +14,7 @@ import FIRST_APP_TUTORIAL_NAV_DATA from '../../../src/assets/tutorials/first-app import LEARN_ANGULAR_TUTORIAL_NAV_DATA from '../../../src/assets/tutorials/learn-angular/routes.json'; import DEFERRABLE_VIEWS_TUTORIAL_NAV_DATA from '../../../src/assets/tutorials/deferrable-views/routes.json'; import SIGNALS_TUTORIAL_NAV_DATA from '../../../src/assets/tutorials/signals/routes.json'; +import SIGNAL_FORMS_TUTORIAL_NAV_DATA from '../../../src/assets/tutorials/signal-forms/routes.json'; import ERRORS_NAV_DATA from '../../../src/assets/content/reference/errors/routes.json'; import EXT_DIAGNOSTICS_NAV_DATA from '../../../src/assets/content/reference/extended-diagnostics/routes.json'; @@ -435,19 +436,31 @@ const DOCS_SUB_NAVIGATION_DATA: NavigationItem[] = [ label: 'Overview', path: 'guide/forms/signals/overview', contentPath: 'guide/forms/signals/overview', - status: 'new', }, { label: 'Form models', path: 'guide/forms/signals/models', contentPath: 'guide/forms/signals/models', - status: 'new', + }, + { + label: 'Field state management', + path: 'guide/forms/signals/field-state-management', + contentPath: 'guide/forms/signals/field-state-management', + }, + { + label: 'Validation', + path: 'guide/forms/signals/validation', + contentPath: 'guide/forms/signals/validation', + }, + { + label: 'Custom controls', + path: 'guide/forms/signals/custom-controls', + contentPath: 'guide/forms/signals/custom-controls', }, { label: 'Comparison with other form systems', path: 'guide/forms/signals/comparison', contentPath: 'guide/forms/signals/comparison', - status: 'new', }, ], }, @@ -592,6 +605,11 @@ const DOCS_SUB_NAVIGATION_DATA: NavigationItem[] = [ path: 'guide/testing/utility-apis', contentPath: 'guide/testing/utility-apis', }, + { + label: 'Zone.js Testing Utilities', + path: 'guide/testing/zone-js-testing-utilities', + contentPath: 'guide/testing/zone-js-testing-utilities', + }, { label: 'Component harnesses overview', path: 'guide/testing/component-harnesses-overview', @@ -1201,6 +1219,7 @@ export const TUTORIALS_SUB_NAVIGATION_DATA: NavigationItem[] = [ LEARN_ANGULAR_TUTORIAL_NAV_DATA, DEFERRABLE_VIEWS_TUTORIAL_NAV_DATA, SIGNALS_TUTORIAL_NAV_DATA, + SIGNAL_FORMS_TUTORIAL_NAV_DATA, { path: DEFAULT_PAGES.TUTORIALS, contentPath: 'tutorials/home', diff --git a/adev-ja/src/content/best-practices/style-guide.en.md b/adev-ja/src/content/best-practices/style-guide.en.md index 11e02dedfd..5cffdd32a5 100644 --- a/adev-ja/src/content/best-practices/style-guide.en.md +++ b/adev-ja/src/content/best-practices/style-guide.en.md @@ -222,12 +222,15 @@ Prefer `class` and `style` bindings over using the [`NgClass`](/api/common/NgCla ```html
+
+
+
``` Both `class` and `style` bindings use a more straightforward syntax that aligns closely with diff --git a/adev-ja/src/content/guide/aria/overview.en.md b/adev-ja/src/content/guide/aria/overview.en.md index 9f7fe72d67..02838912d0 100644 --- a/adev-ja/src/content/guide/aria/overview.en.md +++ b/adev-ja/src/content/guide/aria/overview.en.md @@ -17,11 +17,31 @@ npm install @angular/aria For example, let's take a toolbar menu. While it may appear to be a "simple" row of buttons tied with specific logic, keyboard navigation and screen readers add a lot of unexpected complexity to those unfamiliar with accessibility. -``` - - - -``` + + + + + + + + + + + + + + + + + + + + + + + + + In this one scenario, developers need to consider: @@ -42,6 +62,7 @@ Angular Aria includes directives for common interactive patterns: | [Grid](guide/aria/grid) | Two-dimensional data display with cell-by-cell keyboard navigation | | [Listbox](guide/aria/listbox) | Single or multi-select option lists with keyboard navigation | | [Menu](guide/aria/menu) | Dropdown menus with nested submenus and keyboard shortcuts | +| [Menubar](guide/aria/menubar) | Horizontal navigation bar for persistent application menus. | | [Multiselect](guide/aria/multiselect) | Multiple-selection dropdown pattern with compact display | | [Select](guide/aria/select) | Single-selection dropdown pattern with keyboard navigation | | [Tabs](guide/aria/tabs) | Tabbed interfaces with automatic or manual activation modes | @@ -63,7 +84,7 @@ Angular Aria works well when you need accessible interactive components that are Angular Aria might not fit every scenario: - **Pre-styled components** - If you need components that look complete without custom styling, use Angular Material instead -- **Simple forms** - Native HTML form controls like