fix: skip duplicate models during Import from /models

Compare fetched models against existing custom models AND built-in
registry models before posting. Only new models trigger
POST /api/provider-models calls. Shows skip count in import progress
when some models already exist. Adds i18n keys for all locales.
This commit is contained in:
Chris Staley
2026-03-29 14:03:07 -06:00
parent d01266c642
commit 0b133fe55e
34 changed files with 213 additions and 194 deletions

View File

@@ -1468,9 +1468,41 @@ export default function ProviderDetailPage() {
logs: [t("foundModelsStartingImport", { count: fetchedModels.length })],
}));
const existingIds = new Set([
...(modelMeta.customModels || []).map((m: any) => m.id),
...models.map((m: any) => m.id),
]);
const newModels = fetchedModels.filter(
(model: any) => !existingIds.has(model.id || model.name || model.model)
);
if (newModels.length === 0) {
setImportProgress((prev) => ({
...prev,
phase: "done",
status: t("allModelsAlreadyImported") || "All models already imported",
logs: [t("noNewModelsToImport") || "No new models to import"],
importedCount: 0,
}));
return;
}
setImportProgress((prev) => ({
...prev,
phase: "importing",
total: fetchedModels.length,
status: t("importingModelsProgress", { current: 0, total: newModels.length }),
logs: [
t("foundModelsStartingImport", { count: newModels.length }),
...(newModels.length < fetchedModels.length
? [t("skippingExistingModels", { count: fetchedModels.length - newModels.length }) || `Skipping ${fetchedModels.length - newModels.length} existing models`]
: []),
],
}));
let importedCount = 0;
for (let i = 0; i < fetchedModels.length; i++) {
const model = fetchedModels[i];
for (let i = 0; i < newModels.length; i++) {
const model = newModels[i];
const modelId = model.id || model.name || model.model;
if (!modelId) continue;
const parts = modelId.split("/");
@@ -1479,7 +1511,7 @@ export default function ProviderDetailPage() {
setImportProgress((prev) => ({
...prev,
current: i + 1,
status: t("importingModelsProgress", { current: i + 1, total: fetchedModels.length }),
status: t("importingModelsProgress", { current: i + 1, total: newModels.length }),
logs: [...prev.logs, t("importingModelById", { modelId })],
}));
@@ -1506,7 +1538,7 @@ export default function ProviderDetailPage() {
setImportProgress((prev) => ({
...prev,
phase: "done",
current: fetchedModels.length,
current: newModels.length,
status:
importedCount > 0
? t("importSuccessCount", { count: importedCount })

View File

@@ -1408,8 +1408,8 @@
"chatCompletions": "استكمالات الدردشة",
"importingModels": "جارٍ الاستيراد...",
"importFromModels": "الاستيراد من / النماذج",
"clearAllModels": "مسح جميع النماذج",
"clearAllModelsConfirm": "هل أنت متأكد أنك تريد إزالة جميع النماذج لهذا المزود؟ لا يمكن التراجع عن هذا.",
"clearAllModels": "مسح كافة النماذج",
"clearAllModelsConfirm": "هل أنت متأكد أنك تريد إزالة كافة النماذج لهذا الموفر؟ لا يمكن التراجع عن هذا.",
"clearAllModelsSuccess": "تم مسح جميع النماذج",
"clearAllModelsFailed": "فشل في مسح النماذج",
"addConnectionToImport": "أضف اتصالاً لتمكين الاستيراد.",
@@ -1581,10 +1581,9 @@
"autoSyncEnabled": "تم تمكين المزامنة التلقائية — سيتم تحديث النماذج بشكل دوري",
"autoSyncDisabled": "تم تعطيل المزامنة التلقائية",
"autoSyncToggleFailed": "فشل في تبديل المزامنة التلقائية",
"clearAllModels": "مسح كافة النماذج",
"clearAllModelsConfirm": "هل أنت متأكد أنك تريد إزالة كافة النماذج لهذا الموفر؟ لا يمكن التراجع عن هذا.",
"clearAllModelsSuccess": "تم مسح جميع النماذج",
"clearAllModelsFailed": "فشل في مسح النماذج"
"allModelsAlreadyImported": "All models already imported",
"noNewModelsToImport": "No new models to import",
"skippingExistingModels": "Skipping {count} existing models"
},
"settings": {
"title": "الإعدادات",

View File

@@ -1408,9 +1408,9 @@
"chatCompletions": "Чат завършвания",
"importingModels": "Импортиране...",
"importFromModels": "Импортиране от /models",
"clearAllModels": "Изчисти всички модели",
"clearAllModels": "Изчистване на всички модели",
"clearAllModelsConfirm": "Сигурни ли сте, че искате да премахнете всички модели за този доставчик? Това не може да бъде отменено.",
"clearAllModelsSuccess": "Всички модели са изчистени",
"clearAllModelsSuccess": "Всички модели изчистени",
"clearAllModelsFailed": "Неуспешно изчистване на моделите",
"addConnectionToImport": "Добавете връзка, за да активирате импортирането.",
"noModelsConfigured": "Няма конфигурирани модели",
@@ -1581,10 +1581,9 @@
"autoSyncEnabled": "Автоматичното синхронизиране е активирано — моделите ще се опресняват периодично",
"autoSyncDisabled": "Автоматичното синхронизиране е деактивирано",
"autoSyncToggleFailed": "Неуспешно превключване на автоматичното синхронизиране",
"clearAllModels": "Изчистване на всички модели",
"clearAllModelsConfirm": "Сигурни ли сте, че искате да премахнете всички модели за този доставчик? Това не може да бъде отменено.",
"clearAllModelsSuccess": "Всички модели изчистени",
"clearAllModelsFailed": "Неуспешно изчистване на моделите"
"allModelsAlreadyImported": "All models already imported",
"noNewModelsToImport": "No new models to import",
"skippingExistingModels": "Skipping {count} existing models"
},
"settings": {
"title": "Настройки",

View File

@@ -1473,7 +1473,7 @@
"importingModels": "Importuji...",
"importFromModels": "Import z /models",
"clearAllModels": "Vymazat všechny modely",
"clearAllModelsConfirm": "Opravdu chcete odebrat všechny modely pro tohoto poskytovatele? Tuto akci nelze vrátit.",
"clearAllModelsConfirm": "Opravdu chcete odstranit všechny modely pro tohoto poskytovatele?",
"clearAllModelsSuccess": "Všechny modely vymazány",
"clearAllModelsFailed": "Nepodařilo se vymazat modely",
"addConnectionToImport": "Přidejte připojení pro povolení importu.",
@@ -1644,10 +1644,9 @@
"autoSyncEnabled": "Automatická synchronizace povolena modely se budou pravidelně obnovovat",
"autoSyncDisabled": "Automatická synchronizace zakázána",
"autoSyncToggleFailed": "Nepodařilo se přepnout automatickou synchronizaci",
"clearAllModels": "Vymazat všechny modely",
"clearAllModelsConfirm": "Opravdu chcete odstranit všechny modely pro tohoto poskytovatele?",
"clearAllModelsSuccess": "Všechny modely vymazány",
"clearAllModelsFailed": "Nepodařilo se vymazat modely"
"allModelsAlreadyImported": "All models already imported",
"noNewModelsToImport": "No new models to import",
"skippingExistingModels": "Skipping {count} existing models"
},
"settings": {
"title": "Nastavení",

View File

@@ -1411,7 +1411,7 @@
"clearAllModels": "Ryd alle modeller",
"clearAllModelsConfirm": "Er du sikker på, at du vil fjerne alle modeller for denne udbyder? Dette kan ikke fortrydes.",
"clearAllModelsSuccess": "Alle modeller ryddet",
"clearAllModelsFailed": "Kunne ikke rydde modeller",
"clearAllModelsFailed": "Det lykkedes ikke at rydde modeller",
"addConnectionToImport": "Tilføj en forbindelse for at aktivere import.",
"noModelsConfigured": "Ingen modeller konfigureret",
"connectionCount": "{count} forbindelse(r)",
@@ -1581,10 +1581,9 @@
"autoSyncEnabled": "Automatisk synkronisering aktiveret - modellerne opdateres med jævne mellemrum",
"autoSyncDisabled": "Automatisk synkronisering deaktiveret",
"autoSyncToggleFailed": "Automatisk synkronisering kunne ikke slås til eller fra",
"clearAllModels": "Ryd alle modeller",
"clearAllModelsConfirm": "Er du sikker på, at du vil fjerne alle modeller for denne udbyder? Dette kan ikke fortrydes.",
"clearAllModelsSuccess": "Alle modeller ryddet",
"clearAllModelsFailed": "Det lykkedes ikke at rydde modeller"
"allModelsAlreadyImported": "All models already imported",
"noNewModelsToImport": "No new models to import",
"skippingExistingModels": "Skipping {count} existing models"
},
"settings": {
"title": "Indstillinger",

View File

@@ -1409,9 +1409,9 @@
"importingModels": "Importieren...",
"importFromModels": "Import aus /models",
"clearAllModels": "Alle Modelle löschen",
"clearAllModelsConfirm": "Sind Sie sicher, dass Sie alle Modelle für diesen Anbieter entfernen möchten? Dies kann nicht rückgängig gemacht werden.",
"clearAllModelsConfirm": "Möchten Sie wirklich alle Modelle für diesen Anbieter löschen?",
"clearAllModelsSuccess": "Alle Modelle gelöscht",
"clearAllModelsFailed": "Modelle konnten nicht gelöscht werden",
"clearAllModelsFailed": "Modelle löschen fehlgeschlagen",
"addConnectionToImport": "Fügen Sie eine Verbindung hinzu, um den Import zu ermöglichen.",
"noModelsConfigured": "Keine Modelle konfiguriert",
"connectionCount": "{count} Verbindung(en)",
@@ -1581,10 +1581,9 @@
"autoSyncEnabled": "Auto-Sync aktiviert — Modelle werden regelmäßig aktualisiert",
"autoSyncDisabled": "Auto-Sync deaktiviert",
"autoSyncToggleFailed": "Auto-Sync umschalten fehlgeschlagen",
"clearAllModels": "Alle Modelle löschen",
"clearAllModelsConfirm": "Möchten Sie wirklich alle Modelle für diesen Anbieter löschen?",
"clearAllModelsSuccess": "Alle Modelle gelöscht",
"clearAllModelsFailed": "Modelle löschen fehlgeschlagen"
"allModelsAlreadyImported": "All models already imported",
"noNewModelsToImport": "No new models to import",
"skippingExistingModels": "Skipping {count} existing models"
},
"settings": {
"title": "Einstellungen",

View File

@@ -1477,6 +1477,9 @@
"chatCompletions": "Chat Completions",
"importingModels": "Importing...",
"importFromModels": "Import from /models",
"allModelsAlreadyImported": "All models already imported",
"noNewModelsToImport": "No new models to import — all models are already in the registry or custom models list",
"skippingExistingModels": "Skipping {count} existing models",
"autoSync": "Auto-Sync",
"autoSyncTooltip": "Automatically refresh model list every 24h (configurable via MODEL_SYNC_INTERVAL_HOURS)",
"autoSyncEnabled": "Auto-sync enabled — models will refresh periodically",

View File

@@ -1409,9 +1409,9 @@
"importingModels": "Importando...",
"importFromModels": "Importar desde /modelos",
"clearAllModels": "Borrar todos los modelos",
"clearAllModelsConfirm": "¿Estás seguro de que quieres eliminar todos los modelos de este proveedor? Esta acción no se puede deshacer.",
"clearAllModelsSuccess": "Todos los modelos eliminados",
"clearAllModelsFailed": "Error al eliminar los modelos",
"clearAllModelsConfirm": "¿Estás seguro de que quieres eliminar todos los modelos de este proveedor?",
"clearAllModelsSuccess": "Todos los modelos borrados",
"clearAllModelsFailed": "Error al borrar modelos",
"addConnectionToImport": "Agregue una conexión para permitir la importación.",
"noModelsConfigured": "No hay modelos configurados",
"connectionCount": "{count} conexión(es)",
@@ -1581,10 +1581,9 @@
"autoSyncEnabled": "Sincronización automática activada — los modelos se actualizarán periódicamente",
"autoSyncDisabled": "Sincronización automática desactivada",
"autoSyncToggleFailed": "Error al alternar sincronización automática",
"clearAllModels": "Borrar todos los modelos",
"clearAllModelsConfirm": "¿Estás seguro de que quieres eliminar todos los modelos de este proveedor?",
"clearAllModelsSuccess": "Todos los modelos borrados",
"clearAllModelsFailed": "Error al borrar modelos"
"allModelsAlreadyImported": "All models already imported",
"noNewModelsToImport": "No new models to import",
"skippingExistingModels": "Skipping {count} existing models"
},
"settings": {
"title": "Configuración",

View File

@@ -1411,7 +1411,7 @@
"clearAllModels": "Tyhjennä kaikki mallit",
"clearAllModelsConfirm": "Haluatko varmasti poistaa kaikki tämän palveluntarjoajan mallit? Tätä ei voi kumota.",
"clearAllModelsSuccess": "Kaikki mallit tyhjennetty",
"clearAllModelsFailed": "Mallien tyhjentäminen epäonnistui",
"clearAllModelsFailed": "Mallien tyhjennys epäonnistui",
"addConnectionToImport": "Lisää yhteys ottaaksesi tuonnin käyttöön.",
"noModelsConfigured": "Ei malleja määritetty",
"connectionCount": "{count} yhteyttä",
@@ -1581,10 +1581,9 @@
"autoSyncEnabled": "Automaattinen synkronointi käytössä mallit päivittyvät säännöllisesti",
"autoSyncDisabled": "Automaattinen synkronointi poistettu käytöstä",
"autoSyncToggleFailed": "Automaattisen synkronoinnin vaihtaminen epäonnistui",
"clearAllModels": "Tyhjennä kaikki mallit",
"clearAllModelsConfirm": "Haluatko varmasti poistaa kaikki tämän palveluntarjoajan mallit? Tätä ei voi kumota.",
"clearAllModelsSuccess": "Kaikki mallit tyhjennetty",
"clearAllModelsFailed": "Mallien tyhjennys epäonnistui"
"allModelsAlreadyImported": "All models already imported",
"noNewModelsToImport": "No new models to import",
"skippingExistingModels": "Skipping {count} existing models"
},
"settings": {
"title": "Asetukset",

View File

@@ -1408,10 +1408,10 @@
"chatCompletions": "Achèvements des discussions",
"importingModels": "Importation...",
"importFromModels": "Importer depuis /models",
"clearAllModels": "Supprimer tous les modèles",
"clearAllModelsConfirm": "Êtes-vous sûr de vouloir supprimer tous les modèles de ce fournisseur ? Cette action est irréversible.",
"clearAllModelsSuccess": "Tous les modèles supprimés",
"clearAllModelsFailed": "Échec de la suppression des modèles",
"clearAllModels": "Effacer tous les modèles",
"clearAllModelsConfirm": "Êtes-vous sûr de vouloir supprimer tous les modèles pour ce fournisseur?",
"clearAllModelsSuccess": "Tous les modèles effacés",
"clearAllModelsFailed": "Échec de l'effacement des modèles",
"addConnectionToImport": "Ajoutez une connexion pour activer l'importation.",
"noModelsConfigured": "Aucun modèle configuré",
"connectionCount": "{count} connexion(s)",
@@ -1581,10 +1581,9 @@
"autoSyncEnabled": "Synchronisation automatique activée — les modèles seront actualisés périodiquement",
"autoSyncDisabled": "Synchronisation automatique désactivée",
"autoSyncToggleFailed": "Échec de l'activation de la synchronisation automatique",
"clearAllModels": "Effacer tous les modèles",
"clearAllModelsConfirm": "Êtes-vous sûr de vouloir supprimer tous les modèles pour ce fournisseur?",
"clearAllModelsSuccess": "Tous les modèles effacés",
"clearAllModelsFailed": "Échec de l'effacement des modèles"
"allModelsAlreadyImported": "All models already imported",
"noNewModelsToImport": "No new models to import",
"skippingExistingModels": "Skipping {count} existing models"
},
"settings": {
"title": "Paramètres",

View File

@@ -1408,10 +1408,10 @@
"chatCompletions": "השלמת צ'אט",
"importingModels": "מייבא...",
"importFromModels": "ייבוא מ /models",
"clearAllModels": "מחק את כל המודלים",
"clearAllModelsConfirm": "האם אתה בטוח שברצונך להסיר את כל המודלים עבור ספק זה? לא ניתן לבטל פעולה זו.",
"clearAllModelsSuccess": "כל המודלים נמחקו",
"clearAllModelsFailed": "מחיקת המודלים נכשלה",
"clearAllModels": "נקה את כל הדגמים",
"clearAllModelsConfirm": "האם אתה בטוח שברצונך להסיר את כל הדגמים עבור ספק זה? לא ניתן לבטל זאת.",
"clearAllModelsSuccess": "כל הדגמים נוקו",
"clearAllModelsFailed": "ניקוי הדגמים נכשל",
"addConnectionToImport": "הוסף חיבור כדי לאפשר ייבוא.",
"noModelsConfigured": "לא הוגדרו דגמים",
"connectionCount": "{count} חיבור(ים)",
@@ -1581,10 +1581,9 @@
"autoSyncEnabled": "סנכרון אוטומטי מופעל - הדגמים יתרעננו מעת לעת",
"autoSyncDisabled": "הסנכרון האוטומטי מושבת",
"autoSyncToggleFailed": "החלפת הסנכרון האוטומטי נכשלה",
"clearAllModels": "נקה את כל הדגמים",
"clearAllModelsConfirm": "האם אתה בטוח שברצונך להסיר את כל הדגמים עבור ספק זה? לא ניתן לבטל זאת.",
"clearAllModelsSuccess": "כל הדגמים נוקו",
"clearAllModelsFailed": "ניקוי הדגמים נכשל"
"allModelsAlreadyImported": "All models already imported",
"noNewModelsToImport": "No new models to import",
"skippingExistingModels": "Skipping {count} existing models"
},
"settings": {
"title": "הגדרות",

View File

@@ -1479,7 +1479,10 @@
"compatUpstreamHeaderValue": "Value",
"compatUpstreamHeadersHint": "High-privilege setting — same trust level as editing provider API credentials; only trusted admins should use it. Merged after OmniRoute adds auth from the provider API key. If a custom header uses the same name as an existing one (e.g. Authorization), your value fully replaces the auto-generated header (including the Bearer token) — the upstream only sees what you typed, not the key from settings. Misconfiguration can cause 401 or broken upstream auth. One row per header (e.g. extra Authentication for some gateways). Hover or focus the value to preview. Saves on blur, outside click, or closing this panel.",
"compatUpstreamHeadersLabel": "Extra upstream headers",
"compatUpstreamRemoveRow": "Remove row"
"compatUpstreamRemoveRow": "Remove row",
"allModelsAlreadyImported": "All models already imported",
"noNewModelsToImport": "No new models to import",
"skippingExistingModels": "Skipping {count} existing models"
},
"settings": {
"title": "सेटिंग्स",

View File

@@ -1408,10 +1408,10 @@
"chatCompletions": "Csevegés befejezése",
"importingModels": "Importálás...",
"importFromModels": "Importálás a /models-ből",
"clearAllModels": "Összes modell törlése",
"clearAllModelsConfirm": "Biztosan el szeretné távolítani az összes modellt ehhez a szolgáltatóhoz? Ez a művelet nem vonható vissza.",
"clearAllModelsSuccess": "Összes modell törölve",
"clearAllModelsFailed": "A modellek törlése sikertelen",
"clearAllModels": "Minden modell törlése",
"clearAllModelsConfirm": "Biztosan eltávolítja ennek a szolgáltatónak az összes modelljét? Ezt nem lehet visszavonni.",
"clearAllModelsSuccess": "Minden modell törölve",
"clearAllModelsFailed": "Nem sikerült törölni a modelleket",
"addConnectionToImport": "Adjon hozzá egy kapcsolatot az importálás engedélyezéséhez.",
"noModelsConfigured": "Nincsenek konfigurálva modellek",
"connectionCount": "{count} kapcsolat",
@@ -1581,10 +1581,9 @@
"autoSyncEnabled": "Automatikus szinkronizálás engedélyezve a modellek rendszeresen frissülnek",
"autoSyncDisabled": "Az automatikus szinkronizálás letiltva",
"autoSyncToggleFailed": "Failed to toggle auto-sync",
"clearAllModels": "Minden modell törlése",
"clearAllModelsConfirm": "Biztosan eltávolítja ennek a szolgáltatónak az összes modelljét? Ezt nem lehet visszavonni.",
"clearAllModelsSuccess": "Minden modell törölve",
"clearAllModelsFailed": "Nem sikerült törölni a modelleket"
"allModelsAlreadyImported": "All models already imported",
"noNewModelsToImport": "No new models to import",
"skippingExistingModels": "Skipping {count} existing models"
},
"settings": {
"title": "Beállítások elemre",

View File

@@ -1409,7 +1409,7 @@
"importingModels": "Mengimpor...",
"importFromModels": "Impor dari /models",
"clearAllModels": "Hapus Semua Model",
"clearAllModelsConfirm": "Apakah Anda yakin ingin menghapus semua model untuk penyedia ini? Tindakan ini tidak dapat dibatalkan.",
"clearAllModelsConfirm": "Apakah Anda yakin ingin menghapus semua model untuk penyedia ini?",
"clearAllModelsSuccess": "Semua model dihapus",
"clearAllModelsFailed": "Gagal menghapus model",
"addConnectionToImport": "Tambahkan koneksi untuk mengaktifkan impor.",
@@ -1581,10 +1581,9 @@
"autoSyncEnabled": "Sinkronisasi otomatis diaktifkan — model akan disegarkan secara berkala",
"autoSyncDisabled": "Sinkronisasi otomatis dinonaktifkan",
"autoSyncToggleFailed": "Gagal mengaktifkan sinkronisasi otomatis",
"clearAllModels": "Hapus Semua Model",
"clearAllModelsConfirm": "Apakah Anda yakin ingin menghapus semua model untuk penyedia ini?",
"clearAllModelsSuccess": "Semua model dihapus",
"clearAllModelsFailed": "Gagal menghapus model"
"allModelsAlreadyImported": "All models already imported",
"noNewModelsToImport": "No new models to import",
"skippingExistingModels": "Skipping {count} existing models"
},
"settings": {
"title": "Pengaturan",

View File

@@ -1643,7 +1643,10 @@
"chatPathHint": "गैर-मानक एपीआई वाले प्रदाताओं के लिए कस्टम चैट पथ (जैसे /v4/चैट/पूर्णताएं)",
"modelsPathLabel": "मॉडल समापन बिंदु पथ",
"modelsPathPlaceholder": "/मॉडल",
"modelsPathHint": "सत्यापन के लिए कस्टम मॉडल पथ (जैसे /v4/मॉडल)"
"modelsPathHint": "सत्यापन के लिए कस्टम मॉडल पथ (जैसे /v4/मॉडल)",
"allModelsAlreadyImported": "All models already imported",
"noNewModelsToImport": "No new models to import",
"skippingExistingModels": "Skipping {count} existing models"
},
"settings": {
"title": "सेटिंग्स",

View File

@@ -1409,7 +1409,7 @@
"importingModels": "Importazione...",
"importFromModels": "Importa da /modelli",
"clearAllModels": "Cancella tutti i modelli",
"clearAllModelsConfirm": "Sei sicuro di voler rimuovere tutti i modelli per questo provider? Questa azione non può essere annullata.",
"clearAllModelsConfirm": "Sei sicuro di voler rimuovere tutti i modelli per questo provider?",
"clearAllModelsSuccess": "Tutti i modelli cancellati",
"clearAllModelsFailed": "Impossibile cancellare i modelli",
"addConnectionToImport": "Aggiungi una connessione per abilitare l'importazione.",
@@ -1581,10 +1581,9 @@
"autoSyncEnabled": "Sincronizzazione automatica abilitata — i modelli verranno aggiornati periodicamente",
"autoSyncDisabled": "Sincronizzazione automatica disabilitata",
"autoSyncToggleFailed": "Impossibile attivare la sincronizzazione automatica",
"clearAllModels": "Cancella tutti i modelli",
"clearAllModelsConfirm": "Sei sicuro di voler rimuovere tutti i modelli per questo provider?",
"clearAllModelsSuccess": "Tutti i modelli cancellati",
"clearAllModelsFailed": "Impossibile cancellare i modelli"
"allModelsAlreadyImported": "All models already imported",
"noNewModelsToImport": "No new models to import",
"skippingExistingModels": "Skipping {count} existing models"
},
"settings": {
"title": "Impostazioni",

View File

@@ -1409,9 +1409,9 @@
"importingModels": "インポート中...",
"importFromModels": "/models からインポート",
"clearAllModels": "すべてのモデルを削除",
"clearAllModelsConfirm": "このプロバイダーのすべてのモデルを削除してもよろしいですか?この操作は元に戻せません。",
"clearAllModelsConfirm": "このプロバイダーのすべてのモデルを削除してもよろしいですか?",
"clearAllModelsSuccess": "すべてのモデルを削除しました",
"clearAllModelsFailed": "モデルの削除に失敗しました",
"clearAllModelsFailed": "モデルの削除に失敗",
"addConnectionToImport": "接続を追加してインポートを有効にします。",
"noModelsConfigured": "モデルが設定されていません",
"connectionCount": "{count} 接続",
@@ -1581,10 +1581,9 @@
"autoSyncEnabled": "自動同期有効 — モデルは定期的に更新されます",
"autoSyncDisabled": "自動同期無効",
"autoSyncToggleFailed": "自動同期の切り替えに失敗",
"clearAllModels": "すべてのモデルを削除",
"clearAllModelsConfirm": "このプロバイダーのすべてのモデルを削除してもよろしいですか?",
"clearAllModelsSuccess": "すべてのモデルを削除しました",
"clearAllModelsFailed": "モデルの削除に失敗"
"allModelsAlreadyImported": "All models already imported",
"noNewModelsToImport": "No new models to import",
"skippingExistingModels": "Skipping {count} existing models"
},
"settings": {
"title": "設定",

View File

@@ -1408,10 +1408,10 @@
"chatCompletions": "채팅 완료",
"importingModels": "가져오는 중...",
"importFromModels": "/models에서 가져오기",
"clearAllModels": "모든 모델 지우기",
"clearAllModelsConfirm": "이 공자의 모든 모델을 제거하시겠습니까? 이 작업은 되돌릴 수 없습니다.",
"clearAllModelsSuccess": "모든 모델이 지워졌습니다",
"clearAllModelsFailed": "모델 지우기 실패",
"clearAllModels": "모든 모델 삭제",
"clearAllModelsConfirm": "이 공자의 모든 모델을 제거하시겠습니까?",
"clearAllModelsSuccess": "모든 모델 삭제됨",
"clearAllModelsFailed": "모델 삭제 실패",
"addConnectionToImport": "가져오기를 활성화하려면 연결을 추가하세요.",
"noModelsConfigured": "구성된 모델이 없습니다.",
"connectionCount": "{count} 연결",
@@ -1581,10 +1581,9 @@
"autoSyncEnabled": "자동 동기화 활성화 — 모델이 주기적으로 업데이트됩니다",
"autoSyncDisabled": "자동 동기화 비활성화",
"autoSyncToggleFailed": "자동 동기화 전환 실패",
"clearAllModels": "모든 모델 삭제",
"clearAllModelsConfirm": "이 공급자의 모든 모델을 제거하시겠습니까?",
"clearAllModelsSuccess": "모든 모델 삭제됨",
"clearAllModelsFailed": "모델 삭제 실패"
"allModelsAlreadyImported": "All models already imported",
"noNewModelsToImport": "No new models to import",
"skippingExistingModels": "Skipping {count} existing models"
},
"settings": {
"title": "설정",

View File

@@ -1408,10 +1408,10 @@
"chatCompletions": "Selesai Sembang",
"importingModels": "Mengimport...",
"importFromModels": "Import daripada /models",
"clearAllModels": "Padam Semua Model",
"clearAllModelsConfirm": "Adakah anda pasti mahu membuang semua model untuk pembekal ini? Tindakan ini tidak boleh dibuat asal.",
"clearAllModelsSuccess": "Semua model dipadamkan",
"clearAllModelsFailed": "Gagal memadamkan model",
"clearAllModels": "Kosongkan Semua Model",
"clearAllModelsConfirm": "Adakah anda pasti mahu mengalih keluar semua model untuk pembekal ini? Ini tidak boleh dibuat asal.",
"clearAllModelsSuccess": "Semua model dibersihkan",
"clearAllModelsFailed": "Gagal mengosongkan model",
"addConnectionToImport": "Tambahkan sambungan untuk mendayakan pengimportan.",
"noModelsConfigured": "Tiada model yang dikonfigurasikan",
"connectionCount": "{count} sambungan",
@@ -1581,10 +1581,9 @@
"autoSyncEnabled": "Autosegerak didayakan — model akan dimuat semula secara berkala",
"autoSyncDisabled": "Autosegerak dilumpuhkan",
"autoSyncToggleFailed": "Gagal untuk menogol autosegerak",
"clearAllModels": "Kosongkan Semua Model",
"clearAllModelsConfirm": "Adakah anda pasti mahu mengalih keluar semua model untuk pembekal ini? Ini tidak boleh dibuat asal.",
"clearAllModelsSuccess": "Semua model dibersihkan",
"clearAllModelsFailed": "Gagal mengosongkan model"
"allModelsAlreadyImported": "All models already imported",
"noNewModelsToImport": "No new models to import",
"skippingExistingModels": "Skipping {count} existing models"
},
"settings": {
"title": "tetapan",

View File

@@ -1408,10 +1408,10 @@
"chatCompletions": "Chat-voltooiingen",
"importingModels": "Importeren...",
"importFromModels": "Importeren uit /modellen",
"clearAllModels": "Alle modellen wissen",
"clearAllModelsConfirm": "Weet je zeker dat je alle modellen voor deze provider wilt verwijderen? Dit kan niet ongedaan worden gemaakt.",
"clearAllModels": "Wis alle modellen",
"clearAllModelsConfirm": "Weet u zeker dat u alle modellen voor deze aanbieder wilt verwijderen? Dit kan niet ongedaan worden gemaakt.",
"clearAllModelsSuccess": "Alle modellen gewist",
"clearAllModelsFailed": "Kon modellen niet wissen",
"clearAllModelsFailed": "Kan modellen niet wissen",
"addConnectionToImport": "Voeg een verbinding toe om importeren mogelijk te maken.",
"noModelsConfigured": "Geen modellen geconfigureerd",
"connectionCount": "{count} verbinding(en)",
@@ -1581,10 +1581,9 @@
"autoSyncEnabled": "Automatische synchronisatie ingeschakeld: modellen worden periodiek vernieuwd",
"autoSyncDisabled": "Automatische synchronisatie uitgeschakeld",
"autoSyncToggleFailed": "Kan automatische synchronisatie niet in- of uitschakelen",
"clearAllModels": "Wis alle modellen",
"clearAllModelsConfirm": "Weet u zeker dat u alle modellen voor deze aanbieder wilt verwijderen? Dit kan niet ongedaan worden gemaakt.",
"clearAllModelsSuccess": "Alle modellen gewist",
"clearAllModelsFailed": "Kan modellen niet wissen"
"allModelsAlreadyImported": "All models already imported",
"noNewModelsToImport": "No new models to import",
"skippingExistingModels": "Skipping {count} existing models"
},
"settings": {
"title": "Instellingen",

View File

@@ -1408,9 +1408,9 @@
"chatCompletions": "Chatfullføringer",
"importingModels": "Importerer...",
"importFromModels": "Importer fra /models",
"clearAllModels": "Slett alle modeller",
"clearAllModelsConfirm": "Er du sikker på at du vil fjerne alle modeller for denne leverandøren? Dette kan ikke angres.",
"clearAllModelsSuccess": "Alle modeller slettet",
"clearAllModels": "Fjern alle modeller",
"clearAllModelsConfirm": "Er du sikker på at du vil fjerne alle modellene for denne leverandøren? Dette kan ikke angres.",
"clearAllModelsSuccess": "Alle modeller ryddet",
"clearAllModelsFailed": "Kunne ikke slette modeller",
"addConnectionToImport": "Legg til en tilkobling for å aktivere import.",
"noModelsConfigured": "Ingen modeller er konfigurert",
@@ -1581,10 +1581,9 @@
"autoSyncEnabled": "Automatisk synkronisering aktivert modellene oppdateres med jevne mellomrom",
"autoSyncDisabled": "Automatisk synkronisering er deaktivert",
"autoSyncToggleFailed": "Kunne ikke slå på automatisk synkronisering",
"clearAllModels": "Fjern alle modeller",
"clearAllModelsConfirm": "Er du sikker på at du vil fjerne alle modellene for denne leverandøren? Dette kan ikke angres.",
"clearAllModelsSuccess": "Alle modeller ryddet",
"clearAllModelsFailed": "Kunne ikke slette modeller"
"allModelsAlreadyImported": "All models already imported",
"noNewModelsToImport": "No new models to import",
"skippingExistingModels": "Skipping {count} existing models"
},
"settings": {
"title": "Innstillinger",

View File

@@ -1408,10 +1408,10 @@
"chatCompletions": "Mga Pagkumpleto ng Chat",
"importingModels": "Ini-import...",
"importFromModels": "Mag-import mula sa /models",
"clearAllModels": "Burahin Lahat ng Modelo",
"clearAllModelsConfirm": "Sigurado ka bang gusto mong alisin lahat ng modelo para sa provider na ito? Hindi na ito mababawi.",
"clearAllModelsSuccess": "Lahat ng modelo ay nabura",
"clearAllModelsFailed": "Nabigong burahin ang mga modelo",
"clearAllModels": "I-clear ang Lahat ng Modelo",
"clearAllModelsConfirm": "Sigurado ka bang gusto mong alisin ang lahat ng modelo para sa provider na ito? Hindi na ito maaaring bawiin.",
"clearAllModelsSuccess": "Na-clear ang lahat ng mga modelo",
"clearAllModelsFailed": "Nabigong i-clear ang mga modelo",
"addConnectionToImport": "Magdagdag ng koneksyon upang paganahin ang pag-import.",
"noModelsConfigured": "Walang mga modelong na-configure",
"connectionCount": "{count} (mga) koneksyon",
@@ -1581,10 +1581,9 @@
"autoSyncEnabled": "Pinagana ang auto-sync — pana-panahong magre-refresh ang mga modelo",
"autoSyncDisabled": "Na-disable ang auto-sync",
"autoSyncToggleFailed": "Nabigong i-toggle ang auto-sync",
"clearAllModels": "I-clear ang Lahat ng Modelo",
"clearAllModelsConfirm": "Sigurado ka bang gusto mong alisin ang lahat ng modelo para sa provider na ito? Hindi na ito maaaring bawiin.",
"clearAllModelsSuccess": "Na-clear ang lahat ng mga modelo",
"clearAllModelsFailed": "Nabigong i-clear ang mga modelo"
"allModelsAlreadyImported": "All models already imported",
"noNewModelsToImport": "No new models to import",
"skippingExistingModels": "Skipping {count} existing models"
},
"settings": {
"title": "Mga setting",

View File

@@ -1409,7 +1409,7 @@
"importingModels": "Importowanie...",
"importFromModels": "Importuj z /modele",
"clearAllModels": "Wyczyść wszystkie modele",
"clearAllModelsConfirm": "Czy na pewno chcesz usunąć wszystkie modele dla tego dostawcy? Tej operacji nie można cofnąć.",
"clearAllModelsConfirm": "Czy na pewno chcesz usunąć wszystkie modele dla tego dostawcy?",
"clearAllModelsSuccess": "Wszystkie modele wyczyszczone",
"clearAllModelsFailed": "Nie udało się wyczyścić modeli",
"addConnectionToImport": "Dodaj połączenie, aby umożliwić importowanie.",
@@ -1581,10 +1581,9 @@
"autoSyncEnabled": "Automatyczna synchronizacja włączona — modele będą okresowo odświeżane",
"autoSyncDisabled": "Automatyczna synchronizacja wyłączona",
"autoSyncToggleFailed": "Nie udało się przełączyć automatycznej synchronizacji",
"clearAllModels": "Wyczyść wszystkie modele",
"clearAllModelsConfirm": "Czy na pewno chcesz usunąć wszystkie modele dla tego dostawcy?",
"clearAllModelsSuccess": "Wszystkie modele wyczyszczone",
"clearAllModelsFailed": "Nie udało się wyczyścić modeli"
"allModelsAlreadyImported": "All models already imported",
"noNewModelsToImport": "No new models to import",
"skippingExistingModels": "Skipping {count} existing models"
},
"settings": {
"title": "Ustawienia",

View File

@@ -1420,10 +1420,10 @@
"chatCompletions": "Chat Completions",
"importingModels": "Importando...",
"importFromModels": "Importar de /models",
"clearAllModels": "Limpar Todos os Modelos",
"clearAllModelsConfirm": "Tem certeza de que deseja remover todos os modelos deste provedor? Esta ação não pode ser desfeita.",
"clearAllModelsSuccess": "Todos os modelos foram limpos",
"clearAllModelsFailed": "Falha ao limpar os modelos",
"clearAllModels": "Limpar todos os modelos",
"clearAllModelsConfirm": "Tem certeza de que deseja remover todos os modelos deste provedor? Isto não pode ser desfeito.",
"clearAllModelsSuccess": "Todos os modelos foram apagados",
"clearAllModelsFailed": "Falha ao limpar modelos",
"addConnectionToImport": "Adicione uma conexão para habilitar importação.",
"noModelsConfigured": "Nenhum modelo configurado",
"connectionCount": "{count} conexão(ões)",
@@ -1599,10 +1599,9 @@
"autoSyncEnabled": "Sincronização automática habilitada os modelos serão atualizados periodicamente",
"autoSyncDisabled": "Sincronização automática desativada",
"autoSyncToggleFailed": "Falha ao alternar a sincronização automática",
"clearAllModels": "Limpar todos os modelos",
"clearAllModelsConfirm": "Tem certeza de que deseja remover todos os modelos deste provedor? Isto não pode ser desfeito.",
"clearAllModelsSuccess": "Todos os modelos foram apagados",
"clearAllModelsFailed": "Falha ao limpar modelos"
"allModelsAlreadyImported": "All models already imported",
"noNewModelsToImport": "No new models to import",
"skippingExistingModels": "Skipping {count} existing models"
},
"settings": {
"title": "Configurações",

View File

@@ -1420,10 +1420,10 @@
"chatCompletions": "Conclusões de bate-papo",
"importingModels": "Importando...",
"importFromModels": "Importar de /modelos",
"clearAllModels": "Limpar Todos os Modelos",
"clearAllModelsConfirm": "Tem a certeza de que quer remover todos os modelos deste fornecedor? Esta ação não pode ser revertida.",
"clearAllModelsSuccess": "Todos os modelos foram limpos",
"clearAllModelsFailed": "Falha ao limpar os modelos",
"clearAllModels": "Limpar todos os modelos",
"clearAllModelsConfirm": "Tem certeza que deseja remover todos os modelos deste provedor?",
"clearAllModelsSuccess": "Todos os modelos limpos",
"clearAllModelsFailed": "Falha ao limpar modelos",
"addConnectionToImport": "Adicione uma conexão para permitir a importação.",
"noModelsConfigured": "Nenhum modelo configurado",
"connectionCount": "{count} conexões",
@@ -1593,10 +1593,9 @@
"autoSyncEnabled": "Sincronização automática ativada — modelos serão atualizados periodicamente",
"autoSyncDisabled": "Sincronização automática desativada",
"autoSyncToggleFailed": "Falha ao alternar sincronização automática",
"clearAllModels": "Limpar todos os modelos",
"clearAllModelsConfirm": "Tem certeza que deseja remover todos os modelos deste provedor?",
"clearAllModelsSuccess": "Todos os modelos limpos",
"clearAllModelsFailed": "Falha ao limpar modelos"
"allModelsAlreadyImported": "All models already imported",
"noNewModelsToImport": "No new models to import",
"skippingExistingModels": "Skipping {count} existing models"
},
"settings": {
"title": "Configurações",

View File

@@ -1408,10 +1408,10 @@
"chatCompletions": "Finalizări de chat",
"importingModels": "Se importă...",
"importFromModels": "Import din /modele",
"clearAllModels": "Șterge toate modelele",
"clearAllModelsConfirm": "Ești sigur că vrei să elimini toate modelele pentru acest furnizor? Această acțiune nu poate fi anulată.",
"clearAllModelsSuccess": "Toate modelele au fost șterse",
"clearAllModelsFailed": "Ștergerea modelelor a eșuat",
"clearAllModels": "Ștergeți toate modelele",
"clearAllModelsConfirm": "Sigur doriți să elimini toate modelele pentru acest furnizor? Acest lucru nu poate fi anulat.",
"clearAllModelsSuccess": "Toate modelele au fost eliminate",
"clearAllModelsFailed": "Nu s-au șters modelele",
"addConnectionToImport": "Adăugați o conexiune pentru a activa importul.",
"noModelsConfigured": "Nu au fost configurate modele",
"connectionCount": "{count} conexiuni",
@@ -1581,10 +1581,9 @@
"autoSyncEnabled": "Sincronizare automată activată — modelele se vor reîmprospăta periodic",
"autoSyncDisabled": "Sincronizarea automată a fost dezactivată",
"autoSyncToggleFailed": "Nu s-a putut comuta sincronizarea automată",
"clearAllModels": "Ștergeți toate modelele",
"clearAllModelsConfirm": "Sigur doriți să eliminați toate modelele pentru acest furnizor? Acest lucru nu poate fi anulat.",
"clearAllModelsSuccess": "Toate modelele au fost eliminate",
"clearAllModelsFailed": "Nu s-au șters modelele"
"allModelsAlreadyImported": "All models already imported",
"noNewModelsToImport": "No new models to import",
"skippingExistingModels": "Skipping {count} existing models"
},
"settings": {
"title": "Setări",

View File

@@ -1409,7 +1409,7 @@
"importingModels": "Импорт...",
"importFromModels": "Импорт из /модели",
"clearAllModels": "Очистить все модели",
"clearAllModelsConfirm": "Вы уверены, что хотите удалить все модели для этого провайдера? Это действие нельзя отменить.",
"clearAllModelsConfirm": "Вы уверены, что хотите удалить все модели для этого провайдера?",
"clearAllModelsSuccess": "Все модели очищены",
"clearAllModelsFailed": "Не удалось очистить модели",
"addConnectionToImport": "Добавьте соединение, чтобы включить импорт.",
@@ -1581,10 +1581,9 @@
"autoSyncEnabled": "Автосинхронизация включена — модели будут периодически обновляться",
"autoSyncDisabled": "Автосинхронизация отключена",
"autoSyncToggleFailed": "Не удалось переключить автосинхронизацию",
"clearAllModels": "Очистить все модели",
"clearAllModelsConfirm": "Вы уверены, что хотите удалить все модели для этого провайдера?",
"clearAllModelsSuccess": "Все модели очищены",
"clearAllModelsFailed": "Не удалось очистить модели"
"allModelsAlreadyImported": "All models already imported",
"noNewModelsToImport": "No new models to import",
"skippingExistingModels": "Skipping {count} existing models"
},
"settings": {
"title": "Настройки",

View File

@@ -1409,9 +1409,9 @@
"importingModels": "Importuje sa...",
"importFromModels": "Importovať z /models",
"clearAllModels": "Vymazať všetky modely",
"clearAllModelsConfirm": "Ste si istý, že chcete odstrániť všetky modely pre tohto poskytovateľa? Túto akciu nie je možné vrátiť.",
"clearAllModelsSuccess": "Všetky modely vymazané",
"clearAllModelsFailed": "Nepodarilo sa vymazať modely",
"clearAllModelsConfirm": "Naozaj chcete odstrániť všetky modely tohto poskytovateľa? Toto sa nedá vrátiť späť.",
"clearAllModelsSuccess": "Všetky modely vymazané",
"clearAllModelsFailed": "Nepodarilo sa vyčistiť modely",
"addConnectionToImport": "Ak chcete povoliť import, pridajte pripojenie.",
"noModelsConfigured": "Nie sú nakonfigurované žiadne modely",
"connectionCount": "{count} pripojení",
@@ -1581,10 +1581,9 @@
"autoSyncEnabled": "Automatická synchronizácia povolená modely sa budú pravidelne obnovovať",
"autoSyncDisabled": "Automatická synchronizácia je zakázaná",
"autoSyncToggleFailed": "Nepodarilo sa prepnúť automatickú synchronizáciu",
"clearAllModels": "Vymazať všetky modely",
"clearAllModelsConfirm": "Naozaj chcete odstrániť všetky modely tohto poskytovateľa? Toto sa nedá vrátiť späť.",
"clearAllModelsSuccess": "Všetky modely sú vymazané",
"clearAllModelsFailed": "Nepodarilo sa vyčistiť modely"
"allModelsAlreadyImported": "All models already imported",
"noNewModelsToImport": "No new models to import",
"skippingExistingModels": "Skipping {count} existing models"
},
"settings": {
"title": "Nastavenia",

View File

@@ -1409,9 +1409,9 @@
"importingModels": "Importerar...",
"importFromModels": "Importera från /models",
"clearAllModels": "Rensa alla modeller",
"clearAllModelsConfirm": "Är du säker på att du vill ta bort alla modeller för denna leverantör? Detta kan inte ångras.",
"clearAllModelsConfirm": "Är du säker på att du vill ta bort alla modeller för den här leverantören? Detta kan inte ångras.",
"clearAllModelsSuccess": "Alla modeller rensade",
"clearAllModelsFailed": "Kunde inte rensa modeller",
"clearAllModelsFailed": "Det gick inte att rensa modeller",
"addConnectionToImport": "Lägg till en anslutning för att aktivera import.",
"noModelsConfigured": "Inga modeller har konfigurerats",
"connectionCount": "{count} anslutning(ar)",
@@ -1581,10 +1581,9 @@
"autoSyncEnabled": "Automatisk synkronisering aktiverad — modeller uppdateras regelbundet",
"autoSyncDisabled": "Automatisk synkronisering inaktiverad",
"autoSyncToggleFailed": "Det gick inte att växla automatisk synkronisering",
"clearAllModels": "Rensa alla modeller",
"clearAllModelsConfirm": "Är du säker på att du vill ta bort alla modeller för den här leverantören? Detta kan inte ångras.",
"clearAllModelsSuccess": "Alla modeller rensade",
"clearAllModelsFailed": "Det gick inte att rensa modeller"
"allModelsAlreadyImported": "All models already imported",
"noNewModelsToImport": "No new models to import",
"skippingExistingModels": "Skipping {count} existing models"
},
"settings": {
"title": "Inställningar",

View File

@@ -1408,9 +1408,9 @@
"chatCompletions": "เสร็จสิ้นการแชท",
"importingModels": "กำลังนำเข้า...",
"importFromModels": "นำเข้าจาก /models",
"clearAllModels": "ล้างโมเดลทั้งหมด",
"clearAllModelsConfirm": "คุณแน่ใจหรือไม่ว่าต้องการลบโมเดลทั้งหมดของผู้ให้บริการนี้? การดำเนินการนี้ไม่สามารถย้อนกลับได้",
"clearAllModelsSuccess": "ล้างโมเดลทั้งหมดแล้ว",
"clearAllModels": "ล้างทุกรุ่น",
"clearAllModelsConfirm": "คุณแน่ใจหรือไม่ว่าต้องการลบโมเดลทั้งหมดสำหรับผู้ให้บริการรายนี้ สิ่งนี้ไม่สามารถยกเลิกได้",
"clearAllModelsSuccess": "เคลียร์ทุกรุ่น",
"clearAllModelsFailed": "ไม่สามารถล้างโมเดลได้",
"addConnectionToImport": "เพิ่มการเชื่อมต่อเพื่อเปิดใช้งานการนำเข้า",
"noModelsConfigured": "ไม่มีโมเดลที่กำหนดค่าไว้",
@@ -1581,10 +1581,9 @@
"autoSyncEnabled": "เปิดใช้งานการซิงค์อัตโนมัติ — โมเดลจะรีเฟรชเป็นระยะ",
"autoSyncDisabled": "ปิดใช้งานการซิงค์อัตโนมัติแล้ว",
"autoSyncToggleFailed": "ไม่สามารถสลับการซิงค์อัตโนมัติ",
"clearAllModels": "ล้างทุกรุ่น",
"clearAllModelsConfirm": "คุณแน่ใจหรือไม่ว่าต้องการลบโมเดลทั้งหมดสำหรับผู้ให้บริการรายนี้ สิ่งนี้ไม่สามารถยกเลิกได้",
"clearAllModelsSuccess": "เคลียร์ทุกรุ่น",
"clearAllModelsFailed": "ไม่สามารถล้างโมเดลได้"
"allModelsAlreadyImported": "All models already imported",
"noNewModelsToImport": "No new models to import",
"skippingExistingModels": "Skipping {count} existing models"
},
"settings": {
"title": "การตั้งค่า",

View File

@@ -1641,7 +1641,10 @@
"chatPathHint": "Standart dışı API'lere sahip sağlayıcılar için özel sohbet yolu (ör. /v4/chat/completions)",
"modelsPathLabel": "Model Uç Noktası Yolu",
"modelsPathPlaceholder": "/models",
"modelsPathHint": "Doğrulama için özel model yolu (ör. /v4/models)"
"modelsPathHint": "Doğrulama için özel model yolu (ör. /v4/models)",
"allModelsAlreadyImported": "All models already imported",
"noNewModelsToImport": "No new models to import",
"skippingExistingModels": "Skipping {count} existing models"
},
"settings": {
"title": "Ayarlar",

View File

@@ -1409,8 +1409,8 @@
"importingModels": "Імпорт...",
"importFromModels": "Імпортувати з /models",
"clearAllModels": "Очистити всі моделі",
"clearAllModelsConfirm": "Ви впевнені, що хочете видалити всі моделі для цього провайдера? Цю дію неможливо скасувати.",
"clearAllModelsSuccess": "Усі моделі очищено",
"clearAllModelsConfirm": "Ви впевнені, що хочете видалити всі моделі цього постачальника? Це неможливо скасувати.",
"clearAllModelsSuccess": "Всі моделі розмитнені",
"clearAllModelsFailed": "Не вдалося очистити моделі",
"addConnectionToImport": "Додайте підключення, щоб увімкнути імпорт.",
"noModelsConfigured": "Немає налаштованих моделей",
@@ -1581,10 +1581,9 @@
"autoSyncEnabled": "Автоматична синхронізація ввімкнена — моделі періодично оновлюватимуться",
"autoSyncDisabled": "Автоматична синхронізація вимкнена",
"autoSyncToggleFailed": "Не вдалося вимкнути автоматичну синхронізацію",
"clearAllModels": "Очистити всі моделі",
"clearAllModelsConfirm": "Ви впевнені, що хочете видалити всі моделі цього постачальника? Це неможливо скасувати.",
"clearAllModelsSuccess": "Всі моделі розмитнені",
"clearAllModelsFailed": "Не вдалося очистити моделі"
"allModelsAlreadyImported": "All models already imported",
"noNewModelsToImport": "No new models to import",
"skippingExistingModels": "Skipping {count} existing models"
},
"settings": {
"title": "Налаштування",

View File

@@ -1408,10 +1408,10 @@
"chatCompletions": "Hoàn thành cuộc trò chuyện",
"importingModels": "Đang nhập khẩu...",
"importFromModels": "Nhập từ /model",
"clearAllModels": "Xóa tất cả mô hình",
"clearAllModelsConfirm": "Bạn có chắc chắn muốn xóa tất cả mô hình của nhà cung cấp này? Hành động này không thể hoàn tác.",
"clearAllModelsSuccess": "Đã xóa tất cả mô hình",
"clearAllModelsFailed": "Không thể xóa mô hình",
"clearAllModels": "Xóa tất cả các mẫu",
"clearAllModelsConfirm": "Bạn có chắc chắn muốn xóa tất cả mô hình của nhà cung cấp này không? Điều này không thể hoàn tác được.",
"clearAllModelsSuccess": "Tất cả các mô hình đã bị xóa",
"clearAllModelsFailed": "Không xóa được mô hình",
"addConnectionToImport": "Thêm kết nối để cho phép nhập.",
"noModelsConfigured": "Không có mô hình nào được định cấu hình",
"connectionCount": "{count} kết nối",
@@ -1581,10 +1581,9 @@
"autoSyncEnabled": "Đã bật tự động đồng bộ hóa - các mô hình sẽ làm mới định kỳ",
"autoSyncDisabled": "Tự động đồng bộ hóa đã bị tắt",
"autoSyncToggleFailed": "Không chuyển đổi được tính năng tự động đồng bộ hóa",
"clearAllModels": "Xóa tất cả các mẫu",
"clearAllModelsConfirm": "Bạn có chắc chắn muốn xóa tất cả mô hình của nhà cung cấp này không? Điều này không thể hoàn tác được.",
"clearAllModelsSuccess": "Tất cả các mô hình đã bị xóa",
"clearAllModelsFailed": "Không xóa được mô hình"
"allModelsAlreadyImported": "All models already imported",
"noNewModelsToImport": "No new models to import",
"skippingExistingModels": "Skipping {count} existing models"
},
"settings": {
"title": "Cài đặt",

View File

@@ -1648,7 +1648,10 @@
"chatPathHint": "为非标准 API 的提供商自定义聊天路径(例如:/v4/chat/completions",
"modelsPathLabel": "模型端点路径",
"modelsPathPlaceholder": "/models",
"modelsPathHint": "为验证流程自定义模型路径(例如:/v4/models"
"modelsPathHint": "为验证流程自定义模型路径(例如:/v4/models",
"allModelsAlreadyImported": "All models already imported",
"noNewModelsToImport": "No new models to import",
"skippingExistingModels": "Skipping {count} existing models"
},
"settings": {
"title": "设置",