Author:
    Creation:2026-09-19Last update:2026-09-19

    Intlayer рдЕрдиреБрд░реЛрдз рд╕рдВрджрд░реНрдн рдХреБрдВрдЬреА

    Intlayer рдПрдХреНрд╕рдкреЛрд░реНрдЯ Remix 3 рдореЗрдВ рдЕрдиреБрд░реЛрдз рд╕рдВрджрд░реНрдн рд╕рдВрдЧреНрд░рд╣рдг рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рд░реВрдЯ рд╣реИрдВрдбрд▓рд░реНрд╕ рдпрд╛ рдХрд╕реНрдЯрдо рдорд┐рдбрд▓рд╡реЗрдпрд░ рдХреЗ рднреАрддрд░ Remix рд╕рдВрджрд░реНрдн рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рд╕реАрдзреЗ Intlayer рд╕реНрдерд┐рддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

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

    src/server.ts
    import { createRouter } from "remix/router";
    import { intlayer, Intlayer } from "remix-intlayer";
    
    const router = createRouter({
      middleware: [intlayer()],
    });
    
    router.get("/api/current-locale", (context) => {
      const intlayerState = context.get(Intlayer);
    
      return Response.json({
        locale: intlayerState?.locale,
      });
    });
    

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

    Intlayer рдХрд╛ рдЙрдкрдпреЛрдЧ intlayer() рдорд┐рдбрд▓рд╡реЗрдпрд░ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрддрдорд╛рди рд╕рддреНрд░ рд╕реНрдерд┐рддрд┐ рдХреЛ Remix рдХреЗ рдЕрдиреБрд░реЛрдз рд╕рдВрджрд░реНрдн (RequestContext) рд╕реЗ рдмрд╛рдВрдзрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдорддреМрд░ рдкрд░ useLocale() рдпрд╛ useIntlayer() рдЬреИрд╕реЗ рд╣реБрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдХреА рдЬрд╛рддреА рд╣реИред context.get(Intlayer) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реАрдзрд╛ рдЙрдкрдпреЛрдЧ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдорд┐рдбрд▓рд╡реЗрдпрд░ рд╣реИрдВрдбрд▓рд░реНрд╕ рдпрд╛ API рд░реВрдЯреНрд╕ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реЛрддрд╛ рд╣реИ рдЬрд╣рд╛рдБ рд╕рдВрджрд░реНрдн рдЖрд╡реГрддреНрддрд┐ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд╛рд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред

    рд╕рдВрдмрдВрдзрд┐рдд рджрд╕реНрддрд╛рд╡реЗрдЬрд╝