import { register, Wordlist } from './wordlist'; import { toUtf8String } from '../utils/utf8'; const data = "}aE#4A=Yv&co#4N#6G=cJ&SM#66|/Z#4t&kn~46#4K~4q%b9=IR#7l,mB#7W_X2*dl}Uo~7s}Uf&Iw#9c&cw~6O&H6&wx&IG%v5=IQ~8a&Pv#47$PR&50%Ko&QM&3l#5f,D9#4L|/H&tQ;v0~6n]nN } = { zh_cn: [], zh_tw: [] } var codes = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; var style = "~!@#$%^&*_-=[]{}|;:,.()<>?" let deltaOffset = 0; for (var i = 0; i < 2048; i++) { let s = style.indexOf(data[i * 3]); let bytes = [ 228 + (s >> 2), 128 + codes.indexOf(data[i * 3 + 1]), 128 + codes.indexOf(data[i * 3 + 2]), ]; words.zh_cn.push(toUtf8String(bytes)); let common = s % 4; for (let i = common; i < 3; i++) { bytes[i] = codes.indexOf(deltaData[deltaOffset++]) + ((i == 0) ? 228: 128); } words.zh_tw.push(toUtf8String(bytes)); } class LangZh extends Wordlist { constructor(country: string) { super('zh_' + country); } getWord(index: number): string { return words[this.locale][index]; } getWordIndex(word: string): number { return words[this.locale].indexOf(word); } split(mnemonic: string): Array { mnemonic = mnemonic.replace(/(?:\u3000| )+/g, ''); return mnemonic.split(''); } } const langZhCn = new LangZh('cn'); register(langZhCn); register(langZhCn, 'zh'); const langZhTw = new LangZh('tw'); register(langZhTw); export { langZhCn, langZhTw };