반응형
nuxti18n을 적용하면서 기존에 vue-i18n에서 사용하던 국제화 텍스트들을 그대로 가져왔더니 아래와 같은 오류가 발생하였다.
오류 내용
[오후 7:20:48] ERROR [unplugin-vue-i18n] Invalid linked format (error code: 10) in /Users/user/Documents/workspace/vue3/i18n/en-US.json
target message: abcd1234@naver.com
target message path: email
1 | abcd1234@naver.com
오류 원인
이유는 vue-i18n의 v9 버전 부터 @가 vue-i18n에서 사용하는 특수문자 중 하나가 되었고, nuxti18n은 vue-i18n v9 버전을 포함하고 있어서 였다. 따라서, 기존에 하위 버전의 vue-i18n를 사용할 때는 문제가 안되었던 특수 문자가 최신 버전에서는 오류가 발생하는 것이었다.
아래 문자들이 vue-i18n에서 컴파일 될 때 특수 문자로 인식된다.
- {
- }
- @
- $
- |
해결방법
따라서 위의 문자들을 사용하기 위해서는 리터럴 보간법(Literal interpolation)을 이용해야 한다.
아래와 같이 @를 {'@'}로 변경해주면된다.
"email": "abcd1234{'@'}naver.com"
Reference
반응형