[javascript] Vue Router를 활용한 멀티 언어 라우팅
Vue.js는 매우 강력한 기능을 제공하는데, 그 중 하나가 Vue Router입니다. Vue Router를 사용하면 Vue 애플리케이션의 라우팅을 쉽게 관리할 수 있으며, 멀티 언어 웹사이트를 개발하는 데 매우 유용하게 사용될 수 있습니다.
이 블로그에서는 Vue Router를 사용하여 멀티 언어 라우팅을 구현하는 방법에 대해 알아보겠습니다.
1. Vue Router 설치
먼저, Vue 프로젝트에 Vue Router를 설치합니다.
npm install vue-router
2. 라우터 구성
다국어 웹사이트를 위한 라우터를 구성합니다.
import Vue from 'vue'
import VueRouter from 'vue-router'
import Home from './views/Home.vue'
Vue.use(VueRouter)
const routes = [
{
path: '/:lang',
component: {
render (c) { return c('router-view') }
},
children: [
{
path: '',
name: 'home',
component: Home
},
// Add more routes for different languages
]
}
]
const router = new VueRouter({
mode: 'history',
base: process.env.BASE_URL,
routes
})
export default router
3. 언어 변경
사용자가 언어를 변경할 때마다 해당 언어에 맞는 URL로 라우팅하기 위해, 언어를 변경하는 기능을 추가합니다.
methods: {
changeLanguage(lang) {
this.$router.push({ path: `/${lang}${this.$route.fullPath}` })
}
}
4. 다국어 지원 컴포넌트
다국어 지원을 위한 컴포넌트를 작성합니다.
<template>
<div>
<p>{{ $t('hello') }}</p>
</div>
</template>
<script>
export default {
created() {
this.$i18n.locale = this.$route.params.lang
}
}
</script>
5. 다국어 지원
Vue I18n을 사용하여 다국어를 지원합니다. 다국어 지원을 위한 언어 파일을 작성하고, 언어 설정을 추가합니다.
import Vue from 'vue'
import VueI18n from 'vue-i18n'
Vue.use(VueI18n)
const messages = {
en: {
hello: 'Hello!'
// Add more translations for English
},
fr: {
hello: 'Bonjour!'
// Add more translations for French
}
}
const i18n = new VueI18n({
locale: 'en',
messages
})
export default i18n
이제 Vue Router를 사용하여 멀티 언어 웹사이트를 쉽게 구현할 수 있습니다. Vue.js와 Vue Router의 강력한 기능을 활용하여 멀티 언어 지원 기능을 사용자에게 제공하세요.
더 많은 정보를 원하시면 Vue Router 공식 문서를 참고하시기 바랍니다.