Author:
    Creation:2025-09-22Last update:2025-09-22

    рдирдпрд╛ Intlayer v6 - рдХреНрдпрд╛ рдирдпрд╛ рд╣реИ?

    Intlayer v6 рдореЗрдВ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ! рдпрд╣ рд░рд┐рд▓реАрдЬрд╝ рдкреНрд░рджрд░реНрд╢рди, рдбреЗрд╡рд▓рдкрд░ рдЕрдиреБрднрд╡, рдФрд░ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИред рдиреАрдЪреЗ рдореБрдЦреНрдп рдмрд┐рдВрджреБ рджрд┐рдП рдЧрдП рд╣реИрдВ, рд╕рд╛рде рд╣реА рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдиреЛрдЯреНрд╕ рдФрд░ рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдЙрджрд╛рд╣рд░рдгред

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

    рдореБрдЦреНрдп рдмрд┐рдВрджреБ

    • рдирдпрд╛ рдХрдорд╛рдВрдб: npx intlayer content test рдЬреЛ рдЧрд╛рдпрдм рдЕрдиреБрд╡рд╛рджреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ
    • рдирдпрд╛ рд╡реИрд╢реНрд╡рд┐рдХ autoFill рд╡рд┐рдХрд▓реНрдк рдЬреЛ рдЧрд╛рдпрдм рдЕрдиреБрд╡рд╛рджреЛрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ
    • Fill рдХрдорд╛рдВрдб рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдореМрдЬреВрджрд╛ рдЕрдиреБрд╡рд╛рджреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ: npx intlayer fill
    • VS Code рдПрдХреНрд╕рдЯреЗрдВрд╢рди: рдирдпрд╛ Intlayer рдПрдХреНрдЯрд┐рд╡рд┐рдЯреА рдмрд╛рд░ (рдЦреЛрдЬ рдФрд░ рд╢рдмреНрджрдХреЛрд╢), рдЯреВрд▓рдмрд╛рд░/рд╕рдВрджрд░реНрдн рдХреНрд░рд┐рдпрд╛рдПрдВ, рдСрдЯреЛ-рд░рд┐рд╡реАрд▓, Fill/Test рдХрдорд╛рдВрдб
    • рдкреНрд░реЙрдорд┐рд╕ рдкреИрд░реЗрд▓рд▓рд╛рдЗрдЬреЗрд╢рди рдХреЗ рдХрд╛рд░рдг 10├Ч рддреЗрдЬрд╝ рдмрд┐рд▓реНрдб
    • рдРрдк рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрддрд┐ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд░рд┐рдореЛрдЯ рд╢рдмреНрджрдХреЛрд╢ рдХреИрд╢рд┐рдВрдЧ
    • рдмреЗрд╣рддрд░ рд▓реЙрдЧрд┐рдВрдЧ: рд╡реНрдпрд╡рд╣рд╛рд░ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП log.mode: 'verbose' рд╕реЗрдЯ рдХрд░реЗрдВ
    • рд╢рдмреНрджрдХреЛрд╢ рд╕рдорд╕реНрдпрд╛рдУрдВ рдкрд░ рдРрдк рдХреНрд░реИрд╢ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрдд рд╕рддреНрдпрд╛рдкрди
    • CMS рдХреЗ рд╕рд╛рде рд▓рд╛рдЗрд╡ рдЕрдкрдбреЗрдЯреНрд╕ рдХреЗ рд▓рд┐рдП build.importMode = 'live' рдФрд░ pnpm intlayer live рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
    • рд╕реБрдзрд╛рд░: Vue.js рдПрдХреАрдХрд░рдг, Lynx рдПрдбрд╛рдкреНрдЯрд░, Windows рдкрд░ рд╡рд┐рдЬрд╝реБрдЕрд▓ рдПрдбрд┐рдЯрд░

    рдирдпрд╛: рдЧрд╛рдпрдм рдЕрдиреБрд╡рд╛рджреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ

    рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рддреЗрдЬреА рд╕реЗ рдСрдбрд┐рдЯ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдкрддрд╛ рдЪрд▓ рд╕рдХреЗ рдХрд┐ рдХреМрди рд╕реЗ рдХреБрдВрдЬреА/рд╕реНрдерд╛рдиреАрдп рднрд╛рд╖рд╛рдПрдВ рдЧрд╛рдпрдм рд╣реИрдВред

    bash
    npx intlayer content test
    

    рдЖрдЙрдЯрдкреБрдЯ:

    bash
    pnpm intlayer content test
    рдЧрд╛рдпрдм рдЕрдиреБрд╡рд╛рдж:
     - blog-data       - рдЬрд╛рдкрд╛рдиреА (ja), рдХреЛрд░рд┐рдпрд╛рдИ (ko), рдЪреАрдиреА (zh), рдЬрд░реНрдорди (de), рдЗрддрд╛рд▓рд╡реА (it) - src/components/BlogPage/blogData.content.ts
     - demo-page       - рдлреНрд░реЗрдВрдЪ (fr), рдЗрддрд╛рд▓рд╡реА (it)                                         - src/components/DemoPage/demo.content.ts
     - locale-switcher - рдЗрддрд╛рд▓рд╡реА (it), рдкреБрд░реНрддрдЧрд╛рд▓реА (pt)                                       - src/components/LocaleSwitcher/localeSwitcher.content.ts
    рд╕реНрдерд╛рдиреАрдп рднрд╛рд╖рд╛рдПрдВ: рдЕрдВрдЧреНрд░реЗрдЬрд╝реА (en), рд░реВрд╕реА (ru), рдЬрд╛рдкрд╛рдиреА (ja), рдлреНрд░реЗрдВрдЪ (fr), рдХреЛрд░рд┐рдпрд╛рдИ (ko), рдЪреАрдиреА (zh), рд╕реНрдкреЗрдирд┐рд╢ (es), рдЬрд░реНрдорди (de), рдЕрд░рдмреА (ar), рдЗрддрд╛рд▓рд╡реА (it), рдмреНрд░рд┐рдЯрд┐рд╢ рдЕрдВрдЧреНрд░реЗрдЬрд╝реА (en-GB), рдкреБрд░реНрддрдЧрд╛рд▓реА (pt), рд╣рд┐рдВрджреА (hi)
    рдЖрд╡рд╢реНрдпрдХ рд╕реНрдерд╛рдиреАрдп рднрд╛рд╖рд╛рдПрдВ: рдЕрдВрдЧреНрд░реЗрдЬрд╝реА (en)
    рдЧрд╛рдпрдм рд╕реНрдерд╛рдиреАрдп рднрд╛рд╖рд╛рдПрдВ: рдЬрд╛рдкрд╛рдиреА (ja), рдХреЛрд░рд┐рдпрд╛рдИ (ko), рдЪреАрдиреА (zh), рдЬрд░реНрдорди (de), рдЗрддрд╛рд▓рд╡реА (it), рдлреНрд░реЗрдВрдЪ (fr), рдкреБрд░реНрддрдЧрд╛рд▓реА (pt)
    рдЧрд╛рдпрдм рдЖрд╡рд╢реНрдпрдХ рд╕реНрдерд╛рдиреАрдп рднрд╛рд╖рд╛рдПрдВ: -
    рдХреБрд▓ рдЧрд╛рдпрдм рд╕реНрдерд╛рдиреАрдп рднрд╛рд╖рд╛рдПрдВ: 7
    рдХреБрд▓ рдЧрд╛рдпрдм рдЖрд╡рд╢реНрдпрдХ рд╕реНрдерд╛рдиреАрдп рднрд╛рд╖рд╛рдПрдВ: 0
    

    рдЕрдзрд┐рдХ рд╡рд┐рдХрд▓реНрдк CLI рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдореЗрдВ рджреЗрдЦреЗрдВ: CLI рд╕рдВрджрд░реНрдн тЖТ "рдЧрд╛рдпрдм рдЕрдиреБрд╡рд╛рджреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ"ред рд╕рд╛рде рд╣реА рдкрд░реАрдХреНрд╖рдг рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ред


    рдирдпрд╛: рдЧрд╛рдпрдм рдЕрдиреБрд╡рд╛рджреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реИрд╢реНрд╡рд┐рдХ autoFill

    рдЕрдм рдЖрдк рд╡реИрд╢реНрд╡рд┐рдХ рд░реВрдк рд╕реЗ auto-fill рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдХрд┐рд╕реА рднреА рд╢рдмреНрджрдХреЛрд╢ рдореЗрдВ рдЧрд╛рдпрдм рдЕрдиреБрд╡рд╛рдж рдЕрдкрдиреЗ рдЖрдк рдкреВрд░реЗ рд╣реЛ рдЬрд╛рдПрдВред

    intlayer.config.ts
    import { type IntlayerConfig, Locales } from "intlayer";
    
    const config: IntlayerConfig = {
      internationalization: {
        locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
        defaultLocale: Locales.ENGLISH,
        requiredLocales: [Locales.ENGLISH, Locales.FRENCH],
      },
      content: {
        // рд╕рднреА рд╢рдмреНрджрдХреЛрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рдЧрд╛рдпрдм рдЕрдиреБрд╡рд╛рджреЛрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ
        autoFill: "./{{fileName}}.content.ts",
        //
        // autoFill: "/messages/{{locale}}/{{key}}/{{fileName}}.content.json",
        //
        // autoFill: true, // рд╕рднреА рд╢рдмреНрджрдХреЛрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рдЧрд╛рдпрдм рдЕрдиреБрд╡рд╛рджреЛрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ рдЬреИрд╕реЗ рдХрд┐ "./{{fileName}}.content.json" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
        //
        // autoFill: {
        //   en: "./{{fileName}}.en.content.json",
        //   fr: "./{{fileName}}.fr.content.json",
        //   es: "./{{fileName}}.es.content.json",
        // },
      },
    };
    
    export default config;
    

    npx intlayer fill рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рдЧрд╛рдпрдм рдЕрдиреБрд╡рд╛рджреЛрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рднрд░реЗрдВред

    рдЖрдк рдЕрднреА рднреА рдХрдВрдЯреЗрдВрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ autoFill рдлрд╝реАрд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рддрд┐ рд╢рдмреНрджрдХреЛрд╢ рд╕реВрдХреНрд╖реНрдо рд╕рдорд╛рдпреЛрдЬрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкреВрд░реНрдг рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП doc/autoFill рдФрд░ doc/dictionary/content_file рджреЗрдЦреЗрдВред


    Fill рдХрдорд╛рдВрдб: рд╕реБрд░рдХреНрд╖рд┐рдд рдбрд┐рдлрд╝реЙрд▓реНрдЯреНрд╕

    Fill рдХрдорд╛рдВрдб рдЕрдм, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдХреЗрд╡рд▓ рдЧрд╛рдпрдм рдЕрдиреБрд╡рд╛рджреЛрдВ рдХреЛ рднрд░рддрд╛ рд╣реИ рдФрд░ рдореМрдЬреВрджрд╛ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред

    bash
    npx intlayer fill
    
    bash
    рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдкреНрд░рднрд╛рд╡рд┐рдд рд╢рдмреНрджрдХреЛрд╢ рдХреБрдВрдЬрд┐рдпрд╛рдБ: access-key-creation-form-schema, doc-search-metadata, doc-search-page
      - [access-key-creation-form-schema]      рд╢рдмреНрджрдХреЛрд╢ рдХреЗ рдкрд╛рд╕ рдлрд╝рд╛рдЗрд▓ рдкрде рдирд╣реАрдВ рд╣реИред рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред
      - [access-key-creation-form-schema]      рд╕рд╛рдордЧреНрд░реА рдШреЛрд╖рдгрд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХреА рдЬрд╛ рд░рд╣реА рд╣реИ: src/components/Dashboard/ProjectForm/AccessKey/useAccessKeyCreationFormSchema.content.ts
      - [access-key-creation-form-schema]      рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд▓реЛрдХрд▓ рдирд╣реАрдВ - рд╢рдмреНрджрдХреЛрд╢ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ
      - [doc-search-metadata]                  рд╢рдмреНрджрдХреЛрд╢ рдХреЗ рдкрд╛рд╕ рдлрд╝рд╛рдЗрд▓ рдкрде рдирд╣реАрдВ рд╣реИред рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред
      - [doc-search-metadata]                  рд╕рд╛рдордЧреНрд░реА рдШреЛрд╖рдгрд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХреА рдЬрд╛ рд░рд╣реА рд╣реИ: src/app/[locale]/(docs)/doc/search/metadata.content.ts
      - [doc-search-metadata]                  рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд▓реЛрдХрд▓ рдирд╣реАрдВ - рд╢рдмреНрджрдХреЛрд╢ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ
      - [doc-search-page]                      рд╢рдмреНрджрдХреЛрд╢ рдХреЗ рдкрд╛рд╕ рдлрд╝рд╛рдЗрд▓ рдкрде рдирд╣реАрдВ рд╣реИред рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред
      - [doc-search-page]                      рд╕рд╛рдордЧреНрд░реА рдШреЛрд╖рдгрд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХреА рдЬрд╛ рд░рд╣реА рд╣реИ: src/app/[locale]/(docs)/doc/search/page.content.ts
      - [doc-search-page]                     [рд░реВрд╕реА (ru)]                   рдЕрдВрдЧреНрд░реЗрдЬрд╝реА (en) рд╕реЗ рд░реВрд╕реА (ru) рдХреЗ рд▓рд┐рдП рд╢рдмреНрджрдХреЛрд╢ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ
    [intlayer]  src/app/[locale]/(docs)/doc/search/page.content.ts рдкрд░ Prettier рдлреЙрд░реНрдореЗрдЯрд┐рдВрдЧ рд▓рд╛рдЧреВ рдХреА рдЧрдИ
      - [doc-search-page]                      рд╕рд╛рдордЧреНрд░реА рдШреЛрд╖рдгрд╛ src/app/[locale]/(docs)/doc/search/page.content.ts рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ
    

    CI рдЙрджрд╛рд╣рд░рдг CI/CD рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред


    рдЕрдкрдбреЗрдЯреЗрдб VS рдХреЛрдб рдПрдХреНрд╕рдЯреЗрдВрд╢рди

    рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдЕрдм рдПрдХреНрдЯрд┐рд╡рд┐рдЯреА рдмрд╛рд░ рдореЗрдВ рдПрдХ рд╕рдорд░реНрдкрд┐рдд Intlayer рдЯреИрдм рдФрд░ рдХрдИ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рд╕реБрдзрд╛рд░ рд╢рд╛рдорд┐рд▓ рдХрд░рддрд╛ рд╣реИ:

    • Intlayer рдПрдХреНрдЯрд┐рд╡рд┐рдЯреА рдмрд╛рд░ рдореЗрдВ рджреЛ рджреГрд╢реНрдп:
      • рд▓рд╛рдЗрд╡ рд╢рдмреНрджрдХреЛрд╢/рд╕рд╛рдордЧреНрд░реА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рд╕рд░реНрдЪ рд╡реЗрдмрд╡реНрдпреВ (intlayer.searchBar)
      • рдбрд┐рдХреНрд╢рдирд░реАрдЬрд╝ рдЯреНрд░реА (intlayer.dictionaries) рдЬреЛ рдкрд░реНрдпрд╛рд╡рд░рдг, рд╢рдмреНрджрдХреЛрд╢, рдФрд░ рдпреЛрдЧрджрд╛рди рдХрд░рдиреЗ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддрд╛ рд╣реИ
    • рдбрд┐рдХреНрд╢рдирд░реАрдЬрд╝ рджреГрд╢реНрдп рдкрд░ рдЯреВрд▓рдмрд╛рд░: рдмрд┐рд▓реНрдб, рдкреБрд▓, рдкреБрд╢, рдлрд┐рд▓, рд░рд┐рдлреНрд░реЗрд╢, рдЯреЗрд╕реНрдЯ, рдбрд┐рдХреНрд╢рдирд░реА рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ
    • рд╕рдВрджрд░реНрдн рдореЗрдиреВ: рд╢рдмреНрджрдХреЛрд╢реЛрдВ рдкрд░ рдкреБрд▓/рдкреБрд╢; рдлрд╝рд╛рдЗрд▓реЛрдВ рдкрд░ рдлрд┐рд▓
    • рдСрдЯреЛ-рд░рд┐рд╡реАрд▓: рдЬрдм рд▓рд╛рдЧреВ рд╣реЛ, рддреЛ рд╡рд░реНрддрдорд╛рди рд╕рдВрдкрд╛рджрдХ рдлрд╝рд╛рдЗрд▓ рдбрд┐рдХреНрд╢рдирд░реАрдЬрд╝ рдЯреНрд░реА рдореЗрдВ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХреА рдЬрд╛рддреА рд╣реИ
    • рдХрдорд╛рдВрдб рдкреИрд▓реЗрдЯ рд╕реЗ рдЙрдкрд▓рдмреНрдз рдирдП рдХрдорд╛рдВрдб: рдбрд┐рдХреНрд╢рдирд░реАрдЬрд╝ рднрд░реЗрдВ рдФрд░ рдбрд┐рдХреНрд╢рдирд░реАрдЬрд╝ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ

    рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдЖрдзрд┐рдХрд╛рд░рд┐рдХ VS рдХреЛрдб рдПрдХреНрд╕рдЯреЗрдВрд╢рди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рджреЗрдЦреЗрдВред


    MCP рд╕рд░реНрд╡рд░ рдХреЛ рдирдИ features рдХреЛ support рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП update рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

    • рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рднрд░рдг
    • рдЕрдиреБрдкрд▓рдмреНрдз рдЕрдиреБрд╡рд╛рдж рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ
    • рд▓рд╛рдЗрд╡ рдЕрдкрдбреЗрдЯ
    • рд▓реЙрдЧрд┐рдВрдЧ
    • рд╕рддреНрдпрд╛рдкрди
    • рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдиреЛрдЯреНрд╕
    • рдкреНрд░рд▓реЗрдЦрди
    MCP server Intlayer рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рди рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рдСрдЯреЛрдЬреЗрдирд░реЗрдЯреЗрдб рдХреЛрдб рдХреЗ рд▓рд┐рдП рд▓рд╛рдкрддрд╛ рдЕрдиреБрд╡рд╛рджреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЗ config рдХреЛ рд╕рдордЭрдиреЗ рдФрд░ рдЕрдкрдиреЗ IDE рдореЗрдВ Intlayer рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рдПрдореНрдмреЗрдб рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред

    рдкреНрд░рджрд░реНрд╢рди: 10├Ч рддреЗрдЬрд╝

    • рд╕реНрдерд╛рдиреАрдп рдФрд░ рджреВрд░рд╕реНрде рдбрд┐рдХреНрд╢рдирд░реАрдЬрд╝ рдХрд╛ рд╕рдорд╛рдирд╛рдВрддрд░ рд╕рдорд╛рдзрд╛рди
    • рдРрдк рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрддрд┐ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рджреВрд░рд╕реНрде рдбрд┐рдХреНрд╢рдирд░реАрдЬрд╝ рдХреИрд╢ рдХреА рдЬрд╛рддреА рд╣реИрдВ
    bash
    npx intlayer build
    

    рдЖрдЙрдЯрдкреБрдЯ:

    bash
    [intlayer]  Intlayer рддреИрдпрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реИ (v6.0.1)
    [intlayer]  рдбрд┐рдХреНрд╢рдирд░реАрдЬрд╝:
    [intlayer]  тЬУ рд╕реНрдерд╛рдиреАрдп рд╕рд╛рдордЧреНрд░реА: 163/163
    [intlayer]  тЬУ рджреВрд░рд╕реНрде рд╕рд╛рдордЧреНрд░реА: 100/100
    [intlayer]   - access-key-creation-form             [local: тЬФ built] [distant: тЬФ imported]
    [intlayer]   - access-key-creation-form-schema      [local: тЬФ built] [distant: тЬФ imported]
    [intlayer]   - access-key-form                      [local: тЬФ built] [distant: тЬФ imported]
    [intlayer]   - ai-ab-testing-section                                 [distant: тЬФ imported]
    [intlayer]   - application-not-running-view         [local: тЬФ built] [distant: тЬФ imported]
    [intlayer]   - application-template-message         [local: тЬФ built] [distant: тЬФ fetched]
    [intlayer]   - aside-navigation                     [local: тЬФ built] [distant: тЬФ imported]
    [intlayer]   - ask-reset-password                   [local: тЬФ built] [distant: тЬФ imported]
    [intlayer]   - ask-reset-password-schema            [local: тЬФ built] [distant: тЬФ imported]
    [intlayer]   - autocompletion-section               [local: тЬФ built] [distant: тЬФ fetched]
    [intlayer]   - available-techno-section             [local: тЬФ built] [distant: тЬФ imported]
    [intlayer]   - blog-data                            [local: тЬФ built]
    [intlayer]   - blog-metadata                        [local: тЬФ built]
    [intlayer]   - blog-nav-list                        [local: тЬФ built] [distant: тЬФ imported]
    [intlayer]   - blog-page                                             [distant: тЬФ fetched]
    [intlayer]   - blog-search-metadata                 [local: тЬФ built] [distant: тЬФ imported]
    [intlayer]   - blog-search-page                     [local: тЬФ built] [distant: тЬФ imported]
    ...
    [intlayer]  рд╕рд╛рдордЧреНрд░реА рд▓реЛрдб рд╣реЛ рдЧрдИ (рдХреБрд▓: 8401ms - рд╕реНрдерд╛рдиреАрдп: 4050ms - рджреВрд░рд╕реНрде: 4222ms)
    

    рд▓реЙрдЧрд┐рдВрдЧ рд╕реБрдзрд╛рд░

    рд▓реЙрдЧрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рддрд╛рдХрд┐ рдмрд┐рд▓реНрдб рдФрд░ рд░рдирдЯрд╛рдЗрдо рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдореЗрд╢рди рдХреЗ рджреМрд░рд╛рди рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рдХреА рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХреА рдЬрд╛ рд╕рдХреЗред

    рдмрд┐рд▓реНрдб рдФрд░ рд░рдирдЯрд╛рдЗрдо рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдореЗрд╢рди рдХреЗ рджреМрд░рд╛рди рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕реЗ рдмреЗрд╣рддрд░ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╕реНрддреГрдд рд▓реЙрдЧ рд╕рдХреНрд╖рдо рдХрд░реЗрдВред
    intlayer.config.ts
    export default {
      log: {
        mode: "verbose", // рд╡рд┐рдХрд▓реНрдк: "default" | "verbose" | "disabled"
      },
    };
    

    рд╕рднреА рд▓реЙрдЧрд┐рдВрдЧ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд▓рд┐рдП Configuration рджреЗрдЦреЗрдВред


    рдордЬрдмреВрдд рд╕рддреНрдпрд╛рдкрди

    рдбрд┐рдХреНрд╢рдирд░реА рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдЕрдм рдЕрдзрд┐рдХ рдордЬрдмреВрдд рд╕рддреНрдпрд╛рдкрди рдХрд░рддрд╛ рд╣реИред рдЬрдм рдХреЛрдИ рдбрд┐рдХреНрд╢рдирд░реА рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд╣реЛрддреА рд╣реИ, рддреЛ Intlayer рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЯреВрдЯрдиреЗ рд╕реЗ рдмрдЪрд╛рддрд╛ рд╣реИ рдФрд░ рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рддреНрд░реБрдЯрд┐рдпрд╛рдБ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред


    CMS рдХреЗ рд╕рд╛рде рд▓рд╛рдЗрд╡ рдЕрдкрдбреЗрдЯ (рдкреНрд░реЛрдбрдХреНрд╢рди-рд╕реБрд░рдХреНрд╖рд┐рдд)

    рдкреНрд░реЛрдбрдХреНрд╢рди рдореЗрдВ рдмрд┐рдирд╛ рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреБрдирдГ рдмрд┐рд▓реНрдб рдХрд┐рдП рд▓рд╛рдЗрд╡ рдХрдВрдЯреЗрдВрдЯ рдЕрдкрдбреЗрдЯ (рдЬреИрд╕реЗ, рд╕рдВрдкрд╛рджрдХреАрдп рдЕрдкрдбреЗрдЯ) рд╕рд░реНрд╡ рдХрд░реЗрдВред

    1. рд▓рд╛рдЗрд╡ рдЗрдореНрдкреЛрд░реНрдЯ рдореЛрдб рд╕рдХреНрд╖рдо рдХрд░реЗрдВ:
    intlayer.config.ts
    import { type IntlayerConfig } from "intlayer";
    
    const config: IntlayerConfig = {
      build: {
        importMode: "live", // "static" | "dynamic" | "live"
      },
      editor: {
        liveSync: true, // рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдкрд░ рд▓рд╛рдЗрд╡ рд╕рд┐рдВрдХ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ
      },
    };
    
    export default config;
    
    1. рдЕрдкрдиреЗ рдРрдк рдХреЛ рдЪрд▓рд╛рдПрдВ рдФрд░ рд▓рд╛рдЗрд╡ рдкреНрд░реЛрд╕реЗрд╕ рд╕рд╛рде-рд╕рд╛рде рдХрд░реЗрдВ:
    bash
    npx intlayer live --with 'vite preview'
    

    рдиреЛрдЯреНрд╕:

    • рдХреЗрд╡рд▓ рд╡реЗ рдбрд┐рдХреНрд╢рдирд░реА рдЬреЛ рд▓рд╛рдЗрд╡ рдореЛрдб рдХреЗ рд▓рд┐рдП рдЪрд┐рд╣реНрдирд┐рдд рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рд▓рд╛рдЗрд╡ рдлреЗрдЪ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЕрдиреНрдп рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реИрдВред
    • рдпрджрд┐ рд▓рд╛рдЗрд╡ API рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ рддреЛ рдбрд╛рдпрдирд╛рдорд┐рдХ рдЗрдореНрдкреЛрд░реНрдЯ рдкрд░ рд╡рд╛рдкрд╕ рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред

    рдкреВрд░рд╛ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП CMS рдФрд░ рд▓рд╛рдЗрд╡ рд╕рд┐рдВрдХ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рджреЗрдЦреЗрдВред

    Turbopack рдкрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдирд╛рдВрддрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛

    рдЬрдм рдЖрдк рдЕрдкрдиреЗ development server рдХреЗ рд░реВрдк рдореЗрдВ next dev --turbopack рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде Next.js 14 рдФрд░ рдЙрд╕рд╕реЗ рдКрдкрд░ рдкрд░ Turbopack рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реЛрдВ, рддреЛ dictionary рдореЗрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдкрд░рд┐рд╡рд░реНрддрди рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкрд╣рдЪрд╛рдиреЗ рдирд╣реАрдВ рдЬрд╛рдПрдВрдЧреЗред

    рдпрд╣ рд╕реАрдорд╛ рдЗрд╕рд▓рд┐рдП рд╣реЛрддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ Turbopack рдЖрдкрдХреА content рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП webpack plugins рдХреЛ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИред

    рдЗрд╕рдХреЗ рдЖрд╕-рдкрд╛рд╕ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ intlayer watch рдХрдорд╛рдВрдб рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИ, --with рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ development server рдФрд░ Intlayer build watcher рджреЛрдиреЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рдЪрд▓рд╛рддреЗ рд╣реИрдВред

    package.json
    {
      "scripts": {
        "dev": "npx intlayer watch --with 'next dev --turbopack'",
      },
    }
    

    рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдиреЛрдЯреНрд╕

    • рд╣рдЯрд╛рдпрд╛ рдЧрдпрд╛: dictionaryOutput (рдкрд╣рд▓реЗ i18next рдпрд╛ next-intl)ред рдпрд╣ рднрд╡рд┐рд╖реНрдп рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдкреНрд▓рдЧрдПрдмрд▓ рдПрдбрд╛рдкреНрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд╛рдкрд╕ рдЖрдПрдЧрд╛ред рдЕрдкрдиреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧ рд╕реЗ рдЗрд╕ рдлрд╝реАрд▓реНрдб рдХреЛ рд╣рдЯрд╛ рджреЗрдВред
    • рд╕рдВрдмрдВрдзрд┐рдд рд╣рдЯрд╛рдирд╛: i18nextResourcesDir (рджреЗрдЦреЗрдВ doc/configuration рдЪреЗрдВрдЬрд▓реЙрдЧ)ред
    • рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдЧрд╛рдпрдм рдЕрдиреБрд╡рд╛рдж рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирдП рдЧреНрд▓реЛрдмрд▓ content.autoFill рд╡рд┐рдХрд▓реНрдк рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдВред
    • рдЧрд╛рдпрдм рдЕрдиреБрд╡рд╛рджреЛрдВ рдкрд░ PR рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП npx intlayer content test рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
    • рд╡рд┐рд╕реНрддреГрдд рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП, log.mode = 'verbose' рд╕реЗрдЯ рдХрд░реЗрдВред

    рд╕реБрдзрд╛рд░

    • Vue.js рдПрдХреАрдХрд░рдг рд╕реНрдерд┐рд░рддрд╛
    • Lynx рдПрдбрд╛рдкреНрдЯрд░ рд╕реБрдзрд╛рд░
    • рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рд╡рд┐рдЬрд╝реБрдЕрд▓ рдПрдбрд┐рдЯрд░

    v6 рд╕реЗ v7 рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдиреЛрдЯреНрд╕

    рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП v6 рд╕реЗ v7 рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдиреЛрдЯреНрд╕ рджреЗрдЦреЗрдВред


    рдЙрдкрдпреЛрдЧреА рд▓рд┐рдВрдХ