Lingo.dev + .json (Vue.js)
Lingo.dev CLI는 Vue.js i18n JSON 파일을 번역하면서 메시지 형식, 보간 구문 및 Vue 특정 규칙을 보존합니다. CLI는 vue-i18n 라이브러리와 원활하게 작동하며, 모든 Vue 메시지 형식을 유지하고, {name}
과 같은 플레이스홀더를 보존하며, @:
구문을 사용한 메시지 연결을 올바르게 처리하고, 컴포넌트 보간 플레이스홀더를 그대로 유지합니다.
빠른 설정
Vue.js i18n 로케일 파일 구성:
{
"locale": {
"source": "en",
"targets": ["es", "fr", "de"]
},
"buckets": {
"vue-json": {
"include": ["src/locales/[locale].json"]
}
}
}
참고: [locale]
은 구성에서 문자 그대로 유지해야 하는 플레이스홀더로, CLI 실행 중에 실제 로케일로 대체됩니다.
Vue i18n 파일 번역
npx lingo.dev@latest i18n
Vue.js 메시지 형식, 보간 플레이스홀더 및 vue-i18n 특정 구문을 보존합니다.
Vue i18n 기능
메시지 보간
{
"message": {
"hello": "안녕하세요 {name}!",
"welcome": "{name}님, 환영합니다. {count}개의 메시지가 있습니다"
}
}
복수형 규칙
{
"car": "자동차 | 자동차들",
"apple": "사과 없음 | 사과 한 개 | 사과 {count}개"
}
연결된 메시지
{
"common": {
"name": "애플리케이션 이름"
},
"welcome": "@:common.name에 오신 것을 환영합니다"
}
Vue의 @:
메시지 연결 구문이 보존됩니다.
고급 Vue 기능
HTML 메시지 지원
{
"message": {
"title": "<strong>우리 플랫폼</strong>에 오신 것을 환영합니다",
"link": "우리의 <a href='/help'>도움말 센터</a>를 방문하세요"
}
}
컴포넌트 보간
{
"message": {
"terms": "저는 {0}서비스 약관{/0}과 {1}개인정보 보호정책{/1}에 동의합니다"
}
}
컴포넌트 보간을 위한 플레이스홀더 구문이 그대로 유지됩니다.
날짜/시간 및 숫자 형식
{
"datetime": {
"short": "{value}",
"long": "{value}"
},
"number": {
"currency": "{value}"
}
}
고급 구성
다중 로케일 디렉토리
"vue-json": {
"include": [
"src/locales/[locale].json",
"src/i18n/[locale]/*.json"
]
}
Vue 특정 키 잠금
"vue-json": {
"include": ["src/locales/[locale].json"],
"lockedKeys": ["$vuetify", "dateTimeFormats", "numberFormats"]
}