[typescript] 타입스크립트와 Vue.js에서 다국어 지원하기

다국어 지원은 현대적인 웹 애플리케이션에서 중요한 기능 중 하나입니다. 웹 애플리케이션을 전 세계 사용자에게 제공하기 위해서는 사용자의 언어와 지역에 맞는 다국어 지원이 필수적입니다.

이번 글에서는 타입스크립트(TypeScript)와 Vue.js를 사용하여 다국어 지원을 구현하는 방법에 대해 알아보겠습니다.

다국어 라이브러리 선택

다국어 지원을 위해서는 먼저 다국어 라이브러리를 선택해야 합니다. Vue.js에서 가장 인기 있는 다국어 라이브러리 중 하나는 vue-i18n 입니다. 이 라이브러리를 사용하면 간편하게 어플리케이션에 다국어를 적용할 수 있습니다.

설치 및 설정

먼저 프로젝트에 vue-i18n 라이브러리를 설치합니다.

npm install vue-i18n

다음으로, vue-i18n을 초기화하고 로컬라이제이션 데이터를 설정해야 합니다. i18n 폴더를 생성하고 그 안에 en.jsonko.json과 같은 파일로 각 언어별 번역 데이터를 작성합니다.

// en.json
{
  "greeting": "Hello"
}

// ko.json
{
  "greeting": "안녕하세요"
}

그 후, 다국어 관련 설정을 담은 i18n.ts 파일을 작성하고 vue-i18n 라이브러리를 초기화합니다.

// i18n.ts
import Vue from 'vue';
import VueI18n from 'vue-i18n';

import en from './i18n/en.json';
import ko from './i18n/ko.json';

Vue.use(VueI18n);

const messages = {
  en,
  ko
};

const i18n = new VueI18n({
  locale: 'en', // 기본 언어 설정
  fallbackLocale: 'en',
  messages
});

export default i18n;

이제 Vue.js 애플리케이션의 메인 파일에서 초기화된 i18n 인스턴스를 전역으로 등록하여 어플리케이션 전역에서 다국어를 사용할 수 있습니다.

// main.ts
import Vue from 'vue';
import App from './App.vue';
import i18n from './i18n';

new Vue({
  i18n,
  render: h => h(App)
}).$mount('#app');

사용 방법

이제 다국어 라이브러리가 설정되었으므로, Vue.js 컴포넌트에서 다국어를 사용할 수 있습니다.


<template>
  <div>
    <p>{{ $t('greeting') }}</p>
  </div>
</template>

<script lang="ts">
import { Vue, Component } from 'vue-property-decorator';

@Component
export default class HelloWorld extends Vue {}
</script>

위 코드에서 $t('greeting')을 사용하여 간단히 다국어를 적용할 수 있습니다.

결론

이제 Vue.js 애플리케이션에서 타입스크립트와 vue-i18n 라이브러리를 사용하여 다국어를 쉽게 지원할 수 있습니다. 이를 통해 다국어 사용자들에게 더 나은 경험을 제공할 수 있습니다.

참고문헌:

더 많은 정보를 원하시면 위의 참고문헌을 참조하시기 바랍니다.