日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

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
返回資訊列表
亚州男人天堂| 日本高清免费一本视频在线观看| 盗摄女人妻在线| 国产精品97超碰| av中文在线| 视频黄色国产一级| 国产一区二区在线播放量| 色97国产69香蕉| 天堂在线一区二区| 狠肏骚人妻| 999岛国大片| 97在线观看免费视频| 九一国产精品| 久久綜合很很很| 国产精品探花视频| 香蕉久久国产AV一区二区| 97福利视频| 免费视频在线一区二区不卡| 久久是精品| 中文字幕一区 二区三四五 区日 日骚| 中文一区在线视频| 欧美日韩黄片精品在线| 国产精品爆乳懂色蜜乳| 91中出视频| 九区国产| 99热在线不卡| 97av,com| 久久爱超碰网| 国产精品午夜精品| 新91视频.cmp| 大逼色网站| 欧美大片一区二区三区| 偷拍在线观看视频| 男人天堂日日夜夜| 亚洲日韩av一区二区三区百合| 狠狠操综合| 噜噜噜无码AV一级一级久久影院| 能直接看AV的网站| 亚洲超碰AV| 嗯啊抽插大香蕉网页| 天天插网| 日韩一级特黄av毛片| 好色综合| 日韩免费av片高清无码| 国产亚洲精品无码三区| 新婚人妻扶着粗大强行坐下| 网页导航五月天免费一二三区| 国产精品久久久久中文字幕| 亚洲乱码尤物193YW| 黄色无码高清黄色无码网站| 秋霞一级鲁丝片A片| 亚洲图片欧美| 男人a天堂手机在线版| 亚洲情色中文字幕一区| 色综合色欲色综合色综合色综合| 亚洲日本韩国在线| 日韩精品 资源| av大香蕉| 亚洲美乱| 久男人久久| 超碰在线日韩一区| 麻豆天美91| 精品国产91内射久久| 国产精品露脸在线观看| 国产污视频麻豆传媒一区二区| 天天摸夜夜摸| 欧美操逼视频二区| 色色青青久久| 超碰 国产熟女精品一区| 欧美综合网站999| 97超碰伊人| 久久久久久久9| 欧美高清无码免费视频高清版| 放黄片放3级黄片没穿衣服| 人人干人人操人人爱| 台湾成人无码AV| 欧美日韩国内不卡| 97精品国产手机| 日韩欧美久久婷婷网站| 91 欧美| 八戒午夜福利理论片| 狠狠色狠狠色狠狠五月| 日日夜夜天天| 亚州再线| 600国产精品视频| 自拍偷拍草一草| 亚洲天堂7777| 中文字幕人乱码中文字的预防方法| 日本加勒比无码专区一二三| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 亚洲欧洲中文日韩女优乱码| 动漫片子网站3黄| 欧美亚洲美少妇一区二区| 精品超碰色| 国产多人在线观看视频| 东京热免费视频| 看黑丝美女操逼青青网站| 99久在线精品99re8蜜桃| 欧美少妇色图| 国内外色色色色色成人视频| 欧美不在线| 亚洲欧美自拍偷拍| 91+欧美| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 免费看污网站| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区 | 91AV入口| 亚洲、日韩、综合、另类| 97精品人妻一二三四| 三级日本一区二区三区| 国产精品国产拍高清AV| 欧美色图 人妻| 另类图片综合| 日韩AV无码中文一区二区| 久久久久久久精| 欧美极品性爱天天射| 一区久久久二区| 97超碰超欧美。| 久久久久久大| 熟妇视频一区二区三区在线| 女性喷水高潮在线观看| 欧洲乱码一区二区| 91综合色| 1204金沙人妻懂旧版免费| 家庭乱伦麻豆| 99色婷婷中文字幕乱色| 中文字幕一区二区无码成人| 一区二区三区在线资源| 精品九九九九九| 另类天堂| 人妻一区二区三区熟女| 欧美有码亚洲中文字幕一区二区三区四区 | 精品网站9999| 久久成人国产| av影院十区| 香蕉久久国产AV一区二区| 国产三级中文字幕粉嫩| 干b在线性社区| 视频一区二区三区精品| 亚洲欧洲色情高清| 高清成年美女黄网站免费大全 | 国产免费一区在线观看| 国产AV天美传媒一区二区三区 | 九九九精品色乱九九九| 中日韩久久久| 欧美人人曰人人操人人射射| 久久精品色欧美aⅴ一区二区| 无码伊人久久大杳蕉中文无码| 2017大香蕉国产精品久久| 国产视频一区二区三区在线免费观看| 日韩熟女精一区二区三区不卡| 十八禁视频一区二区| 夜夜免费视频| 91性感网站| 欧美天天干| 东北丰满熟女国产一区| xxx亚洲午夜天堂| 哑洲在线| 老熟女91视频| 九草九九九| 干婷婷综合网| 91处女在线观看| 伊人991| 久久国产免费激情视频| 成人欧美日超碰| 婷婷色网| 亚洲综合在线视频| 国产树林里野战在线看| 骚鸭AV| 婷婷五月色| 国产成年女黄特黄| 麻豆国产成人精品| 婷婷久久五月| 国产视频一区二区三区在线免费观看| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 国产精品视频精品一二| 91性高朝久久久久久久久| 日本三级韩国三级美三级91| 欧插网站| 国产精品成人久久一区二区三区 | 久久老熟女| 亚洲免费精品一区| 日本欧美国内在线| 草草影院最新网址| 欧美中文字幕精品人妻| 欧美熟女丝袜| 97二区四区| 日韩中文字幕在线视频观看| 日本一区二区不卡精品| 午夜视频黄| 91精品久久久久| 久久精品视| 玖色AV| 无码抄逼网| 91亚洲人| 国产精品乱码久久久久久久久| 好好的日:com久久九九| 先锋精品av色鲁| av日韩手机在线影视| 你懂的在线观看区国产| 国产偷拍网站| 无码78| 国产免费内射视频| 亚洲极品| 天堂性色| 久9爱精品| 1204av韩国| 日韩女优中文字幕| 亚洲综合影视| 有码免费观看| 国产十八禁视频| 啊啊啊好舒服好爽啊啊啊视频| www.夜夜| 人人色97| 91天天日| 国产无遮挡| 日韩99999色| 婷婷五月天av| 超碰4A| 亚洲中文字幕熟女| 狠狠爱夜夜干| 成人久久精品| 动漫区日韩区欧美区| 成人女人国产| 欧美激情片一区二区| 欧美少妇第一页| 久久熟女人| 97色伦欧美| 色蜜AV| 久久精品美女一区| 69超碰综合| 人妻素股| 亚洲影视高清第一页| 四虎免费视频| 日本欧美不卡| 91丨豆花丨熟女| 爽极品影院| 久久久久国产精品喷潮免费观看臀| 伦激情人妻另类人妻| 丁香六月激情| 亚洲综合婷婷| 人妻少妇蜜桃视频欧美一区| 91天射| 正宗无毛一线天嫩逼| 亚洲黄色| 亚洲码在线中文在线观看| 懂色中文一区二区三区| 6080YYY午夜理论片在线观看| 国产特级毛片AAAAAA高潮流水 | 97公开久久| 日韩中文字幕宗合在线| 男人久久天堂| 日韩人妻有码免费视频| 久热69九色熟妇97| 中文字幕精品久久久久人妻红杏ⅰ| 天堂九九九九九九九九九| 亚熟在线| 91精品操美女| 成人小说视频在线精品欧美| 一区操逼日比视频| 91爽啪| 97Ai亚洲| 啪啪啪大香蕉| 欧美日日人人天天| 嗯嗯啊啊视频一区二区三区| 日本黄页视频在线观看| 天天射天天| 91狼人| 亚洲天堂男人在线| 色婷婷五月综合| 狠肏骚人妻| 欧美色图亚洲激情| 福利大香蕉| 毛片99-全集电影手机免费观看完整-B029AV | 18禁免费视频| 日操粉逼逼| 国产欧美一级在线观看| 激情综合网五月婷婷五月天| 日韩图区 偷拍| 国产精品午夜高潮呻吟久久av| 国产无码精品久久久久久| 欧美日韩中国x| 国产av激情无码久久天堂| 亚洲精品乱码久久久久久蜜桃麻豆| 久操热| 国产毛片在线| 亚洲偷拍欧美激情| 男女性感激情网站| 欧美日韩精品青青| 都市激情人妻一区二区青青操视频 | 少妇内射视频| 美女诱惑在线一区| aV中文麻| 熟女一区二区三区| 久久久工口| 久久久日本电影| 无码粉嫩白虎一线天b区| 国产一区二区三区视频在线看| 丁香五月性爱| 欧美,日韩,中文,另类| 园内精品自拍视频在线播放| av午夜玫瑰| 中文字幕丰满人妻日本| 天天日少妇逼AV| av橘色网站| 秋霞蝌科网日本一区| 久久视网78| 好爽视频在线观看视频| 五月丁香影院| 天天看夜夜看日日干| 一区二区日韩欧美久久| 日韩日韩日韩-国产乱码精品一区二区| 成在线人在线观看视频| 国产精品丝袜久久亚洲不卡| 操逼天美3区| 嗯嗯,好大,好爽,好骚| 人妻另类 专区 欧美 制服| 理论久久婷婷网 8| 国产精品99久久久www| 蘋果手機免費看成人Av| 国产AV激情无码久久无码| 天天日天天搞天天干| 亚洲图片在线| 乱伦熟女区| 99re99在线视频| 欧美性爱五月天| 一区二区三区一亚洲中文字幕、综合区灬 | 久久久国产护士丝袜美腿一| 亚洲第一狼人丝袜美女另类| 无码人妻系列少妇| 亚洲男人bt天堂| 欧美成人免费在线观看| 亚洲成人妻日韩在线| 99精品丰满人妻无| 大香蕉欧美| 中文字幕一二三区| 伊人久久综合影院精品久久久| 欧美亚性天堂| 午夜αv| 久操大香蕉手机视频在线看| 伊人网免费视频| 级品肉射| 97视频www| 国产精品久久久午夜夜伦鲁鲁| 欧美人与动性人交a| 99综合网| 久久久久久人妻| 精品96久久| 淫荡网址| 六月色色| 亚洲天堂另类小说男人| 国产精品大屁股999| 天天射天天| 看一级特黄a大一片| 亚洲AV高潮| 国内一级精品| 97视频在线观看高清资源| 国产黄色小视频网站| 日韩中文字幕人妻视频| 男人的天堂午夜av| 少妇三p| 欧美熟妇人体| 人人看人人摸人人色| 久久超碰网| 性性久久| 一区二区 电影 亚洲| 久碰视频| 人妻中文字幕日韩电影| 国产欧美日本亚洲精品| 亚欧美色图| 人妻在线中出视频| 男人的天堂2010| 熟女色综合久久| 久久精品人妻一区| 韩日巨乳美女免费视频在线观看| 久久伊人在线五区| 精品一区二区啪啪啪| 久久精品国产亚洲AV嘿嘿| 97在线播放| 久久久不卡区一区二区三区久久久| 日本久久精品| 隔壁邻居波多野结衣中文字幕| 好吊色青靑草| 97超碰中文在线| 亚州黄站| 日日干日日摸| julia ann久久| 新视频sss国产| 九九英色视频| 超碰97玖玖爱| 9热9热综合网| 一区二区三区四区五区高清无码永久视频 | 五十路三区在线| 日韩三级av片| 亚洲成?V人片在线观看福利| 欧美亚洲素人制服精品| 久综合国内精品自在自线| 欧美在线91| 天天综合欧美| 亚洲欧美色图| 清纯唯美综合亚洲| 密臀在线视频| 91精片| 日韩综合色图| 欧美日韩狠狠爱| 91欧美网| 四虎国产精品永久在线囯在线| 97超碰超碰| 青娱乐淫乱1314| 激情婷婷综合久久| 久久精品国产AV一区二区三区| 91久久九九精品国产综合| 天天视频黄| 精品久久久久久久| 以及麻豆国产入口在线观看免费| 欧美另类精品xxxx| 国产在线视视频有精品| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 91黑丝操| 天天拍夜夜| 精品少妇高潮久久| 国产成人91一区二区三区| 久久久99免费| 操逼视频免费日韩无码| 99啪啪| 性感女人网页在线观看视频| 性欧美另类高清| 丝袜综合| 蜜乳成人AV| 国产51色综合久久免费| 国产精品老师| 97超碰天天爱天天爱| 91路www| 97国产精选| 天美91| 在线a v| 操逼逼福利视频| 可以免费观看的av| 人妻在线中出视频| 九草九九九| 啊啊嗯嗯好爽| 亚洲天堂 视频你懂的| 日本一区三级韩国| 少妇丝袜在线观看AV| 久久久夜夜夜| 亚洲日韩成人性爱视频| 日韩中文字幕熟妇人妻| 97日韩欧美亚洲| 国内精品嫩模A∨私拍小视频| 国产CHASE男男GAYGA 毛多色婷婷| 日韩欧美午夜视频在线| 欧美性战999| 99色在线| 国产高清免费不卡av| 九九热在线视频| 色香伊人| 亚洲伊人a线观看视频| 97色色网| 国产三级中文字幕粉嫩| 欧美日韩国产黄色片| 综合熟女| 超碰9 7女人| 久综合国内精品自在自线| 丁香五月天激情综合| 夜夜免费视频| 午夜精品久久久久久久久久蜜桃| 性一级黄色录像片网站导航| 亚洲一卡2卡3卡4卡乱码网站 | 日韩大香蕉AV影片| 亚洲最大无码中文字幕网站| 天天操天天日天天干| 欧美巨大性舒爽顶到了| 日韩一级片在线看| 欧洲亚洲天堂精品| 欧美日韩*字幕一区| 思思热在线视频精品| 超碰97资源网亚洲| 日本日皮视频逼| 超碰97在线中文| 丁香六月激情| 夜夜騷av、一區二區| 免费操逼91| 97久久久久久久精| 亚洲 暴爽 AV人人爽日日碰| 中文字幕一区av| 亚洲AV色图| 久久美女福利是上海美女| 日本中文字幕熟妇| 国产小u女在线观看| 可以免费观看的日韩av毛片| 五月开心久久AV官网| 99色在线视频| 无码伊人久久大杳蕉中文无码| 黄色激情电影在线观看| 性爱网站一区二区| 国产乱伦视频污| 女色综合| 国语av狠狠色丁香婷婷综合激情| 久久岛国| 色路综合| 五月天伊人网| 丰满人妻一区二区三区免费| 青青青青青手机视频| 舔人妻中文免费视频| 国产蜜臀在线| 精品综合久久久久久97| 大香蕉琪琪日本女优不卡| 欧美激情久| 日韩资源网| 欧洲亚洲人人爽爽视频| 亚洲欧美综合网站| 国产91丝袜 在线播放| 高颜值美女口爆高潮浪叫| 在线洲亚线| 国产欧洲精品亚洲午夜拍精品| 久偷拍欧美日韩三区| 丝袜美女诱惑 91 视频| 热久久国产精品视频大陆精品| 婷婷色网| 熟女露脸激情自拍视频| 91精品人妻| 亚洲情色综合| 亚洲av无码成电影在线播放| 手机在线A片| 在线中文字幕极品av| 精品国产肉丝袜在线拍国语| 狠狠操夜夜操蜜桃视频三区| 999久久久九| 久久神马影院| 神马九九九| 久久99国产精品| 又粗又长又大国产不卡| 欧美激情另类一区二区| 国产精品国产拍高清AV| 又黄又硬又粗又长国产视频| 日本加勒比无码专区| 久久亚洲中文字幕视频| 亚洲人妻中文高清| 亚洲第一页色| 校园春色综合香蕉| 91色花堂| 久草免费在线一区二区| 男人的天堂2019AV| 青青欧洲黑| 国语精品av| 国产黄色剧情影片麻豆免费播放| 强奸乱伦大香蕉网| 极品五月天噜噜| 欧美熟女丝袜| 男人的天堂一区| 大香蕉www.超碰| 五月婷婷基地| 97超视频在线观看| 亚洲成人ab| 欧美一区二区三区另类精品| 男人的天堂啪啪啪啪啪蜜桃不卡| 97伪v| 一区二区三区一亚洲中文字幕、综合区灬 | 欧美v日韩v亚洲v最新在线| AA特级绝黄| 久久国产99精品72福利 | 国内毛片婷婷六月色| 青青网三级视频| 免费亚洲国产精品久久一区| 免费观看日本操逼视频| 日韩性爱播放| 亚洲综合性网址| 亚洲福利影院一区久久| 国产久久久久久久久一区二区| 激情图片亚洲色图| 久久风骚城市人| 欧美成人四级在线播放| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 可以在线观看的黄色网址| 亚洲AV无码国产精品久久久久| 丁香五月成人| 精品久久久久成人码免| 国产99精品一区二区三区免费| 草草影院在线视频| sewuyueav| 白嫩国模丰满一二三区| 久久亚洲色图中文字幕| 岛国激情视频在线观看| 亚洲男人的天堂V| 人妻精品一区二区| 色婷婷久久| 青青草影视蜜久久| 91在线视频免费播放| 超碰公开久久网| 淫淫综合网| 亚洲欧洲综合视频在线| 桑老女人九区| 操逼日韩无码| 日韩成人人妻网站| 精品亚洲国产成人AV制服丝袜| 欧美色日| 首页中文字幕中文字幕免费| 久草热制服丝袜在线观看| 一级毛片久久久久久久女人18| 日本精品国产视频| 免费αV在线视频| 欧美72网页| 国产av激情无码久久天堂| 视频在线观看一二三区| 免费岛国一级片| 91人妻视频在线| 玖玖爱在线视频免费观看| 久久久噜噜噜久久久| 大香蕉狠狠爱| 国产在线76页| 午夜天天碰综合视频| 午夜性刺激视频免费观看| 肥臀熟女福利视频一区二区| 国产福利电影| av东京热男人的天堂| 午夜寂寞欧美| 变态综合色| 偷窥自拍亚洲色图| 偷拍三区| 91综合天天看| 麻豆 欧美 日韩| 午夜人人操| 97一区二区三区视频| 日婷婷| 97超碰超欧美。| 性色av大全| 国产精品3| 97色色视频| 国产在线综合福利网站| 欧美熟妇亚洲版| 亚洲精品美女久久久久久久久| 97超碰大| 97久久久精品| 九九无码视频| 一级乱伦网站| 天美传媒av一区二区| 色情五月婷婷| AA级电影三区| 精品无码一区二区人妻久久蜜桃| 亚洲无码一区二区三区三州| 欧美精品激情| 69精品人人人人| 国产精品无套内谢| 东京太热男人的天堂久久久| 国产乱伦性爱区| 91亚洲黄色网| 欧美熟妇操操视频| 欧美男人一区| 91高清无码下载| 91亚州| 天天夜夜久久| 激情五月天色播| 最新亚洲人成网站在线影院| 中国特猛少妇色xxx| 青青青草伊人精品| 青草香蕉网| 91n美女视频| 亚洲激情AV| 尤物一级在线免费观看| 亚洲无无码αⅴ每日更新| www亚洲欧美| 美女91av| 人人澡综合涩| 亚洲情色电影网| 久久草在线综合视频| 久久久精品91八戒| 91色欧美| x97av| 日han少妇无码| 人妻丝袜无 码视频专区| 鸡巴插逼视频| 九九九九热| 深喉吞精| 极品出轨视频网站| 天操天操夜操夜月操月年年操操| 欧美网站免费| 99精彩视频| 动漫爆乳3D奶水一区在线观看| 综合欧美激情网| 亚洲一曲日韩精品| 国产成人自拍视频视频| 人人干人人操人人爱| 大学生美女口爆| 伊人操| 丁香七月婷婷| 中日韩免费看男女操逼大全| 九九热最新| 日本污ww视频网站| 91Chinese在线| 九九亚洲视频| 成人夜夜爽| 日韩无码嘿咻黑热久| 久久大香蕉手机高清| 久久这里精品国产99丫e6| 有码人妻系列| 天美传媒在线一区| 国产视频第2页| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 色老久久| 狠狠入| 秋霞 色色| 欧美日韩插逼视频| 日韩亚洲精品一区二区| 黄片无码在线制服| 久碰视频| 亚洲一二三四区机械| 小明看看网址| 人妻蜜桃臀| 欧美少妇色图| 国产精品探花色| 中文字幕亚洲热播人妻| 99九九精品| 最新加勒比丝袜在线| 91九九九逼| 欧美手机在线综合| 91少妇人妻| 人人操人人色人人摸| 每日更新AV| 色性欧美| 亚洲熟久久| 国产综合久久久麻桃个| 日本性交操一区二区不卡系列| 国产精品视频一区二区三区八戒| 五月天婷婷小说| 男人的天堂色偷偷青青草视频婷婷网| 精品久久艹| 97精品视频| 欧美强奸乱| 一区二区三区 丝袜 高跟 美腿| 精品小视频在线| 日韩精品啪啪啪| 亚洲欧洲日本精品中文a∨| 国产精品视频白浆免费| 久久久啊啊啊| 亚洲天天更新| 日本操逼视频导航| 嗯嗯啊啊视频在线看 | 丁香五月天激情网站| 精品久一区免费| 超碰 欧美| 免费av高清无码| 色婷婷99| 亚洲熟久久| 啪啪综合网| 岛国精品视频在线观看| 成人熟女区| 国产福利合集| 国模精品娜娜一二三区| 黄色不卡视频| 热99这里有精品综合久久 | 超碰78| 抽插无码高清一区| 极品粉嫩少妇视频| 少妇久久久| 欧美日韩91| 亚洲资源网| 日韩三级在线观看网站| 先锋精品av色鲁| 51一区二区三区| 国产av强奸美女| 日欧美色| 9色国产精品一区粉嫩| 激情第四色| 亚洲国产福利视频| 91三级理论片播放器| 国模不卡一本二本三电影| 青青在线视频日韩欧美| 91日韩在线| 夜夜春夜夜操| 熟女人妻一区二区三区| 加勒比海成人视频网| 五十路六十路七十路熟婆| 日韩pv中文| 人妻丝袜美腿中文字幕| 97色色网| 麻豆亚洲AV成人无码久久精品| 中文字幕一区二区三区视频播放| 亚洲综合伊人| 国产综合永久精品日韩鬼片| 国产第二页| 国产精品 久久久精品一牛| 刺激性视频黄页| 成人精品在线免费视频| 黑丝91视频| 亚洲欧洲成人在线电影| 日本淫色网| 人妻二区| 性生活无遮挡纯毛片在线看| 免费人成在线观看网站品爱网| 天天日日本| 欧美激情视频在线一区| 国产精品suv一区| 青椒国产97在线熟女| 婷婷五月天无码| 两性色网| 日日骚av| 欧美后进式| 最新日本中文字幕| 亚洲视频一二区| 伦理弟一页| 国产操逼逼网| 青青草五月份天| 婷婷五月天色| 亚洲乱码精品一区二区| 老师充足的奶水小说| 很黄很色的视频在线观看| 麻豆黄站| 激情五月综合| 国产毛片片精品天天看视频| 东京成人一区| 日韩一级片在线看| 日韩射精| 91成人国产综合久久精品蜜月| 精品久久久高清无码| avav青青草久久夜| 中文字暮97| 久综合国内精品自在自线| 99精品丰满人妻无码| 婷婷五月天成人网| 91精品人| 加勒比久久av| 狼天天狼天天大香蕉| 91久久免费视频互動交流| 色欧洲97| 超碰资源亚洲97| 精品视频免费在线一区| 麻豆天美在线| 91艹逼精品| 日本在线视频导航| 色综合一本| 极品一区二区三区免费| 91原创在线观看| 久操网线| 日日夜夜摸| 精彩久久中文| 色哟哟-国产专区| 日韩精品亚洲专区在线影视| 无码人妻一区二区三区免费九色| 福利天堂| 久久大香蕉手机高清视频| 综合操逼| 一级性爱视频免费观看 | 狠狠躁天天躁日日躁| 狠狠穞A片一區二區三區| 懂色中文一区二区三区| 一二三区视频在线观看| 亚洲情色在线| 欧美天天拍| 色综合久久88色综合久久天天| 欧美色图片| 亚州五月| 91高潮喷水美女| 熟妇人妻一区二区三区| 五月丁香六月婷| 久久综合亚洲色1080p| 风月影院十八禁| 日韩特一级久久| 日本A级视频| 久久久久骚| 曰韩无码777| av无码av无码专区| 蜜乳中文字幕a在线| 日韩91网| 一级免费精品| 最新9久久久9免费视频| 男女91| 色爽爽文学| 亚洲中文字幕精品久久久久久直播| 超清福利精品视频在线| 99999国产精品| 日韩欧美久久婷婷网站| 成人片视频| 亚洲色图国产另类| 99国产精品在线观看| 蜜臀久久一区二区| 九九99精品| 久久综合激情| 在线v中文字幕一区二区三区| 国产a片操逼| 内射老妇BBWX0C0CK| 日韩欧美大片免费高清啪啪| 亚洲综合第一页| 综合 亚洲 欧美| 日本大香蕉综合网红本杳社区| 精品一区二区2| 久操视频免费观看| 九九九九97| 久久精品中文| AV色五月天| 亚洲一二三四区在线免费看视频 | 日韩草久视频| 久久精品一区二区三区不卡| 屌逼麻豆| 欧美熟妇视频| 丰满少妇一区二区三区四区观看| 亚洲图片欧美91N| caopeng97| 亚洲丝袜天堂| 亚洲永久AV无码精品秋霞| 美骚妇av高清在线| 美美91成人国产精品欧美精品久久久久久久| 伊人网在线点播| 久久久久久无码人妻中文字幕| 久久偷偷色综合蜜桃| 久超碰这里只有精品| 久热精品在线| 91精品人妻一品二品三品| 伊人超碰97| 校园春色综合网| 大二网站亚洲| 欧美大香蕉久| 欧美爱爱97| 久操91视频| 综合在线导航一区| 精品亚洲国产成人AV制服丝袜| 91熟女视频网| 天躁夜夜躁2021| 婷婷五月天激情四射| 日韩熟女操逼| a级成人毛片免费视频高清| 翔田千里av一区二区三区| 97电影院超碰| 亚洲精品欧洲精品| 欧美日韩美女精品久草一区二区三区 | 日本天天吊| 超碰人妻中文在线| 欧美女同在线| 人人操人人93| 亚一综合久久久久久久久久| 亚洲天堂久久| 97se综合网| 性欧美| 人人弄人人摸| 日本色色的视频| 久久久工口| 少妇丝袜在线观看AV| 97免费在线观看| 天天懆天天日| 久久综合婷婷| 精品人妻视频一区二区三区蜜桃视频| 天天天操天天天爱| 白丝AV| 国产一级黄色片在线观看| 六九九九| 日韩久草| 一级片视频啪啪| a级理论午夜日本| 国产原创精品| 欧美色图片色哟哟| 亚洲无码成人精品| 超碰狠狠操| 国产噜噜噜噜噜久久久久久久久| JuliaAnn丝袜熟女系列| 日韩激情小说一区二区| 一区二区三区精品黑丝白丝酒店对鸡| 91N综合在线| 少妇蹲下露出大唇5| 国产欧美成人第一页在线观看| 99九九久久| 婷婷五月色| 亚洲日产专区婷婷| 亚洲欧美日韩偷拍色图| 亚洲日韩成人性爱视频| 久偷拍| 国产v亚洲v日韩v欧美v片另类| 伊人五月天激情| 九九热超碰97亚洲最新香蕉| 久久精品无码专区| 蜜乳AV一区二区三区四| 国产福利夜| 麻豆精品.欧美精品.日韩精品.| 精品国产丝袜一区二区三区乱码| 天天操av懂色| 精品传媒在线一区| 久久久久久AⅤ无码免费肉站| 亚洲五区熟女| 亚洲成a人v欧美综合天堂下载| 久久人人看| 羞答答AV中文字| 人妻一区视频| 欧美 青青草| 精品人妻一二三| 亚洲宅男天堂| 蜜汁欧美| 你懂得91| 日韩一区二区熟女| 少妇久久久久久| 天天添天天干电影| 男同专区一区二区三区在线| 人妻精品一区二区在线| 国内97干免费看| 久久性爱视频99| 啊啊啊啊啊操我视频| 久久久久国产精品久久久| 99色视频| 啪啪啪亚欧美视频| 六月色色| 精品国产乱码久久久A| 色综合久| 日本天天干天天操一区| 丁香五月社区| 中文字幕欧美精品亚洲日韩蜜臀| 岛国片在线观看视频亚洲| 舔人妻中文免费视频| 久久精品色欧美aⅴ一区二区| 亚洲清纯唯美| 一本一道vs波多野结衣| 一区二区亚州激情久婷婷欧美| 日人妻视频91| 超碰在线综合97| 日本综合久久| 亚洲精品人体| 白嫩嫩一区| 中文一区二区三区影院| 亚洲 欧美 另类 综合 偷拍| 国产亚洲精品A在线观看下载| 国产天天看| 国产一区二区三区免费视频在性观看| 欧美激情一区二区| 亚欧无码在线| 国产一二三福利视频网| 懂色AV一区二区三区| 色爱天堂| 91爽啪| 亚洲av无码国产精品字幕| 97超碰免费人人性爱| 国产福利av精彩对白| 好湿好紧视频| 亚洲天堂人妻一区二区| 91久久免费视频互動交流| 330dv亚洲成年视频网| 欧美一级黄色18片免费看| 久久久啊啊啊| 国产婷婷一区| 黄色在线网站| 嗯嗯啊啊啊好爽| 精品大久久| 亚一综合久久久久久久久久| 欧美草草高清日韩视频| 久久久A∨| 岛国黄片网站| 亚洲色图 综合| 久久婷婷六月综合| 亚洲一卡二卡在线免费| 福利大香蕉| 熟女丝袜视频| 家庭乱伦网站国产| 天天综合97| 蜜桃一区二区三区| 亚洲va综合va国产va中文| 成人小说视频在线精品欧美| 青青草AV色| 天天综合欧美综合| 欧美一区二区亚洲天堂| 97久久网| 中文字幕精品亚洲熟女| 人人手机欧洲亚洲国产人妻| 最新中文字幕精品在线| 国产传媒日韩欧美| 久久久专区| 男人天堂久久精品| 国产精品无套内谢| 91青青草| 亚洲情色 无码专区| 91色图片| 能看的AV| 91香蕉视频在线观看免费| 男女国产精品| 青青草好吊| 久久精品国产99国产精品亚洲| 中文字幕成人| 日韩丰满熟妇| 97啪啪| 亚洲天堂另类| 色阁阁AV综合网| 美腿色图| 五月婷在线| 91成人在线免费视频| 免费AV中文网在线观看| 天天综合网~91| 91强在线播放| 伊人久久大香线综合无码| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 国产精品分类在线观看| 日韩啪啪视频| 美女91网| 婷婷探花久久精品一区| 欧美白嫩在线放| 99中出在线| 欧美操人| a在线视频免费观看| 操逼逼中文字幕| 精品成人无码| 男人天堂电影院| 亚州性色| 亚洲无码一区成人免费午夜| 欧美亚洲色的图| 亚洲精品不卡一二三区| 青青草手机在线免费观看| 麻豆区99999| 青草视频在线看看看看看看看看看| 亚洲精品aa久久伊人| 日韩 欧美 视频 在线 一区| 国产美女销魂在线观看不卡| 欧美亚洲自拍另类人妻| 超碰成人人人爽人人爽| 中国少妇啪啪视频| 欧美草草高清日韩视频| 国产三级中文字幕粉嫩| 麻豆a'v电影| 青青草原成人| 91激情国产| 青青青草原| 色哟哟精品1精品2| 超碰偷拍| 美女好片色日本| 熟妇色99| 亚洲综合另类| 91在线精品一区二区三区| 精品免费成人久久| 欧洲站一级二级三级h| 中日韩久久久免费看| 啊嗯嗯啊好大好爽| A级国产欧美激情在线| 日韩无限资源| 日韩欧美性爱电影在线观看| 欧美精品三级黄片| 玖玖爱在线视频免费观看| 国产一区二区三区白丝| 国产精品亚洲天堂网址| 天天草夜夜草高潮片| 午夜福利免费精品视频| 国产精品久久久鸭无码的功能| 亚洲国产日韩欧美熟妇在线| 开心五月深爱五月| 亚洲日产专区| 亚洲精品天天影视综合网 | 91久久99久久91熟女精品| 五月激情小说| 玖玖爱综合| 男人的天堂亚洲| 极品粉嫩一区二区| ai欧美亚洲小说| 玖玖资源视频一区二区三区| 久久一区二区蜜桃| 思思热在线视频在线| 熟女五十路一区二区三| 国产曰批免费观看久久久| 亚洲成人久久一区二区| 婷婷五月天激情网| 亚洲综合在线高清| 国产熟女高潮一区二区三区| 麻豆尤物视频网| 国产成人超碰在线| 美国一区二区免费视频| 六月激情婷婷| 人妻在线中出视频| 国产中午字一暮区| 清纯唯美亚洲综合| 色天使亚洲综合在线观看|