Author:
    Creation:2026-01-21Last update:2026-02-25

    intlayerProxy (intlayerMiddleware) рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг

    intlayerProxy рдлрд╝рдВрдХреНрд╢рди (nextjs < 16 рдХреЗ рд▓рд┐рдП intlayerMiddleware) рдПрдХ Next.js middleware рд╣реИ рдЬреЛ locale-рдЖрдзрд╛рд░рд┐рдд рд░реВрдЯрд┐рдВрдЧ рдФрд░ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯреНрд╕ рдХреЛ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИред рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдкрд╕рдВрджреАрджрд╛ locale рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдиреЗ рдкрд░ рдЙрдиреНрд╣реЗрдВ рдЙрдкрдпреБрдХреНрдд рд╕реНрдерд╛рдиреАрдпрдХреГрдд рдкрде рдкрд░ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд░ рджреЗрддрд╛ рд╣реИред

    рдЙрдкрдпреЛрдЧ

    proxy.ts
    export { intlayerProxy as proxy } from "next-intlayer/proxy";
    
    export const config = {
      matcher: ["/((?!api|_next/static|_next/image|favicon.ico).*)"],
    };
    
    middleware.ts
    export { intlayerMiddleware as middleware } from "next-intlayer/middleware";
    
    export const config = {
      matcher: ["/((?!api|_next/static|_next/image|favicon.ico).*)"],
    };
    

    рд╡рд┐рд╡рд░рдг

    рдпрд╣ middleware рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ:

    1. рд▓реЙрдХреЗрд▓ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛: рдпрд╣ URL path, cookies, рдФрд░ Accept-Language рд╣реЗрдбрд░ рдХреА рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рд▓реЛрдХреЗрд▓ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЬрд╛ рд╕рдХреЗред
    2. рд░реАрдбрд╛рдпрд░реЗрдХреНрд╢рди: рдпрджрд┐ URL рдореЗрдВ рд▓реЛрдХреЗрд▓ рдкреНрд░реАрдлрд┐рдХреНрд╕ рдирд╣реАрдВ рд╣реИ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ (рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░), рддреЛ рдпрд╣ рд╕реНрдерд╛рдиреАрдпрдХреГрдд URL рдкрд░ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд░рддрд╛ рд╣реИред
    3. рдХреБрдХреА рдкреНрд░рдмрдВрдзрди: рдпрд╣ рднрд╡рд┐рд╖реНрдп рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд╛рдП рдЧрдП рд▓реЛрдХреЗрд▓ рдХреЛ cookie рдореЗрдВ рд╕рд╣реЗрдЬ рд╕рдХрддрд╛ рд╣реИред

    рдкреИрд░рд╛рдореАрдЯрд░

    рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рд╕реАрдзреЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рдорд╛рдирдХ Next.js NextRequest рдХреЛ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрддрд╛ рд╣реИ, рдпрд╛ рдЗрд╕реЗ рдКрдкрд░ рджрд┐рдЦрд╛рдП рдЕрдиреБрд╕рд╛рд░ export рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

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

    рдорд┐рдбрд▓рд╡реЗрдпрд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк intlayer.config.ts рдлрд╝рд╛рдЗрд▓ рдореЗрдВ routing рд╡рд┐рдХрд▓реНрдк рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рджреЗрдЦреЗрдВред