久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

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

vue項目實現多語言切換的思路

瀏覽:2日期:2022-11-21 10:21:30

Web 項目多語言(i18n,即國際化)是比較常見的需求,常規的做法大概有以下幾種:

每種語言單獨開發頁面,適用于 CMS 之類的網站 多語言文本和頁面結構分離,運行時動態替換。適用于單頁應用(SPA) 直接用網頁翻譯插件,機器翻譯。這種效果不太理想,同時有一些局限性(后面會講到)

問題

每一種方案都有各自的優點和局限性,具體項目應該根據實際情況選擇。最近在工作中碰到的需求是要在現有的項目基礎上快速推出多語言版本。項目是基于 Vue.js 開發的,已經迭代過很多版本了。其實一開始是有規劃多語言的,也引進了 vue-i18n 插件。這個插件就是上面第二種方案,用 JSON 文件管理多語言的文本資源,在 Vue 組件模板里通過鍵名引用文本。但是要管理這些英文鍵名比較麻煩,命名就很頭疼。而且閱讀代碼的時候也很難從鍵名快速識別出對應的中文。后面發現 VS Code 有相關的插件,可以顯示出對應的中文,但是代碼找起來還是有點麻煩。再加上產品的多語言版本一直沒有提上日程,時間久了就嫌麻煩,慢慢地就直接在模板里寫中文了。

結果,該來的還是來了。老板突然說最近要推出英文版,后續還有其他語言。一開始的想法是直接用 Chrome 瀏覽器自帶的 Google 翻譯功能,怎么快怎么來。但經過一番測試,發現了不少問題。首先機翻的效果肯定是要打折扣的,但這還在接受范圍內。最關鍵的是會影響到功能使用。什么問題呢?由于項目是用 Vue.js 開發的單頁應用,頁面內容完全是用 JS 動態渲染的。有些對話框內的文字 Google 翻譯就忽略了。另外,Google 翻譯只處理了 DOM 文本節點,input輸入框內的文字(包括placeholder)被忽略了。最嚴重的問題是,經過 Google 翻譯處理后的 DOM 元素,竟然失去了 Vue 響應式特性,數據變化后 DOM 內的文字不會更新了!

如果要繼續采用瀏覽器 Google 翻譯的方案,就要解決這幾個問題。通過調試發現 Google 翻譯用的 JS 腳本是嵌入到瀏覽器 VM 里的,通過 HTTP 調用翻譯服務,然后修改 DOM 元素。JS 腳本是壓縮混淆過的,格式化后也很難看。想要找到更新 DOM 的代碼,然后用自己的邏輯去覆蓋?眼睛都看瞎了,還是算了。

vue項目實現多語言切換的思路

鑒于以上原因,瀏覽器自帶的 Google 翻譯方案基本不考慮了。

現在只剩下第二種方案了,語言配置文件和頁面結構分離。前面提過,vue-i18n用得不徹底,如果把所有組件重新規范化,工作量太大了。有沒有辦法不修改現有代碼,也能實現文本翻譯呢?很自然地就想到了 Google 翻譯的思路,直接對頁面渲染結果進行翻譯。自己翻譯的優勢就是,可以精細地控制 DOM 操作,比如可以把輸入框里的文本和placeholder也翻譯出來。同時,經過研究發現,Vue 組件通過數據綁定渲染出來的 DOM 元素,包含的文本內容不能直接通過 innerHTML或者innerText修改,這樣會導致響應式失效。解決辦法是操作它的子元素,也就是文本節點(nodeType為3的節點),修改它的 textContent屬性。

多語言配置映射表

跟 Google 翻譯不同之處在于,我們采用靜態翻譯,也就是通過多語言配置文件映射。 vue-i18n 是每種語言準備一個 JSON 文件,屬性名用英文,用命名空間(多層級對象)的方式避免命名沖突。我直接簡化了,用一個 JS 對象存儲所有語言版本,鍵名就是頁面用到的中文。隨著日積月累的開發迭代,這些中文散落在幾百個文件里……我的做法是用 VS Code 全局正則搜索,把查找結果復制出來,寫一個 JS 方法把這些字符串處理成 JS 對象。

vue項目實現多語言切換的思路

匹配中文的正則(不夠全面,有些還夾雜了其他符號):

[A-Z]*[u4e00-u9fa5][,,!! 0-9a-zA-Zu4e00-u9fa5]*

將結果復制到翻譯工具翻譯,再寫一個函數把這些文本合并成對象,并保存到labels.js文件中備用。

var kv = dist.reduce((acc,cur, index) => {acc[cur]=en[index] || cur;return acc;},{})

對象的結構大致如下:

// labels.jsexport default { 客戶性名: { en: ’Customer Name’, }, // 動態文本,后面會講到 ’剩余{0}臺礦機未登記’: { en: ’{0} unregistered’, }, xxxx: { en: ’XXX’, }}

操作 DOM

跟 Google 翻譯類似,我們也采取事后更新 DOM 的方式來進行翻譯。由于是單頁應用,隨著用戶的操作,會不停地更新 DOM。一開始的想法是監聽整個 body的變化,在回調里再更新 DOM。監聽 DOM 變化有一個原生的 API 可用,就是 MutationObserver。

mounted() { this.observeDOM(document.body);},methods: { observeDOM(el) { let mutationTimer; const vm = this; const observer = new MutationObserver(() => { // 類似于 debounce 的效果,多次調用合并為一次 clearTimeout(mutationTimer); mutationTimer = setTimeout(() => { if (!vm.mutationFromTrans) { translate(); vm.mutationFromTrans = true; setTimeout(() => { vm.mutationFromTrans = false; }, 300); } }, 100); }); const options = { childList: true, // 監視node直接子節點的變動 subtree: true, // 監視node所有后代的變動 attributes: true, // 監視node屬性的變動 characterData: true, // 監視指定目標節點或子節點樹中節點所包含的字符數據的變化。 }; if (this.language === ’en’) { observer.observe(el, options); } },}

但是試過之后發現這會導致無線循環,因為沒有判斷 DOM 的變化來自用戶操作還是翻譯本身。所以代碼里后面加了判斷,但是結果依然不理想。這種操作代價太大了,頁面性能受了很大影響。而且還有個很明顯的問題,就是進入到新的界面會閃一下,從中文變成英文。這個體驗太糟糕了。后面有改進辦法。

翻譯

先來來看下翻譯的過程。翻譯就是從多語言配置對象里查找匹配的屬性名,獲取對應語言的屬性值。這對于靜態文本來說比較簡單,直接用屬性名就好了。但是對于動態的文本怎么處理呢?由于中英文表達方式不一樣,這種文本不能簡單地拆分成多個部分單獨處理,而是要在英文的表達方式里替換動態數據。我的做法是使用帶格式的鍵名,比如{0}這樣的占位符。在查找的時候,優先匹配固定文本。因為大部分情況是固定文本,而且這種匹配是O(1)時間復雜度的,優先判斷會提高性能。匹配失敗的時候才去提前構造好的正則列表里遍歷匹配,成功則提取正則匹配的group用于替換動態數據。如果失敗,說明沒有對應的翻譯,直接返回原始字符串就行了。

const keys = Object.keys(words);// 提前緩存正則,避免重復執行消耗性能const regExps = keys.reduce((acc, key) => { // 模板型鍵名 if (key.indexOf(’{0}’) > -1) { const reg = new RegExp(key.replace(’{0}’, ’(.+)’)); acc.push({ expression: reg, key, }); } return acc;}, []);export function translate(el = document.body, lang = ’en’) { const kv = words; if (!el.querySelectorAll) { return; } const _trans = label => { const text = label?.trim?.(); if (!text) { return label; } if (kv[text]?.[lang]) { return kv[text]?.[lang]; } for (let index = 0; index < regExps.length; index++) { const regItem = regExps[index]; const m = text.match(regItem.expression); if (m) { return kv[regItem.key][lang].replace(’{0}’, m[1]); } } return text; }; [...el.querySelectorAll(’*’)].forEach(node => { // 不能直接修改node.innerText,會導致Vue響應式失效 // node.innerText = kv[node.innerText?.trim?.()] || node.innerText; if (node.nodeName === ’INPUT’ && node.type === ’text’) { node.value = _trans(node.value); node.placeholder = _trans(node.placeholder); } const textNodes = [...node.childNodes].filter(n => n.nodeType === 3); textNodes.forEach(textNode => { textNode.textContent = _trans(textNode.textContent); }); });}

改進后的 DOM 操作

前面提過,如果在 DOM 渲染后再執行翻譯,頁面性能非常差。于是想到了 Vue 本身的渲染過程,能不能攔截 Vue 組件渲染過程,插入一些額外的邏輯呢?通過扒源碼發現,Vue 原型上有個__patch__方法,每次更新 DOM 的時候都會執行。就從這里入手, 重寫這個方法,對還沒掛載到文檔樹的 DOM 元素執行翻譯操作。

const __patch__ = Vue.prototype.__patch__;Vue.prototype.__patch__ = function() { const elm = __patch__.apply(this, arguments); if (this.$store?.getters?.language) { translate(elm, this.$store?.getters?.language); } return elm;};

至此,基本完成了多語言翻譯。經過權衡對比,這個方案算是比較省時省力又能完成需求的了。當然,這種方案或多或少對頁面性能有一定影響,畢竟增加了 DOM 更新的時間。尤其是動態文本較多的情況,涉及到遍歷正則匹配,比較耗時。如果大家有更好的方案,歡迎留言!

以上就是vue項目實現多語言切換的思路的詳細內容,更多關于vue項目多語言切換的資料請關注好吧啦網其它相關文章!

標簽: Vue
相關文章:
主站蜘蛛池模板: 欧美日韩国产精品一区二区亚洲 | 国产黄色免费视频 | 天天操网| 丁香久久 | www.久久久久 | 欧美性区 | 成人激情在线 | 欧洲精品一区 | www.麻豆视频| 国产在线观看一区二区 | 久久国产美女 | 精品国产髙清在线看国产毛片 | 91视频久久 | 色av综合| 日韩在线欧美 | 久久99精品国产自在现线 | 狠狠干av| 九九热免费精品视频 | 国产精品一区二区三区四区 | 欧美一级在线观看视频 | 午夜精品影院 | 久久99精品国产.久久久久 | 国产成人网 | 国产色视频在线观看免费 | 精品一区二区三区免费毛片爱 | 欧美视频一级 | 久草福利在线视频 | 天天天干夜夜夜操 | 91在线国产观看 | 亚洲国产成人在线 | 亚洲一区欧美 | www.成人久久 | 精品欧美激情在线观看 | 成人免费的视频 | 久久久亚洲成人 | 成人在线| 中文字幕一区二区三区不卡 | 中文字幕在线欧美 | 欧美性久久 | 色综合免费| 亚洲人黄色片 | 精品国产一区二区三区久久久蜜月 | 亚洲黄色一级毛片 | 国产日韩欧美一区 | 欧美精品在线视频 | 欧美精品v国产精品v日韩精品 | 国产一区二区三区色淫影院 | 国产在线网站 | 九九porny88av| 97在线观看| 国产精产国品一二三产区视频 | 在线色站 | 欧美激情亚洲 | 欧美free性丝袜xxxxhd | 在线精品亚洲欧美日韩国产 | 久久久久久久久久久网站 | 婷婷综合网| 国产日韩视频 | 美女视频一区二区三区 | 91 久久 | 国产精品久久久久久久久久免费 | 日韩精品一区二区三区免费观看视频 | 黄视频网站免费观看 | 欧美视频在线免费 | 亚洲精品一区二区三区在线 | 国产精品美女久久久久aⅴ国产馆 | 欧美日韩一级视频 | 成人欧美一区二区三区在线播放 | 久久国产精品免费一区二区三区 | 久久久www | 欧美成人在线免费视频 | 成人小视频在线观看 | 国产亚洲成av人片在线观看桃 | 欧美日韩亚洲综合 | 日韩成人在线观看 | 91免费在线 | 亚洲欧美激情在线 | 亚洲性网| 99热这里有精品 | 黄色a级网站 | 91在线免费观看 | 我要看一级黄色 | 成人在线国产 | 一区二区免费在线播放 | 成人精品鲁一区一区二区 | 亚洲精品一区二区三区在线播放 | 久免费视频 | 欧美精品一区二 | 午夜男人的天堂 | 高清一区二区三区 | 视频成人免费 | 九九99热 | 亚洲精品一区二区三区99 | 欧美一区二区三区免费 | 一级毛片免费播放 | 国产成人精品亚洲日本在线观看 | 国产美女精品视频免费观看 | av小说在线观看 | 可以看黄的视频 | 91精品国产乱码久久久久久 | 日韩精品一区二区三区中文字幕 | www.色涩涩.com网站 | 91豆花视频 | av国产精品 | 日韩精品在线观看视频 | 久久久夜| 精品久久一二三区 | 色综合av| 亚洲国产精品自拍 | 欧美日韩一区二区在线 | 亚洲精品一区二区三区在线 | 精品免费视频 | 欧美一a一片一级一片 | 亚洲精品一区中文字幕乱码 | 欧美黄色一区 | 狠狠操夜夜操 | 日韩久久网 | 成人精品国产一区二区4080 | 成人高清| 亚洲精品二区三区 | 久久久久黄色 | 91在线视频免费观看 | 九九热热九九 | 国产综合亚洲精品一区二 | 国产精品视频免费 | 四虎com | 蜜月aⅴ免费一区二区三区 99re在线视频 | 国产在线观看欧美 | 国产精品久久久久影院色老大 | 日韩一区二区三区在线视频 | 91久久精品一区二区三区 | 久久人人爽人人爽人人片av高清 | 中文字幕第66页 | 精品少妇一区二区三区日产乱码 | 欧洲成人午夜免费大片 | 亚洲一区二区三区久久久 | 色综合久久久久 | 亚洲成人精品 | 国产欧美在线观看 | 久久亚洲二区 | 好色视频在线观看 | 欧美a网| www久久久 | 国产日产精品一区二区三区四区 | 在线观看免费视频91 | 91在线看片 | 精品一区二区三区四区视频 | 一二三区av| 国产日本欧美在线 | 美女一级黄 | 国产视频一区二区 | 91久久国产综合久久 | 91精品国产一区二区 | 亚洲成人网一区 | www.一区 | 日韩极品在线 | 国产美女av | 视频精品一区 | 免费成人在线观看视频 | 岛国在线免费 | 中国一级特黄毛片大片 | h视频在线免费 | 97久久久| 亚洲国产二区 | 国产一区二区视频在线 | 久久久久无码国产精品一区 | 成人性生交大片免费看中文带字幕 | 在线视频自拍 | 一区二区三区亚洲 | 亚洲 欧美 日韩 丝袜 另类 | 欧美国产视频一区 | 欧美一级免费看 | 乱人伦xxxx国语对白 | 国产成人精品一区二区三区四区 | 精品欧美| 婷婷色狠狠 | 81精品国产乱码久久久久久 | 亚洲成人精品在线观看 | 国产看片网站 | 国产精品久久久久久久美男 | 免费观看一区二区三区毛片 | 亚洲国产精品成人综合色在线婷婷 | 免费不卡视频 | www.一区| 色婷婷在线视频观看 | 国产精品99在线观看 | t66y最新地址一地址二69 | 7799精品视频天天看 | 国产91视频一区二区 | 亚洲高清视频一区二区 | 国产成人精品亚洲日本在线观看 | 日本高清中文字幕 | 欧美一级在线观看 | 国产成人久久精品麻豆二区 | 一区二区三区国产精品 | 色婷婷久久久久swag精品 | 亚洲高清一区二区三区 | 亚洲视频一区在线 | 羞羞视频在线免费 | 久久亚洲一区 | 四虎影院最新网址 | 男女羞羞视频免费在线观看 | 综合色婷婷一区二区亚洲欧美国产 | 美女久久久久久久久久久 | 黄网在线免费观看 | 久久国产精品免费一区二区三区 | 亚洲一区二区在线播放 | 一级视频在线观看 | 欧美国产精品一区 | 国产在线激情 | 一级看片| 四虎永久免费影视 | 一二三区字幕免费观看av | 午夜在线小视频 | 日韩在线免费观看网站 | 亚洲一区精品在线 | 一级a性色生活片久久毛片 夜夜视频 | 国产美女av | 成人精品视频一区二区三区 | 91中文| 日韩视频一区 | 日韩欧美视频 | 天天网| 中文字幕亚洲欧美精品一区四区 | 欧美在线一区二区三区 | 精品一二区 | 一色视频| 精品一区在线 | 亚洲一级毛片 | 国产一区a | 日韩在线视频资源 | 精品日韩一区二区 | 亚洲精品一区二区三区蜜桃久 | 国产精品无码永久免费888 | 久久国产精品久久久久久 | 亚洲激情在线播放 | 中文字幕av亚洲精品一部二部 | 精品一区二区视频 | 一级a毛片 | 久久久久久国产精品 | 国产一级大片 | 一区二区三区亚洲精品国 | 91视频在线免费观看 | 99久久久无码国产精品 | 亚洲精品久久久久久久久久久久久 | www.日韩| 国内精品视频 | 欧美在线国产 | 久久久国产精品入口麻豆 | 成人国产精品久久 | 久久av一区二区三区 | 亚洲精品久久久久久久久久久 | 日韩在线精品视频 | 可以在线看的黄色网址 | 精品国产31久久久久久 | 99re在线观看视频 | 日韩中文视频 | 黄色av网站在线免费观看 | 91中文字幕在线 | 亚洲视频一区二区 | 亚洲毛片在线观看 | 一区二区在线免费观看 | 欧美三级网 | 玖玖色资源 | 日本a在线| 国产乱码一区二区三区在线观看 | 欧美日韩在线免费观看 | 91中文字幕 | 久久se精品一区精品二区 | 成人免费一区二区三区 | 成人综合av| 成人精品福利视频 | 欧美精品一区久久 | 看一级毛片视频 | 就操成人网 | 成人在线一区二区 | 成人免费影院 | 亚洲成人毛片 | 久操成人 | 国产免费久久 | 成人二区 | 国产精品一区久久 | 国产在线网站 | 久久久久国产 | 亚洲高清一区二区三区 | www.欧美亚洲 | 日本一区二区电影 | 亚洲一区视频在线播放 | 欧洲黄色 级黄色99片 | 欧美日韩不卡合集视频 | 国产欧美日韩综合精品一区二区 | 国产视频福利在线观看 | 国外成人在线视频 | 中文字幕日韩欧美一区二区三区 | 精品福利在线视频 | 亚洲免费影院 | 国产一级电影网 | 亚洲欧洲视频 | 91视频精选| 高清国产午夜精品久久久久久 | 久久精品国产一区 | 亚洲一区二区三区四区五区中文 | 精品日韩欧美一区二区在线播放 | 奇米亚洲午夜久久精品 | 视频一区在线 | 欧洲精品视频在线观看 | 91精品国产自产精品男人的天堂 | 国产最新一区 | h视频网站在线 | 久久久久9999国产精品 | 精品一区免费观看 | 成人精品在线视频 | 荷兰欧美一级毛片 | 91视频精选 | 国产精品久久久久久久久久久久 | 欧美精品区 | 亚洲视频在线播放 | 不卡日韩在线 | 国产精品久久久久久久久久久久冷 | 91超碰在线播放 | 日韩视频在线一区二区 | 亚洲精品一区二区网址 | 一区二区三区视频在线观看 | 天天干网| 久久精品福利 | 日日干日日操 | 99pao成人国产永久免费视频 | 日韩在线观看视频一区二区 | 欧美亚洲91 | 午夜精品视频在线观看 | 欧美一区二区三区爽大粗免费 | 91成人免费看片 | 久久99精品视频 | 免费国产一区 | 成人欧美亚洲 | 久久一区 | 国产免费看 | 国产精品日韩欧美一区二区 | av一区在线观看 | 亚洲精品久久久久久动漫 | 亚洲人成一区 | 国产精品99久久免费观看 | 精品国产一区二区三区高潮视 | 91社影院在线观看 | 毛片真人毛毛片毛片 | h片免费观看 | 黄色一级视频 | 中文成人在线 | 日韩国产 | 一区二区免费视频 | 欧美综合国产精品久久丁香 | 欧美激情网 | 国产精品视频一二三区 | 在线观看国产视频 | 在线精品亚洲欧美日韩国产 | 这里只有精品在线 | 中文字幕av黄色 | 一区二区精品视频 | 日韩在线成人 | 精品久 | 狠狠色综合久久丁香婷婷 | 欧美日韩不卡合集视频 | 亚洲第一区国产精品 | 精品国产色 | 国产精品视屏 | 蜜桃comaaa | 中文字幕一区在线观看视频 | 亚洲a级 | 99亚洲视频 | 久久精品国产精品青草 | 五月婷婷综合久久 | 一级视频在线免费观看 | 国产综合精品视频 | 国产精品免费看 | 国产乱码精品一区二区三区av | 中文字幕一页二页 | 国产精品久久久久久久久久久久冷 | 国产成人精品综合 | 精品福利av导航 | 在线播放国产一区二区三区 | 国产精品污www在线观看 | 久草福利 | 久久亚洲国产精品 | 亚洲精品一区二区三区 | 亚洲免费视频一区二区 | 久久三级视频 | 免费在线观看av | 欧美日韩中文字幕在线 | 欧美五月 | 国产福利在线视频 | www国产在线观看 | 免费一区二区三区 | 中文精品久久久 | 精品一区二区三区视频 | 国产精品禁久久精品 | 亚洲乱码在线 | 成人免费视频网站在线观看 | 欧美在线播放一区 | 成人影院在线 | 免费在线观看毛片网站 | 日韩在线一区二区三区 | 91视频国产一区 | 欧美精品久久久久 | 久章操| 一级a性色生活片久久毛片 夜夜视频 | 久久福利 | 人人干天天操 | 九色在线播放 | 国产视频一区二区 | 国产裸体永久免费视频网站 | 国产精品影院在线观看 | 亚洲一区二区三区免费观看 | 91一区二区 | 久久综合九色综合欧美狠狠 | 精品久久久久久久久久久 | 91综合视频在线观看 | 亚洲国产高清视频 | 精品欧美视频 | 大香伊在人线免97 | 国产亚洲欧美一区 | 中文字幕一区二区三区不卡 | 午夜精品亚洲日日做天天做 | 7777av| 韩国精品一区二区 | 精品在线视频观看 | 一级毛片免费 | av中文在线 | 欧美久久视频 | 亚洲三级视频 | 欧美激情国产日韩精品一区18 | 亚洲成人一区 | 亚洲伦理一区 | 欧美一级免费播放 | 黄色影片网址 | 婷婷在线视频 | 波多野结衣一二三 | 性处破╳╳╳高清欧美 | 久久精品欧美一区二区三区不卡 | 亚洲国产精品视频 | 国产a一三三四区电影 | 国产精品一区二区三区四区 | 一区二区三区国产在线 | 欧美性一区 | 国产天天操 | 欧美一区二区三区免费 | 国产精品91网站 | 久久精品小视频 | 久久精品国产99国产 | 中国91视频 | av小说在线观看 | 午夜视频黄 | 欧美成人黄色 | 狠狠狠干| 黑人巨大精品欧美黑白配亚洲 | 日韩一级免费在线观看 | 精品在线不卡 | 青青草久 | 日韩在线免费观看网站 | 亚洲国产精品久久 | 91精品国产自产精品男人的天堂 | 久久情趣视频 | av大片在线观看 | 欧美激情精品久久久久 | 成人久久18免费观看 | 欧美一区二区三区在线看 | 欧美成人综合 | 三级av| 91社区影院 | 久久久久久成人 | caoporn视频 | 最新日韩一区 | 欧美日韩最新 | 国产精品二区三区 | 久久高清| 欧美一级爆毛片 | 亚洲在线视频 | 久久久.com | 啊啊啊网站 | 亚洲网站在线观看 | 国产激情网站 | 国产91在线观看 | 91看片在线观看 | 日韩精品区 | 国产日韩一区二区三免费高清 | 一区在线视频 | 亚洲一区二区三区免费在线 | 中文字幕国产一区 | 亚洲精品成人悠悠色影视 | 欧美成人精品一区二区男人看 | 亚洲精品午夜aaa久久久 | 夜夜艹 | 黄在线看 | 国产美女高潮视频 | 欧美日韩国产综合视频 | av亚洲在线| 亚洲国产伊人 | 久久久久久久久国产 | 毛片在线视频 | 草草视频网站 | 青青草在线视频免费观看 | av一区在线 | av伊人网 | 欧美日韩在线视频观看 | 成人精品视频99在线观看免费 | av在线免费观看网站 | 伊人超碰| 91麻豆精品一二三区在线 | 国产亚洲精品精品国产亚洲综合 | 午夜视频在线播放 | 亚洲 成人 av | 精品在线一区二区 | 国产精品乱码一区二区三区 | 日韩免费在线观看视频 | 成人午夜精品久久久久久久蜜臀 | 亚洲人在线播放 | 精品国产乱码久久久久久蜜柚 | 欧美日韩一区免费 | 国产精选一区二区三区不卡催乳 | 久久精品国产视频 | 亚洲 欧美 综合 | 亚洲国产成人精品女人久久久 | 97在线视频免费 | 免费看黄色大片 | 日韩在线观看三区 | 不卡的一区二区 | 欧美日韩在线观看中文字幕 | 国产欧美日韩精品在线 | 日韩一区高清视频 | av影音在线 | 成人精品国产 | 亚洲成人看片 | 综合久久亚洲 | 青青草综合在线 | 久久午夜综合久久 | 波多野结衣一二三四区 | 午夜视频精品 | 成人免费视屏 | 99视频免费播放 | 精品中文在线 | 日韩欧美国产一区二区三区 | 精品国产乱码一区二区三区 | 欧美精品在线视频 | 免费看一区二区三区 | 久久大| www.久久 | 欧美人成在线观看 | 日韩精品1区2区3区 成人黄页在线观看 | 国产精品久久久99 | av在线免费播放 | 欧美激情综合色综合啪啪五月 | 国内精品视频 | 国产一区二区免费 | 日韩视频一区二区三区 | 精品中文字幕在线 | 午夜午夜精品一区二区三区文 | 久久久久久亚洲精品 | 97操视频| 亚洲精品91 | 国产乱码精品一区二区三区手机版 | 高清一区二区三区 | 久爱国产 | 欧美自拍视频一区 | 色综久久 | 97免费在线视频 | 亚洲欧美在线观看 | 欧美理论片在线观看 | 成年人av网站 | 97精品国产| 久久精品欧美 | 在线观看亚洲大片短视频 | 国内精品国产三级国产在线专 | 久久久久无码国产精品一区 | 日韩国产精品视频 | 国产综合精品一区二区三区 | 国产一区二区三区免费在线 | 午夜精品视频 | 黄色片在线 | 黄色精品一区二区 | 国产一区在线视频 | 亚洲午夜剧场 | 国产精品高潮呻吟 | 精品久久久久久久久久久久 | 99re在线 | 国产精品高潮呻吟 | 国产亚洲精品久久久久久豆腐 | 国产婷婷综合 | 毛片一区二区 | 欧美高清视频一区二区三区 | 国产日韩一区二区三区 | 日韩精品一 | 国产成人一区二区三区 | 99精品视频一区二区三区 | 国产综合久久久久久鬼色 | 免费观看一区二区三区 | 吴梦梦到粉丝家实战华中在线观看 | 欧美激情国产日韩精品一区18 | 中文字幕高清av | 久久成人免费视频 | 精品国产一区二区三区在线观看 | 一区二区不卡视频 | 日日爱999 | 国产激情视频在线观看 | 国产精品久久久久久久久免费桃花 | 久久精品国产亚洲一区二区三区 | 91在线视频观看 | 国产亚洲网站 | 一级免费在线视频 | 亚洲精品女优 | 伊人av成人 | 国产超碰人人模人人爽人人添 | 日本高清中文字幕 | 女人爽到高潮aaaa电影 | 国产另类ts人妖一区二区 | 一区二区精品在线 | 亚洲人成人一区二区在线观看 |