찾다

 >  Q&A  >  본문

vuejs3 I18n 및 구성 API

저는 현재 vueJS를 사용하여 프런트 엔드 인터페이스를 만들고 있으며 현재 vuejs 3 및 i18n을 사용하고 있습니다. i18n 구현은 일반적인 방식으로 잘 작동하지만 이를 구성 API와 함께 사용하려고 하면 문제가 발생합니다.

그래서 나는 무엇을 했나요? 내 main.js는 다음과 같습니다:

으아아아

문서에서 구성 API를 사용하려면 레거시:false를 추가해야 한다는 것을 보고 그렇게 했습니다. 그러면 내 $t가 더 이상 작동하지 않습니다. 나는 문서를 더 자세히 살펴보았고 내가 잃어버린 곳을 찾았습니다. 문서에는 다음을 사용하라고 나와 있습니다:

으아아아

내 문제는 내 createApp이 이미 다음과 같이 사용되고 있다는 것입니다.

으아아아

이것은 Vuejs의 기본 구현입니다. 수정도 해보고, 앱 후, 설정 추가도 해보고, 앱을 삭제해도 효과가 없고 점점 더 멍청한 짓을 하고 있는 것 같습니다.

i18n을 컴포지션 API와 함께 작동시키는 방법을 아는 사람이 있나요? 최종 목표는 기본적으로 구성 API로 만든 구성 요소 switchLanguage를 사용하여 $i18n에 액세스하는 것입니다(정보를 얻고 내 언어 전환을 관리합니다)

어떤 도움이라도 미리 감사드립니다.

P粉014218124P粉014218124275일 전607

모든 응답(1)나는 대답할 것이다

  • P粉237647645

    P粉2376476452024-03-26 11:42:48

    이미 앱을 사용 중입니다 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 두 가지 모두에 할당됨:
    으아악

    회신하다
    0
  • 취소회신하다