日韩精品一区二区三区在线视频放-无码中文字幕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
返回資訊列表
激情亚洲天堂| 精品久一区免费| 在线啊啊啊啊| 视频黄色国产一级| 综合久久99亚洲人妻中文在线| 乱伦Av网| 97伊人超碰| 97人人草| 国产强奸乱伦xd| 天天草AV| 人妻少妇一区二区| 99精品视频在线观看| 网站A V在线| 天天操人人操骚逼网站| 麻豆天美电影一区二区| 91狠狠综合久久久| 日日操丁香五月天| 婷婷色综合欧美日韩| oumeisetu综合| www国产天美久久久| 粉嫩av平台| 国产无码高清操逼视频| 国产一级137片内射麻豆| 97国产精品久久久久| 碰碰在线视频| 国产激情av女片自拍| 91无遮挡| 国产免费久久精品99re韩国| 极品色社| A片 AV一级在线播放观看免费| 精品9区| 精品人人| 婷婷亚洲综合| 第一高清av中文字幕| 成全在线观看免费观看| 国产区日韩区在线观看| 婷婷午夜清品久久久久久久性色视频观| 欧美性,色九九| 爽爽歪在线视频| 一级片视频啪啪| 狠狠97| 内射卯月麻衣| 日韩久久艹| 成年女人一区| 婷婷月色| 亚洲日本成人动漫| 久久激情网| 国产精品亚洲一区二区三区四区| 欧美日韩一区二区三区四区蜜桃| a片久久久久久久久久久久| 青青草中日韩在线| 亚洲欧美另类激情小说| 久久久新亚洲AV| 久热这里只有精品9| a啊啊啊啊啊啊啊啊一区二区| 综精品久久久aaaa| 久久一二三级一一一| 色综合天天| 亚州免费啪啪视频| 精品亚洲黄色片 国产精品导航一区二区| 综合色一区三区二区| 综合久久9| 91中文字幕在线观看| 男女香蕉一区二区| 91精品国| 久久久日本电影| 天天干电影| 综合欧美亚洲| 88xx成人精品视频| J?P?NESEHD熟女熟妇伦| 尤物视频一区| 国产精品熟女丝袜一区二区| 99视频只有精品| 久久黄黄| 欧美大干日韩| 精品无av| 久久久久斤小| 九九久久玖玖| 性色av网站| 欧美特大黄一级片片免费| 国产乱人伦AVA麻豆软件.| 大香蕉久操| 日韩pv中文| 久插不卡| 青青草原av| 麻豆亚洲AV成人无码久久精品| 资源新线在线天堂| 久草网站免费在线观看| AV 少妇 人妻 偷拍| 天天欧美色| 97视频900| 中文字幕精品三级久久久| 综合五月天| 啊啊啊爽爽| 欧美一级美片在线观看免费| 免费看日本操逼视频| 激情婷婷五月天| 亚洲妇色| 欧美综色欧| 亚洲伊人久久综合97| 亚洲蜜乳av| 男人兔费天堂| 青草精品视频日本久久久久网站在线| 精品无码不卡视频| 亚洲夜色在线| 97资源免费视频| 91观看 国产白丝| 国产二区三区免费视频| 厕所偷拍在线| 欧美日韩另类字幕中文| 国产精品无码久久久久2025| 五月天婷婷欧美三区| 99re6国产精品99re在线| 欧美精品久久| 在线免费观看日韩一区| 久久久久久九九九九-美女久久久久久久-成人AV| 日日干夜夜欢| 欧美黄页| www.狠狠干.coom| 国产60区。| 97精品免费视频网站| 亚洲成a人在线观看久| 欧美精品日韩一区二区| 碰超人人在线一区二区三区| 午夜福利无毒不卡| 9999免费精彩视频| www久久精品| 激情五月综合开心五月| 女人妻一区| 亚洲综合20p| 无码色| 208天天久久九九九| 熟女这里只有精品6| 91麻豆天美国产欧美| 九九久精品| 亚洲夜夜欢无码一区二区| 区自美91| 日本视频一区二区三区| 亚洲伊人久久精品影院| 日韩精品 视频一区二区| 手机av亚洲丝袜美腿日韩第一页二页| 天天干天天狼在线视频| 亚洲第一视频 欧美风情 日韩| 99热在线观看| 国产精品久久泡妞网站| 久操大香蕉手机视频在线看| 一起草高清无码| 亚洲另类在线观看| 夜夜躁狠狠躁日日躁av| 日本一二区免费| 国产午夜精品理论片a大结局| 五月天婷婷色色| 男人天堂2030| 蜜桃在线观看一区二区三区 | 综合97| 青青草国产亚洲精品久久| 丝袜人妻av一区二区| 亚州综合AⅤ| 曰本人妻人人澡人人夹| 欧美三级偷拍| 熟妇一区二区三区| 在线观看亚洲专区| 欧美性第1页| 欧美αv.com| 91久热| 久久熟女人| 欧美一二三级精品在线| 97在线观看视频| av天堂影视中文在字幕在线中文| 色欧洲| 亚洲色图欧美另类在线| 五月婷婷AV| 超碰色综合| 久jiu久神马影院| 亚洲一级性爱视频免费看| 成年在线视频日本亚洲在线视频区精品江靖宇公司 | 干b网| 精品无码一区二区| 天堂8在线新版官网| 黑人娇小av在线播放| 国产精品 午夜福利| av国产无码| 色综合国产在线观看| 日韩电影免费网站麻豆视频| 婷婷综合久久| 亚欧免费观看视频| 97日韩超碰超碰中文字幕| 爱干爱射网啊啊啊| 99无码视频| 午夜一级免费毛片| 亚洲精品乱码久久久久久蜜桃麻豆| 亚洲成人免费电影| 人、人、摸,人、人、草| 91少妇人妻| 在线女人91| 欧美日韩国产另类综合| 91P0RNY大屁股人妻| 国产美女高潮视频| 国产精品一区在线播放| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 超碰天天去日穴| 艹比视频国产精品| 熟女这里只有精品6| 成人AV在线网站| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 亚洲男人天堂手机版| 天天日日夜夜| 麻豆天美电影一区二区| 成人性爱电影网| 26uuu性| 另类图片欧美激情综合| 亚洲天堂久久久久久粉红视频| 久久精品男人的天堂| 久久久18禁| 青青国产精品在线| 97超碰碰碰| 免费看欧美美女黄色大片| 芊芊操逼视频无码| 国产理论视频在线播放| 人人么人人操| 成年人黄色视频免费| 日本不卡一二区| 成人五月天色网| 超碰97网址| 99精品久久| 亚洲四虎熟女精品| 国内自拍 日韩激情 99| 人妻少妇色综合| 高清在线偷拍自拍视频| 色青青久久影视| 亚洲av影院在线观看| 91老熟女视频| 69视频入口| 香蕉国产97| 九九人妻| 久草草一二三四区久久| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 日韩人妻资源网| 国产精品成人蜜臀AV在线| 91影库| 久久黄色性爱视频| 最近的最新的中文字幕视频| 美女视频尤物网在线看| 最新日日夜夜天天干干| 久久受www免费人成| 人人看人人爰人人操| 成年女人黄网站| 国产97av| 亚洲黄色AV电影| 淫荡网址| 日韩免费大片一级播放| 婷婷丁香久久| 欧美爆操91| 亚洲视频二区| 欧美色图色综合| 精品国模无码| av天堂5| 韩国一级做A片免费的| 毛片电影一区二区三区| 国产农村妇女一区二区| 天天综合网久久ww| 综合91网| 亚洲熟女综合一区二区| 97在线免费视频观看| 日韩欧美加勒比| 深夜国产一区二区三区在线看| 欧美一级黄片视频在线| 另类图片五月天| 亚洲色性情三级| 青青欧美| 手机在线免费看的av| 中文字幕国产| 91色黑人少妇| 青草地一本线一区二区三区| 中国AV美女| www.色综合| 久久国色天香香蕉| 99操逼| 大香蕉www.超碰| 丁香五月天啪啪| AV在线资源| 97视频免费播放| 欧美顶级黄色大片免费| 丁香五月天激情| 国产高清不卡视频| 国际精品久久久| 极品色综合| 亚洲黄片免费在线播放| 99热精品在线在线| 日韩91网| 日韩av一级黄片| 美腿丝袜高跟网免费视频免费视频| 东北女人性交| 大香蕉综合在线| 国产精品高潮久久AV| 亚洲天天更新| 综合网色| 色麻豆AV| 操逼国产免费| 夜夜狼人妻| 久久中出| 欧美视频在线第3页| 夜夜夜爽www精品视频| 国产福利视频精品视频| 九九玖玖精品| 综合网亚洲| 性爱乱伦一区| 亚洲精品久久久久久| 国产精品亚洲天堂网址| 岛国人妻少妇av在线观看| 国产强奸无码乱伦| 青青草精品| 国产精品香蕉| 97中文天堂| 4tube欧美女厕所| 五月天婷精品激情| 久久久精品九| 亚洲第一精品在线视频| 亚洲骚男同com| 午夜精品探花| 91美| 人妻激情另类| 免费国产| 久久九九99| 色吧91| 欧美亚综合色图| 精品人妻一区二区三区四区石在线| 日韩三级一区| 少妇一级婬片免费放一级a性色.| 一牛一区二区三区久久| 欧美激情久操网| 五月天伊人| 中文字幕日韩精品久久| 极品AV网站在线观看| 熟妇xxxxx性春色| 亚洲AV无码| 欧美裸体美女日麻屄| 久久熟女人| 国产二区三区免费视频| 超碰久久草| 女人被添高潮免费视频| 污色区网站| 久久m| 人人么人人操| 欧美激情片一区二区| A级国产欧美激情在线| 久久久穴999| 一级片在线观看高清无码| 少妇一区二区三区在线观看| 日小BB小视频| 丰满人妻一区二区三区四区| 青青草男人天堂| 欧美丰满熟妇XXXX性ppX人交| 999热这里只有精品| 色欲人妻一区二区在线| 免费在线观看AV无码网站| 91天天爽| 啊啊啊在线观看免费视频| 婷婷中文网| 亚洲国产一级黄色视频| 偷拍五区| 亚洲中文字幕乱码无码一区二区| 免费av大片| 国产 日韩 欧美一区| 大香蕉之青青草原| 人妻久久久久久| 国产综合在线视频网站| 国内外内射高清视频| 97超碰免费人人性爱| 欧美中文字幕男人天堂久久精品 | 欧美少妇高潮视频| 夜夜夜夜爽| 日韩BBN| 欧美性爱一区二区三区四区| 好爽要喷了| 日本道不卡| 亚洲 小说 欧美 激情 另类| 久久亚州精品成人Av无| 亚洲乱码尤物193YW| 久久久蜜桃一区二区三区| 麻豆国产尤物AV| 老司机深夜影院18未满| 午夜.DJ高清在线观看免费7| 综合久久欧美| 日韩99精品视频综合区| 岛国激情视频软件| 俺去也婷婷| 一本久久精品中文字| 超碰导航97| 少妇一级婬片免费放一级a性色.| 蜜臀av在线播放一区二区三区| 无码操逼视频一下| 精品国产肉丝袜在线拍国语| 96精品久久久久中文字幕| 国产精品乱码久久久久久久| 四虎精品永久在线播放| 色色综合网站| 精品一区二区久久| 91人妻最真实刺激绿帽| 躁躁日曰躁2020| 免费成人自拍视频在线| 午夜精品久久久久久久男人的天堂 | 丝袜综合| 亚洲欧美日韩制服另类| 欧州一区二区三区四区| 丝袜视频一区二区在线播放国产中文| 欧美啪啪色吧在线| 日本久久网| 欧美小说区视频区| 欧美色五月| 成人性交免费视屏| 日本91白丝| 久久国语| 激情久久av一区av二区av| 97jingpin| 日本一级性爱| 97爱亚洲| 亚洲天天影视色综合| 亚洲天堂人妻熟妇视频| AV色五月| 97综合在线观看| 青娱乐欧美激情一区二区| 久久久111| 凸凹视频在线观看| 91精品无码久久久久久久| 亚洲欧洲色情高清| 国模不卡| 欧美色www亚洲国产阿娇要播| 色九月综合| 欧美日韩性爱无码| 欧美第一页| 操美女人妻| 野狼激情网| 亚洲中字慕不卡| 亚洲黑丝在线| 秋霞网—男女啪啪亚洲免费体验区 | 中文字幕久久婷婷丁香五月天| 9久久美女首页| 噜噜在线| av片在线观看免费播放| 中日亚韩免费视频| 91熟女视频| 97操B| 亚洲色棕合| 91艹逼精品| 思思热在线视频精品| 免费强奸av| 看全色黄大色大片免费视频| 大色网久久| 97超碰亚洲| 婷婷五月天久久精品视频一区二区三区 | 亚春色色| 情色五月天就去干| 校园春色家庭伦理欧美激情| 绑缚麻绳人妻寝取完整版| 大香蕉97久久| 激情国产乱伦Av| 日韩性爱人人爱人人操| 伊人五月天婷婷| 中文字幕在线免费观看2| 欧美翘臀视频网站一区二区三区| 97这里有精品| 国内一区二区免费| 黄色无码高清黄色无码网站| 亚洲一区二区在线观看91| 91高清欧美| 国产一线二线三线av| 久久国产精品m码| 插入综合网| 色婷婷成人综合| 久久神马影院| 久久99干一本高清| 亚洲风情在线观看| 日本操逼aaaaa| 啪啪免费| 亚洲黑丝在线| 60秒免费小视频| 无码人妻丰满熟妇区毛片| 久久精品区| 国内精品久久人妻性色av| 午夜啪啪片| 亚洲精品亚洲人成人网| 天堂av2019| 日产中文字幕2020| 激情婷婷黑人91| 操碰97| 久久鲁干| 激情终合网| 精品一区二区三区麻豆| 人人爱人人操人人性| 玖玖人人爱| 少妇特黄一区二区三区| 人妻献身系列第54部| 9色在线| 老女人老91妇女老热女| 最新亚洲黄色免费电影 | 校园春色综合| 一区二区三区一亚洲中文字幕、综合区灬 | 69AV女优男人的天堂| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 高跟丝袜AV专区国产| 精品国产精品一区二区| 亚洲欧美日韩电影网站一区 | 国产丰满熟夫69mpp| 99热婷婷一区二区三| 成人亚欧免费视频| 激情文学欧美| 亚川综合视频| 撸撸成人在线视频| 自怕偷自怕亚洲精品| 九一亚洲国产免费| 青草综合| 97中文字幕色| 天天色天天干天天射| 久9久| 情趣丝袜无码操逼视频| 亚洲中文字幕乱码无码一区二区| 亚洲图片第一页| 国产精品久久久久无码AV会牛| 亚洲s在线观看| 久久精品国产亚洲AV先锋| 97色在线观看| 婷婷15月天青娱乐| 熟女突然公开看18禁影片 | 国产青视频| 亚洲欧美日韩精品久久久一区二区| 色香91| 亚洲中文字幕97久久精品少妇| 9久久久久| 日韩传媒在线| 成人在线视频网| 夜夜操av亚洲一区二区| 久久国产逼| 偷拍亚洲情色| 少妇毛片久久| 国产日韩欧美三级片| 欧美激情专区| 粉嫩av一区二区三区四季| 九九热免费视频| 人人玩人人添人人澡免费| 国产一区二区精品在线视频| 成 人 影视 一区 二区 三区 四区 | 色综合一本| a级理论午夜日本| 日天天九九天堂666| 亚洲和欧美裸体美女双飞视频| 六月色婷婷| 国产精品99久久久www| 日韩探花精品在线视频| 九九九精品成人免费视频小说| 啊啊啊啊好疼| 欧美劲爆视频一区二区| 国产精品一级片在线看| 91人妻做a观看视频| 狠狠图片青青草| 丝袜色综合| 日韩欧美大力操| 99re在线视频| 91被操| 中字一区| 久久伊人青青草| 少妇一区二区三区高速| 国产欧美日产一区二区三区 - 国产欧美日| 国产探花日韩援交| 天天日天天看| 曰韩欧美国产传媒麻豆第一区| 日韩欧美午夜一区二区| 亚洲第一色页夜| 成人精品在线| 福利在线观看一区二区| 一级片视频啪啪| 亚洲中文字幕av | 大鸡巴久久| 国产一区二区三区,在线观看观看| 一区二区激情国产熟女| 蜜乳AV色欲AVAV无码| 日韩性爱小视频| 欧美色图 色综合图| 91欧美巨乳| 欧亚日本情色| 国产乱码久久久| 亚洲综人| 中出91视频| 国产美女激情| 粉嫩AV一区夜夜嗨| 欧美国产操逼| 午夜精品人妻二区三区| 日韩精品9区| 国产丁香精品露脸视频| 久久久涩| 久久国产AⅤ| 亚洲精品国产拍免费91在线| 青青青青操国内视频在线| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 手机在线大香蕉| 99rre在线精品99re8| 久久男人| 四虎国产精品永久入口| 欧美日韩一区二区三区四区蜜桃| 欧美一级特黄淫片在线观看| 国产精品交换一区二区| 啊啊啊啊啊在线观看网址 | 亚洲日韩国产精品| 99e久久国产精品| 成人免费在线网站| 亚洲综合97中文网| 亚洲AV在线资源| 日日夜夜摸| 久久精视频美日韩在线视频| 亚洲美女精品| 操熟女91| 亚洲自拍97| 国产高清自拍视频| 人人贴人人摸| 宅男91视频在线播放| 人人摸人人干| 亚洲色图欧美色18直播在线| 久久男人精品| 亚洲成人精品久久久| 亚洲日韩美女丝袜美腿人妻视频| 亚洲无码日韩电影| 少妇内射www在线观看视频| 最新啪啪视频| 成人一区二区三区四区| 免费精品人妻一区二区三| 91精品电影18| 欧美影音在线| 一本色道久久天天射天天干| 色五91| 色路综合| 日本九九九九| 操熟女91| 久久久免费的精品| 婷婷九月丁香| 欧美大码在线视频| gogogo免费高清看中国国语| 亚洲熟女一区| 99无码视频| 99热18这里只有精品| 亚洲中文字幕av| 理论久久婷婷网8| 97视频网站在线观看| 国产日本一区二区三区蜜臀在线观看| 花野真衣| JuliaAnnXXX888| 亚洲色堂免费视频| 精品人妻一区| 91综合网站| 丝袜综合| 91oumei| av在线免费一区二区| 99999久久精| 久久綜合很很很| 亚洲中文日韩精品| 国产精品探花色| 天堂性色| 日韩一区二区熟女| a天堂视频| 制服乱伦| 久久免费9| 亚洲欧美国产va在线| 成人八戒网站| 亚洲人成网站7777| 97超碰欧美手机在线| 欧美性,色九九| 伊人久久88国产女| 久久久精品无码亚免费| 久久黄色视频一区二区三区| 欧美色网| 超碰久久.com| 天天干夜夜鈤| 成人综合网 欧美| 丝袜美腿制服人妻二区中文字幕 | 久操精品网| 日本在线视频导航| 91小视频| 柠檬AV导航| 亚洲日韩成人性爱视频| 爆操无码| av天堂精品久久| 草莓精品视频在线免费观看| 人妻一二三区| 三级激情网站| 99老司机精品视频在线观看| 亚洲欧洲中文日韩女优乱码| 欧美五十路熟| 久久国产乱子伦精品免费女人| 女欧美一区二三区| 国产AV色黄看到爽| 天天操天天舔| 久久久久国产无av| av网页一区二区三区| 操逼逼无码| 国产精品秘 福利姬在线观看| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 日韩中文字幕av在线播放| 久久久婷婷| 麻豆a'v电影| 国产一国产一级毛片古装| 欧美不卡在线一区二区| 日韩AV无码中文一区二区| 中出91视频| 欧美一品道| 欧美日韩资源| 思思性爱| 97青青操视频| 欧美性少妇| 伊人网青青| 五月天婷婷久久| 嫩草伊人久久精品| 亚欧美综合网| 另类TS人妖一区二区三区| 思思热免费在线视频| 日韩黄色片子| 亚洲人在线| 蜜臀99久| 丁香五月天堂| 九九九九热只有精品| 人人摸.人人色| 中文字幕二区日韩天堂| 天堂资源欧美| 欧美在线第五页| 人人操人人摸人| 亚州日韩97| 尤物av网站免费在线播放| 张柏芝国产一区在线观看| 桃色五月天| 黑丝少妇| 精品无码久久久久久久杏吧| 日本欧美亚洲高清在线看| 日韩欧美被操黄免费观看| 搡老女人老91妇女老熟女| 九九久久综合| 亚洲欧洲无码一区夜| 高清无码一区二区三区| 蜜臀久久久| 国产精品一区午夜福利| 九九热午夜欧亚国产视频| 国产欧美日韩精品中文| 亚洲综合99999| 婷婷五月天激情网| 美欧色综合| 诱惑人妻欧美一区在线播放| 中文字幕人成乱码熟女香港| 精品网站9999| 久草网站免费在线观看| 午夜美女诱惑电源网| 97免费在线视频在线观看| 无码人妻毛片丰满熟妇精品区| 久操婷婷| 99久久精品无码一区二区毛片免费| 青青操青娱乐| 欧美精品成人在线播放| 日韩久射综合| 久久久精品一区二区| 水野优香在线观看| 欧美一级特黄淫片在线观看| 色逼综合| 欧亚 另类 久| 亚州欧美综合| 午夜福利在线合集| 电影69乱码96| 黄色av一区二区在线| 国产白丝av| 久久这里只| 熟女高潮精品一区二区| 毛片17S| 激情五月综合网| 4399成人黄A片| 亚洲最大无码中文字幕网站| 日韩卡一卡二卡三在线| 九九九免费视频| 色九九九九| 一区二区三区蜜桃成人撸久久东京热 | 精彩久久中文| 999熟女精品| 久久久久密臀视频| 久久久性爱视频| 欧州色图区| 五月婷婷综合网| 狼人综合婷婷激情四射 | 天美传媒av在线| 亚洲熟女乱综合一区二区三区| 99色骚| 97在线资源| 久久久99999久网站| 撸撸成人在线视频| 欧美色图片91| 欧美男人亚洲天堂| 午夜九九| 国产日韩久久| 亚洲福利影院一区久久| 少妇天堂| 99久久精品无码一区二区毛片免费 | 中国人高清www色视频免费| 98久久| 家庭乱伦麻豆| 久久久96精品| 人人操人人爽人人操人人| 国产一进一出视频网站| 操比国产| AV电影在线播放| 青青草视频导航官网| 岛国人妻少妇av在线观看| 99r九九| 91在线观看,天天综合| 你懂的在线观看区国产| 探花精品视频| 日韩99神马视频播放| 曰本熟女视频| 91日韩网站| 蜜乳Av成人片网站| 人人色97| 96超碰网| 国产99 中文字幕日韩小视频| 蜜桃久久久久久久久久久久| 97天天插| 日韩乱伦AⅤ| 91色艳| 国产精品一区二区密臀| 日本人妻伦在线中文字幕| 日韩精品99999| 天天摸天天操视频| 超碰97人妻免费在线| 色一色综合网| 天天情欲宗合网| 亚洲图片色图欧美另类| 五月天婷婷欧美三区| 中文字幕一区二区无码成人| 亚洲欧洲日韩天堂av| 精品亚州18| 欧美黑人精品在线播放| 男人的亚洲天堂| 欧美精品日韩久久久九| 激情小说亚洲图片| 无色无码| 先锋女优在线观看视频| 欧美黑人性猛交91| 成人97人人超碰人人| 麻豆人妻偷人精品无码视频| 久久婷色| 国产精品女生av| 久久久久久久久9| 9久超碰| 亚洲AV操| 欧美在线大香999| 操我啊啊啊啊啊| 综合av社区| 走光一区92下载| 国产成人99久久亚洲综合| 亚洲AV无码久久精品蜜桃小说| 日韩精品字幕| 中文字幕91综合| 亚洲AV麻豆Aⅴ无码电影一| 久久熟女久| 夜夜嗨av午夜成人| 五月丁香亭亭| 欧美成人黄网色网站| 蜜臀99久久精品| 老熟女91av| 狠狠色婷婷7777久| 91伊人久| 亚洲,欧美,综合网| 屁股久久久久久久久| 久久色激情一区二区三区| 午夜理论片在线观看免费| 欧美精品欧美精品系列| 操一区| 国产少妇高潮| 久久一区二区加油站| 國產尤物AV尤物在線觀看 | 九九九九免费| 天堂网 主播 亚洲| 骚女高跟AV在线| 国产熟女| 久久极品一区二区| 九九九九久久久| 青青国产精品在线| 亚洲精品久久久久久久久豆丁网| 玖玖玖玖精品国产剧情| 色成人Www精品永久观看| 国产熟女完整版中字| 日本操逼视频导航| a片 xxxx受爽视频| 另类图片综合| 少妇高潮流水av免费| 日本影视久久免费| 亚洲国产精品V?在线播放| 丝袜人妻av一区二区| 国产av激情无码久久天堂| 国产曰批免费观看久久久| 日韩三级天堂在线观看| 亚洲综合婷婷| 少妇内射www在线观看视频| 丁香7月婷婷| 久久久少妇诱惑精品视频| 亚洲脚交| BBBBB97COM| 一区二区三区美女超清| 国产乱伦亚洲| 韩国久久97| 99只有精品| 精品久久九| 亚洲在线综合| 9色国产精品一区粉嫩| 在线观看无码三级少妇| 入口操逼网站| 欧美亚州色的图| 97香蕉网| 5278欧美一区二区三区| 宗合情欲网| 欧美日韩人妻精品一区二区三区 | 97色涩| 日韩av在线精品观看| 大香蕉啪啪网| 天天综合站| 粉嫩不卡一区二区性爱| 欧美日动态视频| a片在线播放| 人人插人人搞人人操| 狠色婷婷久久一区二区三区_| 激情五月天中文字幕色| 亚州少妇| 秋霞色色影院| 青青草九九九九九| 欧美少妇性乱| 视频国产成人精品日本亚洲18| 开心五月激情网| 人人妻人人澡人人爽久久av| 久久久99免费| 青青青操| 人人玩人人添人人澡免费| 中文字幕日韩国产传媒欧美精品| 九九九九久久久久| 麻豆亚洲Av成人无码一区精品| 青草精品视频-日本久久久久网站| 另类在线| 激情小说日韩无码| 极品后入免费视频| 中出人妻中文字幕91在线| 日本一区二区三区四区免费观看| 人人操人人射人人干| 国产一区二区av综合| 国产精品农村妇女精品| www.伪伪| 精品夜夜澡人妻无码AV| 大奶啊啊好爽| 久久精品国产亚洲AV清纯| 操逼内射干逼白丝91| 久久精品午夜国产亚洲AV无码| 啊啊好多水| www.久久最新地址| 日日夜夜摸| 一二视频神马久久传媒| 亚洲 国产 精品一区| 久久久极品| 风骚少妇视频中文字幕| 殴美牲| 两性综合网| 国产对白刺激视频| 亚洲欧美人妻| 精品大全99999| 美女AV一区二区| 夜夜操91744565| 五月天色色色| 九九成人视频| 日韩免费看在线黄色片| 欧美超碰人妻97| 日本天天人人狠狠在线日美女 | 丁香五月综合| 国产探花日韩援交| 亚洲狼狼干综合1| 五月天丁香| 国产一区二区三区精品观看啪| 26uuu国产亚洲综合| 97超碰人人操人人操| 欧美综合自拍| 人人操欧美风骚| 成人小说另类在线| 肏逼视频日本| 亚洲av无码成电影在线播放| 天天夜躁日日躁狠狠2002| 亚洲国产美女久久久久| 我要色综合网站| 欧美精品三区| 国产人妻精品一区二区三区秋霞| 久久亚洲不卡一区二区三区| 久久做97| 蜜臀无码一区二区| 亚洲日精品| 26uuu最新| 日本国产高清色www视频在线| 欧美色www亚洲国产阿娇要播| 国产精品人妻无码久久久互動交流 | 国内自拍 日韩激情 99| 天天天天天干夜夜夜夜夜操| 久久久久96| 人看人人摸人人操| 亚洲一级性爱视频免费看| 亚洲国产午夜真人一级片中文字幕精品黄网站| 欧美三级中文字幕hd| 亚洲有码 欧美精品| 超碰在线人妻不卡| 青娱乐av在线| 玖玖大干人妻| 家庭乱伦国产精品| 蜜乳AV色欲AVAV无码| 婷婷五月天久久精品视频一区二区三区| 涩涩五月天| 老熟女91av| 香蕉国产97| 久久专区| av大香蕉| 久久精品无码熟妇一区二区三区视频导航 | 日本天天干天天日一区| 日韩啊V| 99热在线观看| 精品9999| 18禁超污无遮挡无码免费网| 日日夜夜国产综合| 97超碰人人操人人操| 嗯嗯,啊啊,国产精品| 男人天堂新| 99热婷婷| 久久午夜色播影院免费高清| 天天操天天干一区二区 | 国产男女边吃边摸视频网站| 日本精品一区二区中文字幕| 91日日夜夜| 精品性爱一区二区| 久久宗合亚洲| 国内毛片免费h片在线| 黑人精品欧美一区二区蜜桃| 超碰人人超在线观看| 97精品人妻一二三四| 亚洲欧美日韩综合在线尤物 | 日韩乱伦视频| 久久精品男人的天堂| 一线黄色免费性爱片| yazhouzaixian| 亚洲中文国际强奸字幕| 日韩久射综合| 大香蕉伊人网WWWn0n| 黑丝自慰喷水网站| 男女啊啊啊| 99久久久| 亚洲一区二区三区中文字幕| 成人情色综合网| 1二区9| 麻豆久久久一区二区| 亚洲交性| 91精品少妇搡搡搡| 成人AV素股で擦久久| 丁香五月婷婷色| 国产亚洲精品无码三区| 亚洲美女AV无码| 欧美性色欧美| 97精品久久久久中文字幕| 精久久久91| 欧美性爱一内片一区二区三区| 日本在线一二| 大香蕉黄色一区| 视频黄色国产一级| 搞中出久久| 看日韩黄片| 永久免费av无码网站国产app| 国产精品午夜福利| 九九热九九热| 亚洲丝袜色图| http://qxhbdz.com| 91neishe| 免费农村成人少妇人妻Aa一区二区视频| www.超碰| 老司机老司机午夜影院| 躁躁躁日日躁2020| 狠狠爱大香蕉| 77国产精品| 丝袜色综合| 欧美爆操91| 超碰98综合网| 日日AAvv| 97视频网站| 强奸乱伦Av网| 国产超碰| 五月婷婷激情综合| 亚州色交| 日日A∨| 大逼色网站| 农村女一级毛卡片| www亚洲免费| 啪啪视频亚洲第一| 99久久久久久亚洲精品不卡| AA级电影三区| av凤凰久久久| 人妻夜夜爽天天爽麻豆三区网站| 中文字幕丝袜人妻| 一区中文字幕二区日韩| 五月开心久久AV官网| 偷拍亚洲情色| 久久国产在线一区二区| 日操粉逼逼| 嗯嗯啊啊好疼| 欧美牲| 人妻天天夜夜爽一区二区| 欧美日韩亚洲天堂网| 校园春色 亚洲| 大香蕉专区| 91色碰| 60秒不遮不挡| 国人欧美精品一区二区| 天天天乱色综合全| 97爱爱爱| 欧美黑人性猛交91| 中国91AV| 五月天开心网| 欧美碰碰综合色| 性爱乱伦一区| a人片中文字幕一区二区| 久久大黄片| 香港成人一级视频在线青青草| 激情小说激情视频| 五月丁香综合网| 亚洲天堂男人天堂网| 天天爽爽爽爽| 国产精品丝袜久久亚洲不卡| 999热这里只有精品| 中文字幕永久在线| 午夜无码熟妇丰满人妻| 岛国激情视频在线观看| 亚州色站 日韩电影| 欧美亚洲自拍另类人妻| 巨爆乳肉感一区二区三区竹菊影视| 丁香婷婷激情五月天无毒不卡| 熟妇人妻精品一区二区| 96精品久久久久久久久久| 一本久道在线综合视频| 亚洲永久AV无码精品秋霞| 日韩精品在线观看观看| 亚洲国内精品成人不卡| 日日夜夜精品| 爱丝福利| 美女诱惑爱爱| 国产精品无码久久久久2025| 密臀在线免费观看| 少妇人妻好深太紧了vr91| 免费亚洲国产精品久久一区| 欧美人妻久久精品二区三区 | 国产精品老师| 成人av在线播放| 国产精品一二三| 久久久久久性爱视频| 自拍偷拍 日韩无码| 白丝av| 欧美同性恋 的搜索结果 - 91n| 麻豆久久久久久久久丝袜| 大黄片做爱的大的| 欧美成人亚洲精品| 猛交交| 一区二区乱码福利| 五月天精品|