Автор:
    БозданиС:2026-01-29ПослСднСС обновлСниС:2026-01-29

    ДокумСнтация ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ ПО intlayer для Hono

    ΠŸΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ΅ ПО intlayer для Hono опрСдСляСт локаль ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ заполняСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ контСкста функциями Intlayer. Оно Ρ‚Π°ΠΊΠΆΠ΅ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° Π² контСкстС запроса.

    ИспользованиС

    ts
    import { Hono } from "hono";
    import { intlayer } from "hono-intlayer";
    
    const app = new Hono();
    
    app.use("*", intlayer());
    
    app.get("/", async (c) => {
      const t = c.get("t");
      const content = t({
        en: "Hello",
        fr: "Bonjour",
        ru: "ΠŸΡ€ΠΈΠ²Π΅Ρ‚",
      });
    
      return c.text(content);
    });
    

    ОписаниС

    ΠŸΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ΅ ПО выполняСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ:

    1. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΠΈ: Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ запрос (Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ, cookies ΠΈ Ρ‚. Π΄.) для опрСдСлСния ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π»ΠΎΠΊΠ°Π»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.
    2. Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ контСкста: добавляСт Π΄Π°Π½Π½Ρ‹Π΅ Intlayer Π² контСкст Hono, доступный Ρ‡Π΅Ρ€Π΅Π· c.get(). Бюда входят:
      • locale: опрСдСлСнная локаль.
      • t: функция ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π°.
      • getIntlayer: функция для получСния словарСй.
      • getDictionary: функция для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² словаря.
    3. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ контСкстом: ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ cls-hooked для управлСния асинхронным контСкстом, позволяя Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΌ функциям Intlayer (t, getIntlayer, getDictionary) ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ доступ ΠΊ Π»ΠΎΠΊΠ°Π»ΠΈ, спСцифичной для запроса, Π±Π΅Π· ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° контСкста.