React/React 다국어

react-i18next로 다국어 구현하기 9강: 프로젝트 빌드 및 배포

atomicdev 2024. 10. 16. 16:31
728x90

배포 및 마무리

이번 섹션에서는 프로젝트를 빌드하고 배포하는 방법에 대해 설명하고, 추가적인 다국어 지원 사이트로 확장할 수 있는 방법을 논의합니다. 마지막으로 실습 결과를 공유하고 Q&A 시간을 가질 것입니다.

React 애플리케이션을 다국어 지원을 위해 빌드하고 배포하는 과정


1. 프로젝트 빌드 및 배포

프로젝트를 사용자에게 제공하기 위해서는 빌드 후 배포 과정을 거쳐야 합니다. React 애플리케이션은 기본적으로 정적 사이트로 빌드할 수 있으며, 이를 다양한 웹 호스팅 플랫폼에 배포할 수 있습니다.

빌드 단계:

  1. 빌드 명령어 실행:
    npm run build
     이 명령어는 최적화된 정적 파일들을 생성하여 build/ 폴더에 저장합니다.
  2. 프로젝트의 최종 버전을 빌드하려면 터미널에서 다음 명령어를 실행하세요.
  3. 배포 플랫폼 선택:
    • Netlify: 무료로 사용 가능하며, GitHub 리포지토리와 쉽게 연동됩니다.
    • Vercel: React 애플리케이션을 위한 배포에 최적화된 플랫폼입니다.
    • GitHub Pages: GitHub 리포지토리를 사용하여 간단히 정적 사이트를 호스팅할 수 있습니다.
    • Firebase: Google에서 제공하는 호스팅 서비스로 확장성 높은 배포가 가능합니다.
  4. 다음과 같은 여러 플랫폼에 정적 사이트를 배포할 수 있습니다.

Netlify 배포 예시:

  1. Netlify 계정 생성 후 Netlify 대시보드에서 새로운 사이트를 배포합니다.
  2. 프로젝트를 GitHub에 푸시한 후, Netlify에서 리포지토리를 연결하여 자동으로 배포할 수 있습니다.
  3. 빌드 후 생성된 build/ 폴더를 사용하여 Netlify에서 사이트가 제공됩니다.

2. 다국어 지원 사이트로 확장할 수 있는 방법 논의

다국어 사이트는 여러 언어를 지원할 수 있으며, 이를 확장하는 방법도 간단합니다. 추가적인 언어를 지원하려면 새로운 번역 파일을 생성하고 i18n.js 파일에 해당 리소스를 추가하면 됩니다.

추가 언어 지원 방법:

  1. 새로운 번역 파일 추가: locales/ 폴더 안에 새로운 언어 폴더와 translation.json 파일을 생성합니다.
    예시:
    npm run build
  2. i18n.js 파일에 리소스 추가:
    const resources = {
      en: {
        translation: require('./locales/en/translation.json')
      },
      ko: {
        translation: require('./locales/ko/translation.json')
      },
      ar: {
        translation: require('./locales/ar/translation.json')
      },
      fr: {
        translation: require('./locales/fr/translation.json') // 프랑스어 추가
      }
    };
     
  3. 드롭다운 메뉴에 새로운 언어 추가:
    <select onChange={(e) => changeLanguage(e.target.value)}>
      <option value="en">English</option>
      <option value="ko">한국어</option>
      <option value="ar">العربية</option>
      <option value="fr">Français</option> {/* 프랑스어 추가 */}
    </select>

확장 가능성:

  • 다국어 콘텐츠 추가: 번역 파일만 추가하면 쉽게 확장 가능.
  • 새로운 국가나 시장에 맞춘 웹사이트로 확장 가능.
  • 번역 API 연동을 통해 실시간 번역도 가능.

3. Q&A 및 실습 결과 공유

Q&A 시간을 통해 프로젝트 진행 중 발생한 문제나 궁금한 점을 해결하고, 실습에서 얻은 결과를 함께 나눕니다.

Q&A 시간에 다룰 내용:

  • 번역 파일 관리 방법.
  • 추가 언어 지원 시 성능 최적화 방법.
  • 배포 과정 중 발생할 수 있는 오류 처리 방법.

실습 결과 공유:

  • 각자 테스트한 결과를 서로 공유하고, 언어 변경 및 레이아웃 변경이 어떻게 동작했는지 확인합니다.

마무리

이제 프로젝트를 빌드하고 배포하는 과정을 완료했으며, 다국어 사이트를 확장하는 방법도 논의했습니다. 새로운 언어를 추가하거나 사이트를 글로벌 시장에 맞춰 확장하는 것이 간단하다는 점을 배웠으며, 이번 프로젝트를 기반으로 더 많은 기능을 추가할 수 있습니다.

728x90