본문 바로가기

JavaScript/Vue.js(프레임워크)

[Vue.js] Nuxt3 nuxti18n Invalid linked format error 해결하기

반응형

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

반응형