"internationalization(국제화)"의 약자로, 첫 글자 i와 마지막 글자 n 사이에 18개의 글자가 있다는 의미에서 만들어진 약어
https://kazupon.github.io/vue-i18n/
json파일로 관리하면 오류확률도 높아지고 관리가 힘들기 때문에
google spreadsheet를 생성하고, 이를 json파일로 변환하는 작업이 필요함
Google Cloud에서
Google Sheet에서
(참고) https://bom2zzang.tistory.com/17
translationmodules
(참고) https://github.com/bom2zzang/vue-i18n-test
package.json에서 download.ts를 실행하도록 설정
"dev": "... pnpm i18n:download && vite",
"i18n:download": "node src/translationmodules/download.ts",
const userLanguage = navigator.language || navigator.userLanguage; // ex: "en-US", "ko-KR"
const savedLanguage = localStorage.getItem('language');
if (savedLanguage) {
i18n.global.locale = savedLanguage;
} else {
const userLanguage = navigator.language.split('-')[0];
i18n.global.locale = userLanguage;
localStorage.setItem('language', userLanguage);
}