рдЕрдкрдиреЗ рдкреНрд░рд╢реНрди рдХреЛ рдкреВрдЫреЗрдВ рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╛ рд╕рд╛рд░рд╛рдВрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ, рдЗрд╕ рдкреГрд╖реНрда рдФрд░ рдЖрдкрдХреЗ рдЪреБрдиреЗ рд╣реБрдП AI рдкреНрд░рджрд╛рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ
рд╕рдВрд╕реНрдХрд░рдг рдЗрддрд┐рд╣рд╛рд╕
- "рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЗрддрд┐рд╣рд╛рд╕"v9.0.05/6/2026
рдЗрд╕ рдкреГрд╖реНрда рдХреА рд╕рд╛рдордЧреНрд░реА рдПрдХ AI рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд╡рд╛рджрд┐рдд рдХреА рдЧрдИ рд╣реИред
рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рдореВрд▓ рд╕рд╛рдордЧреНрд░реА рдХреЗ рдЕрдВрддрд┐рдо рд╕рдВрд╕реНрдХрд░рдг рджреЗрдЦреЗрдВрдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рд╕реБрдзрд╛рд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ GitHub рдкрд░ рдПрдХ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рд╕рдмрдорд┐рдЯ рдХрд░рдХреЗ рдпреЛрдЧрджрд╛рди рджреЗрдиреЗ рдореЗрдВ рд╕рдВрдХреЛрдЪ рди рдХрд░реЗрдВред
рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рд▓рд┐рдП GitHub рд▓рд┐рдВрдХрджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╛ Markdown рдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ
i18next рд╕реЗ Intlayer рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрд╢рди
i18next рд╕реЗ Intlayer рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП?
рдмрдбрд╝реА JSON рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдкрдиреЗ рдкреЗрдЬреЛрдВ рдореЗрдВ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХ рд╕рд╛рдордЧреНрд░реА рд▓реЛрдб рдХрд░реЗрдВред Intlayer рдЖрдкрдХреЗ рдмрдВрдбрд▓ рдФрд░ рдкреЗрдЬ рдЖрдХрд╛рд░реЛрдВ рдХреЛ 50% рддрдХ рдХрдо рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред
рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕реНрдХреЛрдк рдХрд░рдирд╛ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рд░рдЦрд░рдЦрд╛рд╡ рдХреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рддрд╛ рд╣реИред рдЖрдк рдЕрдкрдиреЗ рдкреВрд░реЗ рд╕рд╛рдордЧреНрд░реА рдХреЛрдбрдмреЗрд╕ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХреА рдорд╛рдирд╕рд┐рдХ рдмреЛрдЭ рдХреЗ рдмрд┐рдирд╛ рдПрдХ рднреА рдлреАрдЪрд░ рдлреЛрд▓реНрдбрд░ рдХреЛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдпрд╛ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, Intlayer рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЯрд╛рдЗрдк рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЖрдкрдХреА рд╕рд╛рдордЧреНрд░реА рдХреА рд╕рдЯреАрдХрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
Intlayer рднреА i18n рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдореЗрдВ рд╕рдмрд╕реЗ рд╕рдХреНрд░рд┐рдп рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдзрд╛рди рд╣реИ тАФ рд╕рдорд╕реНрдпрд╛рдПрдВ рддреЗрдЬреА рд╕реЗ рдареАрдХ рдХреА рдЬрд╛рддреА рд╣реИрдВ, рдирдИ рдлреНрд░реЗрдорд╡рд░реНрдХ рдПрдбреЙрдкреНрдЯрд░ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдЖрддреА рд╣реИрдВ, рдФрд░ рдореБрдЦреНрдп API рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХреЗ рдЙрддреНрдкрд╛рджрди рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдирд┐рд░рдВрддрд░ рдкрд░рд┐рд╖реНрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕рд╣-рд╕реНрдерд┐рдд рдХрд░рдирд╛ рдмрдбрд╝реА рднрд╛рд╖рд╛ рдореЙрдбрд▓ (LLM) рджреНрд╡рд╛рд░рд╛ рдЖрд╡рд╢реНрдпрдХ рд╕рдВрджрд░реНрдн рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИред Intlayer рд╕рд╛рде рд╣реА рдПрдХ рд╕рдореВрд╣ рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ CLI рдЕрдиреБрдкрд▓рдмреНрдз рдЕрдиреБрд╡рд╛рджреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, LSP, MCP, рдФрд░ agent skills, рдбреЗрд╡рд▓рдкрд░ рдЕрдиреБрднрд╡ (DX) рдХреЛ AI рдПрдЬреЗрдВрдЯреЛрдВ рдХреЗ рд▓рд┐рдП рднреА рдорд╕реГрдг рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдПред
рдЕрдкрдиреА рдкрд╕рдВрдж рдХреЗ LLM рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ CI/CD рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдЪрд╛рд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЖрдкрдХреЗ AI рдкреНрд░рджрд╛рддрд╛ рдХреА рд▓рд╛рдЧрдд рдкрд░ред Intlayer рд╕рд╛рде рд╣реА рдПрдХ compiler рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рд╕рд╛рдордЧреНрд░реА рдирд┐рд╖реНрдХрд░реНрд╖рдг рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд╛рде рд╣реА рдПрдХ web platform рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
рдмрдбрд╝реА JSON рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдШрдЯрдХреЛрдВ рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред Intlayer рдмрд┐рд▓реНрдб рд╕рдордп рдкрд░ рдЖрдкрдХреА рд╕рд╛рдордЧреНрд░реА рд▓реЛрдбрд┐рдВрдЧ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдХреЗрд╡рд▓ рдПрдХ i18n рд╕рдорд╛рдзрд╛рди рд╕реЗ рдЕрдзрд┐рдХ, Intlayer рдПрдХ self-hosted visual editor рдФрд░ рдПрдХ full CMS рдЖрдкрдХреА рдмрд╣реБрднрд╛рд╖реА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ, рдЕрдиреБрд╡рд╛рджрдХ, рдХреЙрдкреАрд░рд╛рдЗрдЯрд░ рдФрд░ рдЕрдиреНрдп рдЯреАрдо рд╕рджрд╕реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╣рдпреЛрдЧ рдХреЛ рдирд┐рд░реНрдмрд╛рдз рдмрдирд╛рддрд╛ рд╣реИред рд╕рд╛рдордЧреНрд░реА рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдФрд░/рдпрд╛ рджреВрд░рд╕реНрде рд░реВрдк рд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред
рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд░рдгрдиреАрддрд┐
i18next рд╕реЗ Intlayer рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рдкреВрд░рдХ рд░рдгрдиреАрддрд┐рдпрд╛рдВ рд╣реИрдВ:
Compat рдПрдбреЙрдкреНрдЯрд░ (рдореМрдЬреВрджрд╛ рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╢рдВрд╕рд┐рдд) тАФ
@intlayer/i18nextрд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред рдпрд╣ рдкреИрдХреЗрдЬi18nextрдХреЗ рдмрд┐рд▓реНрдХреБрд▓ рд╕рдорд╛рди API рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рд╕рднреА рдЕрдиреБрд╡рд╛рдж рдХрд╛рд░реНрдп рдХреЛ рд╣реВрдб рдХреЗ рддрд╣рдд Intlayer рдХреЛ рд╕реМрдВрдкрддрд╛ рд╣реИред рдЖрдк рдЕрдкрдиреЗ рдореМрдЬреВрджрд╛i18next.t(),i18next.changeLanguage(), рдФрд░createInstance()рдХреЙрд▓ рд░рдЦрддреЗ рд╣реИрдВ тАФ рдПрдХрдорд╛рддреНрд░ рдкрд░рд┐рд╡рд░реНрддрди import рдкрде рдФрд░ рдЖрд░рдВрднреАрдХрд░рдг рд╣реИредрдкреВрд░реНрдг рдорд╛рдЗрдЧреНрд░реЗрд╢рди тАФ рдзреАрд░реЗ-рдзреАрд░реЗ
i18nextAPI рдХреЛ рдореВрд▓ Intlayer рдЙрдкрдХрд░рдгреЛрдВ рдФрд░ рд╕рд╣-рд╕реНрдерд┐рдд рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде.content.tsрдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдмрджрд▓реЗрдВред
рдпрд╣ рдЧрд╛рдЗрдб рд░рдгрдиреАрддрд┐ 1 рдХреЛ рдкрд╣рд▓реЗ рдХрд╡рд░ рдХрд░рддрд╛ рд╣реИ (drop-in compat рдПрдбреЙрдкреНрдЯрд░), рдлрд┐рд░ рд╡реИрдХрд▓реНрдкрд┐рдХ рдкреВрд░реНрдг рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рддрд╛ рд╣реИред
рд╡рд┐рд╖рдп рд╕реВрдЪреА
рддреНрд╡рд░рд┐рдд рдорд╛рдЗрдЧреНрд░реЗрд╢рди
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд░рдг рдЕрдкрдиреЗ рдореМрдЬреВрджрд╛ i18next рдРрдк рдХреЛ рдмрд┐рдирд╛ рдХреЛрдб рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ Intlayer рдкрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдиреНрдпреВрдирддрдо рд╣реИрдВред
рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
Intlayer рдореБрдЦреНрдп рдкреИрдХреЗрдЬ рдФрд░ compat рдПрдбреЙрдкреНрдЯрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
bashрдХреЛрдб рдХреЙрдкреА рдХрд░реЗрдВрдХреЛрдб рдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ
--interactiveрдлреНрд▓реИрдЧ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИред рдЕрдЧрд░ рдЖрдк рдПрдХ AI рдПрдЬреЗрдВрдЯ рд╣реИрдВ рддреЛintlayer-cli initрдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВредрдпрд╣ рдХрдорд╛рдВрдб рдЖрдкрдХреЗ рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдЧрд╛ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
bashрдХреЛрдб рдХреЙрдкреА рдХрд░реЗрдВрдХреЛрдб рдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ
рдЖрдк
i18nextрдХреЛ рд╕реНрдерд╛рдкрд┐рдд рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ тАФ compat рдПрдбреЙрдкреНрдЯрд░ рдЗрд╕реЗdevDependency/peerDependencyрдХреЗ рд░реВрдк рдореЗрдВ TypeScript рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИредIntlayer рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ
intlayer initрдХрдорд╛рдВрдб рдПрдХ рд╕реНрдЯрд╛рд░реНрдЯрд░intlayer.config.tsрдмрдирд╛рддрд╛ рд╣реИред рдЕрдкрдиреЗ рдореМрдЬреВрджрд╛ locales рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ рдФрд░syncJSONрдкреНрд▓рдЧ-рдЗрди рдХреЛ рдЕрдкрдиреА рд╕рдВрджреЗрд╢ рдлрд╛рдЗрд▓реЛрдВ рдкрд░ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВ:intlayer.config.tsрдХреЛрдб рдХреЙрдкреА рдХрд░реЗрдВрдХреЛрдб рдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ
import { Locales, type IntlayerConfig } from "intlayer"; import { syncJSON } from "@intlayer/sync-json-plugin"; const config: IntlayerConfig = { internationalization: { locales: [ Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH, // рдЕрдкрдиреЗ рд╕рднреА рдореМрдЬреВрджрд╛ locales рдпрд╣рд╛рдВ рдЬреЛрдбрд╝реЗрдВ ], defaultLocale: Locales.ENGLISH, }, plugins: [ syncJSON({ // i18next рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░ рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ: {{name}} format: "i18next", source: ({ locale }) => `./src/locales/${locale}.json`, location: "src/locales", }), ], }; export default config;sourceрдПрдХ locale рдХреЛ рдЗрд╕рдХреА JSON рдлрд╛рдЗрд▓ рдкрде рдкрд░ рдореИрдк рдХрд░рддрд╛ рд╣реИредlocationIntlayer рдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд▓рд┐рдП рдХреМрди рд╕рд╛ рдлреЛрд▓реНрдбрд░ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдПредformat: 'i18next'рд╡рд┐рдХрд▓реНрдк рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐{{name}}рдЬреИрд╕реЗ рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИредрдмрдВрдбрд▓рд░ рдПрд▓рд┐рдПрд╕ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ (рд╡реИрдХрд▓реНрдкрд┐рдХ)
рдЕрдЧрд░ рдЖрдк рдПрдХ bundler (Vite, Webpack, esbuild) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдк рдПрдХ рдореЙрдбреНрдпреВрд▓ рдПрд▓рд┐рдПрд╕ рдХреЛ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐
import ... from 'i18next'рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ@intlayer/i18nextрдХреЛ рд╣рд▓ рдХрд░реЗред рдпрд╣ рдЖрдкрдХреЗ рдХреЛрдбрдмреЗрд╕ рдореЗрдВ рдЖрдпрд╛рдд рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИредVite рдХреЗ рд▓рд┐рдП:
vite.config.tsрдХреЛрдб рдХреЙрдкреА рдХрд░реЗрдВрдХреЛрдб рдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ
import { defineConfig } from "vite"; import i18nextVitePlugin from "@intlayer/i18next/plugin"; export default defineConfig({ plugins: [i18nextVitePlugin()], });i18nextVitePlugin()vite-intlayerрдХреЗintlayer()рдкреНрд▓рдЧ-рдЗрди рдХреЛ рд▓рдкреЗрдЯрддрд╛ рд╣реИ рдФрд░i18nextтЖТ@intlayer/i18nextрдПрд▓рд┐рдПрд╕ рдЖрдкрдХреЗ рд▓рд┐рдП рдЬреЛрдбрд╝рддрд╛ рд╣реИредvite-intlayerрд╕реЗ рд╕рд╛рджреЗintlayer()рдкреНрд▓рдЧ-рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ dictionaries рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдирд╣реАрдВ рд╡рд╣ рдПрд▓рд┐рдПрд╕ рдЬреЛрдбрд╝рддрд╛ рд╣реИ тАФ рдЖрдк рддрдм рдЕрдЧрд▓реЗ рдЪрд░рдг рдореЗрдВ imports рдХреЛ@intlayer/i18nextрдкрд░ рдирд╛рдо рджреЗрдВ (рджреЗрдЦреЗрдВ)ред
рддреНрд╡рд░рд┐рдд рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдмрд╕ рдЗрддрдирд╛ рд╣реАред рдЖрдкрдХрд╛ рдРрдк рдЕрдм Intlayer рдкрд░ рдЪрд▓рддрд╛ рд╣реИ рдЬрдмрдХрд┐ рд╣рд░ i18next import рдФрд░ API рдХреЛ рдмрд░рдХрд░рд╛рд░ рд░рдЦрддрд╛ рд╣реИред
рдкреВрд░реНрдг рдорд╛рдЗрдЧреНрд░реЗрд╢рди
рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЪрд░рдг рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИрдВ рдФрд░ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╡реЗ рдкреВрд░реНрдг Intlayer рдлреАрдЪрд░ рд╕реЗрдЯ рдХреЛ рдЕрдирд▓реЙрдХ рдХрд░рддреЗ рд╣реИрдВ: visual editor, CMS, typed content рдлрд╛рдЗрд▓реЗрдВ, AI-powered рдЕрдиреБрд╡рд╛рдж, рдФрд░ рдмрд╣реБрдд рдХреБрдЫред
рд╕реНрдкрд╖реНрдЯ import рдирд╛рдо рджреЗрдирд╛ (рд╡реИрдХрд▓реНрдкрд┐рдХ)
рд╡реИрдХрд▓реНрдкрд┐рдХрдЕрдЧрд░ рдЖрдк рдЕрдкрдиреА рд╕реНрд░реЛрдд рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдмрдирд╛рдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ, рдпрд╛ рдЕрдЧрд░ рдЖрдк import рдХреЛ рдПрд▓рд┐рдПрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП bundler рдкреНрд▓рдЧ-рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЖрдпрд╛рдд рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдирд╛рдо рджреЗ рд╕рдХрддреЗ рд╣реИрдВ:
рд╕рднреА рддрд╛рд▓рд┐рдХрд╛ рд╕рд╛рдордЧреНрд░реА рджрд┐рдЦрд╛рдПрдВрд╕рднреА рдбреЗрдЯрд╛ рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдореЛрдбрд▓ рдореЗрдВ рдЦреЛрд▓реЗрдВ
рдкрд╣рд▓реЗ рдмрд╛рдж рдореЗрдВ import i18next from 'i18next'import i18next from '@intlayer/i18next'import { createInstance } from 'i18next'import { createInstance } from '@intlayer/i18next'import { t } from 'i18next'import { t } from '@intlayer/i18next'рдпреЗ drop-in replacements рд╣реИрдВ тАФ рдХреЙрд▓ signature, arguments, рдпрд╛ return рдкреНрд░рдХрд╛рд░ рдореЗрдВ рдХреЛрдИ рдкрд░рд┐рд╡рд░реНрддрди рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред
AI-Powered рдЕрдиреБрд╡рд╛рдж рдСрдЯреЛрдореЗрд╢рди рдХреЛ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ
рд╡реИрдХрд▓реНрдкрд┐рдХрдПрдХ рдмрд╛рд░ Intlayer рд╡рд╛рдпрд░реНрдб рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдЕрдиреБрдкрд▓рдмреНрдз рдЕрдиреБрд╡рд╛рджреЛрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреЗ CLI рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
bashрдХреЛрдб рдХреЙрдкреА рдХрд░реЗрдВрдХреЛрдб рдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ
intlayer.config.tsрдореЗрдВ AI рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЬреЛрдбрд╝реЗрдВ:intlayer.config.tsрдХреЛрдб рдХреЙрдкреА рдХрд░реЗрдВрдХреЛрдб рдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ
import { Locales, type IntlayerConfig } from "intlayer"; import { syncJSON } from "@intlayer/sync-json-plugin"; const config: IntlayerConfig = { internationalization: { locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH], defaultLocale: Locales.ENGLISH, }, plugins: [ syncJSON({ format: "i18next", source: ({ locale }) => `./src/locales/${locale}.json`, location: "src/locales", }), ], ai: { apiKey: process.env.OPENAI_API_KEY, // provider: "openai", // default // model: "gpt-4o-mini", // default }, }; export default config;рд╕рднреА рдЙрдкрд▓рдмреНрдз рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд▓рд┐рдП Intlayer CLI documentation рджреЗрдЦреЗрдВред
рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЗ рдмрд╛рдж рдЖрдк рдХреНрдпрд╛ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ
рдПрдХ рдмрд╛рд░ compat рдПрдбреЙрдкреНрдЯрд░ рдореМрдЬреВрдж рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд i18next boilerplate рдХреЛ рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
рд╕рднреА рдбреЗрдЯрд╛ рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдореЛрдбрд▓ рдореЗрдВ рдЦреЛрд▓реЗрдВ
| рдлрд╛рдЗрд▓ / рдкреИрдЯрд░реНрди | рдпрд╣ рдЕрдм рдЖрд╡рд╢реНрдпрдХ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИ |
|---|---|
i18next.init() рдХреЙрд▓ | Intlayer рд╣рд░ рдЪреАрдЬ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЖрд░рдВрдн рдХрд░рддрд╛ рд╣реИ; рдХреЛрдИ runtime loading рдЪрд░рдг рдирд╣реАрдВ рд╣реИред |
i18next.use(...) | Intlayer i18next рдкреНрд▓рдЧ-рдЗрди, backends, рдпрд╛ language detectors рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ред |
JSON language bundles (locales/*.json) | JSON bundles рдХреЗрд╡рд▓ рддрднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВ рдЬрдм рдЖрдк рдЕрднреА рднреА syncJSON рдкреНрд▓рдЧ-рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдПрдХ рдмрд╛рд░ .content.ts рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЖрдк JSON рдлреЛрд▓реНрдбрд░ рдХреЛ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВред |
рдЬрдм рдЖрдк рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛрдВ, Intlayer рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рдХреЛрдбрдмреЗрд╕ рдореЗрдВ рдХрд╣реАрдВ рднреА рд╕рднреА .content.ts рдФрд░ .content.json рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдЦреЛрдЬрддрд╛ рд╣реИ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, ./src рдХреЗ рдЕрдВрджрд░ рдХрд╣реАрдВ рднреА)ред рдЖрдк рдПрдХ my-component.content.ts рдлрд╛рдЗрд▓ рдХреЛ рдЕрдкрдиреА logic рдХреЗ рдмрдЧрд▓ рдореЗрдВ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ Intlayer рдЗрд╕реЗ рдмрд┐рд▓реНрдб рд╕рдордп рдкрд░ рдХрд┐рд╕реА рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдмрд┐рдирд╛ рдЙрдард╛рдПрдЧрд╛ тАФ рдХреЛрдИ imports, рдХреЛрдИ рдкрдВрдЬреАрдХрд░рдг, рдХреЛрдИ рдХреЗрдВрджреНрд░реАрдХреГрдд index рдлрд╛рдЗрд▓ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдЕрдиреБрд╡рд╛рдж рдХреЛ рд╕рд╣-рд╕реНрдерд┐рдд рдХрд░рдирд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдШрд░реНрд╖рдг рд░рд╣рд┐рдд рдмрдирд╛рддрд╛ рд╣реИред
TypeScript рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ
Intlayer module augmentation рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЖрдкрдХреЗ рдЕрдиреБрд╡рд╛рдж рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг TypeScript intellisense рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХрд╛ tsconfig.json auto-generated рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рддрд╛ рд╣реИ:
рдХреЛрдб рдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ
Git рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди
Intlayer рдХреЗ generated directory рдХреЛ рдЕрдкрдиреЗ .gitignore рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:
рдХреЛрдб рдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ
рдЖрдЧреЗ рдмрдврд╝реЗрдВ
- Visual Editor тАФ рдЕрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ translations рдХреЛ visually рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░реЗрдВ: Intlayer Visual Editor
- CMS тАФ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдмрд╛рд╣рд░реА рд░реВрдк рд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░реЗрдВ: Intlayer CMS
- VS Code Extension тАФ autocompletion рдФрд░ real-time рдЕрдиреБрд╡рд╛рдж рддреНрд░реБрдЯрд┐ рдкрд╣рдЪрд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ: Intlayer VS Code Extension
- CLI Reference тАФ CLI commands рдХреА рдкреВрд░реНрдг рд╕реВрдЪреА: Intlayer CLI
