저는 현재 vueJS를 사용하여 프런트 엔드 인터페이스를 만들고 있으며 현재 vuejs 3 및 i18n을 사용하고 있습니다. i18n 구현은 일반적인 방식으로 잘 작동하지만 이를 구성 API와 함께 사용하려고 하면 문제가 발생합니다.
그래서 나는 무엇을 했나요? 내 main.js는 다음과 같습니다:
으아아아문서에서 구성 API를 사용하려면 레거시:false를 추가해야 한다는 것을 보고 그렇게 했습니다. 그러면 내 $t가 더 이상 작동하지 않습니다. 나는 문서를 더 자세히 살펴보았고 내가 잃어버린 곳을 찾았습니다. 문서에는 다음을 사용하라고 나와 있습니다:
으아아아내 문제는 내 createApp이 이미 다음과 같이 사용되고 있다는 것입니다.
으아아아이것은 Vuejs의 기본 구현입니다. 수정도 해보고, 앱 후, 설정 추가도 해보고, 앱을 삭제해도 효과가 없고 점점 더 멍청한 짓을 하고 있는 것 같습니다.
i18n을 컴포지션 API와 함께 작동시키는 방법을 아는 사람이 있나요? 최종 목표는 기본적으로 구성 API로 만든 구성 요소 switchLanguage를 사용하여 $i18n에 액세스하는 것입니다(정보를 얻고 내 언어 전환을 관리합니다)
어떤 도움이라도 미리 감사드립니다.
이미 앱을 사용 중입니다
main.js
中实例化了i18n
. 이것은 중요한 포인트입니다.문서에 제공된 예가 반드시
에 있을 필요는 없습니다.createApp
中定义的实例上完成。它适用于任何组件,只要您在main 上实例化了 i18n。(js|ts)
이 기능은 모든 구성요소(필요한 모든 것
으아악t
)에 적용됩니다.참고: 모두
$tc
(복수형 화 ) 기능이$tc
(复数化 ) 功能已移至t
로 이동되었습니다.기존 애플리케이션을 업그레이드하고 템플릿을 검토하고 싶지 않은 경우
으아악$t
및$tc
의 모든 인스턴스를$t
和$tc
的所有实例替换为t
로 바꾸세요.가져오고
으아악$t
和$tc
在任何组件的<template>
中可用,而不必在<script>
(或<script setup>
에 노출하려면:<script>
中仍然需要它们,请从'vue-i18n'
로 가져오면.$tc
在 Vue3 中不再使用。如果您的模板来自 Vue2,最好将所有$tc
替换为$t
。或者,如果您不想触及模板,您可以将useI18n().t
두 가지 모두에 할당됨: