From ff199245b0d0cc4e860fe75c976390ac33b8869b Mon Sep 17 00:00:00 2001 From: CityFun <31820853+zhengkunwang223@users.noreply.github.com> Date: Tue, 18 Aug 2026 18:46:27 +0800 Subject: [PATCH] feat: add some translate (#13585) --- frontend/src/lang/modules/en.ts | 15 +++++++++------ frontend/src/lang/modules/es-es.ts | 15 +++++++++------ frontend/src/lang/modules/fa.ts | 15 +++++++++------ frontend/src/lang/modules/ja.ts | 15 +++++++++------ frontend/src/lang/modules/ko.ts | 15 +++++++++------ frontend/src/lang/modules/lo.ts | 14 ++++++++------ frontend/src/lang/modules/ms.ts | 15 +++++++++------ frontend/src/lang/modules/pt-br.ts | 15 +++++++++------ frontend/src/lang/modules/ru.ts | 13 ++++++++----- frontend/src/lang/modules/tr.ts | 15 +++++++++------ frontend/src/lang/modules/zh-Hant.ts | 14 ++++++++------ frontend/src/lang/modules/zh.ts | 14 ++++++++------ frontend/src/views/ai/model/local/index.vue | 2 +- 13 files changed, 105 insertions(+), 72 deletions(-) diff --git a/frontend/src/lang/modules/en.ts b/frontend/src/lang/modules/en.ts index 040834419..de4f5c4af 100644 --- a/frontend/src/lang/modules/en.ts +++ b/frontend/src/lang/modules/en.ts @@ -1169,7 +1169,7 @@ const message = { modelGroupModelsHelper: 'Enter the request model names used by clients to call the AI Gateway; smart routing tries models in order and does not load balance between models.', modelGroupGuide: - 'Model groups contain request model names exposed by the AI Gateway. Configure upstream models in the account pool model mapping. auto is a virtual model name and does not belong in a model group.', + 'Model groups contain request model names exposed by the AI Gateway. Configure upstream models in the account pool model mapping. The smart route model name is virtual and does not belong in a model group.', modelGroupModelCount: '{0} models', contentCompliance: 'Content Compliance', contentAction: 'Action', @@ -1189,12 +1189,15 @@ const message = { importResult: 'Imported {0}, duplicated {1}, invalid {2}', auditLogs: 'Audit Logs', smartRoute: 'Smart Route', - smartRouteGuideTitle: 'Use model=auto on the client to enter smart routing', + autoModelName: 'Smart Route Model Name', + autoModelNameHelper: + 'Requests using this model name enter smart routing. Avoid using the name of a real model.', + smartRouteGuideTitle: 'Use model={0} on the client to enter smart routing', smartRouteGuideReady: - 'model=auto chooses from the simple or complex model group by request complexity. Any other model is forwarded normally.', + 'model={0} chooses from the simple or complex model group by request complexity. Any other model is forwarded normally.', smartRouteGuideNotReady: - 'Enable smart routing and configure simple/complex model groups first. Then use model=auto on the client.', - copyAutoModel: 'Copy auto', + 'Enable smart routing and configure simple/complex model groups first. Then use model={0} on the client.', + copyAutoModel: 'Copy Model Name', goSmartRouteSetting: 'Go to Settings', smartRoutePolicy: 'Route Policy', routeConfig: 'Route Config', @@ -1253,7 +1256,7 @@ const message = { sampleLabelBlock: 'Block', latencyMs: 'Latency(ms)', smartRouteSettingGuide: - 'After enabled, only requests with model=auto trigger smart routing. The simple group is for low-cost tasks; the complex group is for code analysis, architecture design, troubleshooting, and similar work.', + 'After enabled, only requests with model={0} trigger smart routing. The simple group is for low-cost tasks; the complex group is for code analysis, architecture design, troubleshooting, and similar work.', sampleLabelPlaceholder: 'simple / complex / high', sampleImportPlaceholder: 'One sample per line', }, diff --git a/frontend/src/lang/modules/es-es.ts b/frontend/src/lang/modules/es-es.ts index 646f261bf..10024c4cd 100644 --- a/frontend/src/lang/modules/es-es.ts +++ b/frontend/src/lang/modules/es-es.ts @@ -1175,7 +1175,7 @@ const message = { modelGroupModelsHelper: 'Ingrese los nombres de modelo que usan los clientes al llamar al gateway de IA; el enrutamiento inteligente prueba los modelos en orden y no balancea carga entre modelos.', modelGroupGuide: - 'Los grupos de modelos contienen los nombres de modelo expuestos por el gateway de IA. Configure los modelos upstream en el mapeo de modelos del pool de cuentas. auto es un nombre de modelo virtual y no debe añadirse al grupo.', + 'Los grupos de modelos contienen los nombres expuestos por el gateway de IA. Configure los modelos upstream en el pool de cuentas. El nombre del modelo de enrutamiento es virtual y no debe añadirse al grupo.', modelGroupModelCount: '{0} modelos', contentCompliance: 'Cumplimiento de contenido', contentAction: 'Acción', @@ -1195,12 +1195,15 @@ const message = { importResult: 'Importadas {0}, duplicadas {1}, no válidas {2}', auditLogs: 'Registros de auditoría', smartRoute: 'Enrutamiento inteligente', - smartRouteGuideTitle: 'Use model=auto en el cliente para entrar al enrutamiento inteligente', + autoModelName: 'Nombre del modelo de enrutamiento', + autoModelNameHelper: + 'Las solicitudes con este nombre de modelo usan el enrutamiento inteligente. Evite nombres de modelos reales.', + smartRouteGuideTitle: 'Use model={0} en el cliente para entrar al enrutamiento inteligente', smartRouteGuideReady: - 'model=auto elige entre el grupo simple o complejo según la complejidad de la solicitud. Cualquier otro modelo se reenvía normalmente.', + 'model={0} elige entre el grupo simple o complejo según la complejidad de la solicitud. Cualquier otro modelo se reenvía normalmente.', smartRouteGuideNotReady: - 'Primero active el enrutamiento inteligente y configure los grupos simple/complejo. Luego use model=auto en el cliente.', - copyAutoModel: 'Copiar auto', + 'Primero active el enrutamiento inteligente y configure los grupos simple/complejo. Luego use model={0} en el cliente.', + copyAutoModel: 'Copiar nombre del modelo', goSmartRouteSetting: 'Ir a configuración', smartRoutePolicy: 'Política de enrutamiento', routeConfig: 'Configuración de enrutamiento', @@ -1259,7 +1262,7 @@ const message = { sampleLabelBlock: 'Bloquear', latencyMs: 'Latencia(ms)', smartRouteSettingGuide: - 'Después de activarlo, solo las solicitudes con model=auto usan enrutamiento inteligente. El grupo simple es para tareas de bajo costo; el complejo para análisis de código, arquitectura y diagnóstico.', + 'Después de activarlo, solo las solicitudes con model={0} usan enrutamiento inteligente. El grupo simple es para tareas de bajo costo; el complejo para análisis de código, arquitectura y diagnóstico.', sampleLabelPlaceholder: 'simple / complejo / alto', sampleImportPlaceholder: 'Una muestra por línea', apiKeyCount: 'Cantidad', diff --git a/frontend/src/lang/modules/fa.ts b/frontend/src/lang/modules/fa.ts index 89b2b19e2..bd3412faa 100644 --- a/frontend/src/lang/modules/fa.ts +++ b/frontend/src/lang/modules/fa.ts @@ -1155,7 +1155,7 @@ const message = { modelGroupModelsHelper: 'نام مدل‌های درخواستی را که کلاینت برای فراخوانی دروازه AI استفاده می‌کند وارد کنید؛ مسیریابی هوشمند مدل‌ها را به‌ترتیب امتحان می‌کند و بین مدل‌ها توازن بار انجام نمی‌دهد.', modelGroupGuide: - 'گروه‌های مدل شامل نام مدل‌های درخواستی ارائه‌شده توسط دروازه AI هستند. مدل‌های upstream را در نگاشت مدل استخر حساب‌ها تنظیم کنید. auto نام مدل مجازی است و نباید به گروه مدل اضافه شود.', + 'گروه‌های مدل شامل نام مدل‌های درخواستی ارائه‌شده توسط دروازه AI هستند. مدل‌های upstream را در استخر حساب‌ها تنظیم کنید. نام مدل مسیریابی هوشمند مجازی است و نباید به گروه مدل اضافه شود.', modelGroupModelCount: '{0} مدل', contentCompliance: 'انطباق محتوا', contentAction: 'اقدام', @@ -1175,12 +1175,15 @@ const message = { importResult: 'وارد شد {0}، تکراری {1}، نامعتبر {2}', auditLogs: 'لاگ‌های حسابرسی', smartRoute: 'مسیریابی هوشمند', - smartRouteGuideTitle: 'برای ورود به مسیریابی هوشمند در کلاینت از model=auto استفاده کنید', + autoModelName: 'نام مدل مسیریابی هوشمند', + autoModelNameHelper: + 'درخواست‌های دارای این نام مدل وارد مسیریابی هوشمند می‌شوند. از نام مدل واقعی استفاده نکنید.', + smartRouteGuideTitle: 'برای ورود به مسیریابی هوشمند در کلاینت از model={0} استفاده کنید', smartRouteGuideReady: - 'model=auto بر اساس پیچیدگی درخواست از گروه مدل ساده یا پیچیده انتخاب می‌کند. مدل‌های دیگر به‌صورت عادی ارسال می‌شوند.', + 'model={0} بر اساس پیچیدگی درخواست از گروه مدل ساده یا پیچیده انتخاب می‌کند. مدل‌های دیگر به‌صورت عادی ارسال می‌شوند.', smartRouteGuideNotReady: - 'ابتدا مسیریابی هوشمند را فعال و گروه‌های ساده/پیچیده را تنظیم کنید. سپس در کلاینت از model=auto استفاده کنید.', - copyAutoModel: 'کپی auto', + 'ابتدا مسیریابی هوشمند را فعال و گروه‌های ساده/پیچیده را تنظیم کنید. سپس در کلاینت از model={0} استفاده کنید.', + copyAutoModel: 'کپی نام مدل', goSmartRouteSetting: 'رفتن به تنظیمات', smartRoutePolicy: 'سیاست مسیریابی', routeConfig: 'پیکربندی مسیریابی', @@ -1239,7 +1242,7 @@ const message = { sampleLabelBlock: 'مسدود', latencyMs: 'تاخیر(ms)', smartRouteSettingGuide: - 'پس از فعال‌سازی، فقط درخواست‌های model=auto مسیریابی هوشمند را فعال می‌کنند. گروه ساده برای وظایف کم‌هزینه و گروه پیچیده برای تحلیل کد، طراحی معماری و عیب‌یابی است.', + 'پس از فعال‌سازی، فقط درخواست‌های model={0} مسیریابی هوشمند را فعال می‌کنند. گروه ساده برای وظایف کم‌هزینه و گروه پیچیده برای تحلیل کد، طراحی معماری و عیب‌یابی است.', sampleLabelPlaceholder: 'ساده / پیچیده / بالا', sampleImportPlaceholder: 'هر خط یک نمونه', }, diff --git a/frontend/src/lang/modules/ja.ts b/frontend/src/lang/modules/ja.ts index 2bddffc5d..20bd58d8a 100644 --- a/frontend/src/lang/modules/ja.ts +++ b/frontend/src/lang/modules/ja.ts @@ -1158,7 +1158,7 @@ const message = { modelGroupModelsHelper: 'クライアントが AI ゲートウェイを呼び出す際に使用するリクエストモデル名を入力してください。スマートルーティングは順番にモデルを試し、モデル間の負荷分散は行いません。', modelGroupGuide: - 'モデルグループには AI ゲートウェイが公開するリクエストモデル名を設定します。上流モデルはアカウントプールのモデルマッピングで設定してください。auto は仮想モデル名のため、モデルグループには追加しません。', + 'モデルグループには AI ゲートウェイが公開するリクエストモデル名を設定します。上流モデルはアカウントプールで設定してください。スマートルーティングモデル名は仮想名のため、モデルグループには追加しません。', modelGroupModelCount: '{0} モデル', contentCompliance: 'コンテンツコンプライアンス', contentAction: '処理', @@ -1178,12 +1178,15 @@ const message = { importResult: 'インポート {0} 件、重複 {1} 件、無効 {2} 件', auditLogs: '監査ログ', smartRoute: 'スマートルーティング', - smartRouteGuideTitle: 'クライアントで model=auto を使用してスマートルーティングに入ります', + autoModelName: 'スマートルーティングモデル名', + autoModelNameHelper: + 'このモデル名のリクエストはスマートルーティングに入ります。実在するモデル名との重複を避けてください。', + smartRouteGuideTitle: 'クライアントで model={0} を使用してスマートルーティングに入ります', smartRouteGuideReady: - 'model=auto はリクエストの複雑度に応じて簡単/複雑モデルグループから選択します。それ以外の model は通常通り転送されます。', + 'model={0} はリクエストの複雑度に応じて簡単/複雑モデルグループから選択します。それ以外の model は通常通り転送されます。', smartRouteGuideNotReady: - '先に設定でスマートルーティングを有効化し、簡単/複雑モデルグループを設定してください。その後クライアントで model=auto を使用します。', - copyAutoModel: 'auto をコピー', + '先に設定でスマートルーティングを有効化し、簡単/複雑モデルグループを設定してください。その後クライアントで model={0} を使用します。', + copyAutoModel: 'モデル名をコピー', goSmartRouteSetting: '設定へ移動', smartRoutePolicy: 'ルーティングポリシー', routeConfig: 'ルーティング設定', @@ -1242,7 +1245,7 @@ const message = { sampleLabelBlock: 'ブロック', latencyMs: 'レイテンシ(ms)', smartRouteSettingGuide: - '有効化後、model=auto のリクエストだけがスマートルーティングを使用します。簡単モデルグループは低コストタスク、複雑モデルグループはコード分析、設計、障害調査などに使います。', + '有効化後、model={0} のリクエストだけがスマートルーティングを使用します。簡単モデルグループは低コストタスク、複雑モデルグループはコード分析、設計、障害調査などに使います。', sampleLabelPlaceholder: '簡単 / 複雑 / 高', sampleImportPlaceholder: '1行に1つのサンプル', apiKeyCount: 'API キー数', diff --git a/frontend/src/lang/modules/ko.ts b/frontend/src/lang/modules/ko.ts index 9adedd6c3..8612bd2cf 100644 --- a/frontend/src/lang/modules/ko.ts +++ b/frontend/src/lang/modules/ko.ts @@ -1147,7 +1147,7 @@ const message = { modelGroupModelsHelper: '클라이언트가 AI 게이트웨이를 호출할 때 사용하는 요청 모델 이름을 입력하세요. 스마트 라우팅은 순서대로 모델을 우선 선택하며 모델 간 부하 분산은 하지 않습니다.', modelGroupGuide: - '모델 그룹에는 AI 게이트웨이가 노출하는 요청 모델 이름을 설정합니다. 업스트림 모델은 계정 풀의 모델 매핑에서 설정하세요. auto는 가상 모델 이름이므로 모델 그룹에 추가하지 않습니다.', + '모델 그룹에는 AI 게이트웨이가 노출하는 요청 모델 이름을 설정합니다. 업스트림 모델은 계정 풀에서 설정하세요. 스마트 라우팅 모델 이름은 가상 이름이므로 모델 그룹에 추가하지 않습니다.', modelGroupModelCount: '{0}개 모델', contentCompliance: '콘텐츠 규정 준수', contentAction: '작업', @@ -1167,12 +1167,15 @@ const message = { importResult: '가져오기 {0}건, 중복 {1}건, 유효하지 않음 {2}건', auditLogs: '감사 로그', smartRoute: '스마트 라우팅', - smartRouteGuideTitle: '클라이언트에서 model=auto를 사용해 스마트 라우팅에 진입합니다', + autoModelName: '스마트 라우팅 모델 이름', + autoModelNameHelper: + '이 모델 이름을 사용하는 요청은 스마트 라우팅으로 처리됩니다. 실제 모델 이름과 중복되지 않게 하세요.', + smartRouteGuideTitle: '클라이언트에서 model={0}를 사용해 스마트 라우팅에 진입합니다', smartRouteGuideReady: - 'model=auto는 요청 복잡도에 따라 간단/복잡 모델 그룹에서 모델을 선택합니다. 다른 model은 일반 AI 게이트웨이로 전달됩니다.', + 'model={0}는 요청 복잡도에 따라 간단/복잡 모델 그룹에서 모델을 선택합니다. 다른 model은 일반 AI 게이트웨이로 전달됩니다.', smartRouteGuideNotReady: - '먼저 설정에서 스마트 라우팅을 켜고 간단/복잡 모델 그룹을 설정하세요. 이후 클라이언트에서 model=auto를 사용합니다.', - copyAutoModel: 'auto 복사', + '먼저 설정에서 스마트 라우팅을 켜고 간단/복잡 모델 그룹을 설정하세요. 이후 클라이언트에서 model={0}를 사용합니다.', + copyAutoModel: '모델 이름 복사', goSmartRouteSetting: '설정으로 이동', smartRoutePolicy: '라우팅 정책', routeConfig: '라우팅 설정', @@ -1231,7 +1234,7 @@ const message = { sampleLabelBlock: '차단', latencyMs: '지연 시간(ms)', smartRouteSettingGuide: - '활성화 후 model=auto 요청만 스마트 라우팅을 사용합니다. 간단 모델 그룹은 저비용 작업, 복잡 모델 그룹은 코드 분석, 아키텍처 설계, 장애 조사 등에 사용됩니다.', + '활성화 후 model={0} 요청만 스마트 라우팅을 사용합니다. 간단 모델 그룹은 저비용 작업, 복잡 모델 그룹은 코드 분석, 아키텍처 설계, 장애 조사 등에 사용됩니다.', sampleLabelPlaceholder: '단순 / 복잡 / 높음', sampleImportPlaceholder: '한 줄에 샘플 하나', apiKeyCount: 'API 키 수', diff --git a/frontend/src/lang/modules/lo.ts b/frontend/src/lang/modules/lo.ts index 5223cdb34..2f49b84a3 100644 --- a/frontend/src/lang/modules/lo.ts +++ b/frontend/src/lang/modules/lo.ts @@ -1148,7 +1148,7 @@ const message = { modelGroupModelsHelper: 'ປ້ອນຊື່ໂມເດວຄຳຂໍທີ່ Client ໃຊ້ເອີ້ນ AI Gateway; Smart Route ຈະລອງໂມເດວຕາມລຳດັບ ແລະ ບໍ່ເຮັດ Load Balance ລະຫວ່າງໂມເດວ.', modelGroupGuide: - 'ກຸ່ມໂມເດວຈະມີຊື່ໂມເດວຄຳຂໍທີ່ AI Gateway ເປີດໃຫ້ໃຊ້. ຕັ້ງຄ່າໂມເດວຕົ້ນທາງໃນການຈັບຄູ່ໂມເດວຂອງກຸ່ມບັນຊີ. auto ແມ່ນຊື່ໂມເດວສະເໝືອນ ແລະ ບໍ່ຕ້ອງເພີ່ມໃນກຸ່ມໂມເດວ.', + 'ກຸ່ມໂມເດວຈະມີຊື່ໂມເດວຄຳຂໍທີ່ AI Gateway ເປີດໃຫ້ໃຊ້. ຕັ້ງຄ່າໂມເດວຕົ້ນທາງໃນກຸ່ມບັນຊີ. ຊື່ໂມເດວ Smart Route ແມ່ນຊື່ສະເໝືອນ ແລະ ບໍ່ຕ້ອງເພີ່ມໃນກຸ່ມໂມເດວ.', modelGroupModelCount: '{0} ໂມເດວ', contentCompliance: 'ການປະຕິບັດຕາມເນື້ອຫາ', contentAction: 'ການດຳເນີນການ', @@ -1168,12 +1168,14 @@ const message = { importResult: 'ນຳເຂົ້າແລ້ວ {0}, ຊ້ຳກັນ {1}, ບໍ່ຖືກຕ້ອງ {2}', auditLogs: 'ບັນທຶກການກວດສອບ', smartRoute: 'ການຈັດເສັ້ນທາງອັດສະລິຍະ', - smartRouteGuideTitle: 'ໃຊ້ model=auto ຢູ່ Client ເພື່ອເຂົ້າ Smart Route', + autoModelName: 'ຊື່ໂມເດວ Smart Route', + autoModelNameHelper: 'ຄຳຮ້ອງຂໍທີ່ໃຊ້ຊື່ໂມເດວນີ້ຈະເຂົ້າ Smart Route. ຫຼີກລ້ຽງຊື່ທີ່ຊ້ຳກັບໂມເດວຈິງ.', + smartRouteGuideTitle: 'ໃຊ້ model={0} ຢູ່ Client ເພື່ອເຂົ້າ Smart Route', smartRouteGuideReady: - 'model=auto ຈະເລືອກຈາກກຸ່ມໂມເດວແບບງ່າຍ ຫຼື ຊັບຊ້ອນຕາມຄວາມຊັບຊ້ອນຂອງຄຳຮ້ອງຂໍ. ໂມເດວອື່ນຈະຖືກສົ່ງຕໍ່ຕາມປົກກະຕິ.', + 'model={0} ຈະເລືອກຈາກກຸ່ມໂມເດວແບບງ່າຍ ຫຼື ຊັບຊ້ອນຕາມຄວາມຊັບຊ້ອນຂອງຄຳຮ້ອງຂໍ. ໂມເດວອື່ນຈະຖືກສົ່ງຕໍ່ຕາມປົກກະຕິ.', smartRouteGuideNotReady: - 'ເປີດ Smart Route ແລະ ຕັ້ງຄ່າກຸ່ມໂມເດວແບບງ່າຍ/ຊັບຊ້ອນກ່ອນ, ຈາກນັ້ນໃຊ້ model=auto ຢູ່ Client.', - copyAutoModel: 'ຄັດລອກ auto', + 'ເປີດ Smart Route ແລະ ຕັ້ງຄ່າກຸ່ມໂມເດວແບບງ່າຍ/ຊັບຊ້ອນກ່ອນ, ຈາກນັ້ນໃຊ້ model={0} ຢູ່ Client.', + copyAutoModel: 'ຄັດລອກຊື່ໂມເດວ', goSmartRouteSetting: 'ໄປທີ່ການຕັ້ງຄ່າ', smartRoutePolicy: 'ນະໂຍບາຍການກຳນົດເສັ້ນທາງ', routeConfig: 'ການຕັ້ງຄ່າເສັ້ນທາງ', @@ -1230,7 +1232,7 @@ const message = { sampleLabelBlock: 'ບລັອກ', latencyMs: 'ຄວາມຫຼ້າຊ້າ (ms)', smartRouteSettingGuide: - 'ຫຼັງຈາກເປີດໃຊ້ ມີພຽງຄຳຮ້ອງຂໍທີ່ໃຊ້ model=auto ເທົ່ານັ້ນທີ່ຈະເປີດ Smart Route. ກຸ່ມແບບງ່າຍໃຊ້ສຳລັບວຽກຕົ້ນທຶນຕ່ຳ; ກຸ່ມແບບຊັບຊ້ອນໃຊ້ສຳລັບວິເຄາະໂຄດ, ອອກແບບສະຖາປັດຕະຍະກຳ, ແກ້ໄຂບັນຫາ ແລະ ວຽກຄ້າຍຄືກັນ.', + 'ຫຼັງຈາກເປີດໃຊ້ ມີພຽງຄຳຮ້ອງຂໍທີ່ໃຊ້ model={0} ເທົ່ານັ້ນທີ່ຈະເປີດ Smart Route. ກຸ່ມແບບງ່າຍໃຊ້ສຳລັບວຽກຕົ້ນທຶນຕ່ຳ; ກຸ່ມແບບຊັບຊ້ອນໃຊ້ສຳລັບວິເຄາະໂຄດ, ອອກແບບສະຖາປັດຕະຍະກຳ, ແກ້ໄຂບັນຫາ ແລະ ວຽກຄ້າຍຄືກັນ.', sampleLabelPlaceholder: 'ງ່າຍ / ຊັບຊ້ອນ / ສູງ', sampleImportPlaceholder: 'ໜຶ່ງຕົວຢ່າງຕໍ່ແຖວ', }, diff --git a/frontend/src/lang/modules/ms.ts b/frontend/src/lang/modules/ms.ts index 0a55f3b64..e8ce9f5ff 100644 --- a/frontend/src/lang/modules/ms.ts +++ b/frontend/src/lang/modules/ms.ts @@ -1180,7 +1180,7 @@ const message = { modelGroupModelsHelper: 'Masukkan nama model permintaan yang digunakan klien untuk memanggil AI Gateway; penghalaan pintar mencuba model mengikut susunan dan tidak mengimbang beban antara model.', modelGroupGuide: - 'Kumpulan model mengandungi nama model permintaan yang didedahkan oleh AI Gateway. Konfigurasikan model upstream dalam pemetaan model kumpulan akaun. auto ialah nama model maya dan tidak perlu ditambah pada kumpulan model.', + 'Kumpulan model mengandungi nama model permintaan yang didedahkan oleh AI Gateway. Konfigurasikan model upstream dalam kumpulan akaun. Nama model penghalaan pintar ialah nama maya dan tidak perlu ditambah pada kumpulan model.', modelGroupModelCount: '{0} model', contentCompliance: 'Pematuhan Kandungan', contentAction: 'Tindakan', @@ -1200,12 +1200,15 @@ const message = { importResult: 'Diimport {0}, pendua {1}, tidak sah {2}', auditLogs: 'Log Audit', smartRoute: 'Penghalaan Pintar', - smartRouteGuideTitle: 'Gunakan model=auto pada klien untuk memasuki penghalaan pintar', + autoModelName: 'Nama Model Penghalaan Pintar', + autoModelNameHelper: + 'Permintaan dengan nama model ini menggunakan penghalaan pintar. Elakkan nama model sebenar.', + smartRouteGuideTitle: 'Gunakan model={0} pada klien untuk memasuki penghalaan pintar', smartRouteGuideReady: - 'model=auto memilih kumpulan model ringkas atau kompleks mengikut kerumitan permintaan. Model lain dihantar seperti biasa.', + 'model={0} memilih kumpulan model ringkas atau kompleks mengikut kerumitan permintaan. Model lain dihantar seperti biasa.', smartRouteGuideNotReady: - 'Aktifkan penghalaan pintar dan konfigurasikan kumpulan ringkas/kompleks dahulu. Kemudian gunakan model=auto pada klien.', - copyAutoModel: 'Salin auto', + 'Aktifkan penghalaan pintar dan konfigurasikan kumpulan ringkas/kompleks dahulu. Kemudian gunakan model={0} pada klien.', + copyAutoModel: 'Salin nama model', goSmartRouteSetting: 'Pergi ke tetapan', smartRoutePolicy: 'Polisi Penghalaan', routeConfig: 'Konfigurasi Penghalaan', @@ -1264,7 +1267,7 @@ const message = { sampleLabelBlock: 'Sekat', latencyMs: 'Latensi(ms)', smartRouteSettingGuide: - 'Selepas diaktifkan, hanya permintaan model=auto mencetuskan penghalaan pintar. Kumpulan ringkas untuk tugas kos rendah; kumpulan kompleks untuk analisis kod, reka bentuk seni bina dan penyelesaian masalah.', + 'Selepas diaktifkan, hanya permintaan model={0} mencetuskan penghalaan pintar. Kumpulan ringkas untuk tugas kos rendah; kumpulan kompleks untuk analisis kod, reka bentuk seni bina dan penyelesaian masalah.', sampleLabelPlaceholder: 'simple / complex / high', sampleImportPlaceholder: 'Satu sampel setiap baris', apiKeyCount: 'Kuantiti', diff --git a/frontend/src/lang/modules/pt-br.ts b/frontend/src/lang/modules/pt-br.ts index d02e70891..991455683 100644 --- a/frontend/src/lang/modules/pt-br.ts +++ b/frontend/src/lang/modules/pt-br.ts @@ -1177,7 +1177,7 @@ const message = { modelGroupModelsHelper: 'Informe os nomes de modelo usados pelos clientes ao chamar o gateway de IA; o roteamento inteligente tenta os modelos em ordem e não faz balanceamento entre modelos.', modelGroupGuide: - 'Grupos de modelos contêm os nomes de modelo expostos pelo gateway de IA. Configure os modelos upstream no mapeamento de modelos do pool de contas. auto é um nome de modelo virtual e não deve ser adicionado ao grupo.', + 'Grupos de modelos contêm os nomes expostos pelo gateway de IA. Configure os modelos upstream no pool de contas. O nome do modelo de roteamento é virtual e não deve ser adicionado ao grupo.', modelGroupModelCount: '{0} modelos', contentCompliance: 'Conformidade de Conteúdo', contentAction: 'Ação', @@ -1197,12 +1197,15 @@ const message = { importResult: 'Importados {0}, duplicados {1}, inválidos {2}', auditLogs: 'Logs de Auditoria', smartRoute: 'Roteamento inteligente', - smartRouteGuideTitle: 'Use model=auto no cliente para entrar no roteamento inteligente', + autoModelName: 'Nome do modelo de roteamento', + autoModelNameHelper: + 'Solicitações com este nome de modelo entram no roteamento inteligente. Evite nomes de modelos reais.', + smartRouteGuideTitle: 'Use model={0} no cliente para entrar no roteamento inteligente', smartRouteGuideReady: - 'model=auto escolhe o grupo de modelos simples ou complexos conforme a complexidade da solicitação. Outros modelos são encaminhados normalmente.', + 'model={0} escolhe o grupo de modelos simples ou complexos conforme a complexidade da solicitação. Outros modelos são encaminhados normalmente.', smartRouteGuideNotReady: - 'Ative o roteamento inteligente e configure os grupos simples/complexos primeiro. Depois use model=auto no cliente.', - copyAutoModel: 'Copiar auto', + 'Ative o roteamento inteligente e configure os grupos simples/complexos primeiro. Depois use model={0} no cliente.', + copyAutoModel: 'Copiar nome do modelo', goSmartRouteSetting: 'Ir para configurações', smartRoutePolicy: 'Política de roteamento', routeConfig: 'Configuração de roteamento', @@ -1261,7 +1264,7 @@ const message = { sampleLabelBlock: 'Bloquear', latencyMs: 'Latência(ms)', smartRouteSettingGuide: - 'Depois de ativado, apenas solicitações com model=auto usam o roteamento inteligente. O grupo simples é para tarefas de baixo custo; o complexo para análise de código, arquitetura e diagnóstico.', + 'Depois de ativado, apenas solicitações com model={0} usam o roteamento inteligente. O grupo simples é para tarefas de baixo custo; o complexo para análise de código, arquitetura e diagnóstico.', sampleLabelPlaceholder: 'simple / complex / high', sampleImportPlaceholder: 'Uma amostra por linha', apiKeyCount: 'Quantidade', diff --git a/frontend/src/lang/modules/ru.ts b/frontend/src/lang/modules/ru.ts index b4a52d5f2..9f77edc01 100644 --- a/frontend/src/lang/modules/ru.ts +++ b/frontend/src/lang/modules/ru.ts @@ -1188,12 +1188,15 @@ const message = { importResult: 'Импортировано: {0}, дубликатов: {1}, недействительных: {2}', auditLogs: 'Журнал аудита', smartRoute: 'Умная маршрутизация', - smartRouteGuideTitle: 'Используйте model=auto на клиенте для умной маршрутизации', + autoModelName: 'Имя модели умной маршрутизации', + autoModelNameHelper: + 'Запросы с этим именем модели используют умную маршрутизацию. Не используйте имя реальной модели.', + smartRouteGuideTitle: 'Используйте model={0} на клиенте для умной маршрутизации', smartRouteGuideReady: - 'model=auto выбирает простую или сложную группу моделей по сложности запроса. Любая другая модель пересылается обычным AI-шлюзом.', + 'model={0} выбирает простую или сложную группу моделей по сложности запроса. Любая другая модель пересылается обычным AI-шлюзом.', smartRouteGuideNotReady: - 'Сначала включите умную маршрутизацию и настройте простую/сложную группы моделей. Затем используйте model=auto на клиенте.', - copyAutoModel: 'Копировать auto', + 'Сначала включите умную маршрутизацию и настройте простую/сложную группы моделей. Затем используйте model={0} на клиенте.', + copyAutoModel: 'Копировать имя модели', goSmartRouteSetting: 'К настройкам', smartRoutePolicy: 'Политика маршрутизации', routeConfig: 'Настройка маршрутизации', @@ -1252,7 +1255,7 @@ const message = { sampleLabelBlock: 'Блокировать', latencyMs: 'Задержка(ms)', smartRouteSettingGuide: - 'После включения только запросы с model=auto запускают умную маршрутизацию. Простая группа — для дешевых задач, сложная — для анализа кода, проектирования архитектуры и диагностики.', + 'После включения только запросы с model={0} запускают умную маршрутизацию. Простая группа — для дешевых задач, сложная — для анализа кода, проектирования архитектуры и диагностики.', sampleLabelPlaceholder: 'simple / complex / high', sampleImportPlaceholder: 'Один образец на строку', apiKeyCount: 'Количество', diff --git a/frontend/src/lang/modules/tr.ts b/frontend/src/lang/modules/tr.ts index 78c93cbd9..2eca75834 100644 --- a/frontend/src/lang/modules/tr.ts +++ b/frontend/src/lang/modules/tr.ts @@ -1177,7 +1177,7 @@ const message = { modelGroupModelsHelper: 'İstemcilerin AI Ağ Geçidini çağırırken kullandığı istek modeli adlarını girin; akıllı yönlendirme modelleri sırayla dener ve modeller arasında yük dengelemez.', modelGroupGuide: - 'Model grupları AI Ağ Geçidinin sunduğu istek modeli adlarını içerir. Üst modelleri hesap havuzundaki model eşlemesinde yapılandırın. auto sanal bir model adıdır ve model grubuna eklenmez.', + 'Model grupları AI Ağ Geçidinin sunduğu istek modeli adlarını içerir. Üst modelleri hesap havuzunda yapılandırın. Akıllı yönlendirme model adı sanaldır ve model grubuna eklenmez.', modelGroupModelCount: '{0} model', contentCompliance: 'İçerik Uyumluluğu', contentAction: 'Eylem', @@ -1197,12 +1197,15 @@ const message = { importResult: 'İçe aktarılan {0}, yinelenen {1}, geçersiz {2}', auditLogs: 'Denetim Günlükleri', smartRoute: 'Akıllı Yönlendirme', - smartRouteGuideTitle: 'Akıllı yönlendirme için istemcide model=auto kullanın', + autoModelName: 'Akıllı Yönlendirme Model Adı', + autoModelNameHelper: + 'Bu model adını kullanan istekler akıllı yönlendirmeye girer. Gerçek model adlarıyla çakışmayın.', + smartRouteGuideTitle: 'Akıllı yönlendirme için istemcide model={0} kullanın', smartRouteGuideReady: - 'model=auto isteğin karmaşıklığına göre basit veya karmaşık model grubundan seçim yapar. Diğer model değerleri normal şekilde iletilir.', + 'model={0} isteğin karmaşıklığına göre basit veya karmaşık model grubundan seçim yapar. Diğer model değerleri normal şekilde iletilir.', smartRouteGuideNotReady: - 'Önce ayarlardan akıllı yönlendirmeyi etkinleştirip basit/karmaşık model gruplarını yapılandırın. Sonra istemcide model=auto kullanın.', - copyAutoModel: 'auto kopyala', + 'Önce ayarlardan akıllı yönlendirmeyi etkinleştirip basit/karmaşık model gruplarını yapılandırın. Sonra istemcide model={0} kullanın.', + copyAutoModel: 'Model adını kopyala', goSmartRouteSetting: 'Ayarlara git', smartRoutePolicy: 'Yönlendirme Politikası', routeConfig: 'Yönlendirme Yapılandırması', @@ -1261,7 +1264,7 @@ const message = { sampleLabelBlock: 'Engelle', latencyMs: 'Gecikme(ms)', smartRouteSettingGuide: - 'Etkinleştirildikten sonra yalnızca model=auto istekleri akıllı yönlendirmeyi tetikler. Basit grup düşük maliyetli işler, karmaşık grup kod analizi, mimari tasarım ve sorun giderme için kullanılır.', + 'Etkinleştirildikten sonra yalnızca model={0} istekleri akıllı yönlendirmeyi tetikler. Basit grup düşük maliyetli işler, karmaşık grup kod analizi, mimari tasarım ve sorun giderme için kullanılır.', sampleLabelPlaceholder: 'simple / complex / high', sampleImportPlaceholder: 'Her satıra bir örnek', apiKeyCount: 'Miktar', diff --git a/frontend/src/lang/modules/zh-Hant.ts b/frontend/src/lang/modules/zh-Hant.ts index 6e909a802..2af4dc303 100644 --- a/frontend/src/lang/modules/zh-Hant.ts +++ b/frontend/src/lang/modules/zh-Hant.ts @@ -1112,7 +1112,7 @@ const message = { modelGroupModelsHelper: '填寫用戶端請求 AI 網關時使用的請求模型名稱;智慧路由會按順序優先選擇靠前模型,不做模型間負載均衡。', modelGroupGuide: - '模型組配置用戶端請求 AI 網關時使用的請求模型名稱;上游模型在帳號池的模型映射中配置。auto 是虛擬模型名稱,不需要放進模型組。', + '模型組配置用戶端請求 AI 網關時使用的請求模型名稱;上游模型在帳號池的模型映射中配置。智慧路由模型名稱是虛擬名稱,不需要放進模型組。', modelGroupModelCount: '{0} 個模型', contentCompliance: '內容合規', contentAction: '處理動作', @@ -1132,12 +1132,14 @@ const message = { importResult: '匯入成功 {0} 條,重複 {1} 條,無效 {2} 條', auditLogs: '審計日誌', smartRoute: '智慧路由', - smartRouteGuideTitle: '用戶端使用 model=auto 進入智慧路由', + autoModelName: '智慧路由模型名稱', + autoModelNameHelper: '用戶端請求此模型名稱時進入智慧路由,請避免與真實模型名稱重複。', + smartRouteGuideTitle: '用戶端使用 model={0} 進入智慧路由', smartRouteGuideReady: - 'model=auto 會依請求複雜度在簡單模型組和複雜模型組中選擇模型;model 不是 auto 時仍按普通 AI 網關轉發。', + 'model={0} 會依請求複雜度在簡單模型組和複雜模型組中選擇模型;其他模型仍按普通 AI 網關轉發。', smartRouteGuideNotReady: - '請先在設定中開啟智慧路由並配置簡單/複雜模型組;配置完成後用戶端使用 model=auto 進入智慧路由。', - copyAutoModel: '複製 auto', + '請先在設定中開啟智慧路由並配置簡單/複雜模型組;配置完成後用戶端使用 model={0} 進入智慧路由。', + copyAutoModel: '複製模型名稱', goSmartRouteSetting: '去設定', smartRoutePolicy: '路由策略', routeConfig: '路由配置', @@ -1191,7 +1193,7 @@ const message = { sampleLabelBlock: '阻斷', latencyMs: '耗時(ms)', smartRouteSettingGuide: - '開啟後只有 model=auto 的請求才觸發智慧路由;簡單模型組用於低成本任務,複雜模型組用於程式碼分析、架構設計、故障排查等任務。', + '開啟後只有 model={0} 的請求才觸發智慧路由;簡單模型組用於低成本任務,複雜模型組用於程式碼分析、架構設計、故障排查等任務。', sampleLabelPlaceholder: 'simple / complex / high', sampleImportPlaceholder: '每行一個樣本', apiKeyCount: '數量', diff --git a/frontend/src/lang/modules/zh.ts b/frontend/src/lang/modules/zh.ts index 522c0afad..29b1dbd51 100644 --- a/frontend/src/lang/modules/zh.ts +++ b/frontend/src/lang/modules/zh.ts @@ -1126,7 +1126,7 @@ const message = { modelGroupModelsHelper: '填写客户端请求 AI 网关时使用的请求模型名;智能路由会按顺序优先选择靠前模型,不做模型间负载均衡。', modelGroupGuide: - '模型组配置客户端请求 AI 网关时使用的请求模型名;上游模型在账号池的模型映射中配置。auto 是虚拟模型名,不需要放进模型组。', + '模型组配置客户端请求 AI 网关时使用的请求模型名;上游模型在账号池的模型映射中配置。智能路由模型名是虚拟名称,不需要放进模型组。', modelGroupModelCount: '{0} 个模型', contentCompliance: '内容合规', contentAction: '处理动作', @@ -1146,12 +1146,14 @@ const message = { importResult: '导入成功 {0} 条,重复 {1} 条,无效 {2} 条', auditLogs: '审计日志', smartRoute: '智能路由', - smartRouteGuideTitle: '客户端使用 model=auto 进入智能路由', + autoModelName: '智能路由模型名', + autoModelNameHelper: '客户端请求该模型名时进入智能路由,请避免与真实模型名重复。', + smartRouteGuideTitle: '客户端使用 model={0} 进入智能路由', smartRouteGuideReady: - 'model=auto 会按请求复杂度在简单模型组和复杂模型组中选择模型;model 不是 auto 时仍按普通 AI 网关转发。', + 'model={0} 会按请求复杂度在简单模型组和复杂模型组中选择模型;其他模型仍按普通 AI 网关转发。', smartRouteGuideNotReady: - '请先在设置中开启智能路由并配置简单/复杂模型组;配置完成后客户端使用 model=auto 进入智能路由。', - copyAutoModel: '复制 auto', + '请先在设置中开启智能路由并配置简单/复杂模型组;配置完成后客户端使用 model={0} 进入智能路由。', + copyAutoModel: '复制模型名', goSmartRouteSetting: '去设置', smartRoutePolicy: '路由策略', routeConfig: '路由配置', @@ -1205,7 +1207,7 @@ const message = { sampleLabelBlock: '阻断', latencyMs: '耗时(ms)', smartRouteSettingGuide: - '开启后只有 model=auto 的请求才触发智能路由;简单模型组用于低成本任务,复杂模型组用于代码分析、架构设计、故障排查等任务。', + '开启后只有 model={0} 的请求才触发智能路由;简单模型组用于低成本任务,复杂模型组用于代码分析、架构设计、故障排查等任务。', sampleLabelPlaceholder: 'simple / complex / high', sampleImportPlaceholder: '每行一个样本', }, diff --git a/frontend/src/views/ai/model/local/index.vue b/frontend/src/views/ai/model/local/index.vue index fcd2a16fa..7c4b5e517 100644 --- a/frontend/src/views/ai/model/local/index.vue +++ b/frontend/src/views/ai/model/local/index.vue @@ -51,8 +51,8 @@ const tabLabels: Record = { const buttons = computed>(() => { const items: Array<{ label: string; value: LocalTab }> = [ - { label: tabLabels.ollama, value: 'ollama' }, { label: tabLabels.vllm, value: 'vllm' }, + { label: tabLabels.ollama, value: 'ollama' }, ]; if (isFxplay.value) { items.push({ label: tabLabels.tensorrt, value: 'tensorrt' });