検索
ホームページウェブフロントエンドVue.jsルーティングを使用して Vue で国際的な多言語切り替えを実装するにはどうすればよいですか?

ルーティングを使用して Vue で国際的な多言語切り替えを実装するにはどうすればよいですか?

Jul 22, 2023 pm 12:17 PM
グローバリゼーションvueルーティング多言語切り替え

ルーティングを使用して Vue で国際的な多言語切り替えを実装するにはどうすればよいですか?

多言語 Web サイトを開発する場合、重要なニーズの 1 つは、ユーザーが選択した言語に応じて Web サイトのコンテンツを切り替えられるようにすることです。 Vue.js は人気のある JavaScript フレームワークであり、Vue Router プラグインを使用することでルーティング機能を簡単に実装できます。この記事では、ルーティングを使用して Vue で国際的な多言語切り替えを実装する方法を紹介します。

まず、Vue Router プラグインをインストールする必要があります。 npm コマンドを使用してインストールできます:

npm install vue-router

インストールが完了したら、Vue Router を Vue プロジェクトに導入し、ルーティングを構成できます。 main.js ファイルでは、次のように Vue Router を導入して使用できます。

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

次に、各言語に対応するテキスト リソース ファイルを準備する必要があります。 src ディレクトリに新しい lang フォルダーを作成し、その中に en.js や zh.js などの複数の言語ファイルを作成します。これらの言語ファイルは、対応するテキスト リソースを含むオブジェクトを公開する必要があります。

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

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

次に、Vue コンポーネントでルーティング関数と国際化関数を使用します。テキストを表示する必要がある場合、$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>

上記のコードでは、$t## を呼び出してテキスト リソースを取得します。 # 方法 。 $t メソッドは、まず $router.currentRoute.meta.lang から現在の言語を取得し、次に $options.lang から対応するテキスト リソースを取得します。物体。対応するテキストが見つからない場合は、空の文字列が返されます。

コンポーネント内の

$t メソッドとテキスト リソース オブジェクトにアクセスするには、methods 属性で $t を定義する必要があります。 Vue インスタンス メソッドの $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 属性に保存されます。

この時点で、ルーティングを使用して Vue で国際的な多言語切り替えを実装するプロセス全体が完了しました。 Vue Router プラグインといくつかの簡単な設定を使用することで、Web サイトの多言語切り替え機能を簡単に実装できます。この記事が、Vue プロジェクトでの多言語切り替えの実装に役立つことを願っています。

以上がルーティングを使用して Vue で国際的な多言語切り替えを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Vue.jsとReactの未来:傾向と予測Vue.jsとReactの未来:傾向と予測May 09, 2025 am 12:12 AM

Vue.jsとReactの将来の傾向と予測は次のとおりです。1)Vue.jsはエンタープライズレベルのアプリケーションで広く使用され、サーバー側のレンダリングおよび静的サイト生成でブレークスルーを行いました。 2)Reactは、サーバーコンポーネントとデータ収集で革新され、並行性モデルをさらに最適化します。

Netflixのフロントエンド:テクノロジースタックに深く潜りますNetflixのフロントエンド:テクノロジースタックに深く潜りますMay 08, 2025 am 12:11 AM

Netflixのフロントエンドテクノロジースタックは、主にReactとReduxに基づいています。 1.反応は、高性能のシングルページアプリケーションを構築するために使用され、コンポーネント開発を通じてコードの再利用性とメンテナンスを改善します。 2。国家管理には、状態の変更が予測可能で追跡可能であることを確認するために、国家管理に使用されます。 3.ツールチェーンには、コードの品質とパフォーマンスを確保するために、Webpack、Babel、Jest、および酵素が含まれています。 4.パフォーマンスの最適化は、ユーザーエクスペリエンスを向上させるためのコードセグメンテーション、怠zyな読み込み、サーバー側のレンダリングを通じて達成されます。

Vue.jsおよびFrontend:インタラクティブなユーザーインターフェイスの構築Vue.jsおよびFrontend:インタラクティブなユーザーインターフェイスの構築May 06, 2025 am 12:02 AM

Vue.jsは、非常にインタラクティブなユーザーインターフェイスを構築するのに適したプログレッシブフレームワークです。そのコア機能には、レスポンシブシステム、コンポーネント開発、ルーティング管理が含まれます。 1)レスポンシブシステムは、Object.DefinePropertyまたはプロキシを介したデータ監視を実現し、インターフェイスを自動的に更新します。 2)コンポーネント開発により、インターフェイスを再利用可能なモジュールに分割できます。 3)Vuerouterは、ユーザーエクスペリエンスを向上させるための単一ページアプリケーションをサポートしています。

Vuejsの欠点は何ですか?Vuejsの欠点は何ですか?May 05, 2025 am 12:06 AM

vue.jsの主な欠点には次のものが含まれます。1。エコシステムは比較的新しいものであり、サードパーティのライブラリとツールは他のフレームワークほど豊富ではありません。 2。複雑な関数では、学習曲線が急になります。 3.コミュニティのサポートとリソースは、反応や角度ほど広範ではありません。 4.パフォーマンスの問題は、大規模なアプリケーションで発生する可能性があります。 5。バージョンのアップグレードと互換性の課題が大きくなります。

Netflix:フロントエンドフレームワークを発表しますNetflix:フロントエンドフレームワークを発表しますMay 04, 2025 am 12:16 AM

Netflixは、Reactをフロントエンドフレームワークとして使用します。 1.反応のコンポーネント開発と仮想DOMメカニズムは、パフォーマンスと開発効率を向上させます。 2。WebpackとBabelを使用して、コードの構築と展開を最適化します。 3.パフォーマンスの最適化のために、コードセグメンテーション、サーバー側のレンダリング、キャッシュ戦略を使用します。

Vue.jsによるフロントエンド開発:利点とテクニックVue.jsによるフロントエンド開発:利点とテクニックMay 03, 2025 am 12:02 AM

Vue.jsの人気の理由には、シンプルさと簡単な学習、柔軟性、高性能が含まれます。 1)そのプログレッシブフレームワークの設計は、初心者が段階的に学ぶのに適しています。 2)コンポーネントベースの開発により、コードの保守性とチームコラボレーション効率が向上します。 3)レスポンシブシステムと仮想DOMは、レンダリングパフォーマンスを改善します。

Vue.js vs. React:使いやすさと学習曲線Vue.js vs. React:使いやすさと学習曲線May 02, 2025 am 12:13 AM

Vue.jsは使いやすく、スムーズな学習曲線があり、初心者に適しています。 Reactは急な学習曲線を持っていますが、柔軟性が強いため、経験豊富な開発者に適しています。 1.Vue.jsは、単純なデータバインディングとプログレッシブデザインを介して簡単に始められます。 2.反応には、仮想DOMとJSXを理解する必要がありますが、より高い柔軟性とパフォーマンスの利点を提供します。

Vue.js vs. React:どのフレームワークがあなたに適していますか?Vue.js vs. React:どのフレームワークがあなたに適していますか?May 01, 2025 am 12:21 AM

Vue.JSは、高速開発や小規模プロジェクトに適していますが、Reactは大規模で複雑なプロジェクトにより適しています。 1.Vue.jsは簡単で学習しやすく、迅速な開発や小規模プロジェクトに適しています。 2.反応は強力で、大規模で複雑なプロジェクトに適しています。 3. Vue.jsの進歩的な特徴は、徐々に機能を導入するのに適しています。 4。複雑なUIおよびデータ集約型アプリケーションを扱うとき、Reactのコンポーネントと仮想DOMはうまく機能します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール