最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

介紹

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

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

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

getLocale

獲取當(dāng)前選擇的語言

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)文章

  • js+html5實現(xiàn)可在手機上玩的拼圖游戲

    js+html5實現(xiàn)可在手機上玩的拼圖游戲

    這篇文章主要介紹了js+html5實現(xiàn)可在手機上玩的拼圖游戲,涉及javascript結(jié)合html5進行圖形操作的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • js實現(xiàn)簡單的網(wǎng)頁換膚效果

    js實現(xiàn)簡單的網(wǎng)頁換膚效果

    本文主要分享了js實現(xiàn)簡單的網(wǎng)頁換膚效果的示例代碼。具有一定的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • 用于table內(nèi)容排序

    用于table內(nèi)容排序

    用于table內(nèi)容排序...
    2006-07-07
  • js實現(xiàn)鼠標(biāo)移入圖片放大效果

    js實現(xiàn)鼠標(biāo)移入圖片放大效果

    這篇文章主要為大家詳細介紹了js實現(xiàn)鼠標(biāo)移入圖片放大效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • javascript中Function類型詳解

    javascript中Function類型詳解

    這篇文章主要介紹了javascript中Function類型詳解的相關(guān)資料,需要的朋友可以參考下
    2015-04-04
  • 序列化模塊json代碼實例詳解

    序列化模塊json代碼實例詳解

    這篇文章主要介紹了序列化模塊json代碼實例詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • 淺談JS裝飾器以及裝飾器在TS中的使用方式

    淺談JS裝飾器以及裝飾器在TS中的使用方式

    這篇文章主要帶大家探討一下JS裝飾器以及裝飾器在TS中的使用方式,文中有詳細的代碼示例,對裝飾器不太了解的同學(xué)可以參考閱讀本文學(xué)習(xí)了一下
    2023-07-07
  • JavaScript中split() 使用方法匯總

    JavaScript中split() 使用方法匯總

    本文向大家重點講解一下Javascript中split函數(shù)使用,它可以將一個字符串分割為子字符串,然后將結(jié)果作為字符串?dāng)?shù)組返回,相信本文介紹你對split函數(shù)的用法有明確的認識。
    2015-04-04
  • 微信小程序自定義菜單切換欄tabbar組件代碼實例

    微信小程序自定義菜單切換欄tabbar組件代碼實例

    這篇文章主要介紹了微信小程序自定義菜單切換欄tabbar組件代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • 遍歷json 對象的屬性并且動態(tài)添加屬性的實現(xiàn)

    遍歷json 對象的屬性并且動態(tài)添加屬性的實現(xiàn)

    下面小編就為大家?guī)硪黄闅vjson 對象的屬性并且動態(tài)添加屬性的實現(xiàn)。小編覺的挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12

最新評論

依兰县| 洮南市| 修武县| 普宁市| 哈尔滨市| 哈尔滨市| 岳阳县| 长寿区| 东阳市| 商都县| 仁怀市| 稷山县| 涡阳县| 崇信县| 白山市| 金寨县| 偃师市| 宜章县| 莱阳市| 新乡市| 高雄市| 仙居县| 大连市| 家居| 彭泽县| 边坝县| 海晏县| 贵溪市| 沈阳市| 深州市| 舟曲县| 塔城市| 都兰县| 大方县| 宝清县| 西乌| 田东县| 洪江市| 明星| 石首市| 申扎县|