рдЗрд╕ рдкреГрд╖реНрда рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЯреЗрдореНрдкрд▓реЗрдЯ рдЙрдкрд▓рдмреНрдз рд╣реИред
рдпрд╣ рдкреГрд╖реНрда рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рд▓рд╛рдЗрд╡ рдбреЗрдореЛ рд▓рд┐рдВрдХ рдХрд░рддрд╛ рд╣реИред
рдЕрдкрдиреЗ рдкреНрд░рд╢реНрди рдХреЛ рдкреВрдЫреЗрдВ рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╛ рд╕рд╛рд░рд╛рдВрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ, рдЗрд╕ рдкреГрд╖реНрда рдФрд░ рдЖрдкрдХреЗ рдЪреБрдиреЗ рд╣реБрдП AI рдкреНрд░рджрд╛рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ
рд╕рдВрд╕реНрдХрд░рдг рдЗрддрд┐рд╣рд╛рд╕
- "рд╕реЙрд▓рд┐рдб useIntlayer API рдЙрдкрдпреЛрдЧ рдХреЛ рд╕реАрдзреЗ рдкреНрд░реЙрдкрд░реНрдЯреА рдПрдХреНрд╕реЗрд╕ рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ"v8.9.04/5/2026
- "Astro + Preact рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд░рдВрднрд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг"v8.7.724/4/2026
рдЗрд╕ рдкреГрд╖реНрда рдХреА рд╕рд╛рдордЧреНрд░реА рдПрдХ AI рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд╡рд╛рджрд┐рдд рдХреА рдЧрдИ рд╣реИред
рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рдореВрд▓ рд╕рд╛рдордЧреНрд░реА рдХреЗ рдЕрдВрддрд┐рдо рд╕рдВрд╕реНрдХрд░рдг рджреЗрдЦреЗрдВрдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рд╕реБрдзрд╛рд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ GitHub рдкрд░ рдПрдХ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рд╕рдмрдорд┐рдЯ рдХрд░рдХреЗ рдпреЛрдЧрджрд╛рди рджреЗрдиреЗ рдореЗрдВ рд╕рдВрдХреЛрдЪ рди рдХрд░реЗрдВред
рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рд▓рд┐рдП GitHub рд▓рд┐рдВрдХрджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╛ Markdown рдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ
Intlayer рдХреЗ рд╕рд╛рде рдЕрдкрдиреА Astro + Preact рд╕рд╛рдЗрдЯ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░реЗрдВ | рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдпрдХрд░рдг (i18n)
рд╡рд┐рд╖рдп-рд╕реВрдЪреА
рд╡рд┐рдХрд▓реНрдкреЛрдВ рдкрд░ рдЗрдиреНрдЯрд▓реЗрдпрд░ рдХреНрдпреЛрдВ?
рдПрд╕реНрдЯреНрд░реЛ-рдЖрдИ18рдПрди рдпрд╛ рдЖрдИ18рдиреЗрдХреНрд╕реНрдЯ рдЬреИрд╕реЗ рдореБрдЦреНрдп рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, рдЗрдВрдЯрд▓реЗрдпрд░ рдПрдХ рдРрд╕рд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ рдЬреЛ рдПрдХреАрдХреГрдд рдЕрдиреБрдХреВрд▓рди рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИ рдЬреИрд╕реЗ:
рдкреВрд░реНрдг рдПрд╕реНрдЯреНрд░реЛ рдХрд╡рд░реЗрдЬ
рдЗрдВрдЯрд▓реЗрдпрд░ рдХреЛ рдмрд╣реБрднрд╛рд╖реА рд░реВрдЯрд┐рдВрдЧ, рд╕рд╛рдЗрдЯрдореИрдк, рдФрд░ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдпрдХрд░рдг (i18n) рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рдХреЗ рдПрд╕реНрдЯреНрд░реЛ рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдмрдВрдбрд▓ рдХрд╛ рдЖрдХрд╛рд░
рдЕрдкрдиреЗ рдкреГрд╖реНрдареЛрдВ рдореЗрдВ рд╡рд┐рд╢рд╛рд▓ JSON рдлрд╝рд╛рдЗрд▓реЗрдВ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХ рд╕рд╛рдордЧреНрд░реА рд▓реЛрдб рдХрд░реЗрдВред рдЗрдВрдЯрд▓реЗрдпрд░ рдЖрдкрдХреЗ рдмрдВрдбрд▓ рдФрд░ рдкреГрд╖реНрда рдЖрдХрд╛рд░ рдХреЛ 50% рддрдХ рдХрдо рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред
рд░рдЦрд░рдЦрд╛рд╡
рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рд╕рд╛рдордЧреНрд░реА рдХрд╛ рджрд╛рдпрд░рд╛ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд░рдЦрд░рдЦрд╛рд╡ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЖрдк рдЕрдкрдиреЗ рд╕рдВрдкреВрд░реНрдг рд╕рд╛рдордЧреНрд░реА рдХреЛрдбрдмреЗрд╕ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рдорд╛рдирд╕рд┐рдХ рдмреЛрдЭ рдХреЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдПрдХ рдлреАрдЪрд░ рдлрд╝реЛрд▓реНрдбрд░ рдХреА рдирдХрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЙрд╕реЗ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдЖрдкрдХреА рд╕рд╛рдордЧреНрд░реА рдХреА рд╕рдЯреАрдХрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Intlayer рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЯрд╛рдЗрдк рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдПрдЖрдИ рдПрдЬреЗрдВрдЯ
рд╕рд╛рдордЧреНрд░реА рдХрд╛ рд╕рд╣-рд╕реНрдерд╛рдиреАрдХрд░рдг рдмрдбрд╝реЗ рднрд╛рд╖рд╛ рдореЙрдбрд▓ (рдПрд▓рдПрд▓рдПрдо) рджреНрд╡рд╛рд░рд╛ рдЖрд╡рд╢реНрдпрдХ рд╕рдВрджрд░реНрдн рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИред рдЗрдВрдЯрд▓реЗрдпрд░ рдЯреВрд▓ рдХреЗ рдПрдХ рд╕реВрдЯ рдХреЗ рд╕рд╛рде рднреА рдЖрддрд╛ рд╣реИ, рдЬреИрд╕реЗ CLI рддрд╛рдХрд┐ рд▓рд╛рдкрддрд╛ рдЕрдиреБрд╡рд╛рджреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ,LSP, MCP, рдФрд░ agent skills, AI рдПрдЬреЗрдВрдЯреЛрдВ рдХреЗ рд▓рд┐рдП рдбреЗрд╡рд▓рдкрд░ рдЕрдиреБрднрд╡ (DX) рдХреЛ рдФрд░ рднреА рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдПред
рд╕реНрд╡рдЪрд╛рд▓рди
рдЕрдкрдиреЗ рдПрдЖрдИ рдкреНрд░рджрд╛рддрд╛ рдХреА рдХреАрдордд рдкрд░ рдЕрдкрдиреА рдкрд╕рдВрдж рдХреЗ рдПрд▓рдПрд▓рдПрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рд╕реАрдЖрдИ/рд╕реАрдбреА рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдЪрд╛рд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдЗрдВрдЯрд▓реЗрдпрд░ рд╕рд╛рдордЧреНрд░реА рдирд┐рд╖реНрдХрд░реНрд╖рдг рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реЗрдм рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рднреА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рдкреНрд░рджрд░реНрд╢рди
рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ JSON рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдШрдЯрдХреЛрдВ рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдкреНрд░рджрд░реНрд╢рди рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓рддрд╛ рд╕рдВрдмрдВрдзреА рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рдЗрдВрдЯрд▓реЗрдпрд░ рдмрд┐рд▓реНрдб рд╕рдордп рдкрд░ рдЖрдкрдХреА рд╕рд╛рдордЧреНрд░реА рд▓реЛрдбрд┐рдВрдЧ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдХрд┐рд╕реА рднреА рджреЗрд╡ рдХреЗ рд╕рд╛рде рд╕реНрдХреЗрд▓рд┐рдВрдЧ
рд╕рд┐рд░реНрдл рдПрдХ i18n рд╕рдорд╛рдзрд╛рди рд╕реЗ рдЕрдзрд┐рдХ, Intlayer рдПрдХ рд╕реНрд╡-рд╣реЛрд╕реНрдЯреЗрдб рд╡рд┐рдЬрд╝реБрдЕрд▓ рдПрдбрд┐рдЯрд░ рдФрд░ рдПрдХ [рдкреВрд░реНрдг] рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рд╕реАрдПрдордПрд╕](/hi/doc/concept/cms) рдЖрдкрдХреА рдмрд╣реБрднрд╛рд╖реА рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЕрдиреБрд╡рд╛рджрдХреЛрдВ, рдХреЙрдкреАрд░рд╛рдЗрдЯрд░реЛрдВ рдФрд░ рдЯреАрдо рдХреЗ рдЕрдиреНрдп рд╕рджрд╕реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╣рдпреЛрдЧ рд╕рд╣рдЬ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕реНрдерд╛рдиреАрдп рдФрд░/рдпрд╛ рджреВрд░рд╕реНрде рд░реВрдк рд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
Astro + Preact рдореЗрдВ Intlayer рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд░рдг-рджрд░-рдЪрд░рдг рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛
GitHub рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЯреЗрдореНрдкрд▓реЗрдЯ рджреЗрдЦреЗрдВред
рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрд╡рд╢реНрдпрдХ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
bashрдХреЛрдб рдХреЙрдкреА рдХрд░реЗрдВрдХреЛрдб рдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ
рдпрджрд┐ рдЖрдк рдЕрдкрдиреА рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ
рд╕реНрдЯреНрд░рд┐рдВрдЧрдПрдЯреНрд░рд┐рдмреНрдпреВрдЯ рдореЗрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐alt,title,href,aria-label, рдЖрджрд┐, рддреЛ рдЖрдк рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ:htmlрдХреЛрдб рдХреЙрдкреА рдХрд░реЗрдВрдХреЛрдб рдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ
bashрдХреЛрдб рдХреЙрдкреА рдХрд░реЗрдВрдХреЛрдб рдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ
intlayer рдореБрдЦреНрдп рдкреИрдХреЗрдЬ рдЬреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреНрд░рдмрдВрдзрди, рдЕрдиреБрд╡рд╛рдж, рд╕рд╛рдордЧреНрд░реА рдШреЛрд╖рдгрд╛, рдЯреНрд░рд╛рдВрд╕рдкрд╛рдЗрд▓реЗрд╢рди рдФрд░ CLI рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП i18n рдЯреВрд▓ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
astro-intlayer Intlayer рдХреЛ Vite рдмрдВрдбрд▓рд░ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП Astro рдПрдХреАрдХрд░рдг рдкреНрд▓рдЧрдЗрди, рд╕рд╛рде рд╣реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдкрд╕рдВрджреАрджрд╛ рднрд╛рд╖рд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ, рдХреБрдХреАрдЬрд╝ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдФрд░ URL рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдорд┐рдбрд▓рд╡реЗрдпрд░ рд╢рд╛рдорд┐рд▓ рд╣реИред
preact рдореБрдЦреНрдп Preact рдкреИрдХреЗрдЬ - React рдХрд╛ рдПрдХ рддреЗрдЬрд╝, рд╣рд▓реНрдХрд╛ рд╡рд┐рдХрд▓реНрдкред
preact-intlayer Preact рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ Intlayer рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬред рдпрд╣ Preact рдореЗрдВ рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдпрдХрд░рдг рдХреЗ рд▓рд┐рдП
IntlayerProviderрдХреЗ рд╕рд╛рде-рд╕рд╛рдеuseIntlayerрдФрд░useLocaleрд╣реБрдХ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред@astrojs/preact рдЖрдзрд┐рдХрд╛рд░рд┐рдХ Astro рдПрдХреАрдХрд░рдг рдЬреЛ Preact рдШрдЯрдХ islands рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдЕрдкрдирд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ
рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ:
intlayer.config.tsрдХреЛрдб рдХреЙрдкреА рдХрд░реЗрдВрдХреЛрдб рдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ
рдЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдЖрдк рд╕реНрдерд╛рдиреАрдпрдХреГрдд URL, рдорд┐рдбрд▓рд╡реЗрдпрд░ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ, рдХреБрдХреА рдирд╛рдо, рд╕рд╛рдордЧреНрд░реА рдШреЛрд╖рдгрд╛рдУрдВ рдХрд╛ рд╕реНрдерд╛рди рдФрд░ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХрдВрд╕реЛрд▓ рдореЗрдВ Intlayer рд▓реЙрдЧ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдмрд╣реБрдд рдХреБрдЫред рдЙрдкрд▓рдмреНрдз рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рдкреВрд░реА рд╕реВрдЪреА рдХреЗ рд▓рд┐рдП, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рджреЗрдЦреЗрдВред
рдЕрдкрдиреЗ Astro рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ Intlayer рдХреЛ рдПрдХреАрдХреГрдд рдХрд░реЗрдВ
рдЕрдкрдиреЗ Astro рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ
intlayerрдкреНрд▓рдЧрдЗрди рдФрд░ Preact рдПрдХреАрдХрд░рдг рдЬреЛрдбрд╝реЗрдВредastro.config.tsрдХреЛрдб рдХреЙрдкреА рдХрд░реЗрдВрдХреЛрдб рдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ
intlayer()рдПрдХреАрдХрд░рдг рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ Intlayer рдХреЛ Astro рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╕рд╛рдордЧреНрд░реА рдШреЛрд╖рдгрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдЙрддреНрдкрд╛рджрди рдХреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╡рд┐рдХрд╛рд╕ рдореЛрдб рдореЗрдВ рдЙрдирдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддрд╛ рд╣реИред рдпрд╣ Astro рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рднреАрддрд░ Intlayer рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдирд╛рдо (aliases) рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИредpreact()рдПрдХреАрдХрд░рдгclient:only="preact"рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ Preact рдШрдЯрдХ islands рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИредрдЕрдкрдиреА рд╕рд╛рдордЧреНрд░реА рдШреЛрд╖рд┐рдд рдХрд░реЗрдВ
рдЕрдиреБрд╡рд╛рджреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рд╕рд╛рдордЧреНрд░реА рдШреЛрд╖рдгрд╛рдПрдБ рдмрдирд╛рдПрдБ рдФрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░реЗрдВ:
src/app.content.tsxрдХреЛрдб рдХреЙрдкреА рдХрд░реЗрдВрдХреЛрдб рдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ
рд╕рд╛рдордЧреНрд░реА рдШреЛрд╖рдгрд╛рдУрдВ рдХреЛ рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдХрд╣реАрдВ рднреА рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдмрд╢рд░реНрддреЗ рд╡реЗ
contentDir(рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ./src) рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВ рдФрд░ рд╕рд╛рдордЧреНрд░реА рдШреЛрд╖рдгрд╛ рдлрд╝рд╛рдЗрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ.content.{json,ts,tsx,js,jsx,mjs,cjs,md,mdx,yaml,yml}) рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реЛрдВредрдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рд╕рд╛рдордЧреНрд░реА рдШреЛрд╖рдгрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рджреЗрдЦреЗрдВред
рдпрджрд┐ рдЖрдкрдХреА рд╕рд╛рдордЧреНрд░реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ TSX рдХреЛрдб рд╢рд╛рдорд┐рд▓ рд╣реИ, рддреЛ рдЖрдкрдХреЛ
import { h } from "preact";рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ рдпрд╛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЖрдкрдХрд╛ JSX рдкреНрд░реИрдЧреНрдорд╛ (pragma) Preact рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИредAstro рдореЗрдВ рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рдЖрдк рд╕реАрдзреЗ рдЕрдкрдиреЗ
.astroрдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВintlayerрд╕реЗ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдП рдЧрдП рдореБрдЦреНрдп рд╕рд╣рд╛рдпрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╢рдмреНрджрдХреЛрд╢реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдкрдХреЛ рд╣рд░ рдкреГрд╖реНрда рдкрд░ SEO рдореЗрдЯрд╛рдбреЗрдЯрд╛ (рдЬреИрд╕реЗ hreflang рдФрд░ рдХреИрдиреЛрдирд┐рдХрд▓ рд▓рд┐рдВрдХ) рднреА рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓рд┐рдП рдПрдХ Preact island рдкреЗрд╢ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПредsrc/pages/[...locale]/index.astroрдХреЛрдб рдХреЙрдкреА рдХрд░реЗрдВрдХреЛрдб рдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ
рдпрджрд┐ рдЖрдк рдЕрдкрдиреА рд╕рд╛рдордЧреНрд░реА рдХреЛ
stringрд╡рд┐рд╢реЗрд╖рддрд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЬреИрд╕реЗalt,title,href,aria-label, рдЖрджрд┐, рддреЛ рдЖрдк рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ:htmlрдХреЛрдб рдХреЙрдкреА рдХрд░реЗрдВрдХреЛрдб рдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ
рд░реВрдЯрд┐рдВрдЧ рд╕реЗрдЯрдЕрдк рдкрд░ рдиреЛрдЯ: рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рдВрд░рдЪрдирд╛
intlayer.config.tsрдореЗрдВmiddleware.routingрд╕реЗрдЯрд┐рдВрдЧ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ:prefix-no-default(рдбрд┐рдлрд╝реЙрд▓реНрдЯ): рдбрд┐рдлрд╝реЙрд▓реНрдЯ рднрд╛рд╖рд╛ рдХреЛ рд░реВрдЯ рдкрд░ рд░рдЦрддрд╛ рд╣реИ (рдХреЛрдИ рдЙрдкрд╕рд░реНрдЧ рдирд╣реАрдВ) рдФрд░ рдЕрдиреНрдп рдХреЛ рдЙрдкрд╕рд░реНрдЧ рджреЗрддрд╛ рд╣реИред рд╕рднреА рдорд╛рдорд▓реЛрдВ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП[...locale]рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВредprefix-all: рд╕рднреА URL рдХреЛ рднрд╛рд╖рд╛ рдЙрдкрд╕рд░реНрдЧ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рд░реВрдЯ рдХреЛ рдЕрд▓рдЧ рд╕реЗ рд╕рдВрднрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рддреЛ рдЖрдк рдорд╛рдирдХ[locale]рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВредsearch-paramрдпрд╛no-prefix: рдХрд┐рд╕реА рднрд╛рд╖рд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рднрд╛рд╖рд╛ рдХреЛ рдХреНрд╡реЗрд░реА рдкреИрд░рд╛рдореАрдЯрд░ рдпрд╛ рдХреБрдХреАрдЬрд╝ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрднрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдПрдХ Preact Island рдШрдЯрдХ рдмрдирд╛рдПрдБ
рдПрдХ island рдШрдЯрдХ рдмрдирд╛рдПрдБ рдЬреЛ рдЖрдкрдХреЗ Preact рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд▓рдкреЗрдЯрддрд╛ рд╣реИ рдФрд░ рд╕рд░реНрд╡рд░-рд╕рдВрд╕реВрдЪрд┐рдд рд▓реЛрдХреЗрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ:
src/components/preact/PreactIsland.tsxрдХреЛрдб рдХреЙрдкреА рдХрд░реЗрдВрдХреЛрдб рдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ
localeрдкреНрд░реЙрдк рдХреЛ Astro рдкреГрд╖реНрда (рд╕рд░реНрд╡рд░ рдкрд╣рдЪрд╛рди) рд╕реЗIntlayerProviderрдХреЛ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдпрд╣ рдкреЗрдбрд╝ рдХреЗ рднреАрддрд░ рд╕рднреА Preact рд╣реБрдХ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд░рдВрднрд┐рдХ рднрд╛рд╖рд╛ рдмрди рдЬрд╛рддреА рд╣реИредрдиреЛрдЯ: Preact рдореЗрдВ,
classNameрдХреЗ рдмрдЬрд╛рдп HTMLclassрдкреНрд░реЙрдкрд░реНрдЯреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИредрдПрдХ рднрд╛рд╖рд╛ рд╕реНрд╡рд┐рдЪрд░ рдЬреЛрдбрд╝рдирд╛
рдПрдХ Preact
LocaleSwitcherрдШрдЯрдХ рдмрдирд╛рдПрдБ рдЬреЛ рдЙрдкрд▓рдмреНрдз рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдкрдврд╝рддрд╛ рд╣реИ рдФрд░ рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ рдирдИ рднрд╛рд╖рд╛ рдЪреБрдирддрд╛ рд╣реИ рддреЛ рд╕реНрдерд╛рдиреАрдпрдХреГрдд URL рдкрд░ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рддрд╛ рд╣реИ:src/components/preact/LocaleSwitcher.tsxрдХреЛрдб рдХреЙрдкреА рдХрд░реЗрдВрдХреЛрдб рдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ
рдирд┐рд░рдВрддрд░рддрд╛ рдкрд░ рдиреЛрдЯ:
window.location.hrefрдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПonLocaleChangeрдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдирдпрд╛ рднрд╛рд╖рд╛рдИ URL рджреЗрдЦрд╛ рдЬрд╛рдП, рдЬрд┐рд╕рд╕реЗ Intlayer рдорд┐рдбрд▓рд╡реЗрдпрд░ рднрд╛рд╖рд╛ рдХреБрдХреА рд╕реЗрдЯ рдХрд░ рд╕рдХреЗ рдФрд░ рднрд╡рд┐рд╖реНрдп рдХреА рдпрд╛рддреНрд░рд╛рдУрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рд╡рд░реАрдпрддрд╛ рдХреЛ рдпрд╛рдж рд░рдЦ рд╕рдХреЗредLocaleSwitcherрдХреЛIntlayerProviderрдХреЗ рднреАрддрд░ рд░реЗрдВрдбрд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП - рдЗрд╕реЗ рдЕрдкрдиреЗ island рдШрдЯрдХ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ (рдЬреИрд╕рд╛ рдХрд┐ рдЪрд░рдг 6 рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ)редSitemap рдФрд░ Robots.txt
Intlayer рдЖрдкрдХреА рд╕реНрдерд╛рдиреАрдпрдХреГрдд рд╕рд╛рдЗрдЯрдореИрдк рдФрд░ robots.txt рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рддрд╛ рд╣реИред
рд╕рд╛рдЗрдЯрдореИрдк (Sitemap)
Intlayer comes with a built-in sitemap generator to help you create a sitemap for your application easily. It handles localized routes and adds the necessary metadata for search engines.
The Intlayer generated sitemap supports the
xhtml:linknamespace (Hreflang XML Extensions). Unlike the default sitemap generators that only list raw URLs, Intlayer automatically creates the required bidirectional links between all language versions of a page (e.g.,/about,/about?lang=fr, and/about?lang=es). This ensures search engines correctly index and serve the right language version to the right audience.рдЕрдкрдиреЗ рд╕рднреА рд╕реНрдерд╛рдиреАрдпрдХреГрдд рд░реВрдЯ рд╕рд╣рд┐рдд рд╕рд╛рдЗрдЯрдореИрдк рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
src/pages/sitemap.xml.tsрдмрдирд╛рдПрдБредsrc/pages/sitemap.xml.tsрдХреЛрдб рдХреЙрдкреА рдХрд░реЗрдВрдХреЛрдб рдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ
Robots.txt
рдЦреЛрдЬ рдЗрдВрдЬрди рдХреНрд░реЙрд▓рд┐рдВрдЧ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
src/pages/robots.txt.tsрдмрдирд╛рдПрдБредsrc/pages/robots.txt.tsрдХреЛрдб рдХреЙрдкреА рдХрд░реЗрдВрдХреЛрдб рдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ
рдЕрдкрдиреЗ рдШрдЯрдХреЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рдирд┐рдХрд╛рд▓реЗрдВ
рд╡реИрдХрд▓реНрдкрд┐рдХрдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдореМрдЬреВрджрд╛ рдХреЛрдбрдмреЗрд╕ рд╣реИ, рддреЛ рд╣рдЬрд╛рд░реЛрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрджрд▓рдирд╛ рд╕рдордп рд▓реЗрдиреЗ рд╡рд╛рд▓рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, Intlayer рдЖрдкрдХреЗ рдШрдЯрдХреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдФрд░ рд╕рд╛рдордЧреНрд░реА рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдВрдкрд╛рдЗрд▓рд░ / рдПрдХреНрд╕рдЯреНрд░реИрдХреНрдЯрд░ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реИред
рдЗрд╕реЗ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЕрдкрдиреА
intlayer.config.tsрдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХcompilerрдЕрдиреБрднрд╛рдЧ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:intlayer.config.tsрдХреЛрдб рдХреЙрдкреА рдХрд░реЗрдВрдХреЛрдб рдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ
import { type IntlayerConfig } from "intlayer"; const config: IntlayerConfig = { // ... рдЖрдкрдХрд╛ рд╢реЗрд╖ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди compiler: { /** * рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХрдВрдкрд╛рдЗрд▓рд░ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред */ enabled: true, /** * рдЖрдЙрдЯрдкреБрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдкрде рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ */ output: ({ fileName, extension }) => `./${fileName}${extension}`, /** * рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдШрдЯрдХреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рдж рд╕рд╣реЗрдЬрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрд╕ рддрд░рд╣ рд╕реЗ, рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рдРрдк рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред */ saveComponents: false, /** * рд╢рдмреНрджрдХреЛрд╢ рдХреБрдВрдЬреА рдЙрдкрд╕рд░реНрдЧ */ dictionaryKeyPrefix: "", }, }; export default config;рдЕрдкрдиреЗ рдШрдЯрдХреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдФрд░ рд╕рд╛рдордЧреНрд░реА рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕рдЯреНрд░реИрдХреНрдЯрд░ рдЪрд▓рд╛рдПрдБ
bashрдХреЛрдб рдХреЙрдкреА рдХрд░реЗрдВрдХреЛрдб рдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ
v9 рдХреЗ рдмрд╛рдж рд╕реЗ,
intlayerCompilerрдХреЛintlayerplugin рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдЗрд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИредintlayerCompiler рдкреНрд▓рдЧрдЗрди рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА
vite.config.tsрдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ:vite.config.tsрдХреЛрдб рдХреЙрдкреА рдХрд░реЗрдВрдХреЛрдб рдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ
bashрдХреЛрдб рдХреЙрдкреА рдХрд░реЗрдВрдХреЛрдб рдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ
TypeScript рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди
Intlayer module augmentation рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ TypeScript рдХреЗ рд▓рд╛рднреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЗ codebase рдХреЛ рдордЬрдмреВрдд рдмрдирд╛рддрд╛ рд╣реИред


Intlayer рдЕрдкрдиреЗ рдХреЛрдбрдмреЗрд╕ рдХреЛ рдЕрдзрд┐рдХ рдордЬрдмреВрдд рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП TypeScript рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓ рдСрдЧрдореЗрдВрдЯреЗрд╢рди (module augmentation) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ TypeScript рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд╕реНрд╡рддрдГ рдЙрддреНрдкрдиреНрди рдкреНрд░рдХрд╛рд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдФрд░ Preact рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
рдХреЛрдб рдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ
Git рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди
Intlayer рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдХреА рдЬрд╛рддреА рд╣реИред рдпрд╣ рдЙрдиреНрд╣реЗрдВ рдЖрдкрдХреЗ Git рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдХрдорд┐рдЯ рдХрд░рдиреЗ рд╕реЗ рдмрдЪрд╛рддрд╛ рд╣реИред
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдкрдиреА .gitignore рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рдореНрди рдирд┐рд░реНрджреЗрд╢ рдЬреЛрдбрд╝реЗрдВ:
рдХреЛрдб рдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ
VS Code рдПрдХреНрд╕рдЯреЗрдВрд╢рди
Intlayer рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рд╡рд┐рдХрд╛рд╕ рдЕрдиреБрднрд╡ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЖрдзрд┐рдХрд╛рд░рд┐рдХ Intlayer VS Code рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
VS Code Marketplace рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди
рдпрд╣ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:
- рдЕрдиреБрд╡рд╛рдж рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдСрдЯреЛ-рдкреВрд░реНрдгрддрд╛ред
- рдЕрдиреБрдкрд▓рдмреНрдз рдЕрдиреБрд╡рд╛рджреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рддреНрд░реБрдЯрд┐ рдкрд╣рдЪрд╛рдиред
- рдЕрдиреВрджрд┐рдд рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдЗрдирд▓рд╛рдЗрди рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрдиред
- рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрдиреБрд╡рд╛рдж рдмрдирд╛рдиреЗ рдФрд░ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреНрд╡рд░рд┐рдд рдХреНрд░рд┐рдпрд╛рдПрдВред
рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, VS Code рдПрдХреНрд╕рдЯреЗрдВрд╢рди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рджреЗрдЦреЗрдВред
рдЕрдкрдиреЗ рдЬреНрдЮрд╛рди рдХреЛ рдФрд░ рдЧрд╣рд░рд╛ рдХрд░реЗрдВ
рдпрджрд┐ рдЖрдк рдФрд░ рдЕрдзрд┐рдХ рд╕реАрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╡рд┐рдЬреБрдЕрд▓ рдПрдбрд┐рдЯрд░ рдХреЛ рднреА рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЕрдкрдиреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдмрд╛рд╣рд░реА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП CMS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
