欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript @umijs/plugin-locale插件使用教程

 更新時間:2022年12月05日 14:34:46   作者:是張魚小丸子鴨  
這篇文章主要介紹了JavaScript @umijs/plugin-locale插件使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

介紹

plugin-locale是一個國際化的插件,用于解決i18n問題,約定式的多語言支持,可以進行多個國際語言的切換

啟用方式

在umirc.ts文件中配置locale:{}開啟

使用

在src下創(chuàng)建一個locales文件夾,在文件夾下配置我們的語言文件

中文語言文件:zh-CN.js

export default {
    WELCOME_TO_UMI_WORLD: '{name},歡迎光臨umi的世界',
  };

英文語言文件:en-US.js

export default {
    WELCOME_TO_UMI_WORLD: "{name}, welcome to umi's world",
  };

注意:如果項目配置了singular: true,locales要改成locale

App.ts配置

import zhTW from 'antd/es/locale/zh_TW';
import {addLocale} from 'umi'
// 動態(tài)增加新語言
addLocale(
  'zh-TW',
  {
    // id 列表
    name: '妳好,{name}',
  },
  {
    momentLocale: 'zh-tw',
    antd: zhTW,
  },
);

動態(tài)的增加語言,增加語言之后可以通過getAllLocales獲取列表

addLocale 三個參數(shù)。

  • name語言的 key。例如 zh-TW
  • message語言的 id 列表。 例如:{// id 列表 name: '妳好,{name}',}
  • 相應(yīng)的momentLocaleantd配置

配置完以上代碼之后,我們需要重新運行一下項目,頁面可能會報一些紅色波浪線錯誤,但不影響使用,原因是ts類型問題,如果不想報紅色波浪線,可以在后面加上:any,這是最快的解決方案,但是一般不推薦使用

在組件中使用

getAllLocales

獲取當前獲得所有國際化文件的列表,默認會在locales文件夾下尋找類似en-US.(js|json|ts)文件

import { getAllLocales } from 'umi';
console.log(getAllLocales()); // [en-US,zh-CN,...]

getLocale

獲取當前選擇的語言

import { getLocale } from 'umi';
console.log(getLocale()); // en-US | zh-CN

useIntl

useIntl是最常用的 api,它可以獲得formatMessage等 api 來進行具體的值綁定

import styles from './index.less';
import { getAllLocales } from 'umi';
import { useIntl} from 'umi';
export default function IndexPage() {
  const intl = useIntl();
  console.log(intl);
  return (
    <div className={styles.title}>
      <h1>Page index</h1>
      <div>{intl.messages.WELCOME_TO_UMI_WORLD}</div>
    </div>
  );
}

通過useIntl可以把我們的語言文件中內(nèi)容渲染到頁面

setLocale

設(shè)置切換語言,默認會刷新頁面,可以通過設(shè)置第二個參數(shù)為false,來實現(xiàn)無刷新動態(tài)切換

import styles from './index.less';
import { getAllLocales } from 'umi';
import { useIntl, setLocale } from 'umi';
export default function IndexPage() {
  const intl = useIntl();
  console.log(intl);
  console.log(getAllLocales()); // [en-US,zh-CN,...]
  return (
    <div className={styles.title}>
      <h1>Page index</h1>
      <div>{intl.messages.WELCOME_TO_UMI_WORLD}</div>
      <button
        onClick={() => {
          setLocale('zh-CN', false);
        }}
      >
        切換中文
      </button>
      <button onClick={() => {
          setLocale('en-US', false);
        }}>切換英文</button>
    </div>
  );
}

給定了兩個button按鈕,可以做語言的切換

以上是plugin-locale的簡單操作,詳情請查看umi官網(wǎng)@umijs/plugin-locale

到此這篇關(guān)于JavaScript @umijs/plugin-locale插件使用教程的文章就介紹到這了,更多相關(guān)JS @umijs/plugin-locale內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JavaScript 經(jīng)典實例日常收集整理(常用經(jīng)典)

    JavaScript 經(jīng)典實例日常收集整理(常用經(jīng)典)

    本文是小編日常收集整理些js經(jīng)典實例,非常具有參考借鑒價值,需要的朋友一起了解了解吧
    2016-03-03
  • 分享javascript計算時間差的示例代碼

    分享javascript計算時間差的示例代碼

    這篇文章主要為大家介紹了javascript計算時間差的示例代碼,,一般來說都是計算當前時間和一個指定時間點之間的差距,感興趣的小伙伴們可以參考一下
    2016-01-01
  • js實現(xiàn)下一頁頁碼效果

    js實現(xiàn)下一頁頁碼效果

    本文主要介紹了js實現(xiàn)下一頁頁碼效果的實例,具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03
  • JS數(shù)組的常見用法實例

    JS數(shù)組的常見用法實例

    這篇文章主要介紹了JS數(shù)組的常見用法,實例分析了javascript針對數(shù)組的遍歷、排序與字符串分割成數(shù)組等用法,非常具有實用價值,需要的朋友可以參考下
    2015-02-02
  • JavaScript中的null和undefined解析

    JavaScript中的null和undefined解析

    在JavaScript開發(fā)中,被人問到:null與undefined到底有啥區(qū)別? 一時間不好回答,特別是undefined,因為這涉及到undefined的實現(xiàn)原理
    2012-04-04
  • JavaScript中if嵌套assert的方法詳解

    JavaScript中if嵌套assert的方法詳解

    在JavaScript中,通常我們不會直接使用`assert`這個詞,因為JavaScript標準庫中并沒有直接提供`assert`函數(shù),下面是一個詳細的示例,展示如何在JavaScript中模擬`assert`函數(shù),并在`if`語句中嵌套使用它來檢查條件,需要的朋友可以參考下
    2024-09-09
  • 奉獻給JavaScript初學者的編寫開發(fā)的七個細節(jié)

    奉獻給JavaScript初學者的編寫開發(fā)的七個細節(jié)

    每種語言都有它特別的地方,對于JavaScript來說,使用var就可以聲明任意類型的變量,這門腳本語言看起來很簡單,然而想要寫出優(yōu)雅的代碼卻是需要不斷積累經(jīng)驗的。本文利列舉了JavaScript初學者應(yīng)該注意的七個細節(jié),與大家分享。
    2011-01-01
  • js實現(xiàn)復制功能(多種方法集合)

    js實現(xiàn)復制功能(多種方法集合)

    這篇文章主要介紹了js實現(xiàn)復制功能(多種方法集合),需要的朋友可以參考下
    2018-01-01
  • 異步j(luò)avascript的原理和實現(xiàn)技巧介紹

    異步j(luò)avascript的原理和實現(xiàn)技巧介紹

    因為工作的需要,我要在網(wǎng)頁端編寫一段腳本,把數(shù)據(jù)通過網(wǎng)頁批量提交到系統(tǒng)中去。所以我就想到了Greasemonkey插件,于是就開始動手寫,發(fā)現(xiàn)問題解決得很順利
    2012-11-11
  • js替換字符串中所有指定的字符(實現(xiàn)代碼)

    js替換字符串中所有指定的字符(實現(xiàn)代碼)

    下面小編就為大家?guī)硪黄猨s替換字符串中所有指定的字符(實現(xiàn)代碼)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08

最新評論