рдЗрд╕ рдкреГрд╖реНрда рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЯреЗрдореНрдкрд▓реЗрдЯ рдЙрдкрд▓рдмреНрдз рд╣реИред
рдЕрдкрдиреЗ рдкреНрд░рд╢реНрди рдХреЛ рдкреВрдЫреЗрдВ рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╛ рд╕рд╛рд░рд╛рдВрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ, рдЗрд╕ рдкреГрд╖реНрда рдФрд░ рдЖрдкрдХреЗ рдЪреБрдиреЗ рд╣реБрдП AI рдкреНрд░рджрд╛рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ
рд╕рдВрд╕реНрдХрд░рдг рдЗрддрд┐рд╣рд╛рд╕
- "GitHub рд╕реНрдЯрд╛рд░ рддреБрд▓рдирд╛ рдЬреЛрдбрд╝реЗрдВ"v8.9.818/5/2026
- "рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдкреНрд░рд╛рд░рдВрдн"v8.7.126/1/2026
рдЗрд╕ рдкреГрд╖реНрда рдХреА рд╕рд╛рдордЧреНрд░реА рдПрдХ AI рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд╡рд╛рджрд┐рдд рдХреА рдЧрдИ рд╣реИред
рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рдореВрд▓ рд╕рд╛рдордЧреНрд░реА рдХреЗ рдЕрдВрддрд┐рдо рд╕рдВрд╕реНрдХрд░рдг рджреЗрдЦреЗрдВрдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рд╕реБрдзрд╛рд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ GitHub рдкрд░ рдПрдХ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рд╕рдмрдорд┐рдЯ рдХрд░рдХреЗ рдпреЛрдЧрджрд╛рди рджреЗрдиреЗ рдореЗрдВ рд╕рдВрдХреЛрдЪ рди рдХрд░реЗрдВред
рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рд▓рд┐рдП GitHub рд▓рд┐рдВрдХрджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╛ Markdown рдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ
Solid i18n рдкреБрд╕реНрддрдХрд╛рд▓рдп - 2026 рдмреЗрдВрдЪрдорд╛рд░реНрдХ рд░рд┐рдкреЛрд░реНрдЯ
рдпрд╣ рдкреГрд╖реНрда Solid рдкрд░ i18n рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рд░рд┐рдкреЛрд░реНрдЯ рд╣реИред
рд╡рд┐рд╖рдп рд╕реВрдЪреА
рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдмреЗрдВрдЪрдорд╛рд░реНрдХ
рдбрд╛рдпрдирд╛рдорд┐рдХ JSON рд▓реЛрдбрд┐рдВрдЧ
рд░рдирдЯрд╛рдЗрдо рдкрд░ рдЖрд▓рд╕реНрдп рд╕реЗ рдЕрдиреБрд╡рд╛рдж рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ
рд╕реНрдХреЛрдкреНрдб JSON (рдиреЗрдорд╕реНрдкреЗрд╕рд┐рдВрдЧ)
рдкреНрд░рддрд┐-рдкреГрд╖реНрда рдЕрдиреБрд╡рд╛рдж рдиреЗрдорд╕реНрдкреЗрд╕
I18n рдкреНрд░рджрд░реНрд╢рди рдмреЗрдВрдЪрдорд╛рд░реНрдХ
рдпрд╣ рдореАрдЯреНрд░рд┐рдХ рдХреНрдпрд╛ рд╣реИ?
рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдпрдХрд░рдг рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдмрдВрдбрд▓ рдХрд╛ рдХреБрд▓ gzip-рд╕рдВрдкреАрдбрд╝рд┐рдд рдЖрдХрд╛рд░ред рдЗрд╕рдореЗрдВ рдХреЗрд╡рд▓ рдЯреНрд░реА-рд╢реЗрдХрд┐рдВрдЧ рдФрд░ рдорд┐рдирд┐рдлрд┐рдХреЗрд╢рди рдХреЗ рдмрд╛рдж рдкреНрд░рджрд╛рддрд╛ рдФрд░ рд╕рд╛рдордЧреНрд░реА рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рддрд░реНрдХ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХреНрдпреЛрдВ рд╣реИ?
рдПрдХ рдЫреЛрдЯрд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЖрдХрд╛рд░ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреЗрд▓реЛрдб рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рддреЗрдЬрд╝ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рд╣реЛрддрд╛ рд╣реИред
рджреЗрдЦрдиреЗ рдХрд╛ рддрд░реАрдХрд╛
рдкрд░рд┐рдгрд╛рдо рд╕рдВрджрд░реНрдн:
рдкреВрд░реНрдг рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдбреЗрдЯрд╛ рджреЗрдЦреЗрдВ
рд╕рдВрдкреВрд░реНрдг рдмреЗрдВрдЪрдорд╛рд░реНрдХ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдпрд╣рд╛рдБ рджреЗрдЦреЗрдВред
рдкрд░рд┐рдЪрдп
Solid рдРрдк рдореЗрдВ рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдпрдХрд░рдг (Internationalisation) рд╕рдорд╛рдзрд╛рди рд╕рдмрд╕реЗ рднрд╛рд░реА рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рд╣реИрдВред рдореБрдЦреНрдп рдЬреЛрдЦрд┐рдо рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╕рд╛рдордЧреНрд░реА рднреЗрдЬрдиреЗ рдХрд╛ рд╣реИ: рдПрдХ рд╣реА рд░реВрдЯ рдХреЗ рдмрдВрдбрд▓ рдореЗрдВ рдЕрдиреНрдп рдкреГрд╖реНрдареЛрдВ рдФрд░ рдЕрдиреНрдп рд▓реЛрдХреЗрд▓реНрд╕ рдХреЗ рдЕрдиреБрд╡рд╛рдж рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ред
рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рдЖрдкрдХрд╛ рдРрдк рдмрдврд╝рддрд╛ рд╣реИ, рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рднреЗрдЬреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ JavaScript рдХреЛ рддреЗрдЬрд╝реА рд╕реЗ рдмрдврд╝рд╛ рд╕рдХрддреА рд╣реИ рдФрд░ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдХреЛ рдзреАрдорд╛ рдХрд░ рд╕рдХрддреА рд╣реИред
рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдХрдо рд╕реЗ рдХрдо рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП, рдПрдХ рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдпрдХреГрдд рдкреГрд╖реНрда рдмрд┐рдирд╛ i18n рд╡рд╛рд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдИ рдЧреБрдирд╛ рднрд╛рд░реА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рджреВрд╕рд░рд╛ рдкреНрд░рднрд╛рд╡ рдбреЗрд╡рд▓рдкрд░ рдЕрдиреБрднрд╡ (DX) рдкрд░ рдкрдбрд╝рддрд╛ рд╣реИ: рдЖрдк рд╕рд╛рдордЧреНрд░реА, рдкреНрд░рдХрд╛рд░ (types), рдиреЗрдорд╕реНрдкреЗрд╕ рд╕рдВрдЧрдарди, рдбрд╛рдпрдиреЗрдорд┐рдХ рд▓реЛрдбрд┐рдВрдЧ рдФрд░ рд▓реЛрдХреЗрд▓ рдмрджрд▓рдиреЗ рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓рддрд╛ рдХреЛ рдХреИрд╕реЗ рдШреЛрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
TL;DR
- Intlayer: рдЙрдиреНрдирдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдФрд░ рдЕрдиреБрдХреВрд▓рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╡рд╛рд▓реЗ рдкреЗрд╢реЗрд╡рд░ Solid рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╡рд┐рдХрд▓реНрдк (v8.7.12)ред
- @solid-primitives/i18n: рд╕рд░рд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрддреНрдХреГрд╖реНрдЯ рд╣рд▓реНрдХрд╛ рд╡рд┐рдХрд▓реНрдк, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕рдореЗрдВ рд▓реЗрдЬрд╝реА рд▓реЛрдбрд┐рдВрдЧ (lazy loading) рдЬреИрд╕реА рдЙрдиреНрдирдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЕрднрд╛рд╡ рд╣реИред
- solid-i18next: рдорд╛рдирдХ рд▓реЗрдХрд┐рди рднрд╛рд░реА рд╡рд┐рдХрд▓реНрдк (~4.7x Intlayer) рдЬрд┐рд╕рдореЗрдВ React i18next рд╡рд╛рд▓реЗ рд╣реА рдирдХрд╛рд░рд╛рддреНрдордХ рдкрдХреНрд╖ рд╣реИрдВред
- Paraglide: рдЕрднрд┐рдирд╡ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд▓реЗрдХрд┐рди рдЬрдЯрд┐рд▓ DX рдФрд░ рдХреБрдЫ рд╕реЗрдЯрдЕрдкреЛрдВ рдореЗрдВ рдЯреНрд░реА-рд╢реЗрдХрд┐рдВрдЧ (tree-shaking) рдХреЗ рдореБрджреНрджреЗред
рдЕрдкрдиреЗ рдРрдк рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ
i18n рд▓реАрдХреЗрдЬ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рддреБрд░рдВрдд рдкрд╣рдЪрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХ рдирд┐рдГрд╢реБрд▓реНрдХ рд╕реНрдХреИрдирд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдпрд╣рд╛рдБ рдЙрдкрд▓рдмреНрдз рд╣реИред
рд╕рдорд╕реНрдпрд╛
рдмрд╣реБрднрд╛рд╖реА рдРрдк рдХреА рд▓рд╛рдЧрдд рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рд▓реАрд╡рд░ рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВ:
- рд╕рд╛рдордЧреНрд░реА рдХреЛ рдкреГрд╖реНрда / рдиреЗрдорд╕реНрдкреЗрд╕ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реЗрдВ рддрд╛рдХрд┐ рдЬрд░реВрд░рдд рди рд╣реЛрдиреЗ рдкрд░ рдЖрдк рд╕рдВрдкреВрд░реНрдг рд╢рдмреНрджрдХреЛрд╢ рд▓реЛрдб рди рдХрд░реЗрдВред
- рд╕рд╣реА рд▓реЛрдХреЗрд▓ рдХреЛ рдбрд╛рдпрдиреЗрдорд┐рдХ рд░реВрдк рд╕реЗ рд▓реЛрдб рдХрд░реЗрдВ, рдХреЗрд╡рд▓ рддрднреА рдЬрдм рдЖрд╡рд╢реНрдпрдХ рд╣реЛред
рдЗрди рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рдХреА рддрдХрдиреАрдХреА рд╕реАрдорд╛рдУрдВ рдХреЛ рд╕рдордЭрдирд╛:
рдбрд╛рдпрдиреЗрдорд┐рдХ рд▓реЛрдбрд┐рдВрдЧ
рдбрд╛рдпрдиреЗрдорд┐рдХ рд▓реЛрдбрд┐рдВрдЧ рдХреЗ рдмрд┐рдирд╛, рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдорд╛рдзрд╛рди рдкрд╣рд▓реЗ рд░реЗрдВрдбрд░ рд╕реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдореЗрдореЛрд░реА рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВ, рдЬреЛ рдХрдИ рд░реВрдЯреНрд╕ рдФрд░ рд▓реЛрдХреЗрд▓реНрд╕ рд╡рд╛рд▓реЗ рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдУрд╡рд░рд╣реЗрдб рдЬреЛрдбрд╝рддрд╛ рд╣реИред
рдбрд╛рдпрдиреЗрдорд┐рдХ рд▓реЛрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде, рдЖрдк рдПрдХ рд╕рдордЭреМрддрд╛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ: рдХрдо рдкреНрд░рд╛рд░рдВрднрд┐рдХ JS, рд▓реЗрдХрд┐рди рднрд╛рд╖рд╛ рд╕реНрд╡рд┐рдЪ рдХрд░рддреЗ рд╕рдордп рдХрднреА-рдХрднреА рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрдиреБрд░реЛрдзред
рд╕рд╛рдордЧреНрд░реА рд╡рд┐рднрд╛рдЬрди (Splitting)
t('a.b.c') рдХреЗ рдЗрд░реНрдж-рдЧрд┐рд░реНрдж рдирд┐рд░реНрдорд┐рдд рд╕рд┐рдВрдЯреИрдХреНрд╕ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИрдВ рд▓реЗрдХрд┐рди рдЕрдХреНрд╕рд░ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдмрдбрд╝реА JSON рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╡рд╣ рдореЙрдбрд▓ рдЯреНрд░реА-рд╢реЗрдХрд┐рдВрдЧ (tree-shaking) рдХреЛ рдХрдард┐рди рдмрдирд╛рддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рддрд┐-рдкреГрд╖реНрда рд╡рд┐рднрд╛рдЬрди рд░рдгрдиреАрддрд┐ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ред
рдЕрдиреБрд╕рдВрдзрд╛рди рдкрджреНрдзрддрд┐
рдЗрд╕ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рддреБрд▓рдирд╛ рдХреА:
Base App(рдХреЛрдИ i18n рдкреБрд╕реНрддрдХрд╛рд▓рдп рдирд╣реАрдВ)solid-intlayer(v8.7.12)@solid-primitives/i18n(v2.2.1)solid-i18next(v17.0.2)@inlang/paraglide-js(v2.17.0)
рдлреНрд░реЗрдорд╡рд░реНрдХ Solid рд╣реИ рдЬрд┐рд╕рдореЗрдВ 10 рдкреГрд╖реНрдареЛрдВ рдФрд░ 10 рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рдПрдХ рдмрд╣реБрднрд╛рд╖реА рдРрдк рд╣реИред
рд╣рдордиреЗ рдЪрд╛рд░ рд▓реЛрдбрд┐рдВрдЧ рд░рдгрдиреАрддрд┐рдпреЛрдВ рдХреА рддреБрд▓рдирд╛ рдХреА:
рд╕рднреА рдбреЗрдЯрд╛ рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдореЛрдбрд▓ рдореЗрдВ рдЦреЛрд▓реЗрдВ
| рд░рдгрдиреАрддрд┐ | рдХреЛрдИ рдиреЗрдорд╕реНрдкреЗрд╕ рдирд╣реАрдВ (рд╡реИрд╢реНрд╡рд┐рдХ) | рдиреЗрдорд╕реНрдкреЗрд╕ рдХреЗ рд╕рд╛рде (рд╕реНрдХреЛрдкрдпреБрдХреНрдд/scoped) |
|---|---|---|
| рд╕реНрдЯреЗрдЯрд┐рдХ рд▓реЛрдбрд┐рдВрдЧ | Static: рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдореЗрдореЛрд░реА рдореЗрдВ рд╕рдм рдХреБрдЫред | Scoped static: рдиреЗрдорд╕реНрдкреЗрд╕ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рднрд╛рдЬрд┐рдд; рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рд╕рдм рдХреБрдЫ рд▓реЛрдбред |
| рдбрд╛рдпрдиреЗрдорд┐рдХ рд▓реЛрдбрд┐рдВрдЧ | Dynamic: рд▓реЛрдХреЗрд▓ рдкреНрд░рддрд┐ рдорд╛рдВрдЧ рдкрд░ рд▓реЛрдбрд┐рдВрдЧред | Scoped dynamic: рдиреЗрдорд╕реНрдкреЗрд╕ рдФрд░ рд▓реЛрдХреЗрд▓ рдкреНрд░рддрд┐ рд╕реВрдХреНрд╖реНрдо рд▓реЛрдбрд┐рдВрдЧред |
рд░рдгрдиреАрддрд┐ рд╕рд╛рд░рд╛рдВрд╢
- Static: рд╕рд░рд▓; рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд▓реЛрдб рдХреЗ рдмрд╛рдж рдХреЛрдИ рдиреЗрдЯрд╡рд░реНрдХ рд╡рд┐рд▓рдВрдмрддрд╛ рдирд╣реАрдВред рдирдХрд╛рд░рд╛рддреНрдордХ рдкрдХреНрд╖: рдмрдбрд╝рд╛ рдмрдВрдбрд▓ рдЖрдХрд╛рд░ред
- Dynamic: рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╡рдЬрди рдХрдо рдХрд░рддрд╛ рд╣реИ (рд▓реЗрдЬрд╝реА-рд▓реЛрдбрд┐рдВрдЧ)ред рдЖрджрд░реНрд╢ рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрдИ рд▓реЛрдХреЗрд▓реНрд╕ рд╣реЛрдВред
- Scoped static: рдЬрдЯрд┐рд▓ рдЕрддрд┐рд░рд┐рдХреНрдд рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдХреЛрдб рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рд░рдЦрддрд╛ рд╣реИ (рддрд╛рд░реНрдХрд┐рдХ рдкреГрдердХреНрдХрд░рдг)ред
- Scoped dynamic: рдХреЛрдб рд╕реНрдкреНрд▓рд┐рдЯрд┐рдВрдЧ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡реЛрддреНрддрдо рджреГрд╖реНрдЯрд┐рдХреЛрдгред рдХреЗрд╡рд▓ рд╡рд░реНрддрдорд╛рди рджреГрд╢реНрдп рдФрд░ рд╕рдХреНрд░рд┐рдп рд▓реЛрдХреЗрд▓ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рд╛рдордЧреНрд░реА рд▓реЛрдб рдХрд░рдХреЗ рдореЗрдореЛрд░реА рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИред
рдореИрдВрдиреЗ рдХреНрдпрд╛ рдорд╛рдкрд╛:
рдореИрдВрдиреЗ рд╣рд░ рд╕реНрдЯреИрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдПрдХ рд╣реА рдмрд╣реБрднрд╛рд╖реА рдРрдк рдЪрд▓рд╛рдпрд╛, рдлрд┐рд░ рд▓рд┐рдЦрд╛ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рддрд╛рд░ рдкрд░ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рдФрд░ рдХрд┐рддрдиреЗ рд╕рдордп рд▓рдЧреЗред рдЖрдХрд╛рд░ рд╕рд╛рдорд╛рдиреНрдп рд╡реЗрдм рд╕рдВрдкреАрдбрд╝рди рдХреЗ рдмрд╛рдж рд░рд┐рдкреЛрд░реНрдЯ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХрдЪреНрдЪреЗ рд╕реНрд░реЛрдд рдЧрдгрдирд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд▓реЛрдЧ рдЬреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ рдЙрд╕рдХреЗ рдХрд░реАрдм рд╣реИред
Internationalization рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЖрдХрд╛рд░: рдмрдВрдбрд▓рд┐рдВрдЧ, рдЯреНрд░реА-рд╢реЗрдХрд┐рдВрдЧ рдФрд░ рдорд┐рдирд┐рдлрд┐рдХреЗрд╢рди рдХреЗ рдмрд╛рдж, i18n рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЖрдХрд╛рд░ providers + hooks/primitives рдХреЛрдб рдПрдХ рдЦрд╛рд▓реА рдХрдВрдкреЛрдиреЗрдВрдЯ рдореЗрдВ рд╣реИред рдЗрд╕рдореЗрдВ рдЯреНрд░рд╛рдВрд╕рд▓реЗрд╢рди рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдЬрд╡рд╛рдм рджреЗрддрд╛ рд╣реИ рдХрд┐ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЖрдкрдХреА рд╕рд╛рдордЧреНрд░реА рддрд╕реНрд╡реАрд░ рдореЗрдВ рдЖрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐рддрдиреА рдорд╣рдВрдЧреА рд╣реИред
рдкреНрд░рддрд┐ рдкреГрд╖реНрда JavaScript: рдкреНрд░рддреНрдпреЗрдХ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рд░реВрдЯ рдХреЗ рд▓рд┐рдП, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЙрд╕ рд╡рд┐рдЬрд╝рд┐рдЯ рдХреЗ рд▓рд┐рдП рдХрд┐рддрдиреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЦреАрдВрдЪрддрд╛ рд╣реИ, рд╕реВрдЯ рдореЗрдВ рдкреГрд╖реНрдареЛрдВ рдореЗрдВ рдФрд╕рдд (рдФрд░ locales рдореЗрдВ рдЬрд╣рд╛рдВ рд░рд┐рдкреЛрд░реНрдЯ рдЙрдиреНрд╣реЗрдВ рд░реЛрд▓ рдХрд░рддреА рд╣реИ)ред рднрд╛рд░реА рдкреГрд╖реНрда рдзреАрдореЗ рдкреГрд╖реНрда рд╣реИрдВред
рдЕрдиреНрдп locales рд╕реЗ рд░рд┐рд╕рд╛рд╡: рдпрд╣ рдПрдХ рд╣реА рдкреГрд╖реНрда рдХреА рд╕рд╛рдордЧреНрд░реА рд╣реИ рд▓реЗрдХрд┐рди рдПрдХ рдЕрдиреНрдп рднрд╛рд╖рд╛ рдореЗрдВ рдЬреЛ рдСрдбрд┐рдЯ рдХрд┐рдП рдЧрдП рдкреГрд╖реНрда рдореЗрдВ рдЧрд▓рддреА рд╕реЗ рд▓реЛрдб рд╣реЛ рд╕рдХрддреА рд╣реИред рдпрд╣ рд╕рд╛рдордЧреНрд░реА рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╣реИ рдФрд░ рдЗрд╕рд╕реЗ рдмрдЪрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП
/fr/aboutрдкреГрд╖реНрда рдХреА рд╕рд╛рдордЧреНрд░реА/en/aboutрдкреГрд╖реНрда рдмрдВрдбрд▓ рдореЗрдВ)рдЕрдиреНрдп routes рд╕реЗ рд░рд┐рд╕рд╛рд╡: рдЕрдиреНрдп рд╕реНрдХреНрд░реАрди рдХреЗ рд▓рд┐рдП рднреА рдпрд╣реА рд╡рд┐рдЪрд╛рд░: рдХрд┐ рдХреНрдпрд╛ рдЙрдирдХреА рдХреЙрдкреА рддрдм рдЪрд▓ рд░рд╣реА рд╣реИ рдЬрдм рдЖрдкрдиреЗ рдХреЗрд╡рд▓ рдПрдХ рдкреГрд╖реНрда рдЦреЛрд▓рд╛ рд╣реИред (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП
/en/aboutрдкреГрд╖реНрда рдХреА рд╕рд╛рдордЧреНрд░реА/en/contactрдкреГрд╖реНрда рдмрдВрдбрд▓ рдореЗрдВ)ред рдЙрдЪреНрдЪ рд╕реНрдХреЛрд░ рдХрдордЬреЛрд░ splitting рдпрд╛ over-broad рдмрдВрдбрд▓ рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИредрдФрд╕рдд рдХрдВрдкреЛрдиреЗрдВрдЯ рдмрдВрдбрд▓ рдЖрдХрд╛рд░: рд╕рд╛рдорд╛рдиреНрдп UI рдЯреБрдХрдбрд╝реЛрдВ рдХреЛ рдПрдХ рд╕рдордп рдореЗрдВ рдПрдХ рдорд╛рдкрд╛ рдЬрд╛рддрд╛ рд╣реИ рдПрдХ рд╡рд┐рд╢рд╛рд▓ рдРрдк рдирдВрдмрд░ рдХреЗ рдЕрдВрджрд░ рдЫрд┐рдкрдиреЗ рдХреЗ рдмрдЬрд╛рдпред рдпрд╣ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ internationalization рдЪреБрдкрдЪрд╛рдк рд░реЛрдЬрд╝рдорд░реНрд░рд╛ рдХреЗ рдХрдВрдкреЛрдиреЗрдВрдЯ рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдкрдХрд╛ рдХрдВрдкреЛрдиреЗрдВрдЯ рдкреБрдирдГ рд░реЗрдВрдбрд░ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдореЗрдореЛрд░реА рд╕реЗ рд╕рднреА рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░реЗрдЧрд╛ред рдХрд┐рд╕реА рдХрдВрдкреЛрдиреЗрдВрдЯ рд╕реЗ рдПрдХ рд╡рд┐рд╢рд╛рд▓ JSON рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдЕрдкреНрд░рдпреБрдХреНрдд рдбреЗрдЯрд╛ рдХреЗ рдПрдХ рдмрдбрд╝реЗ рд╕реНрдЯреЛрд░ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдЬреИрд╕рд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рдХрдВрдкреЛрдиреЗрдВрдЯ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдзреАрдорд╛ рдХрд░ рджреЗрдЧрд╛ред
рднрд╛рд╖рд╛ рд╕реНрд╡рд┐рдЪ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛: рдореИрдВ рдРрдк рдХреЗ рдЕрдкрдиреЗ рдирд┐рдпрдВрддреНрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рднрд╛рд╖рд╛ рдХреЛ рдлреНрд▓рд┐рдк рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рд╕рдордп рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдкреГрд╖реНрда рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕реНрд╡рд┐рдЪ рд╣реЛрдиреЗ рддрдХ рдХрд┐рддрдирд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ, рдПрдХ рдЖрдЧрдВрддреБрдХ рдХреЛ рдХреНрдпрд╛ рдзреНрдпрд╛рди рджреЗрдЧрд╛, lab micro-step рдирд╣реАрдВред
рднрд╛рд╖рд╛ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдмрд╛рдж рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХрд╛рд░реНрдп: рдПрдХ рд╕рдВрдХреАрд░реНрдг рдЕрдиреБрд╡рд░реНрддреА: рдПрдХ рдмрд╛рд░ рд╕реНрд╡рд┐рдЪ рдЙрдбрд╝рд╛рди рдореЗрдВ рдЖрдиреЗ рдХреЗ рдмрд╛рдж рдирдИ рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ рдкреБрдирдГ рдкреЗрдВрдЯ рдХрд░рдиреЗ рдореЗрдВ рдХрд┐рддрдирд╛ рдкреНрд░рдпрд╛рд╕ рд▓рдЧрд╛ред рдЙрдкрдпреЛрдЧреА рдЬрдм "рдорд╣рд╕реВрд╕" рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╕рдордп рдФрд░ framework cost рднрд┐рдиреНрди рд╣реЛрдВред
рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкреГрд╖реНрда рд▓реЛрдб рд╕рдордп: navigation рд╕реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рддрдХ рдЙрди рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкреГрд╖реНрда рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд▓реЛрдб рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рдирдХрд╛ рдореИрдВрдиреЗ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ред cold starts рдХреА рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ред
Hydration рд╕рдордп: рдЬрдм рдРрдк рдЗрд╕реЗ рдЙрдЬрд╛рдЧрд░ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд┐рддрдиреЗ рд╕рдордп рддрдХ server HTML рдХреЛ рдЙрди рдЪреАрдЬреЛрдВ рдореЗрдВ рдмрджрд▓рдиреЗ рдореЗрдВ рдЦрд░реНрдЪ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рди рдкрд░ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрд▓рд┐рдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рдПрдХ dash рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЗрд╕ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдиреЗ рдПрдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп hydration рдЖрдВрдХрдбрд╝рд╛ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ред
GitHub рд╕рд┐рддрд╛рд░реЗ
GitHub рд╕рд┐рддрд╛рд░реЗ рдХрд┐рд╕реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛, рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдФрд░ рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рдХрд╛ рдПрдХ рдордЬрдмреВрдд рд╕рдВрдХреЗрддрдХ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рддрдХрдиреАрдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдХрд╛ рдкреНрд░рддреНрдпрдХреНрд╖ рдорд╛рдк рдирд╣реАрдВ рд╣реИ, рд╡реЗ рджрд░реНрд╢рд╛рддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рддрдиреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдЙрдкрдпреЛрдЧреА рдкрд╛рддреЗ рд╣реИрдВ, рдЗрд╕рдХреА рдкреНрд░рдЧрддрд┐ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕реЗ рдЕрдкрдирд╛рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд░рдЦрддреЗ рд╣реИрдВред рдХрд┐рд╕реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдореВрд▓реНрдп рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд┐рддрд╛рд░реЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдмреАрдЪ рдХрд░реНрд╖рдг рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред
рд╡рд┐рд╡рд░рдг рдореЗрдВ рдкрд░рд┐рдгрд╛рдо
1 - рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдзрд╛рди
Solid рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдореЗрдВ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕реНрдкрд╖реНрдЯ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИред
2 - рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╕рдорд╛рдзрд╛рди
(solid-i18next) (solid-i18next@17.0.2):
solid-i18next рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рд╡рд┐рдХрд▓реНрдк рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ JavaScript рдРрдк i18n рдЬрд░реВрд░рддреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкрд╣рд▓реЗ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдерд╛ред рдЗрд╕рдореЗрдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХрд╛ рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╕реЗрдЯ рднреА рд╣реИред
рдкреИрдХреЗрдЬ рднрд╛рд░реА рд╣реИ (~14.6kb, рдЬреЛ solid-intlayer рд╕реЗ рд▓рдЧрднрдЧ 4.7 рдЧреБрдирд╛ рд╣реИ)ред
рдлрд┐рд░ рднреА, рдпрд╣ t('a.b.c') рдкрд░ рдмрдиреЗ рд╕реНрдЯреИрдХреНрд╕ рдХреЗ рд╕рдорд╛рди рд╣реА рдкреНрд░рдореБрдЦ рдирдХрд╛рд░рд╛рддреНрдордХ рдкрдХреНрд╖ рд╕рд╛рдЭрд╛ рдХрд░рддрд╛ рд╣реИ: рдЕрдиреБрдХреВрд▓рди рд╕рдВрднрд╡ рд╣реИ рд▓реЗрдХрд┐рди рдмрд╣реБрдд рд╕рдордп рд▓реЗрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ, рдФрд░ рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЦрд░рд╛рдм рдкреНрд░рдерд╛рдУрдВ (рдиреЗрдорд╕реНрдкреЗрд╕ + рдбрд╛рдпрдиреЗрдорд┐рдХ рд▓реЛрдбрд┐рдВрдЧ + рдкреНрд░рдХрд╛рд░) рдХрд╛ рдЬреЛрдЦрд┐рдо рд╣реЛрддрд╛ рд╣реИред
(@solid-primitives/i18n) (@solid-primitives/i18n@2.2.1):
Solid primitive рдмреЗрд╣рдж рд╣рд▓реНрдХрд╛ рдФрд░ рдХреБрд╢рд▓ рд╣реИред рдореИрдВ рдЙрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВ рдЬреЛ рдмрд╣реБрдд рд╣рд▓реНрдХреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдкреЗрд╢реЗрд╡рд░ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рдЬрд▓реНрджреА рдХрдореА рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХреБрдХреА рдкреНрд░рдмрдВрдзрди, рдкреНрд░реЙрдХреНрд╕реА рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рди, рдлрд╝реЙрд░реНрдореЗрдЯрд░реНрд╕ рдЖрджрд┐ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЗрд╕рдореЗрдВ рдкреГрд╖реНрда рдЖрдХрд╛рд░ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП рд▓реЗрдЬрд╝реА рд▓реЛрдбрд┐рдВрдЧ рдФрд░ рд╕реНрдХреЛрдкрд┐рдВрдЧ рдиреЗрдорд╕реНрдкреЗрд╕ рдХреА рднреА рдХрдореА рд╣реИред
(Paraglide) (@inlang/paraglide-js@2.17.0):
Paraglide рдПрдХ рдЕрднрд┐рдирд╡, рд╕реБрд╡рд┐рдЪрд╛рд░рд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдлрд┐рд░ рднреА, рдЗрд╕ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдореЗрдВ рдЙрдирдХреА рдХрдВрдкрдиреА рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдЬреНрдЮрд╛рдкрд┐рдд рдЯреНрд░реА-рд╢реЗрдХрд┐рдВрдЧ рдореЗрд░реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рдкрд╛рдИред рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдФрд░ DX рднреА рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИрдВред
рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдореИрдВ рд╣рд░ рдкреБрд╢ рд╕реЗ рдкрд╣рд▓реЗ JS рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкреБрдирд░реНрдЬреАрд╡рд┐рдд рдХрд░рдирд╛ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддрд╛, рдЬреЛ PR рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рд░рдВрддрд░ рдорд░реНрдЬ рд╕рдВрдШрд░реНрд╖ рдЬреЛрдЦрд┐рдо рдкреИрджрд╛ рдХрд░рддрд╛ рд╣реИред
рдЕрдВрдд рдореЗрдВ, рдЕрдиреНрдп рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, Paraglide рд╕рд╛рдордЧреНрд░реА рд░реЗрдВрдбрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рд▓реЛрдХреЗрд▓ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреЛрд░ (рдЙрджрд╛. Solid signal) рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдкрд╛рд░реНрд╕ рдХрд┐рдП рдЧрдП рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдХреЗ рд▓рд┐рдП, рдпрд╣ localStorage / cookie рдЖрджрд┐ рд╕реЗ рд▓реЛрдХреЗрд▓ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдЧрд╛ред рдпрд╣ рдЕрдирд╛рд╡рд╢реНрдпрдХ рддрд░реНрдХ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдШрдЯрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓рддрд╛ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИред
3 - рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ
(Intlayer) (solid-intlayer@8.7.12):
рдореИрдВ рдирд┐рд╖реНрдкрдХреНрд╖рддрд╛ рдХреЗ рд▓рд┐рдП рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ solid-intlayer рдХрд╛ рдиреНрдпрд╛рдп рдирд╣реАрдВ рдХрд░реВрдБрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореЗрд░рд╛ рдЕрдкрдирд╛ рд╕рдорд╛рдзрд╛рди рд╣реИред
рд╡реНрдпрдХреНрддрд┐рдЧрдд рдиреЛрдЯ
рдпрд╣ рдиреЛрдЯ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╣реИ рдФрд░ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдлрд┐рд░ рднреА, i18n рджреБрдирд┐рдпрд╛ рдореЗрдВ рдЖрдк рдЕрдХреНрд╕рд░ рдЕрдиреБрд╡рд╛рджрд┐рдд рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓рд┐рдП const t = useTranslation('xx') + <>{t('xx.xx')}</> рдЬреИрд╕реЗ рдкреИрдЯрд░реНрди рдХреЗ рдЖрд╕рдкрд╛рд╕ рдЖрдо рд╕рд╣рдорддрд┐ рджреЗрдЦрддреЗ рд╣реИрдВред
Solid рдРрдкреНрд╕ рдореЗрдВ, рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ JSX.Element рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдирд╛, рдореЗрд░реА рдирдЬрд╝рд░ рдореЗрдВ, рдПрдХ рдПрдВрдЯреА-рдкреИрдЯрд░реНрди рд╣реИред рдпрд╣ рдкрд░рд┐рд╣рд╛рд░реНрдп рдЬрдЯрд┐рд▓рддрд╛ рдФрд░ JavaScript рдирд┐рд╖реНрдкрд╛рджрди рдУрд╡рд░рд╣реЗрдб рднреА рдЬреЛрдбрд╝рддрд╛ рд╣реИ (рднрд▓реЗ рд╣реА рдпрд╣ рдореБрд╢реНрдХрд┐рд▓ рд╕реЗ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реЛ)ред
