Author:
    Creation:2026-06-05Last update:2026-06-05

    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 рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рдкреВрд░рдХ рд░рдгрдиреАрддрд┐рдпрд╛рдВ рд╣реИрдВ:

    1. Compat рдПрдбреЙрдкреНрдЯрд░ (рдореМрдЬреВрджрд╛ рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╢рдВрд╕рд┐рдд) тАФ @intlayer/i18next рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред рдпрд╣ рдкреИрдХреЗрдЬ i18next рдХреЗ рдмрд┐рд▓реНрдХреБрд▓ рд╕рдорд╛рди API рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рд╕рднреА рдЕрдиреБрд╡рд╛рдж рдХрд╛рд░реНрдп рдХреЛ рд╣реВрдб рдХреЗ рддрд╣рдд Intlayer рдХреЛ рд╕реМрдВрдкрддрд╛ рд╣реИред рдЖрдк рдЕрдкрдиреЗ рдореМрдЬреВрджрд╛ i18next.t(), i18next.changeLanguage(), рдФрд░ createInstance() рдХреЙрд▓ рд░рдЦрддреЗ рд╣реИрдВ тАФ рдПрдХрдорд╛рддреНрд░ рдкрд░рд┐рд╡рд░реНрддрди import рдкрде рдФрд░ рдЖрд░рдВрднреАрдХрд░рдг рд╣реИред

    2. рдкреВрд░реНрдг рдорд╛рдЗрдЧреНрд░реЗрд╢рди тАФ рдзреАрд░реЗ-рдзреАрд░реЗ i18next API рдХреЛ рдореВрд▓ Intlayer рдЙрдкрдХрд░рдгреЛрдВ рдФрд░ рд╕рд╣-рд╕реНрдерд┐рдд рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде .content.ts рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдмрджрд▓реЗрдВред

    рдпрд╣ рдЧрд╛рдЗрдб рд░рдгрдиреАрддрд┐ 1 рдХреЛ рдкрд╣рд▓реЗ рдХрд╡рд░ рдХрд░рддрд╛ рд╣реИ (drop-in compat рдПрдбреЙрдкреНрдЯрд░), рдлрд┐рд░ рд╡реИрдХрд▓реНрдкрд┐рдХ рдкреВрд░реНрдг рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рддрд╛ рд╣реИред

    рд╡рд┐рд╖рдп рд╕реВрдЪреА

    рддреНрд╡рд░рд┐рдд рдорд╛рдЗрдЧреНрд░реЗрд╢рди

    рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд░рдг рдЕрдкрдиреЗ рдореМрдЬреВрджрд╛ i18next рдРрдк рдХреЛ рдмрд┐рдирд╛ рдХреЛрдб рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ Intlayer рдкрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдиреНрдпреВрдирддрдо рд╣реИрдВред

    1. рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ

      Intlayer рдореБрдЦреНрдп рдкреИрдХреЗрдЬ рдФрд░ compat рдПрдбреЙрдкреНрдЯрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:

      bash
      npx intlayer init --interactive
      
      --interactive рдлреНрд▓реИрдЧ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИред рдЕрдЧрд░ рдЖрдк рдПрдХ AI рдПрдЬреЗрдВрдЯ рд╣реИрдВ рддреЛ intlayer-cli init рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
      рдпрд╣ рдХрдорд╛рдВрдб рдЖрдкрдХреЗ рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдЧрд╛ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
      bash
      npm install intlayer @intlayer/i18next @intlayer/sync-json-plugin
      
      рдЖрдк i18next рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ тАФ compat рдПрдбреЙрдкреНрдЯрд░ рдЗрд╕реЗ devDependency / peerDependency рдХреЗ рд░реВрдк рдореЗрдВ TypeScript рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
    2. 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 рдлрд╛рдЗрд▓ рдкрде рдкрд░ рдореИрдк рдХрд░рддрд╛ рд╣реИред location Intlayer рдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд▓рд┐рдП рдХреМрди рд╕рд╛ рдлреЛрд▓реНрдбрд░ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред format: 'i18next' рд╡рд┐рдХрд▓реНрдк рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ {{name}} рдЬреИрд╕реЗ рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
    3. рдмрдВрдбрд▓рд░ рдПрд▓рд┐рдПрд╕ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ (рд╡реИрдХрд▓реНрдкрд┐рдХ)

      рдЕрдЧрд░ рдЖрдк рдПрдХ 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 рдЕрдиреБрд╡рд╛рдж, рдФрд░ рдмрд╣реБрдд рдХреБрдЫред

    1. рд╕реНрдкрд╖реНрдЯ 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 рдкреНрд░рдХрд╛рд░ рдореЗрдВ рдХреЛрдИ рдкрд░рд┐рд╡рд░реНрддрди рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред

    2. AI-Powered рдЕрдиреБрд╡рд╛рдж рдСрдЯреЛрдореЗрд╢рди рдХреЛ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ

      рд╡реИрдХрд▓реНрдкрд┐рдХ

      рдПрдХ рдмрд╛рд░ Intlayer рд╡рд╛рдпрд░реНрдб рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдЕрдиреБрдкрд▓рдмреНрдз рдЕрдиреБрд╡рд╛рджреЛрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреЗ CLI рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:

      bash
      # рдЕрдиреБрдкрд▓рдмреНрдз рдЕрдиреБрд╡рд╛рджреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг (CI рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ)
      npx intlayer test
      
      # AI рдХреЗ рд╕рд╛рде рдЕрдиреБрдкрд▓рдмреНрдз рдЕрдиреБрд╡рд╛рдж рднрд░реЗрдВ
      npx intlayer fill
      

      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 рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рддрд╛ рд╣реИ:

    tsconfig.json
    {
      // ... рдЖрдкрдХреА рдореМрдЬреВрджрд╛ TypeScript рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди
      "include": [
        // ... рдЖрдкрдХреА рдореМрдЬреВрджрд╛ TypeScript рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди
        ".intlayer/**/*.ts", // auto-generated рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ
      ],
    }
    

    Git рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди

    Intlayer рдХреЗ generated directory рдХреЛ рдЕрдкрдиреЗ .gitignore рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:

    .gitignore
    # Intlayer рджреНрд╡рд╛рд░рд╛ рдЬрдирд░реЗрдЯ рдХреА рдЧрдИ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░реЗрдВ
    .intlayer
    

    рдЖрдЧреЗ рдмрдврд╝реЗрдВ

    • 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