亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

OmniRoute i18n 國際化工程實(shí)戰(zhàn)指南:42 語言、增量翻譯流水線與全鏈路質(zhì)量門禁

OmniRoute i18n 國際化工程實(shí)戰(zhàn)指南:42 語言、增量翻譯流水線與全鏈路質(zhì)量門禁 OmniRoute i18n 國際化工程實(shí)戰(zhàn)指南42 語言、增量翻譯流水線與全鏈路質(zhì)量門禁【免費(fèi)下載鏈接】OmniRouteNever stop coding. Free MIT AI gateway: one endpoint, 352 providers (150 free), 1200 models Kimi, Claude, GPT, Gemini, GLM, DeepSeek, MiniMax. Works with Claude Code, Codex, Cursor, OpenCode, Cline Copilot. Quota-aware auto-fallback, RTKCaveman compression saves 15-95% tokens, MCP/A2A, Desktop/PWA. Built by 550 contributors項(xiàng)目地址: https://gitcode.com/GitHub_Trending/om/OmniRoute導(dǎo)讀OmniRoute 是一個(gè)面向 AI 網(wǎng)關(guān)場景的開源項(xiàng)目其國際化體系覆蓋了儀表盤 UI、命令行CLI、項(xiàng)目文檔三大表面當(dāng)前倉庫中共配置了 42 個(gè)語言環(huán)境config/i18n.json中可見 42 個(gè) locale 條目并針對(duì)阿拉伯語、波斯語、希伯來語、烏爾都語提供 RTL 支持。本篇指南以倉庫自帶的 i18n 工程文檔docs/i18n/fi/docs/guides/I18N.md 及其英文主文檔 docs/guides/I18N.md為核心骨架結(jié)合 scripts/i18n 目錄下的真實(shí)腳本與 src/i18n 的運(yùn)行時(shí)實(shí)現(xiàn)系統(tǒng)講解其架構(gòu)、增量翻譯流水線、新增語言流程、驗(yàn)證與 QA 工具鏈。讀完本文你將掌握如何為 OmniRoute 添加一種新語言、如何驅(qū)動(dòng)哈希增量翻譯、如何用校驗(yàn)?zāi)_本守住翻譯質(zhì)量以及如何將 i18n 檢查接入 CI。說明FinnishSuomifi版本是英文原版 I18N 指南的翻譯鏡像之一下文以內(nèi)容更全的英文主文檔為準(zhǔn)并結(jié)合fi版中保留的 Quick Reference、架構(gòu)、驗(yàn)證命令等核心內(nèi)容。一、i18n 架構(gòu)總覽三層表面與單一事實(shí)來源OmniRoute 的國際化并不是一套字典走天下而是三個(gè)各自獨(dú)立、又共享同一份 locale 清單的子系統(tǒng)表面承載文件說明儀表盤 UINext.jssrc/i18n/messages/{locale}.json約 2800 個(gè)鍵的英文源en.json加 41 個(gè)翻譯文件命令行 CLIbin/cli/locales/{locale}.json42 個(gè)開箱即用的 CLI 語言目錄文檔 Docsdocs/i18n/{locale}/docs/...每個(gè) locale 一套翻譯后的 Markdown 鏡像單一事實(shí)來源是 config/i18n.json。該文件聲明了defaulten、rtl[ar,fa,he,ur]、uiOnly[en]、docsExcluded[en]以及完整的locales數(shù)組。每個(gè) locale 條目形如{ code: fi, label: FI, name: Suomi, native: Suomi, english: Finnish, flag: }注意 src/i18n/config.ts 文件頭部明確寫著SOURCE OF TRUTH: config/i18n.json… Keep this file as a thin typed adapter — do NOT add hand-maintained locale lists here.也就是說src/i18n/config.ts只是一個(gè)瘦適配層它通過 JSON import 讀取config/i18n.json再導(dǎo)出LOCALES、LANGUAGES、RTL_LOCALES、LOCALE_ALIASES、LOCALE_COOKIE等常量供 UI 使用。從源碼結(jié)構(gòu)看新增語言唯一需要手改的聲明位置就是config/i18n.json其余表面都由腳本驅(qū)動(dòng)。1.1 儀表盤 UI 的運(yùn)行時(shí)語言解析流程翻譯文檔中給出了儀表盤的 4 步運(yùn)行時(shí)流程而 src/i18n/request.ts 給出了完整實(shí)現(xiàn)用戶在界面選擇語言 → 寫入NEXT_LOCALEcookie由LOCALE_COOKIE NEXT_LOCALE定義request.ts通過resolveRequestedLocale()解析 locale優(yōu)先級(jí)為 cookie →x-locale請(qǐng)求頭 → 默認(rèn)en動(dòng)態(tài) import 加載messages/{locale}.json組件通過useTranslations(namespace)t(key)取字符串。實(shí)現(xiàn)層面有兩個(gè)值得注意的細(xì)節(jié)EN 兜底合并當(dāng)激活 locale 不是en時(shí)request.ts會(huì)先做一次遞歸的deepMergeFallback()把英文源作為缺失鍵的兜底隨后再做一次命名空間級(jí)淺合并保證新增命名空間如cliCode、cliAgents、acpAgents在尚未翻譯的 39 個(gè)非 EN/非 pt-BR locale 中能以英文顯示。__MISSING__:哨兵值sync-ui-keys.mjs回填未翻譯鍵時(shí)寫入__MISSING__:english value見 request.ts 中PLACEHOLDER_PREFIX的定義deepMergeFallback會(huì)把這類值當(dāng)作缺失處理從而讓干凈的英文值勝出。原型污染防護(hù)deepMergeFallback與setNestedValue都會(huì)跳過__proto__、constructor、prototype鍵防止由構(gòu)造的 locale 消息樹引發(fā)原型污染。resolveRequestedLocale()還會(huì)消費(fèi)LOCALE_ALIASES——例如舊值in曾被錯(cuò)誤地用作印地語/印尼語代碼如今通過 alias 映射到id因此用戶保存的NEXT_LOCALEin或OMNIROUTE_LANGin仍能正確解析。1.2 CLI 層的 i18n獨(dú)立于儀表盤CLI 有自己獨(dú)立的 i18n 層源文件為bin/cli/i18n.mjs所有面向用戶的字符串都經(jīng)過t(module.key, vars)目錄文件位于 bin/cli/locales42 個(gè)開箱即用任何缺失鍵回退到en因此部分翻譯的 locale 也是合法的locale 來源清單同樣共享config/i18n.json。CLI 的 locale 選擇順序首個(gè)命中優(yōu)先優(yōu)先級(jí)來源示例1--lang參數(shù)omniroute --lang de status2OMNIROUTE_LANG環(huán)境變量OMNIROUTE_LANGja omniroute providers3LC_ALL系統(tǒng)環(huán)境從終端 locale 自動(dòng)探測4LC_MESSAGES系統(tǒng)環(huán)境從終端 locale 自動(dòng)探測5LANG系統(tǒng)環(huán)境從終端 locale 自動(dòng)探測6兜底en帶下劃線的代碼pt_BR會(huì)被歸一化為連字符形式pt-BRlocale 代碼必須匹配/^[a-zA-Z0-9-]$/以此拒絕路徑穿越攻擊。語言偏好可通過以下命令持久化到~/.omniroute/.env原子寫入在 CLI 引導(dǎo)階段加載# 設(shè)置語言并持久化跨會(huì)話生效 omniroute config lang set pt-BR # 查看當(dāng)前語言 omniroute config lang get # 列出全部 42 種可用語言 omniroute config lang list # JSON 輸出 omniroute config lang list --output json # 僅本次調(diào)用生效不寫入配置文件 omniroute --lang de providers list從倉庫現(xiàn)狀看42 個(gè) CLI locale 文件中en、pt-BR為完整翻譯bn、gu、he、mr、ms、phi、sw、ta、te、ur為純腳手架所有鍵回退到en其余 30 個(gè) locale 翻譯了commonprogram兩組鍵。二、翻譯流水線從 Google 免費(fèi) API 到哈希增量 LLM 翻譯2.1 推薦流水線v3.8.0 起哈希增量翻譯器當(dāng)前推薦的主流水線是 scripts/i18n/run-translation.mjs由 npm 腳本驅(qū)動(dòng)。它基于 OpenAI 兼容的 LLM 端點(diǎn)典型場景是經(jīng) OmniRoute Cloud 走cx/gpt-5.4-mini一類模型其核心特性是增量與確定性# 運(yùn)行翻譯增量——只處理源文件有變化的文檔 npm run i18n:run # 只處理一個(gè) locale npm run i18n:run -- --localept-BR # 只處理指定文件逗號(hào)分隔、相對(duì)倉庫根的路徑 npm run i18n:run -- --filesCLAUDE.md,docs/architecture/ARCHITECTURE.md # 強(qiáng)制全量重譯成本高 npm run i18n:run -- --force # 預(yù)演——不發(fā) API 請(qǐng)求、不寫任何文件 npm run i18n:run:dry # CI 門禁——狀態(tài)漂移時(shí)以非零碼退出 npm run i18n:check狀態(tài)文件是提交進(jìn)倉庫的 .i18n-state.json為每個(gè)源文件和每個(gè)已產(chǎn)出的目標(biāo)文件保存 SHA-256 哈希。重跑時(shí)只重譯源哈希變化了或目標(biāo)文件缺失的文件因此i18n:check對(duì)應(yīng) scripts/i18n/check-translation-drift.mjs做漂移檢測時(shí)完全不需要調(diào)用 API確定性且廉價(jià)。狀態(tài)重引導(dǎo)--adopt如果.i18n-state.json丟失或你只改了鏈接列表、數(shù)字這類無需重譯的文本可以運(yùn)行npm run i18n:run -- --adopt # 從磁盤上的鏡像重建狀態(tài)不發(fā) API、不寫任何 .md npm run i18n:run -- --adopt --targets-only--targets-only表示只對(duì)磁盤上的鏡像重新哈希、保留全部source_hash這樣機(jī)械性的鏡像重寫不會(huì)表現(xiàn)為target changed而真正的源漂移仍會(huì)被報(bào)告。從 run-translation.mjs 的注釋看--adopt與--targets-only正是為這兩類場景設(shè)計(jì)的。后端配置通過.env配置永不提交變量用途OMNIROUTE_TRANSLATION_API_URLOpenAI 兼容的 base URL如…/v1OMNIROUTE_TRANSLATION_API_KEYbearer token日志中脫敏OMNIROUTE_TRANSLATION_MODEL模型 id如cx/gpt-5.4-miniOMNIROUTE_TRANSLATION_TIMEOUT_MS可選默認(rèn)60000OMNIROUTE_TRANSLATION_CONCURRENCY可選默認(rèn)4run-translation.mjs自帶一個(gè)極簡的.env加載器不引入 dotenv 依賴已設(shè)置的環(huán)境變量優(yōu)先因此 shell / CI 仍可覆蓋。輸出形狀每份翻譯文件頂部是# heading (native)行、一條 Languages: …語言欄、一個(gè)---分隔符然后才是翻譯正文。這一版式與scripts/check/check-docs-sync.mjs對(duì)llm.txt、CHANGELOG.md鏡像的既有約束保持一致翻譯文件在記錄哈希前還會(huì)經(jīng)過 Prettiermarkdown parser格式化避免 lint-staged 的 Prettier 二次格式化與狀態(tài)文件打架。2.2 舊流水線已棄用v3.10 移除文檔中明確標(biāo)注了兩條舊流水線為deprecated將在 v3.10 移除Google 免費(fèi) API 生成器scripts/i18n/generate-multilang.mjs約 888 行LLM 文檔翻譯器scripts/i18n/i18n_autotranslate.py。舊生成器的四個(gè)模式與行為當(dāng)前仍存在于倉庫但不應(yīng)再用于 UI 字符串node scripts/i18n/generate-multilang.mjs [messages|readme|docs|all]模式行為messages從en.json補(bǔ)齊src/i18n/messages/{locale}.json的缺失鍵readme把根目錄README.md翻譯為各語言的README.{code}.mddocs把DOC_SOURCE_FILES翻譯到docs/i18n/{locale}/{docName}all依次執(zhí)行以上三種舊生成器的工程細(xì)節(jié)仍值得了解體現(xiàn)了翻譯流水線的通用設(shè)計(jì)文本保護(hù)翻譯前先掩碼代碼塊、行內(nèi)代碼、Markdown 鏈接/圖片、HTML 標(biāo)簽、表格與 ICU 占位符{count}、{value}、{total}等翻譯后再還原分塊批處理用__OMNIROUTE_I18N_SEPARATOR__連接多條字符串單請(qǐng)求上限 1800 字符最小化 API 調(diào)用次數(shù)內(nèi)存緩存會(huì)話內(nèi)相同字符串不重復(fù)調(diào)用指數(shù)退避重試429/5xx 最多重試 5 次延遲為 300ms × 嘗試次數(shù)超時(shí)單請(qǐng)求 20 秒跳過已存在文件目標(biāo)文件已存在則不覆蓋。支持 UI 字符串翻譯的受支持路徑是 LLM 后端# 補(bǔ)齊每個(gè) locale 目錄中缺失/占位的 UI 鍵 npm run i18n:sync-ui -- --translate-markers --batch-size40根目錄README.{code}.md變體目前尚無替代流水線readme模式是唯一的例外。三、新增一種語言一條命令鋪平所有表面老版本文檔要求手動(dòng)編輯generate-multilang.mjs的LOCALE_SPECS數(shù)組fi版芬蘭語文檔仍保留這一舊流程而英文主文檔與當(dāng)前倉庫已演進(jìn)為add-locale.mjs單命令流程——從 scripts/i18n/add-locale.mjs 的實(shí)現(xiàn)看它會(huì)一次性把新 locale 寫入config/i18n.json、旗幟文件docs/assets/flags/cc.svg、UI 目錄src/i18n/messages/code.json腳手架后經(jīng)sync-ui-keys --translate-markers填充、文檔鏡像docs/i18n/code/**、CLI 目錄bin/cli/locales/code.json、README 旗幟鏈接、docs/i18n/README.md行、docs/guides/I18N.md行以及可選的 site 目錄。# 需要 .env 中配置 OMNIROUTE_TRANSLATION_API_URL / _API_KEY / _MODEL node scripts/i18n/add-locale.mjs --codeel --englishGreek --nativeΕλληνικ? --flag # 印度語系共用 in.svg 旗幟文件 node scripts/i18n/add-locale.mjs --codekn --englishKannada --native????? --flag --flag-filein.svg # 只預(yù)覽不執(zhí)行 node scripts/i18n/add-locale.mjs --codeel --englishGreek --nativeΕλληνικ? --flag --dry-runadd-locale.mjs還支持--aliases、--rtl、--docscore|all、--filescsv、--cli-full等可選參數(shù)。新增后執(zhí)行驗(yàn)證node --import tsx/esm --test tests/unit/i18n-locale-surfaces-parity.test.ts npm run i18n:check-ui-coverage npm run i18n:check-ratio npm run check:docs-all npm run check:cli-i18n其中tests/unit/i18n-locale-surfaces-parity.test.ts雙向守護(hù)配置的文檔 locale 必須有一行記錄且每行記錄必須映射回一個(gè)已配置的文檔 locale。核心原則再次重申config/i18n.json是聲明新語言的唯一位置src/i18n/config.ts是類型化適配層禁止手改。四、驗(yàn)證與 QA 工具鏈四層檢查保住翻譯質(zhì)量4.1 翻譯校驗(yàn)器 validate_translation.pyscripts/i18n/validate_translation.py 將任意 locale JSON 與en.json對(duì)比并報(bào)告問題# 快速檢查僅計(jì)數(shù) python3 scripts/i18n/validate_translation.py quick -l cs # 輸出示例 # Missing: 0 # Untranslated: 0 # Ignored (UNTRANSLATABLE_KEYS): 236 # 按分類輸出差異 python3 scripts/i18n/validate_translation.py diff common -l cs python3 scripts/i18n/validate_translation.py diff settings -l cs # 導(dǎo)出 CSV / Markdown python3 scripts/i18n/validate_translation.py csv -l cs report.csv python3 scripts/i18n/validate_translation.py md -l cs report.md # 完整報(bào)告默認(rèn) python3 scripts/i18n/validate_translation.py -l cs檢測四類問題Missing keys——en.json有、locale 文件沒有的鍵Extra keys——locale 文件有、en.json沒有的鍵Untranslated keys——locale 值與英文源相同的鍵排除 allowlistPlaceholder mismatches——ICU 占位符在源與譯文間不匹配。退出碼約定碼含義0OK1一般錯(cuò)誤2缺少字符串硬錯(cuò)誤3未翻譯警告軟錯(cuò)誤環(huán)境變量可用TRANSLATION_LANGcs或-l cs參數(shù)二選一。4.2 代碼鍵檢查器 check_translations.pyscripts/i18n/check_translations.py 掃描src/**/*.tsx與src/**/*.ts中的useTranslations()調(diào)用驗(yàn)證所有被引用的鍵都存在于en.json# 基礎(chǔ)檢查 python3 scripts/i18n/check_translations.py # 詳細(xì)輸出 python3 scripts/i18n/check_translations.py --verbose # 自動(dòng)修復(fù)把缺失鍵補(bǔ)進(jìn) en.json python3 scripts/i18n/check_translations.py --fix4.3 靜態(tài) QA 報(bào)告 generate-qa-checklist.mjsscripts/i18n/generate-qa-checklist.mjs 掃描 Next.js 頁面文件輸出 i18n 風(fēng)險(xiǎn)指標(biāo) Markdown 報(bào)告node scripts/i18n/generate-qa-checklist.mjs檢查項(xiàng)包括固定寬度 class 的使用溢出風(fēng)險(xiǎn)、方向性 left/right classRTL 風(fēng)險(xiǎn)、易裁剪clipping模式、與en.json相比的 locale 奇偶性缺失/多余鍵、以及es/fr/de/ja/ar等優(yōu)先 locale 的 README 語言選擇欄。輸出為docs/reports/i18n-qa-checklist-{date}.md該目錄當(dāng)前未隨倉庫提交由腳本運(yùn)行時(shí)生成。4.4 視覺 QA run-visual-qa.mjsPlaywrightscripts/i18n/run-visual-qa.mjs 通過 Playwright 對(duì)儀表盤所有路由在多種 locale 與多種視口下截圖并評(píng)估頁面健康度# 默認(rèn)es, fr, de, ja, ar, zh-CN目標(biāo) localhost:20128 node scripts/i18n/run-visual-qa.mjs # 自定義 base URL 與 locale QA_BASE_URLhttp://staging.example.com QA_LOCALESde,fr node scripts/i18n/run-visual-qa.mjs # 自定義路由 QA_ROUTES/dashboard/settings,/dashboard/providers node scripts/i18n/run-visual-qa.mjs可檢測文本溢出、元素裁剪、RTL 布局錯(cuò)位。輸出docs/reports/i18n-visual-qa-{date}.md加 JSON 報(bào)告。4.5 術(shù)語一致性層glossary超出鍵奇偶與 ICU 合法性的第三道門禁僅靠鍵奇偶check-ui-keys-coverage.mjs和 ICU 合法性validate_translation.py無法發(fā)現(xiàn)語義漂移——例如同一個(gè)英文概念 provider 在中文里同時(shí)被譯為提供商與提供者。為此倉庫新增了術(shù)語表層文檔注明由 #8038 引入從 zh-CN 起步scripts/i18n/glossary/zh-CN.json版本化的常見概念術(shù)語表provider、connection、routing、fallback、quota、context window、reasoning、tool call、cache、circuit breaker 等每個(gè)概念含canonical翻譯與可選的synonyms列表——目錄中出現(xiàn)任一同義詞即標(biāo)記為漂移scripts/i18n/glossary/protected-terms.json產(chǎn)品/提供商/模型/協(xié)議/CLI/環(huán)境變量/標(biāo)識(shí)符名單OmniRoute、OAuth、MCP、A2A、DATA_DIR等必須逐字出現(xiàn)在任何翻譯值中。它與untranslatable-keys.json粒度不同后者按整個(gè)鍵排除前者按概念檢查任意值中出現(xiàn)的受保護(hù)詞scripts/i18n/check-glossary-consistency.mjs導(dǎo)出純函數(shù)checkGlossaryConsistency(localeMessages, glossary, protectedTerms)返回{ violations: [...] }——非規(guī)范詞產(chǎn)生glossary-synonym違規(guī)受保護(hù)名被譯錯(cuò)產(chǎn)生protected-term-altered違規(guī)。# 默認(rèn)檢查 zh-CN npm run i18n:check-glossary # 指定 locale、JSON 報(bào)告或非失敗報(bào)告模式 node scripts/i18n/check-glossary-consistency.mjs --localezh-CN node scripts/i18n/check-glossary-consistency.mjs --localezh-CN --json node scripts/i18n/check-glossary-consistency.mjs --localezh-CN --report該檢查在 CI 中作為i18n-glossary-zhcn作業(yè)運(yùn)行與i18n-ui-coverage相同的門禁策略跳過 draft PRi18n 或代碼變更時(shí)觸發(fā)。倉庫同時(shí)提供了 scripts/i18n/glossary/ko.json、scripts/i18n/glossary/zh-TW.json 與glossary-normalize.mjsrun-translation.mjs會(huì)調(diào)用它做翻譯后術(shù)語歸一化說明該層正在向更多語言擴(kuò)展。五、不可翻譯鍵白名單與手工編輯注意點(diǎn)scripts/i18n/untranslatable-keys.json 是應(yīng)保持與英文源完全一致的鍵白名單用于避免validate_translation.py產(chǎn)生誤報(bào)的 untranslated 警告。典型成員品牌/產(chǎn)品名landing.brandName、common.social-github技術(shù)術(shù)語/縮寫health.cpu、mcpDashboard.pid、settings.aiICU/格式化字符串a(chǎn)piManager.modelsCount、health.millisecondsShort占位符值providers.openaiBaseUrlPlaceholder、cliTools.baseUrlPlaceholder協(xié)議名common.http、common.oauth、providers.oauth2Label導(dǎo)航分組sidebar.primarySection、sidebar.cliSection添加鍵只需編輯keys數(shù)組后重跑校驗(yàn)。文檔還特別提醒docs/i18n/README.md已不再由腳本整體重生成而是由i18n:add-locale就地插入新 locale 行并手工維護(hù)其余編輯——任何手工編輯若想保留應(yīng)寫入docs/guides/I18N.md這類手寫文檔而不是自動(dòng)生成的索引。六、CI 集成全 locale 并行校驗(yàn).github/workflows/ci.yml 在每次 push 與 PR 上并行校驗(yàn)所有 localei18n-matrix作業(yè)——?jiǎng)討B(tài)發(fā)現(xiàn)全部 locale 文件排除en.jsoni18n作業(yè)——對(duì)矩陣中的每個(gè) locale 并行運(yùn)行validate_translation.py quick -l langci-summary作業(yè)——匯總結(jié)果到儀表盤。# i18n-matrix: 發(fā)現(xiàn)語言 LANGS$(ls src/i18n/messages/*.json | xargs -n1 basename | sed s/.json$// | grep -v ^en$) # i18n: 校驗(yàn)每種語言 python3 scripts/i18n/validate_translation.py quick -l ${{ matrix.lang }}儀表盤輸出形如## Translations | Metric | Value | |--------|------| | Languages checked | 30 | | Total untranslated | 0 | ? All translations complete此外CI 還掛載了i18n-check漂移門禁、i18n-ui-coverageUI 鍵覆蓋與i18n-glossary-zhcn術(shù)語一致性等作業(yè)與 package.json 中i18n:*系列 npm 腳本一一對(duì)應(yīng)npm 腳本底層腳本作用i18n:run/i18n:run:dryrun-translation.mjs增量文檔翻譯 / 預(yù)演i18n:checkcheck-translation-drift.mjs漂移檢測無 API 調(diào)用i18n:sync-uisync-ui-keys.mjs補(bǔ)齊 UI 目錄缺失鍵i18n:check-ui-coveragecheck-ui-keys-coverage.mjsUI 鍵覆蓋檢查i18n:check-ratiocheck-translation-ratio.mjs真實(shí)翻譯比例棘輪與英文相同/占位符占比i18n:sync-barssync-language-bars.mjs重生成 語言欄i18n:add-localeadd-locale.mjs全表面新增語言i18n:check-glossarycheck-glossary-consistency.mjs術(shù)語一致性檢查七、最佳實(shí)踐與歷史教訓(xùn)7.1 編輯翻譯時(shí)的操作紀(jì)律永遠(yuǎn)先改en.json——它是事實(shí)來源運(yùn)行npm run i18n:sync-ui -- --translate-markers舊流程為generate-multilang.mjs messages把新鍵傳播到各 locale人工復(fù)核自動(dòng)翻譯——機(jī)器翻譯只是起點(diǎn)提交前校驗(yàn)——python3 scripts/i18n/validate_translation.py quick -l lang若某鍵應(yīng)保持英文更新untranslatable-keys.json。7.2 占位符安全I(xiàn)CU 占位符{count}、{value}、{total}、{seconds}必須逐字保留復(fù)數(shù)格式{count, plural, one {# model} other {# models}}必須保持結(jié)構(gòu)完整校驗(yàn)器會(huì)自動(dòng)檢測占位符不匹配。7.3 代碼中新增翻譯鍵// 使用命名空間鍵 const t useTranslations(settings); t(cacheSettings); // 映射到 JSON 中的 settings.cacheSettings // 運(yùn)行 check_translations.py 驗(yàn)證鍵存在 python3 scripts/i18n/check_translations.py --verbose7.4 RTL 注意事項(xiàng)ar、fa、he、ur是 RTL localeconfig/i18n.json的rtl數(shù)組當(dāng)前版本較舊文檔又新增了fa與ur兩項(xiàng)避免硬編碼left/rightCSS改用start/end邏輯屬性run-visual-qa.mjs的視覺 QA 負(fù)責(zé)捕獲 RTL 布局錯(cuò)位。7.5 歷史教訓(xùn)已知問題in.json→hi.json修復(fù)生成器曾用已棄用的 Google 翻譯代碼in表示印地語正確應(yīng)為 ISO 639-1 的hi產(chǎn)生了一個(gè)孤兒in.json。修復(fù)方式是改代碼并刪除孤兒文件2026-09-02 又移除了作為第二印尼語存活下來的in現(xiàn)在id聲明aliases: [in]舊值自動(dòng)解析到iddocs/i18n/README.md自動(dòng)生成史該文件曾由generate-multilang.mjs docs整體重生成現(xiàn)改為add-locale就地插入行 手工維護(hù)并由i18n-locale-surfaces-parity.test.ts雙向守護(hù)白名單外部化untranslatable-keys.json從validate_translation.py內(nèi)聯(lián)的 Python set 移出為獨(dú)立 JSON 文件校驗(yàn)器運(yùn)行時(shí)加載quick輸出新增 Ignored 計(jì)數(shù)快速檢查現(xiàn)在會(huì)顯示來自u(píng)ntranslatable-keys.json的被忽略鍵數(shù)量Ignored (UNTRANSLATABLE_KEYS): per release。八、文件結(jié)構(gòu)速查config/ └── i18n.json # 單一事實(shí)來源42 locale、RTL 集合、uiOnly/docsExcluded src/i18n/ ├── config.ts # 類型化適配層讀取 config/i18n.json禁止手改 ├── request.ts # 運(yùn)行時(shí) locale 解析 EN 兜底合并 原型污染防護(hù) ├── detectBrowserLocale.ts # 瀏覽器 locale 探測 ├── resolveRequestedLocale.ts # cookie/header 解析與 alias 映射 └── messages/ ├── en.json # 事實(shí)來源約 2800 鍵 ├── cs.json / de.json / … # 41 個(gè)翻譯文件合計(jì) 42 bin/cli/ ├── i18n.mjs # CLI 的 t(module.key, vars) └── locales/ # 42 個(gè) CLI locale 文件 scripts/i18n/ ├── run-translation.mjs # 推薦哈希增量文檔翻譯 ├── check-translation-drift.mjs # i18n:check 漂移門禁 ├── sync-ui-keys.mjs # UI 鍵補(bǔ)齊__MISSING__: 哨兵 ├── check-ui-keys-coverage.mjs # UI 鍵覆蓋檢查 ├── check-translation-ratio.mjs # 真實(shí)翻譯比例棘輪 ├── add-locale.mjs # 全表面新增語言 ├── sync-language-bars.mjs # 語言欄同步 ├── generate-multilang.mjs # 舊 Google 翻譯生成器deprecatedv3.10 移除 ├── i18n_autotranslate.py # 舊 LLM 翻譯器deprecatedv3.10 移除 ├── validate_translation.py # 翻譯校驗(yàn)器 ├── check_translations.py # 代碼鍵檢查器 ├── generate-qa-checklist.mjs # 靜態(tài) QA 報(bào)告 ├── run-visual-qa.mjs # Playwright 視覺 QA ├── check-glossary-consistency.mjs # 術(shù)語一致性 ├── untranslatable-keys.json # 不可翻譯鍵白名單236 鍵量級(jí) ├── glossary/ # 各語言術(shù)語表 protected-terms.json └── lib/ # docs-core-set / language-bar / translation-state 等 docs/ ├── guides/I18N.md # 手寫 i18n 工程文檔本主題主文檔 ├── i18n/README.md # 自動(dòng)維護(hù)的語言索引 ├── i18n/{locale}/docs/... # 42 個(gè)語言鏡像fi 版即其中之一 └── diagrams/i18n-flow.mmd # 流水線架構(gòu)圖源文件 └── exported/i18n-flow.svg # 導(dǎo)出的架構(gòu)圖結(jié)語OmniRoute 的國際化工程是聲明一次、處處生效的典型實(shí)踐config/i18n.json是唯一事實(shí)來源add-locale.mjs一鍵把新語言鋪到 UI、CLI、文檔與站點(diǎn)表面哈希增量流水線讓文檔翻譯變成確定性的增量任務(wù)而validate_translation.py、check_translations.py、術(shù)語表與 Playwright 視覺 QA 構(gòu)成從鍵奇偶到語義一致性的完整質(zhì)量門禁。無論你是要為本倉庫新增語言、修復(fù)翻譯漂移還是把類似的 i18n 工程思路遷移到自己的項(xiàng)目這套單一來源 腳本驅(qū)動(dòng) 四層校驗(yàn)的組合都值得直接復(fù)用?!久赓M(fèi)下載鏈接】OmniRouteNever stop coding. Free MIT AI gateway: one endpoint, 352 providers (150 free), 1200 models Kimi, Claude, GPT, Gemini, GLM, DeepSeek, MiniMax. Works with Claude Code, Codex, Cursor, OpenCode, Cline Copilot. Quota-aware auto-fallback, RTKCaveman compression saves 15-95% tokens, MCP/A2A, Desktop/PWA. Built by 550 contributors項(xiàng)目地址: https://gitcode.com/GitHub_Trending/om/OmniRoute創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
双插在线| 久久天天摸| 久久人妻丝袜一区二区三| 无码视频一区二区| 搡老女人老91妇女老熟女| 美国aaaaa一级黄片| 麻豆天美国美国产| 九热中文字幕| 被体育老师抱着c到高潮| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 91九九九小逼| 91n欧美| 日韩精品 欧美激情| 欧洲欧美视频一区二区| 色97| 黄色工厂这里只有精品| 精品一区二区综合熟妇| 超碰人妻中文在线| 九七色图| 90后性网国产欧美| 性性久久| 国产精品美女视频诱惑| **一级毛片国产| 天天综合网1| 毛片一区二区| 天天看综合网| 欧美97网| 秋霞免费AV| 国产精品久久久视频| 久久99干一本高清| 国产一区二区视频在线播放| juliaann丝袜大战黑鬼| 亚洲天天综合| 亚洲天堂区| 蜜臀无码一区二区| 大学生口爆吞精| 久久这里精品国产99丫e6| 亚洲熟女人妻中文字幕一区二区| 顶级丝袜熟女一区二区三区| julia中文字幕在线观看| 深夜福利黄片| 青娱乐亚洲热| 热99这里有精品综合久久| 操91| 亚春色色| JIZZJIZZ国产精品喷水| 九九九九欧美| 亚洲 自拍偷拍 欧美| 日本伦理一区二区| 人妻夜夜爽天天爽三区麻豆AV网站| 一本色道无码DVD中文字幕| 丁香六月婷婷久久综合| 深喉吞精| 国产少妇与亚洲av| 日本阿v天堂在线观看| 深夜国产一区二区三区在线看| 国产传媒一区日韩| 人妻二区| 诱惑人妻欧美一区在线播放| 日韩中文字幕精品一区在线| 好湿好紧好爽 视频| 久热这里只有精品9| 国产激情片在线观看| 麻豆人妻偷人精品无码视频| av日韩国产一区二区| 五月婷婷色| 国产精品丝袜在线| 亚洲综合在线视频| 91精品人妻一品二品三品| www.色婷婷色综合| 国语精品av| 久久婷婷六月综合| 日韩精品 欧美激情| 日本3级一区二区免费| 夜夜爽夜夜摸夜夜操免费视频| 综合欧美激情网| 人妻少妇精品久久久| 国产人妖视频一区在线观看| 天堂综合| 欧美亚洲日本视频久久久 | 中文字幕熟女人妻丝袜| 人人天天欧洲| 神马久久久久久| 亚洲不卡AV在线| 97超碰站| 五月婷视频| 99精品九九九九九九| 国产精品大香蕉| 蜜臀aV午夜一区二区三区| 顶级丝袜熟女一区二区三区 | 青青草日本中文字幕 | 色偷偷色偷偷欧美日韩| 伦伦成年午夜免费视频| 午夜精品久久久99热蜜桃的功能特点| 中文字幕在线观看二区三区| 中文字幕黄色一起草| 嗯嗯啊操我| 男人天堂网址 | 亚洲欧洲激情卡通另类文学四射小说网站 | 激情文学 亚洲图片| 国产精品久久久久久片| 91色欧美| 久久9视频| 国产美女自拍视频| 精产国品一区二三产品| 性爱网站一区二区| 97在线视频观看免费| 丁香激情五月天| 国产一二三福利视频网| 日韩熟女精品无码专区一区二区| 26uuu偷拍亚洲欧洲综合| 欧美熟女丝袜| 午夜福利免费福利视频| 91A欧美电影网站| AV一二区| 家庭乱伦性爱av| 人人搡人人肉久久精品| 久久久九九网站| 日韩兔费看黄片| 国产熟妇一区二区| 久久av成人无码免费| 另类专区加勒比| 99热超碰在线| 国模无码人体一区二区三| 亚洲视频二区 | 91黑丝少妇| 思思热久久成人| 欧美偷| 亚洲国男人的天堂| 亚洲AV成人无码一二三久久| 人妻天天爽夜夜爽2| 99热这里| 亚洲天堂五月天国产| 欧洲精品一二三在线| 国产亚洲禁久一区二区| 欧美成人免费在线观看| 日韩丨制服丨中文|在线| 男人兔费天堂| 亚洲啪啪视频免费| 久久久久久99999国产精品| 99热亚洲天堂| 亚洲av无线观看| 性天堂| 香蕉色网| 色呦呦、国产精品| av在线一区二区三区| 91熟女丨老女人| SS久久| 色色激情| 久草国产在线视频| 婷婷伊人五月| 91精品91久久久久77777| www.四虎在线| 最新中文字幕精品在线| 97九色| 久久网亚洲| 九九热免费国产视频婷婷伊人五月| 中文字幕日韩人妻视频一区二区三区 | 美腿丝袜偷拍亚洲欧美| 欧美亚洲日韩人妻在线观看| 九九九热| 超碰精品97| 91九九九馒头| 操逼网免费无码视频| 欧美综合网| 9九九国产| 亚洲色图欧美色图制服丝袜| 亚洲男人bt天堂| 国产亚洲日韩在线三区黑人| 97在线观看免费视频| 男女香蕉一区二区| 黄色高清久久无码依人| 亚洲美女精品| 91碰碰碰| 天天插天天操| 国产一区自拍欧美日韩| 蜜桃天美传媒AV一区二区三区| 三级网站超变态精品| 婷婷91| 欧美久久人人网| 日韩成人性日韩成人性爱视频在线免费观看| 亚洲精品国产熟女久久久| 国产污视频麻豆传媒一区二区| 五月激情小说| 国内自拍 日韩激情 99| 日韩一区二区精彩视频| 97av在线观看| 99精品九九九九九九| 99精品久久久久久| 美女人妻色网站| 日本网色| 国产一区二区欧美日本| 亚洲91在线播放影院| 91人妻人人澡人人爽人人精品| 国产91 丝袜在线播放| 欧美色老汉| Julia Annxxxxx| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 999久久久九| 色色热| 凹凸视频特色日本特黄| 日韩性爱免费视频在线网站| 日韩熟女操逼| 日韩成人高清一区二区| 亚洲 欧美 日韩另类 麻豆| 日本超碰97日韩精品人妻| 日韩影片中文字幕一区二区三区| 日本有码影片下载 | 伊人五月天| 性爱综合一区二区| 操东北女人| 一区二区三区四区理论片| 日韩射图| 亚洲综合网91| 久久内射| 天天天肏屄肏屄肏屄欧美欧美| 一二三四区操操Av| 国产激情在线| 国产熟女无套内射| 91亚洲欧洲| 女优大全 - 91n| 友优传媒精品在线一区二区| 欧美日韩在线小说 | 乱伦a片视频| 99re热有精品视频国产| 亚洲欧美国产va在线播放频| AV色女综合| 蜜桃臀一区二区三区久久| 中国黄色特级精品一区二区三区片| 久超超碰| 美女露胸露屁股| 夜夜爽爽爽| 天天综合色电影| 激情五月综合网| 久久露脸国产老熟女| 5278欧美一区二区三区| 色爱综合网| 欧美日韩成人| 91女人的网站| 久久99手机免费视频| 日日夜夜噜| 青青草大香蕉在线视频| 国产超碰在线一区| 亚av顶级裸体一区二区三区四区五区 | 国产性刺激| 欧美天天谢综合网| 操死我了嗯嗯嗯| 欧美内射少妇| 九九九精品一区二区无码| 插入粉嫩少妇视频| 啊啊啊啊啊舒服| 日日AAvv| 啊啊啊啊啊啊啊啊视频| 欧美天天射| 少妇贴图| 无码人妻精品酒店| 在线人成亚洲视频免费观看| 人妻少妇被猛烈进入中| 欧美精品久久久久久久久88| 亚洲精品男人的天堂| 一区二区三区 丝袜 高跟 美腿| 蜜臀亚洲中文| 青青草色情网站视频| 成人精品欧洲亚洲| 日韩97超碰| 96精品久久久久久久久久| 亚洲欧美综合| 精品久久久高清无码| 亚洲精品无码成人久久久99| 日本三级大片| 情色日播放AV| 亚洲国成人情色好看电影| 18禁久极品美女久久哦哟呀!| 夜夜爽夜夜摸夜夜操免费视频| 在线洲亚线| a级免费在线观看| 国产精品 久久久精品一牛| 欧美性爱1080p| 看黄片视频免费| 五月综合色| 亚洲色图20p| 国产99999久久精品| 久久是精品| 美女久久久| 香蕉热人人精品| 丁香色五月 97干| 久久亚洲不卡| 中文字幕诱惑制服人妻丝袜美丝袜美| 欧美综合综合| 被男人吃奶很爽的毛片| 亚洲精品视频在线| 97天天摸天天碰| 美女裸体麻豆天美蜜桃91| AV男人天堂网| 91丨国产丨白浆秘 洗澡动漫| 国精精品无码一二三区水多多| 婷婷丁香成人| 人妻少妇精品久久久| 无码九九九九| 91性网| 秋霞 色色| 国内毛片国产专区二| 野狼激情网| 成人老鸭窝人人在线视频| 欧美青青视频| 国产精品操| av在线一区二区三区| 国产伦精品一区二区三区视频女| 人妻无码后入| 78操B| 日韩亚洲中文字幕在线| 午夜激情床戏激情| 欧亚日韩综合精品国产| 91无码精品| 91性高朝久久久久久久久| 东北丰满熟女国产一区| 精品无码一区二区| 婷婷丁香人妻 | 99久久e免费热视| 五月激情视频| 久日综合网| 欧美成人一级麻豆| 18禁超污无遮挡无码免费网| 97青青操视频| 国产精品丝袜在线| 色乱二区| 欧美页片| 中文字幕97| 性爱av网站| 9999亚洲电影| 玖玖爱在线视频免费观看| 日本日皮视频逼| 91中文精品日韩欧美在线| 男同专区一区二区三区在线| 亚洲欧美日韩精品久| 欧美色图私拍91| 亚洲欧洲第二视频在线观看色图| 日韩三级伦理中文字幕| 久久怡红院| 亚洲人人夜夜澡人人爽| 欧美性爱无码一区二区三区| AV天堂电影网| 大香蕉一级黄色片久久| 久久婷婷热| 国产女人9999| 国产日产精品久久快鸭的功能介绍| 97午夜剧场日韩| 日韩无码第3页| 亚洲欧美国产成人综合不卡| 好舒服视频| 亚洲av综合伊人久久| 精品一区二区3区| 91精品在线播放| 国产精品麻豆视频网站| 极品内射| 在线视频亚洲无码| 情色日播放AV| 欧美国产婷婷久久| julia高潮后不停追击中出| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 超碰在线人人射| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 人妻素股| 操国产逼| 东北女人的毛片| 婷婷超| 中文字幕在线观看第二页| 久久久久久久97| 日本成人电影资源网| 97欧美日韩中文| 97在线视频观看网站| 日韩久久艹| 岛国在线免费视频| 欧美色图天堂网m| 精品欧美老熟女一二区| 一本正道久久熟女| 精品久久久av无码免费| 欧美少妇大量自拍视频在线观看| 国产精品人妻免费精品| 亚洲男人的天堂V| A级在线视频| 怡红院怡春院| 一级@啪啪视频| 欧美中文狠| 神马久久久久久伦理片| 少妇色综合| 懂色AV蜜臀无码精品APP| 中文熟女五十乱码在线| 插欧洲美女欧美精品| 尤物视频新赏网鲜网色诱网| 五月丁香影院| 久久六六| 欧美色66| 国产99久久99热这里只有精品15| 久久精品日韩专区免费观看| 熟女视频久久| 天堂成人网| 人妻久久久| 日韩在线国产字幕| 亚洲天堂第一页| 国语国产操逼伊人AV网| 美女上床网站| 国产精品交换一区二区| 啪啪视频免费在线观看| 91久久久视| 凹凸视频在线观看伊人| 东京男人天堂| 91N欧美| 少妇综合网| 97 超碰 人人做 人人爱| 国产操逼视频在线观看| 亚洲偷91色| 亚洲aV性爱| 91成人18| 天天综合网1| 性色av婷婷久久一区二区点复制| 色欲av国内精品久久久久久| 亚洲第91页| 久久精视频美日韩在线视频| 欧美色图99| 蜜臀久久99精品久久久久久久久| 国产亚洲日韩欧| 欧美日韩人妻少妇 一区二区三区| 欧美啪啪女女| 亚洲久久久久| 蘋果手機免費看成人Av| 大香蕉五月天| 人人么人人操| 久久精品日韩专区免费观看| 亚洲人妻一区二区三区| 精品成人亚洲午夜电影| 欧美日韩精品久久久久东北老熟妇| 最新中文字幕在线亚洲| 国产精品日日摸夜夜添骚逼| 超碰天天操你比| 九九久久精品| 99老司机精品视频在线观看| 一本色道人妻久久| 蜜桃精品视频一区| 97干在线视频| 久久黄片国产一区二区| 大香交| 精品人妻二区三区| 国产一区二区在线电影| 亚洲在线91| caopeng97人妻| 色牛牛AV| 99久久久久久亚洲精品不卡| 一卡二卡三卡| 欧亚久久偷拍视频| 色九九综合| 国产9 9在线 | 亚洲| 99精品九九九九九九| 伊人成人情色综合| 亚洲乱熟女一区二区三区大香蕉| 欧美成熟性爱精品| 老熟女综合网| 性性久久| 蜜臀av在线播放一区二区三区| 美女极品一区二区三区| 搡老女人老熟女91| 啊啊啊 在线| 97爱爱影院| 亚洲人妻一区二区三区| 性做久久久久久久| 青青草影视蜜久久| 东北女人| 亚洲日本加勒比在线| 午夜福利视频在线一区| 国内精品嫩模A∨私拍小视频| 亚洲精品黄码久久久久| 99只有精品| 99操视频| 日本性爱不卡视频| 自拍偷拍第26| 超碰97 线线 在现| 九九超碰综合网| 久久嫩草国产成人一区| 激情深爱五月天| 亚洲天堂人妻熟妇视频| 麻豆国产视频精品观看| 日韩欧美加勒比| 久久九九精品一区二区| 大香伊人在线一区| 中文字幕日韩综合| 青青草天天亲夜夜操网| 亚洲精品白浆高清久久久久久| 欧美色图亚洲色| 亚洲精品久久一区二区三区蜜桃臀| 日韩传媒在线| 日韩内射视频| 亚洲图片 91| 超碰人人色| 手机在线中文字幕国产| 收看日本人日bb| 狠狠超| 亚州欧美综合| 国产偷人妻精品一区二区在线| 一区二区三区国产精产| www.97在线| 午夜人妻精品综合在线| 欧美视频中文字幕区| 夜夜天天噜狠狠爱2021| 操逼日批| 高清无码久操视频| 日本韩高清无砖码22o| 91熟女丨91老女人| 青青五月天| 日韩成人人妻网站| 久久久少妇诱惑精品视频| 欧亚久久偷拍视频| 美欧老女人97| 9久久美女首页| 麻豆精品A片免费观看| 麻豆黄色五月天| 殴美,日韩国产伦精品| 天天综合精品| 日本三级韩三级99久久| 婷婷爱五月| 99在线精品观看99| 亚洲精品亚洲人成人网| 大香蕉乱伦视频网| 日韩av乱伦| 麻豆国产96在线| 熟女色综合久久| 操逼啊啊啊91| 日韩三A大片在线观看| 国产一区二区成人av在线播放| www国产无码| 视频国产成人精品日本亚洲18| 日韩一级二级三级免费看完整版| 亚洲国产综合图区中文字幕| 69一区二区| 天天射夜夜操| 国产午夜精品理论片a大结局| 久久久少妇| 日韩兔费看黄片| 七月婷婷综合| 亚洲麻豆av一区二区| 老熟女乱伦片| 日本欧美韩国国产在线| 欧美性爱日韩性爱| 啪一啪免费视频| 久久6热视频免费观看| blacked精品一区国产| 欧美视频边做饭边橾| 日韩性爱高清免费视频| 一个人免费HD91视频| 强奸a片网| 日韩精品一区二区三区色欲| 丁香五月影院| 亚州色图第三区| 亚洲美女精品| 伊人大香蕉在线| 97色97好| 金典av| 四虎精品一区| 中国91AV| 精品无码久久久久久久久果冻糖心| 国产精品成久久久久午夜午夜| 99久久精品欧美国产| 26uuu国产亚洲综合| 亚欧性爱无码| 国产高清26uuu| 国产亚洲禁久一区二区 | 中日无幕一二三四区| 成人熟女视频一区二区三区| 99在线视频播放| 动漫av中文| 欧美色图片色哟哟| 美女91网站| 欧美精品一区二区少妇免费A片 | 欧美少妇第一页| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 欧美高清性猛交| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 国产亚洲精品美女久久久久久2021| 日韩成人精品| 亚洲色 国产 欧美 日韩| 免费综合亚洲中文| 色婷婷av在线观看| 麻豆精品久久久久久久| 日日干男人的天堂| 久久久久密臀一区二区| 淮穴色AV| 丁香六月啪| 丁香五月影院| 日韩综合色网| 99少妇内射| 亚洲97在线观看| 亚洲欧洲日韩天堂av| 国产亚洲精品av一区| 伊人激情| 夜夜操老骚逼视频网站| 大屁股国产在线视频| 亚洲中文字幕熟女少妇一区二区| 欧美十八禁视频| 国产理论视频在线播放| 开心五月深爱五月| 天天综合有色网| 日本亚欧爱爱| 青青青国产手线观看视频2| 色香色欲天天综合网天天来吧| 久久久不能久久久久| 91网站18+| 中英熟女操女| 亚洲熟女av日韩熟女| 成人无码专区精品视频| 少妇蹲下买菜露大唇0| 99人妻碰碰碰久久久久禁片| 日本高清一区二区在线| 日韩二三区| 91无码人妻精品一区二区三区蜜桃| 91香蕉国产尤物视频| 久久九九国产精品| 九一综合精品视品av| 亚洲脚交| 国产乱伦性爱区| 97人人射| 99精品人人爽| 黄片www视频免费| 在线观看国产黄色| 久久久婷婷| 麻豆av一区二区| 国产成人欧美一区二区三区的国产| 久久麻豆一区二区| 69丨亚洲丨精品丨入口免费播放| 国产自制av蜜乳| 女人被添高潮免费视频| 91九九九小逼| 久久久96| 精品久热| 日本三级韩国三级美三级91| 大二网站亚洲| 一本道综合色图| 国产精品久久久久久夜夜夜夜| 男女性无套 免费九一| 亚洲成人综合在线| 色呦色呦色精品| 日韩在线欧美精品一区二区| 婷婷亚洲天堂| 无码九九| 亚欧成人中文字幕一区| 国产AV天美| 91在线欧美| 色综合久久久久| 97国产精品久久久久| 91亚洲色人| 色九九九| 亚洲色人| 男人的天堂不卡一区二区 | 美中韩AV综合网| 免费男人的天堂| 亚洲精品第一| 色色色色色色色色综合| 亚洲国产精品成人综合| 69精品在线| 久久久久久久唑| 夜夜草网站| 天天综合网AV91| 99re免费视频精品全部| 伊人青青一区成人视频在线观看区| 可乐操在线| 超碰成人公开| 青草视频在线看看看看看看看看看| 亚洲熟妇AV日韩熟妇在线| 亚洲图片欧洲图片aⅴ| 欧美人妻另类在线| 欧美激情综合| 亚洲性刺激| 国模不卡| 97爱b| 久久中文字幕不卡人妻| 亚码激情| 不卡在线观看视频| renqi久久久久久久久久久久| 九九九九一区| 日本午夜精品理论片A级APP发布| 色悠久久久av| 亚洲毛片一级带毛片基地| 伦在线97| 人人操人人操人人操人人操人人操人人人11.CM| 99啪啪视频| 亚洲春色一区二区三区| 精品国产一区二区久久| 国产美女高潮| 国产欧美一区二区| 国产一区二区三区高清视频| 69AV女优男人的天堂| 无码精品久久久久久亚洲| 国模限制级电影| 久久久精品网站| 啊啊啊啊嗯嗯嗯用力好爽| 国产免费内射视频| 99综合网| 超碰九7免费| 一牛影视久久久一区二区三区| 九九九免费视频| 日韩pv中文| 中文字幕丰满子伦无码专区在线视频最新 | 狠狠色婷婷7777久| 欧美九九九| 欧美激情综合| 日韩无限资源| 欧美中文字幕男人天堂久久精品| av激情亚洲五月天| 97干色天堂| ji熟女.com| 日韩av色图| 免费看黄视频亚洲网站| 欧美骚少妇| 丁香五月社区| 日韩在线国产字幕| 69精品人人人人| 国产av又色又爽又黄| 欧美综合自拍亚洲综合图| 国产67194| 久久久久国产精品久久久| 亚洲成人一二三区| av日韩国产一区二区| 亚洲男人天堂视频| 色性综合| 秋霞操逼片| 国产精品九九| 久久久成人国产精品无码| 亚洲第一页色网| 天天影视综合网欧美精品| 国产无码精品无码| 欧美大片天天看| 国产无码一二三区| 天天综合中文字幕 91| 日日天天久久啊啊aaa| 看大黄色大片原件| 色欲久久99精品久久| 狠狠穞A片一區二區三區| 精品欧美老熟女一二区| 97一区二区蜜臀| 亚洲最新av无码成人精品区| 99久久9| 久久99热这里只频精品6学生| 1769成人国产精品视频| 91超碰碰在线| 丁香五月大香蕉| 精品国产Av无码久久久亚洲| 欧美与日韩97| 日本三级日本三级99| 欧美亚洲| 夜夜免费视频| 久久久久九九九| 精品九九| 91强在线播放| 三级三级三级日本99| 亚欧性爱无码| 大逼色网站| 伊人青青草久久| 欧洲一级性爱视频在线观看| 精品一区二区三区蜜桃| 哈哈操电影AV| 免费的黄片wwwwww| 中国熟女老妇仑乱一区二区三区| 9精品久久| 日本三级黄页| xxxx网站亚洲精品| 男人天堂2030| 青青欧美| 极品丝袜无码| 爱媛媛久久国产福利| 蜜臀一区二区三区在线| 日本 情色 1区2区3区| 伊人久久88国产女| 国产精品一级毛片不卡视| 国产AV中文| 999 久久久| www.91色综合| 一区二区影院| 97在线免费观看视频| 国产第11页| 欧美日韩99精品麻豆传媒| AV无码久久久精品| 欧美91在线| 麻豆色99999| 射丝袜高跟鞋99| 性爱av在线免费观看| 成人免费看吃奶视频网站| 少妇蹲下露出大唇5| 丝袜色综合| 亭亭丁香激情| 97五月天| 国产精品自在自拍视频| 性色AV蜜色av色欲av| www.人人摸在线视频| 国产精品suv一区| 国产欧美精品日韩区二区麻豆天美| 91快色色色色色| 日韩免费在线观看不卡| 成人性交午夜免费片| 中文字幕免费看| 91天美传媒精品| 激激五月| 看一级黄色视频| 久久精品日韩| 97爱爱| 蜜桃午夜视频一区二区| 九九亚洲精品| 97精品一二区| 欧美色五月| 再深点灬舒服灬太大了好硬好爽| 五月天婷婷在线看| 亚州综合色| 夜夜嗨绯色| 日韩内射视频| 女同亚洲欧美一二三区久久电影| 精品超碰国产| www黄片免费看com| 加勒比在线观看一区二区| 立川理惠被中出无码| 天美传媒AV在线| 五月天AV资源| 狠狠做深爱婷婷久久二区| 蜜臀AV成人精品蜜臀AV久久| 亚洲一区二区三区久久 亚洲一区二区| 亚洲精品美女久久久久久久久| 亚洲1区2区三区高清中文字幕| 91性高朝久久久久久久久| 囯产精品久久久久久久久久二区三区 | 日本女厕偷拍| 国产11页| 97天堂| 日韩婷婷| 亚洲精品美女久久久久久久久| 啪啪视频亚洲第一| 国产亚洲性生活视频播放| 肉动漫无遮挡h在线观看| 亚州性色| 欧美乱欲| 大香蕉99999| 春色综合网| 五月天婷婷社区| 欧美96在线|欧| 毛片99-全集电影手机免费观看完整-B029AV | 色爽——AV| 久久综合av| 久久99手机免费视频| 日本熟妇熟色97一本在线观看| 五月色综合| 大香蕉久久| 丁香五月婷婷色| 18禁超污无遮挡无码免费网| h无码动漫在线观看| 一个色导综合| 精品人妻一二三| 囯产精品久久久久久久久久二区三区| 超碰碰97资源站| 亚洲天堂2020| 日躁天天爽爽| 美女被啪到深处抽搐视频| 亚洲欧美人妻| 亚洲无码精品AV久久久| 影音先锋每日最新资源在线观看| 伊人网免费视频| WWW操逼| 国产一级137片内射麻豆| 久久久久久69国产一区二区| 国产日韩精品人妻久久久久色欲网站| 精品无码久久久久久国产浪潮| 99这里只有精品国产| 免费自拍三级综合| 日韩av电影成人在线| a片偷拍视频| 中日亚韩免费视频| 久操网线| 爱媛媛久久国产福利| 97人人模人人爽人人| 99久在线精品99re8热| 日本99久久| 97超级久久强资源| 在现视频女上位好爽| 蜜臀av中字字幕网站| 成人老鸭窝人人在线视频| 欧美72网页| 美女91av| 天天综合91入口| 97日韩| 日日干天天干夜夜爽| 嫩呦国产一区二区三区AV| 综合操逼| 日本色色色| 热久久91婷婷| 啊啊啊啊啊好大好舒服想要| 亚洲欲| 91国产丝袜白虎| 亚洲日韩电影| 亚洲国产一区二区日韩专区| 日韩色| 99人人干| 五月激情综合网| 啊啊啊用力在线观看| 欧美91在线+|+欧美| 97亚洲国产| 大香蕉伊人75| 亚欧无码线免费观看视频| 美女熟妇色| 成人性爱av.com| 午夜丁香婷婷| 91扒丝袜综合在线| 校园春色中文字幕AV| 五月天久久人妻| 国产一级高清免费观看| 中文字幕一区二区在线日韩精品| 欧美亚洲中文字幕| 亚州精人品大香蕉| 神马久久啊啊| 亚洲狠狠入| 国产日韩精品suv| 99久久婷婷丁香| 日本一级一级一级一级| 麻豆九九九| 国产诱惑| 国产精品第一页国产大屁股视频免费区| 老熟女乱伦片| 美女国产一区二区久久| 99性视频| 精品久久視頻在线| 日日夜夜噜| 91蜜臀人妻中文字幕在线| 欧美亚洲| 99久久久er直播网址| 中文字暮97| 新视频sss国产| 亚洲男人在线观看天堂 | 色九月综合| 国产精品对白自产拍| 国产无码久久高清| HEYZO高无码国产精品227| 欧美久久草熟女| 九九九九免费视频| 91狠狠综| 午夜久久无码1000合集| 天美av在线观看| 久久久久久久久久久久欧美日| 欧综合网| 一起草日韩| 五月婷婷综合激情| 九九成人精品| 天天综合,91入口| 三男一女不戴套的A片| 人人色人人操在线| 精品久久久久9999| 欧美色交| 久久国产乱子伦精品免费女人| 深爱五月天| 美女丝袜激情小说| 97天天日| 久久肏大逼| 91性生活久久久| 国产精品对白自产拍| 国产精品一区av在线| 2010男人的天堂| 午夜综合在线| 综合亚洲欧美精品日韩?v| 亚洲欧洲综合视频在线| 中文在线久久字幕| 日本女人久久久| 免费在线观看AV无码网站| 成人综合网 欧美| 天天综合网在线91| 口爆吞精在线观看| 亚洲男人的天堂V| 97超碰大| 人人摸人人叼| 啊啊啊97视频| 欧美精品三区| 亚洲AV无码乱码在线观看性色| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 黄色免费网页无码| 综合日韩激情另类图片| 久久久青青草| 色情乱伦AV| 九九热在线精品视频| 亚欧色图在线激情| 丝袜大香蕉| 欧美人妻一区二区| 狼狼色丁香久久婷婷综合五月| 动漫片子网站3黄| 亚洲丝袜少妇在线| 黄aaaaaaaaaaaaaaaaaa色网站| 高潮嗯啊性感美女久久久| 美女黄网| 99亚洲精品| 亚洲青色欧美| 极品白嫩美少妇在地板上位骑射淫水泛滥| 日本3级一区二区免费| 噜噜噜亚洲精品| 人人操人人操人人人操| 国产原创精品| 天天操天天干美女网址导航| 中文字幕交换人妻| 亚州久久9| 日本中文字幕不卡视频| 亚洲色图久久精品蜜| 日韩精品 欧美激情| 粉嫩粉嫩一区性色AV片| 物尤视频一区二区| 美国日韩黄片| 狠狠躁AV| 放黄片放3级黄片没穿衣服| 久久久久久国产精品| 大香蕉手机在线| 午夜福利视频在线一区| 青青草啪啪网| 国产精品午夜福利亚洲综合网| 久久精品视频久久久| 99国产女人| 五月婷婷激情综合| 国产天天噜一噜久久久| 99久久久久久久久| 亚洲天天影视色综合| 日韩无码三级影院| 久久久久久久久久久久黄色 | 欧美专利1区2区3区4区5区免费| 欧美资源| 久久XX| 欧美性色欧美| 亚洲激情av| 97资源站日韩| 首页亚洲国产高跟丝袜诱惑视频| 久久久久99精品成人片蜜臀| 色情五月婷婷| 欧美综合1性辶| 99成人| 老妇女91| 黑操B| 91亚洲欧美| 偷拍欧美综合| 怡红院成人视频| 日本久久网| 96一区二区| 日韩精品一区二区三区四虎影视| 国产97亚洲| 97久久久久久久精| AAAA欧美日韩| 啊好大好舒服| 成年人网站在线免费观看| 色综合加勒比四四季| 97超碰护士| 嗯嗯嗯嗯啊啊啊好紧好大| 日产操逼| 91久久午夜无码鲁丝片久久人妻| 激情黄色片在线观看| 密臀视频一区二区三区| 日韩免费大片一级播放| 99久久9| 黄片www.| 97色操| 日本 欧美 亚中文字幕| 夜夜精品视频| 成年男人的天堂| 美国黄片aaa| 91精品婷婷国产综合久久竹菊| 亚洲AV操| 熟妇人妻一二三区免费| 五月丁香网站| 天堂无码| 精品乱码久久久久| 欧美性巨大╳╳╳╳╳高跟鞋| 中文字幕一品色图| 韩日精品四区| 丁香婷婷五月| 久9久精品视频| 亚洲无码一区二区三区三州| 人妻91少妇| 超碰爽人妻熟女Av| 日韩精品一区二区日韩| 色69大色97香蕉| 色婷五月| 国产偷拍网站| 久久久专区| 色婷婷电影网| 色波多| 国产精品久久久久久久免牛肉蒲团| 人人摸人人叼| 国产深喉视频一区二区| 青娱乐大香蕉| 国产精品久久久鸭无码的功能| 一区二区影视| 久久有碼| 欧美人人AAA| 精品玖九九久| 欧美性战999| 丁香五月综合| 亚洲男人的天堂va亚洲男人社| 丝袜熟女2P| xxx0国产在线播放| 亚洲美腿丝袜香蕉影视欧美成人| 男人的天堂亚洲| 国产亚洲性生活视频播放| 亚洲第一男人天堂| 日韩pv中文| 日操粉逼逼| 久久蜜桃一区二区| 亚洲国产精品乱码在线观看| 精品国产91av一区二区三区 | 免费黄色片子| 亚洲一卡二卡在线免费| 俺也射| 天天肏美女| 日韩丰满熟妇| 密乳视频在线| 伊人久久亚洲色欲综合网站 | 神马久久中文字幕| 国产亚州精品美女久久久免费| 综合久久9| 日本黄页视频在线观看| 熟妇人妻精品一区二区视频色欲| 黄色工厂这里只有精品| 免费观看欧美日韩操逼视频| 国产女同视频在线播放| 亚洲精品九九九九九九| 91天堂视频| 欧美在线播放aaaa| 免费国产电影一区二区| 四虎免费在线播放| 伊人青青草久久| 五月婷视频| 操高情无码| 97亚洲综合| 天天拍天| 中文字幕 一区二区 亚洲无码| 九九黄色视频在线观看| 亚洲天天在线| 国产高清在线自在拍69| 日本九九久久99播| 婷色五月| 亚州免费啪啪视频| 人妻天天爽天天爽三区| 欧美在线第五页| 久草色悠悠在线视频| 激情综合亚洲| 欧美日韩 强奸乱伦| 久久精品国产亚洲5555| 亚洲天堂另类| 丝袜亚洲91| 操狠狠| 在线观看日韩av不卡| 一起草欧美| 在线视频97| 日本2020一区二区| 午夜后入| 黑人中出21连凳花野真衣| 狠狠色丁香| 亚洲性爱无码乱伦av| 一本色道综合久久欧美| 精品女同一区二区三区| se,,,亚洲欧美| 中文字幕加勒比海高清无码免费视频| 日韩另类| 国产白嫩漂亮KTV在线| 欧美操人视频| 91精品老女人| 综合亚州欧美|