[nodejs] REST API를 위한 다국어 지원 방법

1. 다국어 모듈 사용

다국어를 지원하는 모듈 중에는 i18ni18next와 같은 것들이 있습니다. 이러한 모듈들을 사용하면 간단하게 다국어 기능을 구현할 수 있습니다. 이 모듈들은 각 언어에 대한 텍스트를 파일에 저장하고, API의 응답에 해당 언어의 텍스트를 반환하는 기능을 제공합니다.

예를 들어, i18n 모듈을 사용하여 Node.js 애플리케이션의 REST API에 다국어를 지원하는 방법은 다음과 같습니다.

const i18n = require('i18n');
const express = require('express');

const app = express();

i18n.configure({
  locales: ['en', 'ko'],
  directory: __dirname + '/locales'
});

app.use(i18n.init);

app.get('/greeting', (req, res) => {
  res.json({ message: res.__('hello') });
});

app.listen(3000, () => {
  console.log('Server is running on port 3000');
});

2. Accept-Language 헤더 활용

다국어를 지원하기 위해 클라이언트의 Accept-Language 헤더를 파싱하여 그에 맞는 응답을 반환하는 방법도 있습니다. 클라이언트가 요청한 언어와 일치하는 텍스트를 응답으로 보내는 방식입니다.

app.get('/greeting', (req, res) => {
  let lang = req.headers['accept-language'];
  let message = '';
  if (lang.includes('ko')) {
    message = '안녕하세요';
  } else {
    message = 'Hello';
  }
  res.json({ message: message });
});

REST API를 개발할 때 다국어 지원은 고려해야 할 중요한 사항 중 하나입니다. 이를 통해 사용자들은 자신의 언어에 맞는 응답을 받을 수 있고, 서비스 이용에 있어 더 편리함을 느낄 것입니다.