recherche
Maisoninterface WebVoir.jsComment utiliser le routage pour implémenter la commutation multilingue internationale dans Vue ?

Comment utiliser le routage pour implémenter la commutation multilingue internationale dans Vue ?

Lors du développement d'un site Web multilingue, l'un de nos besoins importants est de pouvoir changer le contenu du site Web en fonction de la langue sélectionnée par l'utilisateur. Vue.js est un framework JavaScript populaire. En utilisant le plug-in Vue Router, nous pouvons facilement implémenter des fonctions de routage. Dans cet article, je vais vous présenter comment utiliser le routage pour implémenter la commutation multilingue internationale dans Vue.

Tout d'abord, nous devons installer le plugin Vue Router. Il peut être installé via la commande npm :

npm install vue-router

Une fois l'installation terminée, nous pouvons introduire Vue Router dans le projet Vue et configurer le routage. Dans le fichier main.js, nous pouvons introduire et utiliser Vue Router comme ceci :

import Vue from 'vue'
import VueRouter from 'vue-router'

Vue.use(VueRouter)

const routes = [
  {
    path: '/',
    name: 'Home',
    component: () => import('@/views/Home.vue')
  },
  // 其他路由配置...
]

const router = new VueRouter({
  mode: 'history',
  base: process.env.BASE_URL,
  routes
})

export default router

Ensuite, nous devons préparer les fichiers de ressources texte correspondant à chaque langue. Créez un nouveau dossier lang dans le répertoire src et créez-y plusieurs fichiers de langue, tels que en.js et zh.js. Ces fichiers de langue doivent exposer un objet qui contient la ressource texte correspondante :

// en.js
export default {
  home: 'Home',
  about: 'About',
  contact: 'Contact'
}

// zh.js
export default {
  home: '首页',
  about: '关于我们',
  contact: '联系我们'
}

Ensuite, utilisez les fonctions de routage et d'internationalisation dans le composant Vue. Là où du texte doit être affiché, nous pouvons obtenir le texte correspondant à la langue actuelle via l'objet $router :

<template>
  <div>
    <nav>
      <router-link :to="{ name: 'Home' }">{{ $t('home') }}</router-link>
      <router-link :to="{ name: 'About' }">{{ $t('about') }}</router-link>
      <router-link :to="{ name: 'Contact' }">{{ $t('contact') }}</router-link>
    </nav>
    <router-view></router-view>
  </div>
</template>

<script>
export default {
  name: 'App',
  methods: {
    $t(key) {
      const lang = this.$router.currentRoute.meta.lang
      return this.$options.lang[lang][key] || ''
    }
  },
  metaInfo() {
    return {
      lang: 'en'
    }
  }
}
</script>

Dans le code ci-dessus, nous obtenons la ressource texte en appelant la méthode $t. La méthode $t obtient d'abord la langue actuelle à partir de $router.currentRoute.meta.lang, puis obtient le texte correspondant à partir de $options.lang code> ressource objet. Si le texte correspondant n'est pas trouvé, une chaîne vide sera renvoyée. <code>$t方法来获取文本资源。$t方法首先从$router.currentRoute.meta.lang获取当前语言,然后从$options.lang对象中获取对应的文本资源。如果找不到对应的文本,将返回空字符串。

为了能够在组件中访问$t方法和文本资源对象,我们需要在Vue实例的methods属性中定义$t方法,并通过$options对象的lang属性将文本资源对象暴露给组件。

最后,我们需要在路由配置中添加一个beforeEach钩子函数来根据用户选择的语言来切换当前语言:

// 在router/index.js中的router配置中添加
router.beforeEach((to, from, next) => {
  const lang = to.query.lang || 'en'
  // 设置当前路由的meta信息,在组件中可以通过this.$router.currentRoute.meta.lang获取
  to.meta.lang = lang
  next()
})

在上面的代码中,beforeEach钩子函数使用to.query.lang来获取用户选择的语言,如果没有选择语言,则默认使用英文。然后通过to.meta.lang将语言信息存储在当前路由的meta

Afin d'accéder à la méthode $t et à l'objet ressource texte dans le composant, nous devons définir la méthode $t dans les méthodes de l'instance Vue et exposez l'objet ressource texte au composant via l'attribut lang de l'objet $options.

Enfin, nous devons ajouter une fonction hook beforeEach dans la configuration du routage pour changer la langue actuelle en fonction de la langue sélectionnée par l'utilisateur : 🎜rrreee🎜Dans le code ci-dessus, beforeEach La fonction hook utilise <code>to.query.lang pour obtenir la langue sélectionnée par l'utilisateur. Si aucune langue n'est sélectionnée, l'anglais est utilisé par défaut. Les informations de langue sont ensuite stockées dans l'attribut meta de l'itinéraire actuel via to.meta.lang pour être utilisées dans le composant. 🎜🎜À ce stade, nous avons terminé tout le processus d'utilisation du routage pour implémenter la commutation multilingue internationale dans Vue. En utilisant le plug-in Vue Router et quelques configurations simples, nous pouvons facilement implémenter la fonction de commutation multilingue du site Web. J'espère que cet article vous aidera à implémenter la commutation multilingue dans votre projet Vue. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Vue.js: définir son rôle dans le développement WebVue.js: définir son rôle dans le développement WebApr 18, 2025 am 12:07 AM

Le rôle de Vue.js dans le développement Web est d'agir comme un cadre JavaScript progressif qui simplifie le processus de développement et améliore l'efficacité. 1) Il permet aux développeurs de se concentrer sur la logique métier grâce à la liaison réactive des données et au développement des composants. 2) Le principe de travail de Vue.js s'appuie sur des systèmes réactifs et un Dom virtuel pour optimiser les performances. 3) Dans les projets réels, il est courant d'utiliser Vuex pour gérer l'état mondial et optimiser la réactivité des données.

Comprendre Vue.js: principalement un cadre frontalComprendre Vue.js: principalement un cadre frontalApr 17, 2025 am 12:20 AM

Vue.js est un framework JavaScript progressif publié par You Yuxi en 2014 pour créer une interface utilisateur. Ses principaux avantages incluent: 1. Ligneurs de données réactives, vue de mise à jour automatique des modifications de données; 2. Développement des composants, l'interface utilisateur peut être divisée en composants indépendants et réutilisables.

Frontend de Netflix: Exemples et applications de React (ou Vue)Frontend de Netflix: Exemples et applications de React (ou Vue)Apr 16, 2025 am 12:08 AM

Netflix utilise React comme cadre frontal. 1) Le modèle de développement composant de React et un écosystème fort sont les principales raisons pour lesquelles Netflix l'a choisi. 2) Grâce à la composante, Netflix divise les interfaces complexes en morceaux gérables tels que les lecteurs vidéo, les listes de recommandations et les commentaires des utilisateurs. 3) Le cycle de vie virtuel et composant virtuel de React optimise l'efficacité du rendu et la gestion de l'interaction des utilisateurs.

Le paysage frontal: comment Netflix a abordé ses choixLe paysage frontal: comment Netflix a abordé ses choixApr 15, 2025 am 12:13 AM

Le choix de Netflix dans la technologie frontale se concentre principalement sur trois aspects: l'optimisation des performances, l'évolutivité et l'expérience utilisateur. 1. Optimisation des performances: Netflix a choisi React comme cadre principal et outils développés tels que SpeedCurve et Boomerang pour surveiller et optimiser l'expérience utilisateur. 2. Évolutivité: ils adoptent une micro architecture frontale, divisant les applications en modules indépendants, améliorant l'efficacité de développement et l'évolutivité du système. 3. Expérience utilisateur: Netflix utilise la bibliothèque de composants Material-UI pour optimiser en continu l'interface via les tests A / B et les commentaires des utilisateurs pour assurer la cohérence et l'esthétique.

React vs. Vue: Quel framework utilise Netflix?React vs. Vue: Quel framework utilise Netflix?Apr 14, 2025 am 12:19 AM

NetflixUSESACustomFrameworkCalled "gibbon" builtonReact, notreactorVueDirectly.1) teamExperience: ChoOsBasedOnFamiliarity.

Le choix des cadres: qu'est-ce qui motive les décisions de Netflix?Le choix des cadres: qu'est-ce qui motive les décisions de Netflix?Apr 13, 2025 am 12:05 AM

Netflix considère principalement les performances, l'évolutivité, l'efficacité de développement, l'écosystème, la dette technique et les coûts de maintenance dans la sélection du cadre. 1. Performances et évolutivité: Java et Springboot sont sélectionnés pour traiter efficacement des données massives et des demandes simultanées élevées. 2. Efficacité de développement et écosystème: utiliser réagir pour améliorer l'efficacité du développement frontal et utiliser son riche écosystème. 3. Debt technique et coûts de maintenance: choisissez Node.js pour créer des microservices pour réduire les coûts de maintenance et la dette technique.

React, Vue et l'avenir du frontend de NetflixReact, Vue et l'avenir du frontend de NetflixApr 12, 2025 am 12:12 AM

Netflix utilise principalement React comme cadre frontal, complété par Vue pour des fonctions spécifiques. 1) La composante de React et le DOM virtuel améliorent l'efficacité des performances et du développement des applications Netflix. 2) Vue est utilisée dans les outils internes et les petits projets de Netflix, et sa flexibilité et sa facilité d'utilisation sont essentielles.

Vue.js dans le frontend: applications et exemples du monde réelVue.js dans le frontend: applications et exemples du monde réelApr 11, 2025 am 12:12 AM

Vue.js est un cadre JavaScript progressif adapté à la création d'interfaces utilisateur complexes. 1) Ses concepts principaux incluent des données réactives, une composontisation et un DOM virtuel. 2) Dans les applications pratiques, il peut être démontré en créant des applications TODO et en intégrant Vuerouter. 3) Lors du débogage, il est recommandé d'utiliser Vuedevtools et Console.log. 4) L'optimisation des performances peut être obtenue via V-IF / V-show, l'optimisation de rendu de liste, la charge asynchrone des composants, etc.

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Version Mac de WebStorm

Version Mac de WebStorm

Outils de développement JavaScript utiles

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

Télécharger la version Mac de l'éditeur Atom

Télécharger la version Mac de l'éditeur Atom

L'éditeur open source le plus populaire

DVWA

DVWA

Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL très vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web à mieux comprendre le processus de sécurisation des applications Web et d'aider les enseignants/étudiants à enseigner/apprendre dans un environnement de classe. Application Web sécurité. L'objectif de DVWA est de mettre en pratique certaines des vulnérabilités Web les plus courantes via une interface simple et directe, avec différents degrés de difficulté. Veuillez noter que ce logiciel

Navigateur d'examen sécurisé

Navigateur d'examen sécurisé

Safe Exam Browser est un environnement de navigation sécurisé permettant de passer des examens en ligne en toute sécurité. Ce logiciel transforme n'importe quel ordinateur en poste de travail sécurisé. Il contrôle l'accès à n'importe quel utilitaire et empêche les étudiants d'utiliser des ressources non autorisées.