์ž‘๊ฐ€:
    ์ƒ์„ฑ:2026-01-29๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ:2026-09-29

    intlayer Hono ๋ฏธ๋“ค์›จ์–ด ๋ฌธ์„œ

    Hono์šฉ intlayer ๋ฏธ๋“ค์›จ์–ด๋Š” ์‚ฌ์šฉ์ž์˜ ๋กœ์ผ€์ผ์„ ๊ฐ์ง€ํ•˜๊ณ  ์ปจํ…์ŠคํŠธ ๊ฐ์ฒด์— 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",
        ko: "์•ˆ๋…•ํ•˜์„ธ์š”",
      });
    
      return c.text(content);
    });
    

    ์„ค๋ช…

    ๋ฏธ๋“ค์›จ์–ด๋Š” ๋‹ค์Œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    1. ๋กœ์ผ€์ผ ๊ฐ์ง€: ์š”์ฒญ(ํ—ค๋”, ์ฟ ํ‚ค ๋“ฑ)์„ ๋ถ„์„ํ•˜์—ฌ ์‚ฌ์šฉ์ž์˜ ์„ ํ˜ธ ๋กœ์ผ€์ผ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.
    2. ์ปจํ…์ŠคํŠธ ์ฑ„์šฐ๊ธฐ: c.get()์„ ํ†ตํ•ด ์•ก์„ธ์Šค ๊ฐ€๋Šฅํ•œ Hono ์ปจํ…์ŠคํŠธ์— Intlayer ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ๋‹ค์Œ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
      • locale: ๊ฐ์ง€๋œ ๋กœ์ผ€์ผ.
      • t: ๋ฒˆ์—ญ ํ•จ์ˆ˜.
      • getIntlayer: ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ํ•จ์ˆ˜.
      • getDictionary: ๋”•์…”๋„ˆ๋ฆฌ ๊ฐ์ฒด๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ํ•จ์ˆ˜.