рдЕрдкрдиреЗ рдкреНрд░рд╢реНрди рдХреЛ рдкреВрдЫреЗрдВ рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╛ рд╕рд╛рд░рд╛рдВрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ, рдЗрд╕ рдкреГрд╖реНрда рдФрд░ рдЖрдкрдХреЗ рдЪреБрдиреЗ рд╣реБрдП AI рдкреНрд░рджрд╛рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ
рд╕рдВрд╕реНрдХрд░рдг рдЗрддрд┐рд╣рд╛рд╕
- "рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЗрддрд┐рд╣рд╛рд╕"v9.0.05/6/2026
рдЗрд╕ рдкреГрд╖реНрда рдХреА рд╕рд╛рдордЧреНрд░реА рдПрдХ AI рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд╡рд╛рджрд┐рдд рдХреА рдЧрдИ рд╣реИред
рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рдореВрд▓ рд╕рд╛рдордЧреНрд░реА рдХреЗ рдЕрдВрддрд┐рдо рд╕рдВрд╕реНрдХрд░рдг рджреЗрдЦреЗрдВрдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рд╕реБрдзрд╛рд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ GitHub рдкрд░ рдПрдХ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рд╕рдмрдорд┐рдЯ рдХрд░рдХреЗ рдпреЛрдЧрджрд╛рди рджреЗрдиреЗ рдореЗрдВ рд╕рдВрдХреЛрдЪ рди рдХрд░реЗрдВред
рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рд▓рд┐рдП GitHub рд▓рд┐рдВрдХрджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╛ Markdown рдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ
@nuxtjs/i18n рд╕реЗ Intlayer рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрд╢рди
@nuxtjs/i18n рд╕реЗ 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 рдЖрдкрдХреА рдмрд╣реБрднрд╛рд╖реА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ, рдЕрдиреБрд╡рд╛рджрдХ, рдХреЙрдкреАрд░рд╛рдЗрдЯрд░ рдФрд░ рдЕрдиреНрдп рдЯреАрдо рд╕рджрд╕реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╣рдпреЛрдЧ рдХреЛ рдирд┐рд░реНрдмрд╛рдз рдмрдирд╛рддрд╛ рд╣реИред рд╕рд╛рдордЧреНрд░реА рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдФрд░/рдпрд╛ рджреВрд░рд╕реНрде рд░реВрдк рд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред
рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд░рдгрдиреАрддрд┐
рдЪреВрдВрдХрд┐ @nuxtjs/i18n рд╣реВрдб рдХреЗ рддрд╣рдд vue-i18n рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реИ, Intlayer рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рдкреВрд░рдХ рд░рдгрдиреАрддрд┐рдпрд╛рдВ рд╣реИрдВ:
Compat рдПрдбреЙрдкреНрдЯрд░ (рдореМрдЬреВрджрд╛ рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╢рдВрд╕рд┐рдд) тАФ
@intlayer/vue-i18nрдФрд░nuxt-intlayerрд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред рдпрд╣vue-i18nрдХреЗ рдмрд┐рд▓реНрдХреБрд▓ рд╕рдорд╛рди API рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рд╕рднреА рдЕрдиреБрд╡рд╛рдж рдХрд╛рд░реНрдп рдХреЛ рд╣реВрдб рдХреЗ рддрд╣рдд Intlayer рдХреЛ рд╕реМрдВрдкрддрд╛ рд╣реИред рдЖрдк рдЕрдкрдиреЗ рдореМрдЬреВрджрд╛$t,useI18n(), рдФрд░ Nuxt routing рдХреЛ unchanged рд░рдЦрддреЗ рд╣реИрдВ тАФ рдПрдХрдорд╛рддреНрд░ рдкрд░рд┐рд╡рд░реНрддрди initialization рд╣реИредрдкреВрд░реНрдг рдорд╛рдЗрдЧреНрд░реЗрд╢рди тАФ рдзреАрд░реЗ-рдзреАрд░реЗ
@nuxtjs/i18nAPI рдХреЛ native Intlayer hooks (useIntlayer) рдФрд░ рд╕рд╣-рд╕реНрдерд┐рдд рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде.content.tsрдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдмрджрд▓реЗрдВред
рдпрд╣ рдЧрд╛рдЗрдб рд░рдгрдиреАрддрд┐ 1 рдХреЛ рдкрд╣рд▓реЗ рдХрд╡рд░ рдХрд░рддрд╛ рд╣реИ (drop-in compat рдПрдбреЙрдкреНрдЯрд░), рдлрд┐рд░ рд╡реИрдХрд▓реНрдкрд┐рдХ рдкреВрд░реНрдг рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рддрд╛ рд╣реИред
рд╡рд┐рд╖рдп рд╕реВрдЪреА
рддреНрд╡рд░рд┐рдд рдорд╛рдЗрдЧреНрд░реЗрд╢рди
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд░рдг рдЕрдкрдиреЗ рдореМрдЬреВрджрд╛ Nuxt рдРрдк рдХреЛ рдЖрдкрдХреЗ рдШрдЯрдХреЛрдВ рдореЗрдВ рдмрд┐рдирд╛ рдХреЛрдб рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ Intlayer рдкрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдиреНрдпреВрдирддрдо рд╣реИрдВред
рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
Intlayer рдореБрдЦреНрдп рдкреИрдХреЗрдЬ рдФрд░ compat рдПрдбреЙрдкреНрдЯрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
bashрдХреЛрдб рдХреЙрдкреА рдХрд░реЗрдВрдХреЛрдб рдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ
--interactiveрдлреНрд▓реИрдЧ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИред рдЕрдЧрд░ рдЖрдк рдПрдХ AI рдПрдЬреЗрдВрдЯ рд╣реИрдВ рддреЛintlayer-cli initрдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВредрдпрд╣ рдХрдорд╛рдВрдб рдЖрдкрдХреЗ рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдЧрд╛ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
bashрдХреЛрдб рдХреЙрдкреА рдХрд░реЗрдВрдХреЛрдб рдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ
рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рдЖрдк
@nuxtjs/i18nрдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЖрдк рдЗрд╕реЗ рдЕрдкрдиреЗ Nuxt config рд╕реЗ рд╢реАрдШреНрд░ рд╣реА рд╣рдЯрд╛ рджреЗрдВрдЧреЗред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({ // vue-i18n рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░ рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ: {name} format: "icu", source: ({ locale }) => `./locales/${locale}.json`, location: "locales", }), ], }; export default config;sourceрдПрдХ locale рдХреЛ рдЗрд╕рдХреА JSON рдлрд╛рдЗрд▓ рдкрде рдкрд░ рдореИрдк рдХрд░рддрд╛ рд╣реИредlocationIntlayer рдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд▓рд┐рдП рдХреМрди рд╕рд╛ рдлреЛрд▓реНрдбрд░ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдПредformat: 'icu'рд╡рд┐рдХрд▓реНрдк рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ placeholders рдХреЛvue-i18nрдХреЗ рд▓рд┐рдП рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИредNuxt рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ
рдЕрдкрдиреЗ
nuxt.config.tsрдореЗрдВ@nuxtjs/i18nmodule рдХреЛnuxt-intlayerрд╕реЗ рдмрджрд▓реЗрдВред Intlayer рдкреНрд▓рдЧ-рдЗрди рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ module рдПрд▓рд┐рдПрд╕ рдХреЛ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдореМрдЬреВрджрд╛import { useI18n } from 'vue-i18n'рдХреЙрд▓ рдХреЛ transparently@intlayer/vue-i18nрдкрд░ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИредnuxt.config.tsрдХреЛрдб рдХреЙрдкреА рдХрд░реЗрдВрдХреЛрдб рдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ
export default defineNuxtConfig({ // '@nuxtjs/i18n' рдХреЛ рд╣рдЯрд╛рдПрдВ modules: ["nuxt-intlayer"], });рдЖрдкрдХреЛ рдЕрдм Nuxt i18n config objects рдХреЛ define рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред Intlayer рд╕рднреА dictionaries рдХреЛ build рд╕рдордп рдкрд░ compile рдХрд░рддрд╛ рд╣реИ, locale detection, routing, рдФрд░ dictionary loading рдХреЛ seamlessly рд╣реИрдВрдбрд▓ рдХрд░рддрд╛ рд╣реИред
рддреНрд╡рд░рд┐рдд рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдмрд╕ рдЗрддрдирд╛ рд╣реАред рдЖрдкрдХрд╛ Nuxt рдРрдк рдЕрдм Intlayer рдкрд░ рдЪрд▓рддрд╛ рд╣реИ рдЬрдмрдХрд┐ рд╣рд░ $t рдФрд░ useI18n() рдХреЛ рдмрд░рдХрд░рд╛рд░ рд░рдЦрддрд╛ рд╣реИред
рдкреВрд░реНрдг рдорд╛рдЗрдЧреНрд░реЗрд╢рди
рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЪрд░рдг рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИрдВ рдФрд░ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╡реЗ рдкреВрд░реНрдг Intlayer рдлреАрдЪрд░ рд╕реЗрдЯ рдХреЛ рдЕрдирд▓реЙрдХ рдХрд░рддреЗ рд╣реИрдВ: visual editor, CMS, typed content рдлрд╛рдЗрд▓реЗрдВ, AI-powered рдЕрдиреБрд╡рд╛рдж, рдФрд░ рдмрд╣реБрдд рдХреБрдЫред
рд╕реНрдкрд╖реНрдЯ import рдирд╛рдо рджреЗрдирд╛ (рд╡реИрдХрд▓реНрдкрд┐рдХ)
рд╡реИрдХрд▓реНрдкрд┐рдХIntlayer рдкреНрд▓рдЧ-рдЗрди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА bundler рд╕реНрддрд░ рдкрд░ aliasing рдХреЛ рд╣реИрдВрдбрд▓ рдХрд░рддреЗ рд╣реИрдВред рдЕрдЧрд░ рдЖрдк рдЕрдкрдиреА рд╕реНрд░реЛрдд рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдмрдирд╛рдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк imports рдХреЛ manually рдирд╛рдо рджреЗ рд╕рдХрддреЗ рд╣реИрдВ:
рд╕рднреА рддрд╛рд▓рд┐рдХрд╛ рд╕рд╛рдордЧреНрд░реА рджрд┐рдЦрд╛рдПрдВрд╕рднреА рдбреЗрдЯрд╛ рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдореЛрдбрд▓ рдореЗрдВ рдЦреЛрд▓реЗрдВ
рдкрд╣рд▓реЗ рдмрд╛рдж рдореЗрдВ import { useI18n } from 'vue-i18n'import { useI18n } from '@intlayer/vue-i18n'рдпреЗ 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: "icu", source: ({ locale }) => `./locales/${locale}.json`, location: "locales", }), ], ai: { apiKey: process.env.OPENAI_API_KEY, // provider: "openai", // default // model: "gpt-4o-mini", // default }, }; export default config;рд╕рднреА рдЙрдкрд▓рдмреНрдз рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд▓рд┐рдП Intlayer CLI documentation рджреЗрдЦреЗрдВред
рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЗ рдмрд╛рдж рдЖрдк рдХреНрдпрд╛ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ
рдПрдХ рдмрд╛рд░ compat рдПрдбреЙрдкреНрдЯрд░ рдореМрдЬреВрдж рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд boilerplate рдХреЛ рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
рд╕рднреА рдбреЗрдЯрд╛ рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдореЛрдбрд▓ рдореЗрдВ рдЦреЛрд▓реЗрдВ
| рдлрд╛рдЗрд▓ / рдкреИрдЯрд░реНрди | рдпрд╣ рдЕрдм рдЖрд╡рд╢реНрдпрдХ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИ |
|---|---|
i18n configurations in nuxt.config.ts | Intlayer routing, dictionary loading, рдФрд░ default locales рдХреЛ internally рд╣реИрдВрдбрд▓ рдХрд░рддрд╛ рд╣реИред |
@nuxtjs/i18n from package.json | рдкреВрд░реА рддрд░рд╣ рд╕реЗ nuxt-intlayer рджреНрд╡рд╛рд░рд╛ replaced рд╣реИред |
JSON language bundles (locales/*.json) | JSON bundles рдХреЗрд╡рд▓ рддрднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВ рдЬрдм рдЖрдк рдЕрднреА рднреА syncJSON рдкреНрд▓рдЧ-рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдПрдХ рдмрд╛рд░ .content.ts рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЖрдк JSON рдлреЛрд▓реНрдбрд░ рдХреЛ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВред |
рдЬрдм рдЖрдк рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛрдВ, Intlayer рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рдХреЛрдбрдмреЗрд╕ рдореЗрдВ рдХрд╣реАрдВ рднреА рд╕рднреА .content.ts рдФрд░ .content.json рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдЦреЛрдЬрддрд╛ рд╣реИ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, ./src рдХреЗ рдЕрдВрджрд░ рдХрд╣реАрдВ рднреА)ред рдЖрдк рдПрдХ my-component.content.ts рдлрд╛рдЗрд▓ рдХреЛ рдЕрдкрдиреЗ MyComponent.vue рдХреЗ рдмрдЧрд▓ рдореЗрдВ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ 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
- Intlayer with Nuxt тАФ Nuxt рдХреЗ рд▓рд┐рдП full setup guide: intlayerwithnuxt.md
- Intlayer with Vue тАФ Vue рдХреЗ рд▓рд┐рдП full setup guide: intlayerwithvite+vue.md
