国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

antd項(xiàng)目中國(guó)際化改造

2023-08-12 17:05 作者:小老虎Tigger  | 我要投稿

項(xiàng)目中的國(guó)際化采用了react-intl-universal來實(shí)現(xiàn),如何使用可參考官網(wǎng),目前的做法是在原有intl.get基礎(chǔ)上包裝了一層,在項(xiàng)目中調(diào)用包裝后的函數(shù),然后通過腳本遍歷所有項(xiàng)目文件,找到包裝后的函數(shù),再根據(jù)函數(shù)中的參數(shù)導(dǎo)出一份excel,配合一些翻譯工具,自動(dòng)進(jìn)行翻譯。

但是這樣做有一些問題,首先就是寫法比較繁瑣,每次都要寫intl.get(key, default, value),其次就是通用的一些詞匯沒有辦法快速?gòu)?fù)用,因?yàn)閘ocal data都是根據(jù)腳本生成的,在使用intl時(shí)不知道有哪些公共的詞匯能夠復(fù)用,導(dǎo)致像新增、刪除這些通用的詞匯在項(xiàng)目中的各個(gè)地方都有定義,還有就是目前的腳本是通過遍歷整個(gè)項(xiàng)目文件來實(shí)現(xiàn),略微有些繁瑣,生成文件較慢。

我們期待的是可以像使用一個(gè)js對(duì)象那樣去進(jìn)行國(guó)際化,類似于這樣。

我們希望做到書寫簡(jiǎn)單,并且國(guó)際化配置文件可以自動(dòng)生成,統(tǒng)一管理。

那么如何修改呢?

我們其實(shí)可以這樣做,首先在項(xiàng)目中創(chuàng)建一個(gè)i18n的文件夾,來放置我們每個(gè)頁面的國(guó)際化文件。目錄結(jié)構(gòu)類似于這樣。

module中的文件內(nèi)容非常簡(jiǎn)單。

common.ts

我們要做的就是根據(jù)module中的文件生成配置文件,以及供我們?cè)陧撁嬷羞M(jìn)行調(diào)用的i18n對(duì)象。

utils.ts

我們通過遞歸,將整個(gè)對(duì)象的value都變成intl.get的返回值。這樣,我們?cè)陧撁嬷芯涂梢灾苯舆@樣書寫,非常方便快捷。

我們還需要生成與之對(duì)應(yīng)的國(guó)際化配置文件,主要使用babel進(jìn)行操作。

generator.js

如果我們需要傳遞參數(shù)進(jìn)到配置當(dāng)中,可以這樣操作。

定義時(shí)按照規(guī)則定義。

user.ts

調(diào)用時(shí)將參數(shù)傳入

formatMessage函數(shù),templete在我們頁面調(diào)用時(shí)并不關(guān)心,只是為了我們使用babel生成配置文件時(shí)使用。

utils.ts

經(jīng)過這樣的簡(jiǎn)單處理,我們就能非常方便的進(jìn)行國(guó)際化操作,因?yàn)橛辛舜a提示,所以像一些通過的詞匯,都可以先到common根據(jù)英文查找,避免了一個(gè)詞匯到處都有的問題。

antd項(xiàng)目中國(guó)際化改造的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
金沙县| 乡城县| 伊宁市| 钟祥市| 芮城县| 静乐县| 达尔| 江津市| 合水县| 海安县| 漳州市| 尚义县| 镇远县| 萨迦县| 安陆市| 河南省| 柳河县| 永定县| 石台县| 双柏县| 兖州市| 卓资县| 区。| 阿拉善右旗| 宁都县| 宜兴市| 红原县| 东阿县| 精河县| 定南县| 江源县| 广汉市| 上思县| 东莞市| 石门县| 临沭县| 黄梅县| 衡阳县| 庐江县| 城步| 黄平县|