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

您的位置:首頁技術文章
文章詳情頁

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

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

問題描述

我搜了搜資料,發現大多數是不同語言的js文件分開做,然后根據用戶語言環境去加載對應的js文件。

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

使用場景示例:

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

現在我的思路有兩種,一種是把語言文字保存到一個變量里;一種是把文字寫在原地,形式為數組,然后使用下標調用。

思路1:

// 方式1:判斷語言后確定唯一的結果。有點割裂,而且在使用時只能看到屬性名,影響思路// {w1}是占位符,每個配置寫了多遍是為了模擬數量多的時候的情景var lang={};if () { // 判斷為中文 lang.tip1='一共有{w1}個結果'; // lang.tip2='一共有{w1}個結果'; // lang.tip3='一共有{w1}個結果'; // lang.tip4='一共有{w1}個結果'; // lang.tip5='一共有{w1}個結果';}else if(){ // 判斷為日文 lang.tip1='{w1}の結果の合計'; // lang.tip2='{w1}の結果の合計'; // lang.tip3='{w1}の結果の合計'; // lang.tip4='{w1}の結果の合計'; // lang.tip5='{w1}の結果の合計';}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:判斷語言后只做個下標,文字寫在原地方。這樣使用時可以知道這里寫的是什么,但似乎比較亂var lang;if () { // 判斷為中文 lang=0;}else if(){ // 判斷為日文 lang=1;}else if(){ // 判斷為英文 lang=2;}var result=10;document.body.innerHTML=['一共有{w1}個結果','{w1}の結果の合計','There is a total of {w1} result'][lang].replace('{w1}',result);

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

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

問題解答

回答1:

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

var language = { ’hello’: [’hello,{val}!’,’{val},コン!’ ]};var lang = 0; // 當前英文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'};//在頁面初始化的時候判斷當前的環境,然后直接設定key值就可以,比如說我現在是日語var lang = 'jp';console.log(hello[lang]);//拓展的話往對象里面加值就行了,比如說加韓文var hello = { 'cn' : '哈嘍', 'jp' : 'こんにちは', 'en' : 'f**k you', 'kr' : '為何不洗澡思密達'};lang = 'kr';console.log(hello[lang]);回答3:

您的問題算是i18n/L10n的範圍,或許可以找到像

jQuery.i18n

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

其他基本的i18n/L10n內容及庫,別錯過

Unicode CLDR如簡中語言表

ICU library

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

標簽: JavaScript
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美另类专区| 蜜桃视频在线观看一区二区| 国产一区丝袜| 91精品国产乱码久久久久久久 | 视频在线在亚洲| 久久av超碰| 亚洲精品1区| 妖精视频成人观看www| 在线综合亚洲| 伊人久久大香线蕉av不卡| 99久久久久国产精品| 伊人精品一区| 亚洲在线观看| 91欧美日韩在线| 国产精品中文字幕亚洲欧美| 国产精品欧美大片| 国产一区二区三区成人欧美日韩在线观看 | 亚洲人成网77777色在线播放| 美日韩精品视频| 综合国产精品| 国产乱码精品一区二区三区亚洲人 | 亚洲精品国产偷自在线观看| 亚洲欧美网站| 青青草国产精品亚洲专区无| 久久这里只有精品一区二区| 日本а中文在线天堂| 中文一区一区三区免费在线观| 国产乱论精品| 激情综合自拍| 欧美亚洲国产日韩| 激情综合在线| 欧美激情在线精品一区二区三区| 欧美理论视频| 精品国产欧美日韩| 免费成人av在线播放| 福利一区二区免费视频| 蜜臀久久久久久久| аⅴ资源天堂资源库在线| 亚洲精品系列| 久久国产亚洲精品| 久久精品xxxxx| 欧美午夜不卡影院在线观看完整版免费| 国产精品亚洲片在线播放| 久久理论电影| 国产欧美啪啪| 欧美日韩国产一区二区三区不卡| 国产亚洲欧美日韩在线观看一区二区| 亚洲成人二区| 久久中文字幕一区二区| 亚洲麻豆一区| 1024精品久久久久久久久| 国产成人a视频高清在线观看| 中文字幕日本一区二区| 99精品视频精品精品视频| 国产精品久一| 日韩午夜视频在线| 伊人精品视频| 日韩av首页| 久久精品三级| 视频一区日韩精品| 九一成人免费视频| 狠狠躁少妇一区二区三区| 国产精品欧美在线观看| 亚洲三级av| 国产视频欧美| 99视频精品全国免费| 国产理论在线| 国产成人精品三级高清久久91| 国产日韩在线观看视频| 日韩精品成人在线观看| 亚洲自拍另类| 欧美.日韩.国产.一区.二区 | 久久精品国产99| 日韩不卡手机在线v区| 国产女优一区| 免费成人网www| 欧美片第1页| 成人在线免费观看91| 久久中文字幕导航| 国产精品久久亚洲不卡| 久久国产婷婷国产香蕉| 亚洲精品美女91| 男人的天堂久久精品| 久久精品亚洲欧美日韩精品中文字幕| 粉嫩av一区二区三区四区五区| 国产精品分类| 国产剧情在线观看一区| 日韩av电影一区| 日韩美女国产精品| 日本亚洲最大的色成网站www | 西西人体一区二区| 亚洲精品电影| 婷婷丁香综合| 999在线观看精品免费不卡网站| 欧美~级网站不卡| 亚洲天堂成人| 伊人成人网在线看| 六月婷婷一区| 免费在线观看精品| 亚洲精选久久| 啪啪亚洲精品| 欧美1区2区3| 精品一区二区三区亚洲| zzzwww在线看片免费| av高清不卡| 久久久久亚洲| 亚洲美洲欧洲综合国产一区| 欧美精品羞羞答答| 亚洲一区二区三区在线免费| 亚洲精品乱码久久久久久蜜桃麻豆| 亚洲精一区二区三区| 69精品国产久热在线观看| 国产精品嫩模av在线| 卡一精品卡二卡三网站乱码| 美女av在线免费看| 亚洲黄色在线| 日本特黄久久久高潮| 美腿丝袜亚洲三区| 欧美日韩国产观看视频| 亚洲精品2区| 中文字幕日本一区二区| 国产欧美一区二区三区精品观看| 美女性感视频久久| 综合日韩av| 亚洲高清影视| 青青草伊人久久| 国产精品毛片久久| 91九色精品国产一区二区| 亚洲欧洲国产精品一区| 老司机免费视频一区二区| 久久久久一区| 亚洲精品乱码| 精品三级国产| 亚洲福利久久| 91精品丝袜国产高跟在线| 岛国av免费在线观看| 欧美日韩黑人| 婷婷亚洲成人| 欧美国产美女| 亚洲少妇在线| 国产精品乱战久久久| 欧美日韩尤物久久| 丝袜美腿亚洲色图| 久久精品亚洲一区二区| 亚州av乱码久久精品蜜桃| 日韩高清在线观看一区二区| 久久精品国产99国产精品| 91久久午夜| 国产精品激情| 婷婷中文字幕一区| 国产精品毛片久久久| 欧美亚洲国产精品久久| 日韩欧美2区| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 日韩a一区二区| 日韩视频不卡| 国产精品一区二区免费福利视频| 亚洲综合在线电影| 综合国产精品| 亚洲日本网址| 久久精品av麻豆的观看方式| 欧美va亚洲va日韩∨a综合色| 国产免费av一区二区三区| 欧美精选一区二区三区| 国产精品777777在线播放 | 免费精品视频最新在线| 福利欧美精品在线| 亚洲一区二区三区免费在线观看| 国产精品红桃| 爽爽淫人综合网网站| 日韩不卡一区| 91亚洲精品在看在线观看高清| 欧美日韩中文一区二区| 久久这里只有精品一区二区| 蜜臀av国产精品久久久久| 黄在线观看免费网站ktv| 日韩国产精品久久久久久亚洲| 久久精品高清| 精品亚洲a∨一区二区三区18| 免费日本视频一区| 久久久久久美女精品| 国产精品白丝一区二区三区| 欧美在线网站| 国模大尺度视频一区二区| 日本成人在线网站| 午夜日韩福利| 亚洲女同av| 国产欧美一区二区色老头| 日韩制服丝袜av| 日韩精品首页| 精品久久久久中文字幕小说| 日本va欧美va瓶| 九九久久电影| 久久青青视频| 欧美aⅴ一区二区三区视频| 日本一不卡视频| 男女男精品网站| 亚洲激情中文在线| 日韩欧美一区二区三区在线视频| 久久这里只有|