uniappに多言語切り替え機能を実装する方法

WBOY
リリース: 2023-07-04 10:13:43
オリジナル
5558 人が閲覧しました

uniapp に多言語切り替え機能を実装する方法

モバイル インターネットの急速な発展に伴い、多言語をサポートするアプリケーションを開発することがますます重要になっています。 uniapp フレームワークでは、多言語切り替え機能を簡単に実装でき、より使いやすいインターフェイス エクスペリエンスをユーザーに提供できます。この記事では、uniappに多言語切り替え機能を実装する方法とコード例を紹介します。

1. 言語パック ファイルの作成
まず、複数言語の言語パック ファイルを作成する必要があります。 uniapp では、JSON 形式のファイルを使用して、さまざまな言語の翻訳を保存できます。言語ごとに個別の JSON ファイルを作成し、対応する言語の翻訳コンテンツをファイルに保存できます。

たとえば、中国語と英語を例として、zh-CN.json と en-US.json という 2 つのファイルを作成します。このうち、zh-CN.json ファイルには中国語の翻訳コンテンツが格納され、en-US.json ファイルには英語の翻訳コンテンツが格納されます。ファイルの内容は次のとおりです:

// zh-CN.json
{
"welcome": "uniapp へようこそ",
"home": "Home",
"about ": "私たちについて"
}

// en-US.json
{
"welcome": "uniapp へようこそ",
"ホーム": "ホーム" ,
"about": "会社概要"
}

2. 言語の切り替え
uniappでは、グローバル変数を設定することで言語を切り替えることができます。現在の言語をグローバル変数に保存し、翻訳コンテンツを表示する必要がある現在の言語に基づいて、対応する言語パック ファイルから対応する翻訳コンテンツを取得できます。

まず、main.js ファイルでグローバル変数 lang を定義し、そのデフォルト値を zh-CN に設定します。これは、現在の言語が中国語であることを示します。コードは次のとおりです。

// main.js
import Vue from 'vue'
import App from './App'

Vue.config.productionTip = false

App.mpType = 'app'

// グローバル変数 lang
Vue.prototype.lang = 'zh-CN'

const app = new を定義します。 Vue({

...App
ログイン後にコピー

})
app.$mount()

次に、翻訳コンテンツを表示する必要がある場合、対応する翻訳コンテンツを Vue の計算されたプロパティを通じて取得できます。コードは次のとおりです。

< ;script>
export default {
計算済み: {

  // 获取翻译内容
  $t() {
     return function(key) {
        const lang = this.$root.lang
        // 根据当前语言从语言包文件中获取对应的翻译内容
        let translations = {}
        try {
           translations = require(`../lang/${lang}.json`)
        } catch (e) {
           console.warn(`Translation file not found for language: ${lang}`)
        }
        return translations[key] || ''
     }
  }
ログイン後にコピー

}
}

このようにして、 lang 変数が en-US になると、ページ上のテキスト コンテンツが自動的に英語に切り替わります。

3. 言語切り替えボタン
ユーザーが言語を切り替えやすくするために、ページ上に言語を切り替えるボタンを追加できます。ユーザーがボタンをクリックすると、現在の言語が切り替わります。

まず、次のコードを使用してページにボタンを追加します:

次に、ページに対応するスクリプトに switchLanguage メソッドを追加します。コードは次のとおりです。

<script><br>export default {<br> メソッド: {</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'> // 切换语言 switchLanguage() { // 获取当前语言 const lang = this.$root.lang // 切换为另一种语言 this.$root.lang = (lang === 'zh-CN' ? 'en-US' : 'zh-CN') }</pre><div class="contentsignin">ログイン後にコピー</div></div><p>}<br>}<br></script>

上記の効果を達成した後、ユーザーがボタンをクリックすると、ページ上のテキスト コンテンツが表示されます。現在の言語に応じて自動的に切り替わります。

まとめ
上記の手順により、uniapp に多言語切り替え機能を実装することができます。まず、さまざまな言語で翻訳コンテンツを保存する言語パック ファイルを作成し、グローバル変数を設定して言語を切り替え、ページ上の計算された属性を通じて対応する翻訳コンテンツを取得します。最後に、言語を切り替えるボタンを追加して言語を切り替えます。

以上はuniappに多言語切り替え機能を実装する手順です。

以上がuniappに多言語切り替え機能を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート