[nodejs] Fastify와 다국어 지원

Fastify는 Node.js 웹 프레임워크로 빠르고 효율적이며 경량화된 구조를 가지고 있어 인기를 끌고 있습니다. Fastify를 사용하면 빠른 속도와 높은 성능을 경험할 수 있으며, 다국어 지원을 통해 다국어 환경에서의 웹 애플리케이션을 쉽게 구축할 수 있습니다.

Fastify 다국어 플러그인

Fastify는 I18n 플러그인을 통해 간단하고 효과적으로 다국어 지원을 제공합니다. Fastify-I18n 플러그인은 클라이언트 요청의 언어에 따라 다국어 지원을 처리하고, 필요한 언어로 텍스트를 동적으로 번역해주는 기능을 제공합니다.

먼저, Fastify 애플리케이션에 fastify-i18n 패키지를 설치합니다.

npm install fastify-i18n

그런 다음, 다음과 같이 Fastify 애플리케이션에서 fastify-i18n 플러그인을 등록하고 다국어 설정을 추가합니다.

const fastify = require('fastify')();
const i18n = require('fastify-i18n');

fastify.register(i18n, {
  locales: ['en', 'ko'],
  defaultLocale: 'en',
  queryParameter: 'lang'
});

fastify.get('/', (req, reply) => {
  const message = req.t('hello');
  reply.send({ message });
});

fastify.listen(3000, (err, address) => {
  if (err) throw err;
  console.log(`Server listening on ${address}`);
});

위의 예제에서는 fastify-i18n 플러그인을 등록하고 영어(en)와 한국어(ko)로 설정하였으며, 기본 언어를 영어로 지정하였습니다. 또한, / 경로로 요청이 오면 hello 텍스트를 현재 선택된 언어로 번역하여 반환합니다.

다국어 텍스트 파일 작성

위에서 설정한 fastify-i18n 플러그인을 사용하여 번역을 위한 텍스트 파일을 작성해야 합니다. 다음은 간단한 예시입니다.

// en.json
{
  "hello": "Hello, World!"
}

// ko.json
{
  "hello": "안녕, 세상!"
}

요청에 따른 다국어 처리

Fastify의 fastify-i18n 플러그인은 클라이언트의 요청에 따라 언어를 감지하고 해당 언어로 텍스트를 번역합니다. 위의 예제에서는 요청의 쿼리 매개변수 lang 값을 통해 원하는 언어를 전달할 수 있습니다.

이렇게 설정된 Fastify 애플리케이션은 다국어 처리가 간단하고 효과적으로 이루어지며, 사용자의 언어환경에 맞는 쉽고 빠른 다국어 지원을 제공할 수 있습니다.

Fastify를 사용하여 다국어 지원을 간단히 구현할 수 있으며, fastify-i18n 플러그인을 활용하면 효율적으로 다국어 환경에서의 웹 애플리케이션을 구축할 수 있습니다.