Taro使用mobx做國際化小程式

2022-01-15 03:46:05 字數 1607 閱讀 5349

目前專案使用的是taro做小程式開發框架,taro可以整合mbox,當然一些正常的框架也可以整合mbox,只不過需要自己整合,或者用redux也可以用相同的思想實現。

利用mbox action會重新render頁面的能力來實現通過切換action來改變對應的語言,同樣的國際化會寫成乙個字典資料結構的資料,通過設定統一的出口去統一讀取字典中的值,並且可以實現引數代入。

核心**

import  from 'mobx'

// language是乙個函式根據引數key來返回中英文

import language from 'src/locales/index'

// 正則匹配有引數的形式

const regex = /#/g

const counterstore = observable(,

// 用來切換語言的函式

setlocales(lang = 'zh') ,

// 對外暴露get函式,通過對應的key來獲取

get(key, params)

if (!params)

value = value.replace(regex, (a, match) =>

return ''

})return value

}})export default counterstore

根據當前手機系統設定的語言來設定當前使用的國際化文字language

@inject((stores, props) => 

}})@observer

config =

} componentwillmount() catch (e)

} // 請勿修改此函式

render ()

}

首先在對應的國際化檔案中初始化想要設定的值

export default 的折扣'

}

在對應想要國際化的檔案引入localesstore

@inject((stores, props) => 

})

那麼在使用的時候只需要t.get("輸入想要的key","對應的params object")

) }

看一下例子這時候我們希望在三秒以後吧國際化文字從中文變成英文,下面是對應的**:

componentwillmount() , 3000)

} catch (e)

}

在對應的國際化英文檔案中加入

export default  off today's purchase discount"

}

如圖,總共重新整理了3次,每次3秒以後都會變成english

IOS Json檔案 做本地國際化

import inte ce trlocaltranslation nsobject trlocaltranslation sharedmanager nsstring ttobjectforkey nsstring string end import trlocaltranslation.h im...

mui 手機app做國際化

mui做國際化,實現多語言,使用的是jquery,實現語言的替換需要jquery 3.2.1.js和jquery.i18n.properties min 1.0.9.js檔案提供支援,稍候我提供乙個demo,需要的朋友可以在裡面找,整個過程的國際化大致分為 第一步 在頁面中,為需要替換的文字設定id...

微信小程式國際化

utils i18n.js let t langcode zh hans en t.registerlocale function locales t.setlocale function code t.setlocalebyindex function index t.getlanguage fu...