рдЕрдкрдиреЗ рдкреНрд░рд╢реНрди рдХреЛ рдкреВрдЫреЗрдВ рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╛ рд╕рд╛рд░рд╛рдВрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ, рдЗрд╕ рдкреГрд╖реНрда рдФрд░ рдЖрдкрдХреЗ рдЪреБрдиреЗ рд╣реБрдП AI рдкреНрд░рджрд╛рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ
рд╕рдВрд╕реНрдХрд░рдг рдЗрддрд┐рд╣рд╛рд╕
- "рд╕рднреА рдПрдХреНрд╕рдкреЛрд░реНрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХреАрдХреГрдд рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг"v8.0.021/1/2026
рдЗрд╕ рдкреГрд╖реНрда рдХреА рд╕рд╛рдордЧреНрд░реА рдПрдХ AI рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд╡рд╛рджрд┐рдд рдХреА рдЧрдИ рд╣реИред
рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рдореВрд▓ рд╕рд╛рдордЧреНрд░реА рдХреЗ рдЕрдВрддрд┐рдо рд╕рдВрд╕реНрдХрд░рдг рджреЗрдЦреЗрдВрдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рд╕реБрдзрд╛рд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ GitHub рдкрд░ рдПрдХ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рд╕рдмрдорд┐рдЯ рдХрд░рдХреЗ рдпреЛрдЧрджрд╛рди рджреЗрдиреЗ рдореЗрдВ рд╕рдВрдХреЛрдЪ рди рдХрд░реЗрдВред
рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рд▓рд┐рдП GitHub рд▓рд┐рдВрдХрджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╛ Markdown рдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ
fastify-intlayer рдкреИрдХреЗрдЬ
fastify-intlayer рдкреИрдХреЗрдЬ Fastify рдПрдкреНрд▓рд┐рдХреЗрд╢рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд▓рдЧрдЗрди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ internationalization рдХреЛ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИред рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА locale рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ рдФрд░ request рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕рдЬрд╛рддрд╛ рд╣реИред
рд╕реНрдерд╛рдкрдирд╛
рдХреЛрдб рдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ
рдирд┐рд░реНрдпрд╛рдд
рдкреНрд▓рдЧрдЗрди
рдЗрдореНрдкреЛрд░реНрдЯ:
рдХреЛрдб рдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ
рд╕рднреА рдбреЗрдЯрд╛ рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдореЛрдбрд▓ рдореЗрдВ рдЦреЛрд▓реЗрдВ
| рдлрд╝рдВрдХреНрд╢рди | рд╡рд┐рд╡рд░рдг | рд╕рдВрдмрдВрдзрд┐рдд рджрд╕реНрддрд╛рд╡реЗрдЬ |
|---|---|---|
intlayer | Fastify plugin рдЬреЛ Intlayer рдХреЛ рдЖрдкрдХреЗ Fastify рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЗрдВрдЯреАрдЧреНрд░реЗрдЯ рдХрд░рддрд╛ рд╣реИред рд╕реНрдЯреЛрд░реЗрдЬ (cookies, headers) рд╕реЗ locale рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ, request рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ intlayer рдбреЗрдЯрд╛ рдЬрд┐рд╕рдореЗрдВ t, getIntlayer, рдФрд░ getDictionary рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдХреЗ рд╕рд╛рде рдбреЗрдХреЛрд░реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдФрд░ request lifecycle рдХреЗ рджреМрд░рд╛рди рдкреНрд░реЛрдЧреНрд░рд╛рдореИрдЯрд┐рдХ рдПрдХреНрд╕реЗрд╕ рдХреЗ рд▓рд┐рдП CLS namespace рд╕реЗрдЯрдЕрдк рдХрд░рддрд╛ рд╣реИред | intlayer |
рдлрд╝рдВрдХреНрд╢рдиреНрд╕
Import:
рдХреЛрдб рдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ
рд╕рднреА рдбреЗрдЯрд╛ рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдореЛрдбрд▓ рдореЗрдВ рдЦреЛрд▓реЗрдВ
| рдлрд╝рдВрдХреНрд╢рди | рд╡рд┐рд╡рд░рдг | рд╕рдВрдмрдВрдзрд┐рдд рджрд╕реНрддрд╛рд╡реЗрдЬ |
|---|---|---|
t | рдЧреНрд▓реЛрдмрд▓ рдЕрдиреБрд╡рд╛рдж рдлрд╝рдВрдХреНрд╢рди рдЬреЛ Fastify рдореЗрдВ рд╡рд░реНрддрдорд╛рди locale рдХреЗ рд▓рд┐рдП рдХрдВрдЯреЗрдВрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред CLS (Async Local Storage) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ intlayer plugin рджреНрд╡рд╛рд░рд╛ рдореИрдиреЗрдЬ рдХрд┐рдП рдЧрдП request context рдХреЗ рднреАрддрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕реЗ req.intlayer.t рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рднреА рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред | translation |
getIntlayer | рдЬрдирд░реЗрдЯреЗрдб declaration рд╕реЗ key рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ dictionary рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ locale рдХреЗ рд▓рд┐рдП рдЙрд╕рдХрд╛ рдХрдВрдЯреЗрдВрдЯ рд▓реМрдЯрд╛рддрд╛ рд╣реИред getDictionary рдХрд╛ optimized рд╕рдВрд╕реНрдХрд░рдгред request context рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП CLS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЗрд╕реЗ req.intlayer.getIntlayer рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рднреА рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред | - |
getDictionary | рдбрд┐рдХреНрд╢рдирд░реА рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ locale рдХреЗ рд▓рд┐рдП рд╕рд╛рдордЧреНрд░реА рд▓реМрдЯрд╛рддрд╛ рд╣реИред t() рдЕрдиреБрд╡рд╛рджреЛрдВ, enumerations, markdown, HTML, рдЖрджрд┐ рдХреЛ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рддрд╛ рд╣реИред request context рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП CLS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЗрд╕реЗ req.intlayer.getDictionary рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рднреА рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред | - |
