ΠΠΎΡΠ΅ΠΌΡ ΡΠΎΠ·Π΄Π°Π½Π°
ΠΡΠΈ Π°ΡΠ΄ΠΈΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² about ΠΈ core/layout (Π²Π΅ΡΠΊΠ° develop) Π½Π°ΠΉΠ΄Π΅Π½ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΠ΅ΠΊΡΡ, Π·Π°ΡΠΈΡΡΠΉ Π² ΡΠ°Π·ΠΌΠ΅ΡΠΊΡ ΠΌΠΈΠΌΠΎ Transloco. Π‘ΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π»ΠΈ .html Π½Π° Π²ΠΈΠ΄ΠΈΠΌΡΠΉ ΡΠ΅ΠΊΡΡ Π±Π΅Π· t(...).
ΠΡΠΎΠ±Π»Π΅ΠΌΠ°ΡΠΈΠΊΠ°
CLAUDE.md (ΡΠ°Π·Π΄Π΅Π» Β«i18n β TranslocoΒ»): Β«ΠΡΠ±ΠΎΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΠ΅ΠΊΡΡ (label, hint, ΠΊΠ½ΠΎΠΏΠΊΠ°, aria-label, ΡΡΠ°ΡΡΡ) β ΡΠ΅ΡΠ΅Π· Transloco. Π₯Π°ΡΠ΄ΠΊΠΎΠ΄ ΡΡΡΠΎΠΊ Π² ΡΠ°Π±Π»ΠΎΠ½Π°Ρ
Π·Π°ΠΏΡΠ΅ΡΡΠ½.Β» ΠΠ°ΡΠΈΡΡΠΉ ΡΠ΅ΠΊΡΡ Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΡΠ·ΡΠΊΠΎΠΌ (ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ru/en) ΠΈ Π»ΠΎΠΌΠ°Π΅Ρ ΠΊΠΎΠ½ΡΠΈΡΡΠ΅Π½ΡΠ½ΠΎΡΡΡ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
ΠΠΎΠ΄ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΠΌΡΠΉ ΡΠ΅ΠΊΡΡ:
- ΡΠΎΠ»ΠΈ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²
about-page β Β«Frontend developerΒ», Β«Fullstack developerΒ», Β«Frontend developer / DesignerΒ»;
- ΡΠ΅ΠΊΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΡΠ΅ΠΌΡ
theme Π² header (ΡΡΠΎ tuiIconButton β ΡΡΡΠΎΠΊΠ° ΠΈΠ΄ΡΡ Π² Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ΅ ΠΈΠΌΡ, Π΅ΠΉ ΠΌΠ΅ΡΡΠΎ Π² ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π΅/aria-label, Π° Π½Π΅ Π³ΠΎΠ»ΡΠΌ ΡΠ΅ΠΊΡΡΠΎΠΌ).
ΠΠΌΡ Π±ΡΠ΅Π½Π΄Π° Β«PokeDexΒ» (Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ, figcaption) β ΠΈΠΌΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ΅, Π΅Π³ΠΎ ΠΎΡΠΎΠ·Π½Π°Π½Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΊΠ°ΠΊ Π΅ΡΡΡ; Π² ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π½Π΅ Π²ΠΊΠ»ΡΡΠ°Ρ.
ΠΠ΄Π΅
ΠΠ°ΡΠΈΠ°Π½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ
- ΠΡΠ½Π΅ΡΡΠΈ Π² Transloco-ΡΠΊΠΎΡΠΏΡ. ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠ»ΡΡΠΈ Π²
public/i18n/about/{en,ru}.json (ΡΠΎΠ»ΠΈ) ΠΈ public/i18n/header/{en,ru}.json (themeToggle β aria-label/ΡΠ΅ΠΊΡΡ), Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Ρ
Π°ΡΠ΄ΠΊΠΎΠ΄ Π½Π° t('...'). ΠΠ»ΡΡΡ: ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΏΡΠ°Π²ΠΈΠ»Ρ, ΠΎΠ±Π΅ Π»ΠΎΠΊΠ°Π»ΠΈ ΠΏΠΎΠΊΡΡΡΡ. ΠΠΈΠ½ΡΡΡ: Π½ΡΠΆΠ½ΠΎ Π·Π°Π²Π΅ΡΡΠΈ ΠΊΠ»ΡΡΠΈ Π² ΠΎΠ±ΠΎΠΈΡ
ΡΠ·ΡΠΊΠ°Ρ
.
- Π ΠΎΠ»ΠΈ ΠΊΠ°ΠΊ Π΄Π°Π½Π½ΡΠ΅, Π° Π½Π΅ ΡΠ΅ΠΊΡΡ. ΠΡΠ»ΠΈ ΡΠΎΠ»ΠΈ ΡΡΠΈΡΠ°ΡΡ Β«Π΄Π°Π½Π½ΡΠΌΠΈ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠ°Β», Π²ΡΠ½Π΅ΡΡΠΈ ΠΈΡ
Π² ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ/ΠΊΠΎΠ½ΡΠΈΠ³ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ ΡΠ΅Π½Π΄Π΅ΡΠΈΡΡ ΡΠ΅ΡΠ΅Π·
{{ member.role }} β Π½ΠΎ ΡΡΡΠΎΠΊΠΈ Π²ΡΡ ΡΠ°Π²Π½ΠΎ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΠΌΡΠ΅, ΡΠ°ΠΊ ΡΡΠΎ ΠΊΠ»ΡΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½Π΅Π΅ Π³ΠΎΠ»ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡ
ΠΠ°ΡΠΈΠ°Π½Ρ 1. Π ΠΎΠ»ΠΈ ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ β ΡΡΠΎ UI-ΡΠ΅ΠΊΡΡ, Π΅Π³ΠΎ ΠΌΠ΅ΡΡΠΎ Π² i18n-ΡΠ»ΠΎΠ²Π°ΡΡΡ
ΡΡΠ΄ΠΎΠΌ Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΊΠ»ΡΡΠ°ΠΌΠΈ about/header. ΠΠ½ΠΎΠΏΠΊΡ ΡΠ΅ΠΌΡ Π·Π°ΠΎΠ΄Π½ΠΎ ΡΠ½Π°Π±Π΄ΠΈΡΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΠΌΡΠΌ aria-label (ΡΠ΅ΠΉΡΠ°Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ΅ ΠΈΠΌΡ β Π³ΠΎΠ»ΡΠΉ theme), ΡΡΠΎ ΠΈ a11y-ΠΏΠ»ΡΡ.
CLAUDE.md β Β«i18n β TranslocoΒ» Β· docs/Π‘ΡΠ°ΠΉΠ»Π³Π°ΠΉΠ΄ Π½Π΅ΠΉΠΌΠΈΠ½Π³ ΠΈ ΡΡΡΡΠΊΡΡΡΠ°.md
ΠΠΎΡΠ΅ΠΌΡ ΡΠΎΠ·Π΄Π°Π½Π°
ΠΡΠΈ Π°ΡΠ΄ΠΈΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ²
aboutΠΈcore/layout(Π²Π΅ΡΠΊΠ°develop) Π½Π°ΠΉΠ΄Π΅Π½ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΠ΅ΠΊΡΡ, Π·Π°ΡΠΈΡΡΠΉ Π² ΡΠ°Π·ΠΌΠ΅ΡΠΊΡ ΠΌΠΈΠΌΠΎ Transloco. Π‘ΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π»ΠΈ.htmlΠ½Π° Π²ΠΈΠ΄ΠΈΠΌΡΠΉ ΡΠ΅ΠΊΡΡ Π±Π΅Π·t(...).ΠΡΠΎΠ±Π»Π΅ΠΌΠ°ΡΠΈΠΊΠ°
CLAUDE.md(ΡΠ°Π·Π΄Π΅Π» Β«i18n β TranslocoΒ»): Β«ΠΡΠ±ΠΎΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΠ΅ΠΊΡΡ (label, hint, ΠΊΠ½ΠΎΠΏΠΊΠ°, aria-label, ΡΡΠ°ΡΡΡ) β ΡΠ΅ΡΠ΅Π· Transloco. Π₯Π°ΡΠ΄ΠΊΠΎΠ΄ ΡΡΡΠΎΠΊ Π² ΡΠ°Π±Π»ΠΎΠ½Π°Ρ Π·Π°ΠΏΡΠ΅ΡΡΠ½.Β» ΠΠ°ΡΠΈΡΡΠΉ ΡΠ΅ΠΊΡΡ Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΡΠ·ΡΠΊΠΎΠΌ (ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρru/en) ΠΈ Π»ΠΎΠΌΠ°Π΅Ρ ΠΊΠΎΠ½ΡΠΈΡΡΠ΅Π½ΡΠ½ΠΎΡΡΡ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ.ΠΠΎΠ΄ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΠΌΡΠΉ ΡΠ΅ΠΊΡΡ:
about-pageβ Β«Frontend developerΒ», Β«Fullstack developerΒ», Β«Frontend developer / DesignerΒ»;themeΠ²header(ΡΡΠΎtuiIconButtonβ ΡΡΡΠΎΠΊΠ° ΠΈΠ΄ΡΡ Π² Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ΅ ΠΈΠΌΡ, Π΅ΠΉ ΠΌΠ΅ΡΡΠΎ Π² ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π΅/aria-label, Π° Π½Π΅ Π³ΠΎΠ»ΡΠΌ ΡΠ΅ΠΊΡΡΠΎΠΌ).ΠΠΌΡ Π±ΡΠ΅Π½Π΄Π° Β«PokeDexΒ» (Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ,
figcaption) β ΠΈΠΌΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ΅, Π΅Π³ΠΎ ΠΎΡΠΎΠ·Π½Π°Π½Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΊΠ°ΠΊ Π΅ΡΡΡ; Π² ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π½Π΅ Π²ΠΊΠ»ΡΡΠ°Ρ.ΠΠ΄Π΅
src/app/features/about/ui/components/about-page/about-page.component.htmlβ<p class="position">Frontend developer</p>(Γ2 ΡΠ°Π·Π½ΡΡ ΡΠΎΠ»ΠΈ)src/app/features/about/ui/components/about-page/about-page.component.htmlβFullstack developer,Frontend developer / Designersrc/app/core/ui/components/layout/header/header.component.htmlβ ΡΠ΅ΠΊΡΡthemeΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΌΡΠΠ°ΡΠΈΠ°Π½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ
public/i18n/about/{en,ru}.json(ΡΠΎΠ»ΠΈ) ΠΈpublic/i18n/header/{en,ru}.json(themeToggleβaria-label/ΡΠ΅ΠΊΡΡ), Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Ρ Π°ΡΠ΄ΠΊΠΎΠ΄ Π½Π°t('...'). ΠΠ»ΡΡΡ: ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΏΡΠ°Π²ΠΈΠ»Ρ, ΠΎΠ±Π΅ Π»ΠΎΠΊΠ°Π»ΠΈ ΠΏΠΎΠΊΡΡΡΡ. ΠΠΈΠ½ΡΡΡ: Π½ΡΠΆΠ½ΠΎ Π·Π°Π²Π΅ΡΡΠΈ ΠΊΠ»ΡΡΠΈ Π² ΠΎΠ±ΠΎΠΈΡ ΡΠ·ΡΠΊΠ°Ρ .{{ member.role }}β Π½ΠΎ ΡΡΡΠΎΠΊΠΈ Π²ΡΡ ΡΠ°Π²Π½ΠΎ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΠΌΡΠ΅, ΡΠ°ΠΊ ΡΡΠΎ ΠΊΠ»ΡΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½Π΅Π΅ Π³ΠΎΠ»ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡ
ΠΠ°ΡΠΈΠ°Π½Ρ 1. Π ΠΎΠ»ΠΈ ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ β ΡΡΠΎ UI-ΡΠ΅ΠΊΡΡ, Π΅Π³ΠΎ ΠΌΠ΅ΡΡΠΎ Π² i18n-ΡΠ»ΠΎΠ²Π°ΡΡΡ ΡΡΠ΄ΠΎΠΌ Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΊΠ»ΡΡΠ°ΠΌΠΈ
about/header. ΠΠ½ΠΎΠΏΠΊΡ ΡΠ΅ΠΌΡ Π·Π°ΠΎΠ΄Π½ΠΎ ΡΠ½Π°Π±Π΄ΠΈΡΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΠΌΡΠΌaria-label(ΡΠ΅ΠΉΡΠ°Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ΅ ΠΈΠΌΡ β Π³ΠΎΠ»ΡΠΉtheme), ΡΡΠΎ ΠΈ a11y-ΠΏΠ»ΡΡ.CLAUDE.mdβ Β«i18n β TranslocoΒ» Β·docs/Π‘ΡΠ°ΠΉΠ»Π³Π°ΠΉΠ΄ Π½Π΅ΠΉΠΌΠΈΠ½Π³ ΠΈ ΡΡΡΡΠΊΡΡΡΠ°.md