日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

javascript - 如何優(yōu)雅的在一個js文件里配置多語言(i18n),求探討思路

瀏覽:199日期:2023-03-21 15:00:26

問題描述

我搜了搜資料,發(fā)現(xiàn)大多數(shù)是不同語言的js文件分開做,然后根據(jù)用戶語言環(huán)境去加載對應(yīng)的js文件。

但是我現(xiàn)在因為使用場景限制,最好是在一個js文件里完成。我現(xiàn)在打算支持3種語言(中文、日文、英文),而且輸出文字的地方也比較多,可能有上百條,中間也經(jīng)常要拼接變量。

使用場景示例:

var result=10;document.body.innerHTML='一共有'+result+'個結(jié)果';

現(xiàn)在我的思路有兩種,一種是把語言文字保存到一個變量里;一種是把文字寫在原地,形式為數(shù)組,然后使用下標(biāo)調(diào)用。

思路1:

// 方式1:判斷語言后確定唯一的結(jié)果。有點割裂,而且在使用時只能看到屬性名,影響思路// {w1}是占位符,每個配置寫了多遍是為了模擬數(shù)量多的時候的情景var lang={};if () { // 判斷為中文 lang.tip1='一共有{w1}個結(jié)果'; // lang.tip2='一共有{w1}個結(jié)果'; // lang.tip3='一共有{w1}個結(jié)果'; // lang.tip4='一共有{w1}個結(jié)果'; // lang.tip5='一共有{w1}個結(jié)果';}else if(){ // 判斷為日文 lang.tip1='{w1}の結(jié)果の合計'; // lang.tip2='{w1}の結(jié)果の合計'; // lang.tip3='{w1}の結(jié)果の合計'; // lang.tip4='{w1}の結(jié)果の合計'; // lang.tip5='{w1}の結(jié)果の合計';}else if(){ // 判斷為英文 lang.tip1='There is a total of {w1} result'; // lang.tip2='There is a total of {w1} result'; // lang.tip3='There is a total of {w1} result'; // lang.tip4='There is a total of {w1} result'; // lang.tip5='There is a total of {w1} result';}var result=10;document.body.innerHTML=lang.tip1.replace('{w1}',result);思路2:

// 方式2:判斷語言后只做個下標(biāo),文字寫在原地方。這樣使用時可以知道這里寫的是什么,但似乎比較亂var lang;if () { // 判斷為中文 lang=0;}else if(){ // 判斷為日文 lang=1;}else if(){ // 判斷為英文 lang=2;}var result=10;document.body.innerHTML=['一共有{w1}個結(jié)果','{w1}の結(jié)果の合計','There is a total of {w1} result'][lang].replace('{w1}',result);

其實第一種方法形式上較為優(yōu)雅,不過我個人傾向于第二種,主要是我看代碼的時候知道這里寫的是什么。如果通過變量名判斷內(nèi)容的話則比較麻煩(主要是條數(shù)太多,雖然我實際使用的話要把變量名做語義化處理,但能簡短、準(zhǔn)確描述出內(nèi)容的情況也不多)。

請問大家有其他思路或解決辦法嗎?

問題解答

回答1:

你的意思大概是想把所有文字都翻譯,但由于語法結(jié)構(gòu)問題變量的位置是未知的不知道怎么解決是吧?思路的話其實你可以參考模板渲染的思路.我打個比方

var language = { ’hello’: [’hello,{val}!’,’{val},コン!’ ]};var lang = 0; // 當(dāng)前英文function translate (msgVariable, data, msg) { if (msg !== undefined) language[msgVariable].push(msg); return language[msgVariable][lang].replace(’{val}’, data);}var data = ’張三’;var msg = translate(’hello’, data, ’你好,{val}!’);回答2:

比如這樣?

var hello = { 'cn' : '哈嘍', 'jp' : 'こんにちは', 'en' : 'f**k you'};//在頁面初始化的時候判斷當(dāng)前的環(huán)境,然后直接設(shè)定key值就可以,比如說我現(xiàn)在是日語var lang = 'jp';console.log(hello[lang]);//拓展的話往對象里面加值就行了,比如說加韓文var hello = { 'cn' : '哈嘍', 'jp' : 'こんにちは', 'en' : 'f**k you', 'kr' : '為何不洗澡思密達(dá)'};lang = 'kr';console.log(hello[lang]);回答3:

您的問題算是i18n/L10n的範(fàn)圍,或許可以找到像

jQuery.i18n

JavaScript I18n And L10n等等的國際化和本地化的javascript 庫。第一個庫還是維基媒體搞出來的,很有參考價值。

其他基本的i18n/L10n內(nèi)容及庫,別錯過

Unicode CLDR如簡中語言表

ICU library

本人對i18n/L10n的在中國的發(fā)展很感興趣,一起切磋成長。

標(biāo)簽: JavaScript
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久精品播放| 97成人超碰| 国产精品一区二区中文字幕| 最新亚洲国产| 亚洲视频国产| 亚洲最新av| 日韩欧美四区| 国产精品二区不卡| 亚洲免费福利| 久久要要av| 国产一区二区三区自拍| 国产91久久精品一区二区| 麻豆精品蜜桃| 日韩精品看片| 视频精品一区二区| 中文字幕一区二区精品区| 亚洲中字黄色| 国产一区丝袜| 免费人成在线不卡| 久久精品国内一区二区三区| 亚洲日韩视频| 欧美国产三级| 国产精品视频一区视频二区| 欧美日韩在线观看视频小说| 91精品国产自产精品男人的天堂| 亚洲精品少妇| 亚洲深夜av| 久久狠狠亚洲综合| 久久精品日韩欧美| 国产精品嫩草99av在线| 波多野结衣久久精品| 日本欧美在线| 久久久精品区| 久久美女精品| 在线观看一区| 国产精品xvideos88| 亚洲人成在线网站| 国产毛片久久| 国产福利亚洲| 久久久一二三| 在线精品视频在线观看高清| 国产欧美精品久久| 狠狠色综合网| 国产精品久久久久久久久久白浆 | 午夜欧美精品久久久久久久| 国产精品黄网站| 亚洲激情中文| 亚洲一区观看| 在线日韩中文| 国产一区观看| 五月婷婷六月综合| 亚洲三级精品| 中文字幕在线视频久| 久久亚洲精品中文字幕蜜潮电影| 国产不卡一区| 国产一区二区三区不卡视频网站| 日本在线精品| 日韩一区二区三区在线看| 欧美激情日韩| 在线综合亚洲| 麻豆精品在线播放| 99国产一区| 精品国产一级| 视频在线观看91| 久久中文字幕一区二区| 亚洲伊人影院| 日韩专区一卡二卡| 日韩欧美三区| 欧美日韩一区二区三区不卡视频| 日韩和欧美一区二区| 欧美亚洲色图校园春色| 久久国产欧美日韩精品| 日韩高清电影免费| 久久精品国产网站| 亚洲成av在线| 视频在线在亚洲| 97精品97| 日韩高清电影免费| 精品三级国产| 亚洲在线观看| 精品视频网站| 亚洲丝袜美腿一区| 国产精品欧美大片| 水蜜桃精品av一区二区| 婷婷激情综合| 97国产精品| 精品黄色一级片| av资源中文在线天堂| 亚洲人www| 国产精品一国产精品| 日韩中文字幕91| 日韩av一级| 麻豆精品在线| 欧美日韩夜夜| 亚洲免费成人av在线| 亚洲高清av| 久久电影tv| 国产精品v日韩精品v欧美精品网站| 亚洲人妖在线| 国产精品xx| 国产日韩视频| 蜜桃免费网站一区二区三区| 国产精品成人a在线观看| 日本中文字幕视频一区| 欧美日韩精品在线一区| 欧美亚洲免费| 视频在线观看一区二区三区| 久久青草久久| 亚洲四虎影院| 国产精品久久久久久久久妇女| 国产精品nxnn| 欧美视频二区| 日韩精品欧美大片| 石原莉奈一区二区三区在线观看| 久久久国产精品一区二区中文| 1000部精品久久久久久久久| 日韩电影二区| 亚洲激情欧美| 日韩va亚洲va欧美va久久| 蜜臀av亚洲一区中文字幕| 国精品产品一区| 久久这里只有精品一区二区| 久久99久久久精品欧美| 欧美亚洲国产一区| 亚洲深夜视频| 亚洲永久av| 成人午夜精品| а√天堂中文在线资源8| 精品国产亚洲一区二区三区在线 | 国产一区 二区| 国产精品一线| 欧美一区自拍| 国语精品一区| 亚洲91精品| 亚洲激情久久| 久久先锋影音| 欧美日韩中出| 国产精品成人**免费视频| 98精品久久久久久久| 激情五月综合网| 亚洲毛片在线免费| 国产一区二区精品福利地址| 国产精品原创| 亚洲综合福利| 精品国产91| 一二三区精品| 久久久水蜜桃av免费网站| 日韩av午夜在线观看| 精品中文一区| 欧美国产一级| 制服诱惑一区二区| 久久国产人妖系列| 免费高清在线一区| 久久国产精品久久w女人spa| 亚洲成人va| 亚洲欧美一区在线| 在线看片一区| 国产精东传媒成人av电影| 精品视频91| 999久久久亚洲| 亚洲久草在线| 成人午夜亚洲| 一区视频在线| 日韩欧美精品一区二区综合视频| 999国产精品视频| 精品理论电影在线| 91精品麻豆| av亚洲在线观看| 国产suv精品一区二区四区视频 | 91亚洲国产成人久久精品| 日韩欧美在线中字| 欧美精品91| 亚洲精品国产精品粉嫩| 国产亚洲福利| 在线综合视频| 99精品综合| 女人天堂亚洲aⅴ在线观看| 日韩免费看片| 美女av在线免费看| 国产精品v亚洲精品v日韩精品| 亚洲精品系列| 日本欧洲一区二区| 精品国产精品久久一区免费式| 欧美伊人久久| 欧美资源在线| 成人啊v在线| 欧美视频久久| 国产日韩中文在线中文字幕| 国产日本精品| 一区二区三区视频免费观看| 日韩精品一区二区三区中文| 久久久久97| 亚洲一区二区毛片| 精品淫伦v久久水蜜桃| 久久免费高清| 国产精品一区二区三区美女| 99综合视频| 99视频一区| 日本麻豆一区二区三区视频| 91亚洲精品在看在线观看高清|