From d8a2be8edc96aa95d4ed4ac7ffc59bb6dd7f200f Mon Sep 17 00:00:00 2001 From: Will Miao Date: Sat, 29 Aug 2026 12:42:32 +0800 Subject: [PATCH] fix(i18n): normalize terminology and register across all locales MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit One term = one rendering per language; the mandatory fixes (see docs/i18n-translation-guidelines.md §2/§5): - fr: recette(s) -> Recipe(s) per glossary decision; checkpoint literal 'Point de contrôle'/'hachage'/'étiquettes'/'dupliquées'/'mode lot' unified - de: leftover English 'Recipe' -> Rezept; Basis-Modell -> Basismodell; Modelldaten -> Metadaten; bulk action label; du -> Sie (formal) - es: 'Punto(s) de control' -> Checkpoint(s); flujo de trabajo -> workflow; palabras clave -> palabras de activación; preset -> preajuste; bulk -> por lotes - ru: Контрольные точки/Чекпойнт -> Checkpoint; Эмбеддинг -> Embedding; запрос -> промпт (prompt sense only); рабочий процесс -> workflow; хэш -> хеш; безпотерьного typo - he: נקודות ביקורת -> Checkpoint(s) (was literal road checkpoint); הטמעות -> Embedding; האש/גיבוב -> hash (האש reads as 'the fire'); הנחיה -> פרומפט; מטא-דאטה -> מטא-נתונים; דגם -> מודל; bulk feature name unified - ja: チェックポイント/checkpoint -> Checkpoint; バルクモード -> 一括モード; recipe counter 個 -> 件; leftover English Recipe Manager translated - ko: 체크포인트 -> Checkpoint; 임베딩 -> Embedding; 기본 모델 -> 베이스 모델; 워크플로우 -> 워크플로; 벌크 모드 -> 일괄 모드; Checkpoint을 -> Checkpoint를 - zh-CN: 食谱 -> 配方; 检查点 -> Checkpoint; 基模型 -> 基础模型; 您 -> 你 - zh-TW: 食譜 -> 配方; 檢查點 -> Checkpoint; 你 -> 您 (18 keys) --- locales/de.json | 86 +++++++++++------------ locales/es.json | 94 ++++++++++++------------- locales/fr.json | 148 +++++++++++++++++++-------------------- locales/he.json | 170 ++++++++++++++++++++++----------------------- locales/ja.json | 30 ++++---- locales/ko.json | 38 +++++----- locales/ru.json | 50 ++++++------- locales/zh-CN.json | 54 +++++++------- locales/zh-TW.json | 78 ++++++++++----------- 9 files changed, 374 insertions(+), 374 deletions(-) diff --git a/locales/de.json b/locales/de.json index 36b509c2..441660f5 100644 --- a/locales/de.json +++ b/locales/de.json @@ -66,8 +66,8 @@ }, "steps": { "fetch": { - "title": "Modelldaten abrufen", - "content": "Klicken Sie auf die Schaltfläche Abrufen, um Modelldaten und Vorschaubilder von CivitAI herunterzuladen." + "title": "Metadaten abrufen", + "content": "Klicken Sie auf die Schaltfläche Abrufen, um Metadaten und Vorschaubilder von CivitAI herunterzuladen." }, "download": { "title": "Neue Modelle herunterladen", @@ -83,7 +83,7 @@ }, "filter": { "title": "Modelle filtern", - "content": "Verwenden Sie Filter, um Modelle nach Basis-Modelltyp (SD1.5, SDXL, Flux usw.) oder bestimmten Tags einzugrenzen." + "content": "Verwenden Sie Filter, um Modelle nach Basismodelltyp (SD1.5, SDXL, Flux usw.) oder bestimmten Tags einzugrenzen." }, "breadcrumb": { "title": "Breadcrumb-Navigation", @@ -180,11 +180,11 @@ "error": "Failed to refresh license metadata for {typePlural}: {message}" }, "repairRecipes": { - "label": "Recipe-Daten reparieren", - "loading": "Recipe-Daten werden repariert...", + "label": "Rezept-Daten reparieren", + "loading": "Rezept-Daten werden repariert...", "success": "{count} Rezepte erfolgreich repariert.", "cancelled": "Reparatur abgebrochen. {count} Rezepte wurden repariert.", - "error": "Recipe-Reparatur fehlgeschlagen: {message}" + "error": "Rezept-Reparatur fehlgeschlagen: {message}" }, "rematchRecipes": { "label": "Rezepte lokalen Modellen neu zuordnen", @@ -242,7 +242,7 @@ "presetDeleteConfirmClick": "Zum Bestätigen erneut klicken", "presetOverwriteConfirm": "Voreinstellung \"{name}\" existiert bereits. Überschreiben?", "presetNamePlaceholder": "Voreinstellungsname...", - "baseModel": "Basis-Modell", + "baseModel": "Basismodell", "baseModelSearchPlaceholder": "Basismodelle durchsuchen...", "modelTags": "Tags", "modelTypes": "Modelltypen", @@ -406,8 +406,8 @@ "retention": "Aufbewahrungsanzahl", "retentionHelp": "Wie viele automatische Schnappschüsse behalten werden, bevor ältere entfernt werden.", "management": "Backup-Verwaltung", - "managementHelp": "Exportiere deinen aktuellen Benutzerstatus oder stelle ihn aus einem Backup-Archiv wieder her.", - "scopeHelp": "Sichert deine Einstellungen, den Downloadverlauf und den Status der Modellaktualisierung. Modelldateien und neu erzeugbare Caches sind nicht enthalten.", + "managementHelp": "Exportieren Sie Ihren aktuellen Benutzerstatus oder stellen Sie ihn aus einem Backup-Archiv wieder her.", + "scopeHelp": "Sichert Ihre Einstellungen, den Downloadverlauf und den Status der Modellaktualisierung. Modelldateien und neu erzeugbare Caches sind nicht enthalten.", "locationSummary": "Aktueller Backup-Speicherort", "openFolderButton": "Backup-Ordner öffnen", "openFolderSuccess": "Backup-Ordner geöffnet", @@ -559,13 +559,13 @@ "availablePlaceholders": "Verfügbare Platzhalter:", "templateOptions": { "flatStructure": "Flache Struktur", - "byBaseModel": "Nach Basis-Modell", + "byBaseModel": "Nach Basismodell", "byAuthor": "Nach Autor", "byFirstTag": "Nach erstem Tag", - "baseModelFirstTag": "Basis-Modell + Erster Tag", - "baseModelAuthor": "Basis-Modell + Autor", + "baseModelFirstTag": "Basismodell + Erster Tag", + "baseModelAuthor": "Basismodell + Autor", "authorFirstTag": "Autor + Erster Tag", - "baseModelAuthorFirstTag": "Basis-Modell + Autor + Erster Tag", + "baseModelAuthorFirstTag": "Basismodell + Autor + Erster Tag", "customTemplate": "Benutzerdefinierte Vorlage" }, "customTemplatePlaceholder": "Benutzerdefinierte Vorlage eingeben (z.B. {base_model}/{author}/{first_tag})", @@ -574,10 +574,10 @@ "checkpoint": "Checkpoint", "embedding": "Embedding" }, - "baseModelPathMappings": "Basis-Modell-Pfad-Zuordnungen", - "baseModelPathMappingsHelp": "Passen Sie Ordnernamen für spezifische Basis-Modelle an (z.B. \"Flux.1 D\" → \"flux\")", + "baseModelPathMappings": "Basismodell-Pfad-Zuordnungen", + "baseModelPathMappingsHelp": "Passen Sie Ordnernamen für spezifische Basismodelle an (z.B. \"Flux.1 D\" → \"flux\")", "addMapping": "Zuordnung hinzufügen", - "selectBaseModel": "Basis-Modell auswählen", + "selectBaseModel": "Basismodell auswählen", "customPathPlaceholder": "Benutzerdefinierter Pfad (z.B. flux)", "removeMapping": "Zuordnung entfernen", "validation": { @@ -617,7 +617,7 @@ }, "versionGrouping": { "label": "Strategie für Update-Markierungen", - "help": "Entscheide, ob Update-Badges nur dann erscheinen, wenn eine neue Version dasselbe Basismodell wie deine lokalen Dateien verwendet, oder sobald es irgendein neueres Release für dieses Modell gibt.", + "help": "Entscheiden Sie, ob Update-Badges nur dann erscheinen, wenn eine neue Version dasselbe Basismodell wie Ihre lokalen Dateien verwendet, oder sobald es irgendein neueres Release für dieses Modell gibt.", "options": { "sameBase": "Updates nach Basismodell abgleichen", "any": "Jede verfügbare Aktualisierung markieren" @@ -759,7 +759,7 @@ }, "bulk": { "title": "Massenoperationen", - "action": "Massen" + "action": "Massenbearbeitung" }, "duplicates": { "title": "Duplikate finden", @@ -782,7 +782,7 @@ "selectedSuffix": "ausgewählt", "viewSelected": "Auswahl anzeigen", "addTags": "Allen Tags hinzufügen", - "setBaseModel": "Basis-Modell für alle festlegen", + "setBaseModel": "Basismodell für alle festlegen", "setContentRating": "Inhaltsbewertung für alle festlegen", "copyAll": "Alle Syntax kopieren", "refreshAll": "Alle Metadaten aktualisieren", @@ -890,8 +890,8 @@ "notInLibrary": "Nicht in Bibliothek", "deleted": "Gelöscht", "hashInvalid": "Nicht auflösbarer Hash", - "inLibraryTooltip": "Dieses Modell ist in deiner lokalen Bibliothek vorhanden", - "notInLibraryTooltip": "Dieses Modell ist nicht in deiner Bibliothek", + "inLibraryTooltip": "Dieses Modell ist in Ihrer lokalen Bibliothek vorhanden", + "notInLibraryTooltip": "Dieses Modell ist nicht in Ihrer Bibliothek", "deletedTooltip": "Dieses LoRA wurde an der Quelle gelöscht und kann nicht mehr heruntergeladen werden", "hashInvalidTooltip": "Dieser LoRA-Hash kann auf CivitAI nicht aufgelöst werden - das Modell wurde möglicherweise aktualisiert", "download": "Herunterladen", @@ -1228,7 +1228,7 @@ }, "charts": { "collectionOverview": "Sammlungsübersicht", - "baseModelDistribution": "Basis-Modell-Verteilung", + "baseModelDistribution": "Basismodell-Verteilung", "usageTrends": "Nutzungstrends (Letzte 30 Tage)", "usageDistribution": "Nutzungsverteilung", "date": "Datum", @@ -1366,7 +1366,7 @@ "clearCache": { "title": "Cache-Dateien löschen", "message": "Sind Sie sicher, dass Sie alle Cache-Dateien löschen möchten?", - "description": "Dies entfernt alle zwischengespeicherten Modelldaten. Das System muss beim nächsten Start den Cache neu aufbauen, was je nach Größe Ihrer Modellsammlung einige Zeit dauern kann.", + "description": "Dies entfernt alle zwischengespeicherten Metadaten. Das System muss beim nächsten Start den Cache neu aufbauen, was je nach Größe Ihrer Modellsammlung einige Zeit dauern kann.", "action": "Cache löschen" }, "bulkDelete": { @@ -1383,8 +1383,8 @@ }, "checkUpdates": { "title": "Alle {typePlural} auf Updates prüfen?", - "message": "Damit werden alle {typePlural} in deiner Bibliothek auf Updates geprüft. Bei großen Sammlungen kann das etwas länger dauern.", - "tip": "Du möchtest in Etappen prüfen? Wechsle in den Sammelmodus, wähle die benötigten Modelle aus und nutze anschließend \"Auswahl auf Updates prüfen\".", + "message": "Damit werden alle {typePlural} in Ihrer Bibliothek auf Updates geprüft. Bei großen Sammlungen kann das etwas länger dauern.", + "tip": "Möchten Sie in Etappen prüfen? Wechseln Sie in den Massenmodus, wählen Sie die benötigten Modelle aus und nutzen Sie anschließend \"Auswahl auf Updates prüfen\".", "action": "Alles prüfen" }, "bulkAddTags": { @@ -1398,11 +1398,11 @@ "saveChanges": "Änderungen speichern" }, "bulkBaseModel": { - "title": "Basis-Modell für mehrere Modelle festlegen", - "description": "Basis-Modell festlegen für", + "title": "Basismodell für mehrere Modelle festlegen", + "description": "Basismodell festlegen für", "models": "Modelle", - "selectBaseModel": "Basis-Modell auswählen", - "save": "Basis-Modell aktualisieren", + "selectBaseModel": "Basismodell auswählen", + "save": "Basismodell aktualisieren", "cancel": "Abbrechen" }, "bulkDownloadMissingLoras": { @@ -1469,7 +1469,7 @@ "actions": { "editModelName": "Modellname bearbeiten", "editFileName": "Dateiname bearbeiten", - "editBaseModel": "Basis-Modell bearbeiten", + "editBaseModel": "Basismodell bearbeiten", "editVersionName": "Versionsname bearbeiten", "viewOnCivitai": "Auf CivitAI anzeigen", "viewOnCivitaiText": "Auf CivitAI anzeigen", @@ -1495,7 +1495,7 @@ "version": "Version", "fileName": "Dateiname", "location": "Speicherort", - "baseModel": "Basis-Modell", + "baseModel": "Basismodell", "size": "Größe", "hashes": "Hashes", "unknown": "Unbekannt", @@ -1760,7 +1760,7 @@ }, "statistics": { "title": "Statistiken werden initialisiert", - "message": "Modelldaten für Statistiken werden verarbeitet. Dies kann einige Minuten dauern..." + "message": "Metadaten für Statistiken werden verarbeitet. Dies kann einige Minuten dauern..." }, "tips": { "title": "Tipps & Tricks", @@ -1781,7 +1781,7 @@ }, "filter": { "title": "Schnelle Filterung", - "description": "Filtern Sie Modelle nach Tags oder Basis-Modelltyp mit der Filter-Schaltfläche in der Kopfzeile.", + "description": "Filtern Sie Modelle nach Tags oder Basismodelltyp mit der Filter-Schaltfläche in der Kopfzeile.", "alt": "Modelle filtern" }, "search": { @@ -2107,13 +2107,13 @@ "nameCannotBeEmpty": "Modellname darf nicht leer sein", "nameUpdatedSuccessfully": "Modellname erfolgreich aktualisiert", "nameUpdateFailed": "Fehler beim Aktualisieren des Modellnamens", - "baseModelUpdated": "Basis-Modell erfolgreich aktualisiert", - "baseModelUpdateFailed": "Fehler beim Aktualisieren des Basis-Modells", - "baseModelNotSelected": "Bitte ein Basis-Modell auswählen", - "bulkBaseModelUpdating": "Basis-Modell wird für {count} Modell(e) aktualisiert...", - "bulkBaseModelUpdateSuccess": "Basis-Modell erfolgreich für {count} Modell(e) aktualisiert", + "baseModelUpdated": "Basismodell erfolgreich aktualisiert", + "baseModelUpdateFailed": "Fehler beim Aktualisieren des Basismodells", + "baseModelNotSelected": "Bitte ein Basismodell auswählen", + "bulkBaseModelUpdating": "Basismodell wird für {count} Modell(e) aktualisiert...", + "bulkBaseModelUpdateSuccess": "Basismodell erfolgreich für {count} Modell(e) aktualisiert", "bulkBaseModelUpdatePartial": "{success} Modelle aktualisiert, {failed} fehlgeschlagen", - "bulkBaseModelUpdateFailed": "Aktualisierung des Basis-Modells für ausgewählte Modelle fehlgeschlagen", + "bulkBaseModelUpdateFailed": "Aktualisierung des Basismodells für ausgewählte Modelle fehlgeschlagen", "skipMetadataRefreshUpdating": "Aktualisiere Metadaten-Aktualisierungs-Flag für {count} Modell(e)...", "skipMetadataRefreshSet": "Metadaten-Aktualisierung für {count} Modell(e) übersprungen", "skipMetadataRefreshCleared": "Metadaten-Aktualisierung für {count} Modell(e) fortgesetzt", @@ -2161,9 +2161,9 @@ "checkpointRootsFailed": "Fehler beim Laden der Checkpoint-Stammverzeichnisse: {message}", "unetRootsFailed": "Fehler beim Laden der Diffusion-Modell-Stammverzeichnisse: {message}", "embeddingRootsFailed": "Fehler beim Laden der Embedding-Stammverzeichnisse: {message}", - "mappingsUpdated": "Basis-Modell-Pfad-Zuordnungen aktualisiert ({count})", - "mappingsCleared": "Basis-Modell-Pfad-Zuordnungen gelöscht", - "mappingSaveFailed": "Fehler beim Speichern der Basis-Modell-Zuordnungen: {message}", + "mappingsUpdated": "Basismodell-Pfad-Zuordnungen aktualisiert ({count})", + "mappingsCleared": "Basismodell-Pfad-Zuordnungen gelöscht", + "mappingSaveFailed": "Fehler beim Speichern der Basismodell-Zuordnungen: {message}", "downloadTemplatesUpdated": "Download-Pfad-Vorlagen aktualisiert", "downloadTemplatesFailed": "Fehler beim Speichern der Download-Pfad-Vorlagen: {message}", "recipesPathUpdated": "Rezepte-Speicherpfad aktualisiert", @@ -2338,7 +2338,7 @@ "title": "Doktor", "buttonTitle": "Diagnose und häufige Fehlerbehebungen ausführen", "loading": "Umgebung wird geprüft...", - "footer": "Exportiere ein Diagnosepaket, falls das Problem nach der Reparatur weiterhin besteht.", + "footer": "Exportieren Sie ein Diagnosepaket, falls das Problem nach der Reparatur weiterhin besteht.", "summary": { "idle": "Führe eine Überprüfung von Einstellungen, Cache-Integrität und UI-Konsistenz durch.", "ok": "Keine aktiven Probleme wurden in der aktuellen Umgebung gefunden.", diff --git a/locales/es.json b/locales/es.json index b5d05ccb..b5376010 100644 --- a/locales/es.json +++ b/locales/es.json @@ -74,8 +74,8 @@ "content": "Usa el botón Descargar para descargar modelos directamente desde URLs de CivitAI." }, "bulk": { - "title": "Operaciones masivas", - "content": "Entra en modo masivo haciendo clic en este botón o presionando B. Selecciona varios modelos y realiza operaciones por lotes. Usa Ctrl+A para seleccionar todos los modelos visibles." + "title": "Operaciones por lotes", + "content": "Entra en el modo por lotes haciendo clic en este botón o presionando B. Selecciona varios modelos y realiza operaciones por lotes. Usa Ctrl+A para seleccionar todos los modelos visibles." }, "searchOptions": { "title": "Opciones de búsqueda", @@ -131,7 +131,7 @@ "updateFailed": "Error al actualizar estado de favoritos" }, "sendToWorkflow": { - "checkpointNotImplemented": "Enviar checkpoint al flujo de trabajo - función por implementar", + "checkpointNotImplemented": "Enviar checkpoint al workflow - función por implementar", "missingPath": "No se puede determinar la ruta del modelo para esta tarjeta" }, "exampleImages": { @@ -636,8 +636,8 @@ "useNewStyleHelp": "Mostrar permisos de licencia con indicadores de color (nuevo estilo) o solo iconos de restricción (estilo clásico). Refleja el diseño actual de CivitAI." }, "misc": { - "includeTriggerWords": "Incluir palabras clave en la sintaxis de LoRA", - "includeTriggerWordsHelp": "Incluir palabras clave entrenadas al copiar la sintaxis de LoRA al portapapeles", + "includeTriggerWords": "Incluir palabras de activación en la sintaxis de LoRA", + "includeTriggerWordsHelp": "Incluir palabras de activación entrenadas al copiar la sintaxis de LoRA al portapapeles", "loraSyntaxFormat": "Formato de sintaxis LoRA", "loraSyntaxFormatHelp": "Formato de sintaxis LoRA. El formato completo incluye la ruta de la subcarpeta () para una resolución de modelo sin pérdidas. El formato heredado usa solo el nombre del archivo () — convención A1111, puede ser ambiguo con nombres de archivo duplicados entre carpetas.", "loraSyntaxFormatOptions": { @@ -758,8 +758,8 @@ "action": "Descargar" }, "bulk": { - "title": "Operaciones masivas", - "action": "Masivo" + "title": "Operaciones por lotes", + "action": "Por lotes" }, "duplicates": { "title": "Buscar duplicados", @@ -833,8 +833,8 @@ "copySyntax": "Copiar sintaxis de LoRA", "copyFilename": "Copiar nombre de archivo del modelo", "copyRecipeSyntax": "Copiar sintaxis de receta", - "sendToWorkflowAppend": "Enviar al flujo de trabajo (Añadir)", - "sendToWorkflowReplace": "Enviar al flujo de trabajo (Reemplazar)", + "sendToWorkflowAppend": "Enviar al workflow (Añadir)", + "sendToWorkflowReplace": "Enviar al workflow (Reemplazar)", "openExamples": "Abrir carpeta de ejemplos", "downloadExamples": "Descargar imágenes de ejemplo", "downloadMissingExamples": "Descargar faltantes", @@ -1013,7 +1013,7 @@ }, "sendRecipe": { "missingId": "No se puede enviar la receta: Falta ID de receta", - "failed": "Error al enviar receta al flujo de trabajo" + "failed": "Error al enviar receta al workflow" }, "viewLoras": { "missingId": "No se pueden ver LoRAs: Falta ID de receta", @@ -1110,7 +1110,7 @@ }, "contextMenu": { "moveToOtherTypeFolder": "Mover a la carpeta {otherType}", - "sendToWorkflow": "Enviar al flujo de trabajo" + "sendToWorkflow": "Enviar al workflow" } }, "embeddings": { @@ -1165,7 +1165,7 @@ "totalGenerations": "Generaciones totales", "usageRate": "Tasa de uso", "loras": "LoRAs", - "checkpoints": "Puntos de control", + "checkpoints": "Checkpoints", "embeddings": "Embeddings", "uniqueTags": "Etiquetas únicas", "unusedModels": "Modelos no usados", @@ -1199,9 +1199,9 @@ }, "unusedCheckpoints": { "detected": { - "title": "Puntos de control no utilizados detectados", - "description": "El {percent}% de tus puntos de control ({count}/{total}) nunca se han utilizado.", - "suggestion": "Revisa y considera eliminar los puntos de control que ya no necesites." + "title": "Checkpoints no utilizados detectados", + "description": "El {percent}% de tus Checkpoints ({count}/{total}) nunca se han utilizado.", + "suggestion": "Revisa y considera eliminar los Checkpoints que ya no necesites." } }, "unusedEmbeddings": { @@ -1243,7 +1243,7 @@ "lora": "LoRA", "locon": "LyCORIS", "dora": "DoRA", - "checkpoint": "Punto de control", + "checkpoint": "Checkpoint", "diffusion_model": "Modelo de difusión", "embedding": "Embeddings" }, @@ -1515,7 +1515,7 @@ "showLess": "Mostrar menos" }, "usageTips": { - "addPresetParameter": "Añadir parámetro preestablecido...", + "addPresetParameter": "Añadir parámetro preajustado...", "strengthMin": "Fuerza mínima", "strengthMax": "Fuerza máxima", "strengthRange": "Rango de fuerza", @@ -1528,18 +1528,18 @@ }, "triggerWords": { "label": "Palabras clave", - "noTriggerWordsNeeded": "No se necesita palabra clave", - "edit": "Editar palabras clave", + "noTriggerWordsNeeded": "No se necesita palabra de activación", + "edit": "Editar palabras de activación", "cancel": "Cancelar edición", "save": "Guardar cambios", "addPlaceholder": "Escribe para añadir o haz clic en sugerencias de abajo", "editWord": "Editar palabra de activación", "editPlaceholder": "Editar palabra de activación", - "copyWord": "Copiar palabra clave", - "deleteWord": "Eliminar palabra clave", + "copyWord": "Copiar palabra de activación", + "deleteWord": "Eliminar palabra de activación", "suggestions": { "noSuggestions": "No hay sugerencias disponibles", - "noTrainedWords": "No se encontraron palabras entrenadas o tokens de clase en este modelo. Puedes introducir palabras clave manualmente.", + "noTrainedWords": "No se encontraron palabras entrenadas o tokens de clase en este modelo. Puedes introducir palabras de activación manualmente.", "classToken": "Token de clase", "classTokenDescription": "Añadir a tu prompt para mejores resultados", "wordSuggestions": "Sugerencias de palabras", @@ -1808,27 +1808,27 @@ }, "lora": { "syntaxCopied": "Sintaxis de LoRA copiada al portapapeles", - "syntaxCopiedNoTriggerWords": "Sintaxis de LoRA copiada al portapapeles (no se encontraron palabras clave)", - "syntaxCopiedWithTriggerWords": "Sintaxis de LoRA con palabras clave copiada al portapapeles", - "syntaxCopiedWithTriggerWordGroups": "Sintaxis de LoRA con grupos de palabras clave copiada al portapapeles" + "syntaxCopiedNoTriggerWords": "Sintaxis de LoRA copiada al portapapeles (no se encontraron palabras de activación)", + "syntaxCopiedWithTriggerWords": "Sintaxis de LoRA con palabras de activación copiada al portapapeles", + "syntaxCopiedWithTriggerWordGroups": "Sintaxis de LoRA con grupos de palabras de activación copiada al portapapeles" }, "workflow": { - "noSupportedNodes": "No se encontraron nodos de destino compatibles en el flujo de trabajo", + "noSupportedNodes": "No se encontraron nodos de destino compatibles en el workflow", "communicationFailed": "Error al comunicarse con ComfyUI", - "loraAdded": "LoRA añadido al flujo de trabajo", - "loraReplaced": "LoRA reemplazado en el flujo de trabajo", - "loraFailedToSend": "Error al enviar LoRA al flujo de trabajo", - "recipeAdded": "Receta añadida al flujo de trabajo", - "recipeReplaced": "Receta reemplazada en el flujo de trabajo", - "recipeFailedToSend": "Error al enviar receta al flujo de trabajo", - "noMatchingNodes": "No hay nodos compatibles disponibles en el flujo de trabajo actual", + "loraAdded": "LoRA añadido al workflow", + "loraReplaced": "LoRA reemplazado en el workflow", + "loraFailedToSend": "Error al enviar LoRA al workflow", + "recipeAdded": "Receta añadida al workflow", + "recipeReplaced": "Receta reemplazada en el workflow", + "recipeFailedToSend": "Error al enviar receta al workflow", + "noMatchingNodes": "No hay nodos compatibles disponibles en el workflow actual", "noPromptTargets": "No hay destinos de prompt compatibles en el workflow.\nHaz clic derecho en un nodo de ComfyUI → Marcar como → Destino de envío de prompt", "noTargetNodeSelected": "No se ha seleccionado ningún nodo de destino", - "modelUpdated": "Modelo actualizado en el flujo de trabajo", + "modelUpdated": "Modelo actualizado en el workflow", "modelFailed": "Error al actualizar nodo de modelo", - "embeddingAdded": "Embedding añadido al flujo de trabajo", + "embeddingAdded": "Embedding añadido al workflow", "embeddingFailed": "Error al añadir el embedding", - "promptSent": "Prompt enviado al flujo de trabajo", + "promptSent": "Prompt enviado al workflow", "promptFailed": "Error al enviar el prompt" }, "nodeSelector": { @@ -1983,7 +1983,7 @@ "toast": { "general": { "cannotInteractStandalone": "No se puede interactuar con ComfyUI en modo independiente", - "failedWorkflowInfo": "Error al obtener información del flujo de trabajo", + "failedWorkflowInfo": "Error al obtener información del workflow", "pageInitFailed": "Error al inicializar la página de {pageType}. Por favor recarga.", "statisticsLoadFailed": "Error al cargar datos de estadísticas" }, @@ -1992,7 +1992,7 @@ "noLorasSelected": "No hay LoRAs seleccionados", "missingDataForLoras": "Faltan datos para {count} LoRAs", "noValidLorasToCopy": "No hay LoRAs válidos para copiar", - "sendOnlyForLoras": "Enviar al flujo de trabajo solo está disponible para LoRAs", + "sendOnlyForLoras": "Enviar al workflow solo está disponible para LoRAs", "noValidLorasToSend": "No hay LoRAs válidos para enviar", "downloadSuccessful": "LoRAs descargados exitosamente", "allDownloadSuccessful": "Todos los {count} LoRAs descargados exitosamente", @@ -2026,7 +2026,7 @@ "negativePromptUpdated": "Prompt negativo actualizado exitosamente", "promptEditorHint": "Presiona Enter para guardar, Shift+Enter para nueva línea", "noRecipeId": "No hay ID de receta disponible", - "sendToWorkflowFailed": "Error al enviar la receta al flujo de trabajo: {message}", + "sendToWorkflowFailed": "Error al enviar la receta al workflow: {message}", "copyFailed": "Error copiando sintaxis de receta: {message}", "createError": "Error al crear la receta:{message}", "createFailed": "Error al crear la receta:{error}", @@ -2042,8 +2042,8 @@ "reconnectFailed": "Error reconectando LoRA: {message}", "noPromptToSend": "No hay prompt para enviar", "cannotSend": "No se puede enviar receta: Falta ID de receta", - "sendFailed": "Error al enviar receta al flujo de trabajo", - "sendError": "Error enviando receta al flujo de trabajo", + "sendFailed": "Error al enviar receta al workflow", + "sendError": "Error enviando receta al workflow", "missingCheckpointPath": "Ruta del checkpoint no disponible", "missingCheckpointInfo": "Falta información del checkpoint", "downloadCheckpointFailed": "Error al descargar el checkpoint: {message}", @@ -2189,8 +2189,8 @@ "created": "Preajuste \"{name}\" creado", "deleted": "Preajuste \"{name}\" eliminado", "applied": "Preajuste \"{name}\" aplicado", - "overwritten": "Preset \"{name}\" sobrescrito", - "restored": "Presets predeterminados restaurados" + "overwritten": "Preajuste \"{name}\" sobrescrito", + "restored": "Preajustes predeterminados restaurados" }, "error": { "presetNameEmpty": "El nombre del preajuste no puede estar vacío", @@ -2218,11 +2218,11 @@ }, "triggerWords": { "loadFailed": "No se pudieron cargar palabras entrenadas", - "tooLong": "La palabra clave no debe exceder 500 palabras", - "tooMany": "Máximo 100 palabras clave permitidas", - "alreadyExists": "Esta palabra clave ya existe", + "tooLong": "La palabra de activación no debe exceder 500 palabras", + "tooMany": "Máximo 100 palabras de activación permitidas", + "alreadyExists": "Esta palabra de activación ya existe", "updateSuccess": "Palabras clave actualizadas exitosamente", - "updateFailed": "Error al actualizar palabras clave", + "updateFailed": "Error al actualizar palabras de activación", "copyFailed": "Error al copiar" }, "undo": { diff --git a/locales/fr.json b/locales/fr.json index 865dd6ec..7204dc1d 100644 --- a/locales/fr.json +++ b/locales/fr.json @@ -75,7 +75,7 @@ }, "bulk": { "title": "Opérations groupées", - "content": "Activez le mode groupé en cliquant sur ce bouton ou en appuyant sur B. Sélectionnez plusieurs modèles et effectuez des opérations par lot. Utilisez Ctrl+A pour sélectionner tous les modèles visibles." + "content": "Activez le mode groupé en cliquant sur ce bouton ou en appuyant sur B. Sélectionnez plusieurs modèles et effectuez des opérations groupées. Utilisez Ctrl+A pour sélectionner tous les modèles visibles." }, "searchOptions": { "title": "Options de recherche", @@ -136,7 +136,7 @@ }, "exampleImages": { "checkError": "Erreur lors de la vérification des images d'exemple", - "missingHash": "Informations de hachage du modèle manquantes.", + "missingHash": "Informations de hash du modèle manquantes.", "noRemoteImagesAvailable": "Aucune image d'exemple distante disponible pour ce modèle sur CivitAI" }, "badges": { @@ -180,21 +180,21 @@ "error": "Failed to refresh license metadata for {typePlural}: {message}" }, "repairRecipes": { - "label": "Réparer les données de recettes", - "loading": "Réparation des données de recettes...", - "success": "{count} recettes réparées avec succès.", - "cancelled": "Réparation annulée. {count} recettes ont été réparées.", - "error": "Échec de la réparation des recettes : {message}" + "label": "Réparer les données de Recipes", + "loading": "Réparation des données de Recipes...", + "success": "{count} Recipes réparées avec succès.", + "cancelled": "Réparation annulée. {count} Recipes ont été réparées.", + "error": "Échec de la réparation des Recipes : {message}" }, "rematchRecipes": { - "label": "Réassocier les recettes aux modèles locaux", - "loading": "Réassociation des recettes aux modèles locaux...", - "success": "{entries} entrées associées dans {recipes} recettes", - "successErrors": "{entries} entrées associées dans {recipes} recettes, {failures} échecs", - "allFailed": "Échec de la réassociation de {failures} recettes sur {total}", - "noMatch": "Aucune correspondance locale trouvée pour {entries} entrées dans {recipes} recettes", - "cancelled": "Réassociation annulée. {recipes} recettes mises à jour ({entries} entrées)", - "error": "Échec de la réassociation des recettes : {message}" + "label": "Réassocier les Recipes aux modèles locaux", + "loading": "Réassociation des Recipes aux modèles locaux...", + "success": "{entries} entrées associées dans {recipes} Recipes", + "successErrors": "{entries} entrées associées dans {recipes} Recipes, {failures} échecs", + "allFailed": "Échec de la réassociation de {failures} Recipes sur {total}", + "noMatch": "Aucune correspondance locale trouvée pour {entries} entrées dans {recipes} Recipes", + "cancelled": "Réassociation annulée. {recipes} Recipes mises à jour ({entries} entrées)", + "error": "Échec de la réassociation des Recipes : {message}" }, "manageExcludedModels": { "label": "Gérer les modèles exclus" @@ -343,7 +343,7 @@ "recipeSettings": "Recipes", "extraFolderPaths": "Chemins de dossiers supplémentaires", "downloadPathTemplates": "Modèles de chemin de téléchargement", - "priorityTags": "Étiquettes prioritaires", + "priorityTags": "Tags prioritaires", "versionScope": "Indicateurs de mise à jour", "exampleImages": "Images d'exemple", "autoOrganize": "Organisation automatique", @@ -464,8 +464,8 @@ "compact": "7 (1080p), 8 (2K), 10 (4K)" }, "displayDensityWarning": "Attention : Des densités plus élevées peuvent causer des problèmes de performance sur les systèmes avec des ressources limitées.", - "recipesLayout": "Disposition des recettes", - "recipesLayoutHelp": "Choisissez comment les cartes de recettes sont organisées : une grille uniforme ou une disposition masonry (style Pinterest) qui préserve le rapport d'aspect de chaque image.", + "recipesLayout": "Disposition des Recipes", + "recipesLayoutHelp": "Choisissez comment les cartes de Recipes sont organisées : une grille uniforme ou une disposition masonry (style Pinterest) qui préserve le rapport d'aspect de chaque image.", "recipesLayoutOptions": { "grid": "Grille", "masonry": "Masonry" @@ -493,7 +493,7 @@ }, "modelNameDisplayHelp": "Choisissez ce qui doit être affiché dans le pied de page de la carte du modèle", "cardBlurAmount": "Flou de superposition des cartes", - "cardBlurAmountHelp": "Ajustez l'intensité du flou des superpositions d'en-tête et de pied de page sur les cartes de modèles et de recettes (0 = aucun flou, 20 = flou maximal)." + "cardBlurAmountHelp": "Ajustez l'intensité du flou des superpositions d'en-tête et de pied de page sur les cartes de modèles et de Recipes (0 = aucun flou, 20 = flou maximal)." }, "folderSettings": { "activeLibrary": "Bibliothèque active", @@ -534,23 +534,23 @@ } }, "priorityTags": { - "title": "Étiquettes prioritaires", - "description": "Personnalisez l'ordre de priorité des étiquettes pour chaque type de modèle (par ex. : character, concept, style(toon|toon_style))", + "title": "Tags prioritaires", + "description": "Personnalisez l'ordre de priorité des tags pour chaque type de modèle (par ex. : character, concept, style(toon|toon_style))", "placeholder": "character, concept, style(toon|toon_style)", - "helpLinkLabel": "Ouvrir l'aide sur les étiquettes prioritaires", + "helpLinkLabel": "Ouvrir l'aide sur les tags prioritaires", "modelTypes": { "lora": "LoRA", "checkpoint": "Checkpoint", "embedding": "Embedding" }, - "saveSuccess": "Étiquettes prioritaires mises à jour.", - "saveError": "Échec de la mise à jour des étiquettes prioritaires.", + "saveSuccess": "Tags prioritaires mis à jour.", + "saveError": "Échec de la mise à jour des tags prioritaires.", "loadingSuggestions": "Chargement des suggestions...", "validation": { "missingClosingParen": "L'entrée {index} n'a pas de parenthèse fermante.", - "missingCanonical": "L'entrée {index} doit inclure un nom d'étiquette canonique.", - "duplicateCanonical": "L'étiquette canonique \"{tag}\" apparaît plusieurs fois.", - "unknown": "Configuration d'étiquettes prioritaires invalide." + "missingCanonical": "L'entrée {index} doit inclure un nom de tag canonique.", + "duplicateCanonical": "Le tag canonique \"{tag}\" apparaît plusieurs fois.", + "unknown": "Configuration de tags prioritaires invalide." } }, "downloadPathTemplates": { @@ -747,7 +747,7 @@ "refresh": { "title": "Actualiser la liste des modèles", "full": "Reconstruire le cache", - "fullTooltip": "Recharge tous les détails des modèles depuis les fichiers metadata — à utiliser si la bibliothèque paraît obsolète ou après des modifications manuelles." + "fullTooltip": "Recharge tous les détails des modèles depuis les fichiers de métadonnées — à utiliser si la bibliothèque paraît obsolète ou après des modifications manuelles." }, "fetch": { "title": "Récupérer les métadonnées depuis CivitAI", @@ -860,10 +860,10 @@ "actions": { "sendCheckpoint": "Envoyer vers ComfyUI", "sendRecipe": "Envoyer vers ComfyUI", - "deleteRecipeWithShortcut": "Supprimer la recette (Del)" + "deleteRecipeWithShortcut": "Supprimer la Recipe (Del)" }, "navigation": { - "label": "Navigation des recettes", + "label": "Navigation des Recipes", "previousWithShortcut": "Recette précédente (←)", "nextWithShortcut": "Recette suivante (→)" }, @@ -871,7 +871,7 @@ "sendWorkflow": "Envoyer le workflow vers ComfyUI", "sent": "Workflow envoyé vers ComfyUI", "sendFailed": "Échec de l'envoi du workflow vers ComfyUI", - "noWorkflow": "Aucun workflow intégré trouvé dans cette recette" + "noWorkflow": "Aucun workflow intégré trouvé dans cette Recipe" }, "status": { "ready": "Prêt à l'emploi", @@ -881,7 +881,7 @@ "downloadMissingTooltip": "Cliquer pour télécharger les LoRAs manquants" }, "loraStatus": { - "none": "Aucun LoRA dans cette recette", + "none": "Aucun LoRA dans cette Recipe", "allAvailable": "Tous les LoRAs sont disponibles - Prêt à l'emploi", "missing": "{missing} LoRA(s) manquant(s) sur {total}" }, @@ -930,7 +930,7 @@ "root": "Racine", "browseFolders": "Parcourir les dossiers :", "downloadAndSaveRecipe": "Télécharger et sauvegarder la recipe", - "importRecipeOnly": "Importer uniquement la recette", + "importRecipeOnly": "Importer uniquement la Recipe", "importAndDownload": "Importer et télécharger", "downloadMissingLoras": "Télécharger les LoRAs manquants", "saveRecipe": "Sauvegarder la recipe", @@ -963,7 +963,7 @@ } }, "sort": { - "title": "Trier les recettes par...", + "title": "Trier les Recipes par...", "name": "Nom", "nameAsc": "A - Z", "nameDesc": "Z - A", @@ -987,13 +987,13 @@ "action": "Favoris" }, "layout": { - "title": "Disposition des recettes", + "title": "Disposition des Recipes", "grid": "Disposition en grille", "masonry": "Disposition masonry (style Pinterest, préserve le rapport d'aspect de l'image)" } }, "duplicates": { - "finding": "Recherche de recettes en doublon...", + "finding": "Recherche de Recipes en doublon...", "found": "Trouvé {count} groupes de doublons", "noGroups": "Aucun groupe de doublons trouvé avec le critère de correspondance actuel", "keepLatest": "Garder les dernières versions", @@ -1002,8 +1002,8 @@ "basis": { "loraCombo": "Correspondance : combinaison de LoRA", "loraComboAndPrompt": "Correspondance : combinaison de LoRA + prompt", - "hintLoraCombo": "Les recettes avec les mêmes LoRAs et des forces identiques sont regroupées.", - "hintPromptIncluded": "Les recettes ne sont regroupées que si elles utilisent les mêmes LoRAs avec des forces identiques ET ont le même prompt." + "hintLoraCombo": "Les Recipes avec les mêmes LoRAs et des forces identiques sont regroupées.", + "hintPromptIncluded": "Les Recipes ne sont regroupées que si elles utilisent les mêmes LoRAs avec des forces identiques ET ont le même prompt." } }, "contextMenu": { @@ -1027,18 +1027,18 @@ "prepareError": "Erreur lors de la préparation des LoRAs pour le téléchargement : {message}" }, "repair": { - "starting": "Réparation des métadonnées de la recette...", - "success": "Métadonnées de la recette réparées avec succès", + "starting": "Réparation des métadonnées de la Recipe...", + "success": "Métadonnées de la Recipe réparées avec succès", "skipped": "Recette déjà à la version la plus récente, aucune réparation nécessaire", - "failed": "Échec de la réparation de la recette : {message}", - "missingId": "Impossible de réparer la recette : ID de recette manquant" + "failed": "Échec de la réparation de la Recipe : {message}", + "missingId": "Impossible de réparer la Recipe : ID de Recipe manquant" }, "reimport": { - "starting": "Ré-import de la recette depuis la source...", + "starting": "Ré-import de la Recipe depuis la source...", "success": "Recette ré-importée avec succès", - "noSourceUrl": "La recette n'a pas d'URL source, ré-import impossible", - "failed": "Échec du ré-import de la recette : {message}", - "missingId": "Impossible de ré-importer la recette : ID de recette manquant" + "noSourceUrl": "La Recipe n'a pas d'URL source, ré-import impossible", + "failed": "Échec du ré-import de la Recipe : {message}", + "missingId": "Impossible de ré-importer la Recipe : ID de Recipe manquant" } }, "batchImport": { @@ -1243,7 +1243,7 @@ "lora": "LoRA", "locon": "LyCORIS", "dora": "DoRA", - "checkpoint": "Point de contrôle", + "checkpoint": "Checkpoint", "diffusion_model": "Modèle de diffusion", "embedding": "Embeddings" }, @@ -1354,13 +1354,13 @@ "message": "Êtes-vous sûr de vouloir exclure ce modèle ? Les modèles exclus n'apparaîtront pas dans les recherches ou listes de modèles." }, "deleteDuplicateRecipes": { - "title": "Supprimer les recipes dupliquées", - "message": "Êtes-vous sûr de vouloir supprimer les recipes dupliquées sélectionnées ?", + "title": "Supprimer les Recipes en double", + "message": "Êtes-vous sûr de vouloir supprimer les Recipes en double sélectionnées ?", "countMessage": "recipes seront définitivement supprimées." }, "deleteDuplicateModels": { - "title": "Supprimer les modèles dupliqués", - "message": "Êtes-vous sûr de vouloir supprimer les modèles dupliqués sélectionnés ?", + "title": "Supprimer les modèles en double", + "message": "Êtes-vous sûr de vouloir supprimer les modèles en double sélectionnés ?", "countMessage": "modèles seront définitivement supprimés." }, "clearCache": { @@ -1384,7 +1384,7 @@ "checkUpdates": { "title": "Vérifier les mises à jour pour tous les {typePlural} ?", "message": "Cette action vérifie les mises à jour pour tous les {typePlural} de votre bibliothèque. Les grandes collections peuvent prendre un peu plus de temps.", - "tip": "Besoin de procéder par étapes ? Passez en mode lot, sélectionnez les modèles souhaités puis utilisez \"Vérifier les mises à jour pour la sélection\".", + "tip": "Besoin de procéder par étapes ? Passez en mode groupé, sélectionnez les modèles souhaités puis utilisez \"Vérifier les mises à jour pour la sélection\".", "action": "Tout vérifier" }, "bulkAddTags": { @@ -1407,7 +1407,7 @@ }, "bulkDownloadMissingLoras": { "title": "Télécharger les LoRAs manquants", - "message": "{uniqueCount} LoRAs manquants uniques trouvés (sur un total de {totalCount} dans les recettes sélectionnées).", + "message": "{uniqueCount} LoRAs manquants uniques trouvés (sur un total de {totalCount} dans les Recipes sélectionnées).", "previewTitle": "LoRAs à télécharger :", "moreItems": "...et {count} de plus", "note": "Les fichiers seront téléchargés en utilisant les modèles de chemins par défaut. Cela peut prendre un certain temps selon le nombre de LoRAs.", @@ -1515,7 +1515,7 @@ "showLess": "Afficher moins" }, "usageTips": { - "addPresetParameter": "Ajouter un paramètre prédéfini...", + "addPresetParameter": "Ajouter un paramètre préréglé...", "strengthMin": "Force Min", "strengthMax": "Force Max", "strengthRange": "Gamme de force", @@ -1533,8 +1533,8 @@ "cancel": "Annuler la modification", "save": "Sauvegarder les modifications", "addPlaceholder": "Tapez pour ajouter ou cliquez sur les suggestions ci-dessous", - "editWord": "Modifier le mot déclencheur", - "editPlaceholder": "Modifier le mot déclencheur", + "editWord": "Modifier le mot-clé", + "editPlaceholder": "Modifier le mot-clé", "copyWord": "Copier le mot-clé", "deleteWord": "Supprimer le mot-clé", "suggestions": { @@ -2026,15 +2026,15 @@ "negativePromptUpdated": "Prompt négatif mis à jour avec succès", "promptEditorHint": "Appuyez sur Entrée pour sauvegarder, Maj+Entrée pour nouvelle ligne", "noRecipeId": "Aucun ID de recipe disponible", - "sendToWorkflowFailed": "Échec de l'envoi de la recette vers le workflow : {message}", + "sendToWorkflowFailed": "Échec de l'envoi de la Recipe vers le workflow : {message}", "copyFailed": "Erreur lors de la copie de la syntaxe de la recipe : {message}", "createError": "Erreur lors de la création du Recipe :{message}", "createFailed": "Échec de la création du Recipe :{error}", "createMissingData": "Données requises manquantes pour créer le Recipe", "created": "Recipe créé avec succès", "noMissingLoras": "Aucun LoRA manquant à télécharger", - "noPreviousRecipe": "Aucune recette précédente", - "noNextRecipe": "Aucune recette suivante", + "noPreviousRecipe": "Aucune Recipe précédente", + "noNextRecipe": "Aucune Recipe suivante", "missingLorasInfoFailed": "Échec de l'obtention des informations pour les LoRAs manquants", "preparingForDownloadFailed": "Erreur lors de la préparation des LoRAs pour le téléchargement", "enterLoraName": "Veuillez entrer un nom ou une syntaxe LoRA", @@ -2076,25 +2076,25 @@ "batchImportRateLimited": "Limite de débit du fournisseur de métadonnées atteinte — les requêtes sont ralenties et certains éléments peuvent être ignorés. Vous pouvez relancer l'importation plus tard.", "batchImportBrowseFailed": "Failed to browse directory: {message}", "batchImportDirectorySelected": "Directory selected: {path}", - "noRecipesSelected": "Aucune recette sélectionnée", + "noRecipesSelected": "Aucune Recipe sélectionnée", "repairBulkComplete": "Réparation terminée : {repaired} réparée(s), {skipped} ignorée(s) (sur {total})", - "repairBulkSkipped": "Aucune réparation nécessaire parmi les {total} recettes sélectionnées", - "repairBulkFailed": "Échec de la réparation des recettes sélectionnées : {message}", - "rematchComplete": "{entries} entrées associées dans {recipes} recettes", - "rematchCompleteErrors": "{entries} entrées associées dans {recipes} recettes, {failures} échecs", - "rematchAllFailed": "Échec de la réassociation de {failures} recettes sélectionnées sur {total}", - "rematchUnmatched": "Aucune correspondance locale trouvée pour {entries} entrées dans {recipes} recettes", - "rematchSkipped": "Aucune des {total} recettes sélectionnées ne nécessite de réassociation", - "rematchFailed": "Échec de la réassociation des recettes sélectionnées : {message}", - "reimporting": "Ré-import de la recette depuis la source...", + "repairBulkSkipped": "Aucune réparation nécessaire parmi les {total} Recipes sélectionnées", + "repairBulkFailed": "Échec de la réparation des Recipes sélectionnées : {message}", + "rematchComplete": "{entries} entrées associées dans {recipes} Recipes", + "rematchCompleteErrors": "{entries} entrées associées dans {recipes} Recipes, {failures} échecs", + "rematchAllFailed": "Échec de la réassociation de {failures} Recipes sélectionnées sur {total}", + "rematchUnmatched": "Aucune correspondance locale trouvée pour {entries} entrées dans {recipes} Recipes", + "rematchSkipped": "Aucune des {total} Recipes sélectionnées ne nécessite de réassociation", + "rematchFailed": "Échec de la réassociation des Recipes sélectionnées : {message}", + "reimporting": "Ré-import de la Recipe depuis la source...", "reimportSuccess": "Recette ré-importée avec succès", "reimportBulkComplete": "Ré-import terminé : {completed} ré-importé(s), {failed} échec(s) (sur {total})", - "reimportBulkFailed": "Échec du ré-import de certaines recettes", - "noMissingLorasInSelection": "Aucun LoRA manquant trouvé dans les recettes sélectionnées", + "reimportBulkFailed": "Échec du ré-import de certaines Recipes", + "noMissingLorasInSelection": "Aucun LoRA manquant trouvé dans les Recipes sélectionnées", "noLoraRootConfigured": "Aucun répertoire racine LoRA configuré. Veuillez définir un répertoire racine LoRA par défaut dans les paramètres.", "workflowSent": "Workflow envoyé vers ComfyUI", "workflowSendFailed": "Échec de l'envoi du workflow vers ComfyUI: {error}", - "workflowNoWorkflow": "Aucun workflow intégré trouvé dans cette recette" + "workflowNoWorkflow": "Aucun workflow intégré trouvé dans cette Recipe" }, "models": { "noModelsSelected": "Aucun modèle sélectionné", @@ -2190,7 +2190,7 @@ "deleted": "Préréglage \"{name}\" supprimé", "applied": "Préréglage \"{name}\" appliqué", "overwritten": "Préréglage \"{name}\" remplacé", - "restored": "Paramètres par défaut restaurés" + "restored": "Préréglages par défaut restaurés" }, "error": { "presetNameEmpty": "Le nom du préréglage ne peut pas être vide", @@ -2389,7 +2389,7 @@ }, "conflictConfirm": { "title": "Résoudre les conflits de noms de fichiers", - "message": "Renommer en ajoutant un hachage de 4 caractères à chaque nom de fichier en double.", + "message": "Renommer en ajoutant un hash de 4 caractères à chaque nom de fichier en double.", "note": "Cette opération renomme les fichiers sur le disque. Les références de modèle dans les workflows existants peuvent nécessiter une mise à jour si vous utilisez le format de syntaxe A1111.", "detail": "Exemple : filename_v1.2filename_v1.2-ab3c", "impact": "Renommera {count} fichier(s) dans {groups} groupe(s) de doublons", diff --git a/locales/he.json b/locales/he.json index 9c438b8d..f288b90d 100644 --- a/locales/he.json +++ b/locales/he.json @@ -66,8 +66,8 @@ }, "steps": { "fetch": { - "title": "אחזור מטא-דאטה של מודלים", - "content": "לחץ על כפתור אחזר כדי להוריד מטא-דאטה של מודלים ותמונות תצוגה מקדימה מ-CivitAI." + "title": "אחזור מטא-נתונים של מודלים", + "content": "לחץ על כפתור אחזר כדי להוריד מטא-נתונים של מודלים ותמונות תצוגה מקדימה מ-CivitAI." }, "download": { "title": "הורדת מודלים חדשים", @@ -75,7 +75,7 @@ }, "bulk": { "title": "פעולות בכמות גדולה", - "content": "היכנס למצב פעולות בכמות גדולה על ידי לחיצה על כפתור זה או על B. בחר מספר מודלים ובצע פעולות אצווה. השתמש ב-Ctrl+A כדי לבחור את כל המודלים הגלויים." + "content": "היכנס למצב פעולות בכמות גדולה על ידי לחיצה על כפתור זה או על B. בחר מספר מודלים ובצע פעולות בכמות גדולה. השתמש ב-Ctrl+A כדי לבחור את כל המודלים הגלויים." }, "searchOptions": { "title": "אפשרויות חיפוש", @@ -91,7 +91,7 @@ }, "modelCards": { "title": "כרטיסי מודל", - "content": "לחיצה בודדת על כרטיס מודל כדי להציג מידע מפורט ולערוך מטא-דאטה. חפש את סמל העיפרון בעת ריחוף מעל שדות הניתנים לעריכה." + "content": "לחיצה בודדת על כרטיס מודל כדי להציג מידע מפורט ולערוך מטא-נתונים. חפש את סמל העיפרון בעת ריחוף מעל שדות הניתנים לעריכה." }, "contextMenu": { "title": "תפריט הקשר", @@ -200,7 +200,7 @@ "label": "ניהול מודלים מוחרגים" }, "groupByModel": { - "label": "קיבוץ לפי דגם" + "label": "קיבוץ לפי מודל" } }, "header": { @@ -222,11 +222,11 @@ "modelname": "שם מודל", "tags": "תגיות", "creator": "יוצר", - "hash": "האש", + "hash": "hash", "title": "כותרת מתכון", "loraName": "שם קובץ LoRA", "loraModel": "שם מודל LoRA", - "prompt": "הנחיה" + "prompt": "פרומפט" } }, "filter": { @@ -240,7 +240,7 @@ "presetDeleteTooltip": "מחק קביעה מראש", "presetDeleteConfirm": "למחוק קביעה מראש \"{name}\"?", "presetDeleteConfirmClick": "לחץ שוב לאישור", - "presetOverwriteConfirm": "הפריסט \"{name}\" כבר קיים. לדרוס?", + "presetOverwriteConfirm": "קביעה מראש \"{name}\" כבר קיימת. לדרוס?", "presetNamePlaceholder": "שם קביעה מראש...", "baseModel": "מודל בסיס", "baseModelSearchPlaceholder": "חפש מודלי בסיס...", @@ -449,8 +449,8 @@ "help": "כאשר מופעל, LoRA Manager ידלג על הורדת גרסת מודל אם שירות היסטוריית ההורדות רושם את הגרסה המדויקת הזו ככבר שהורדה. חל על כל תהליכי ההורדה." }, "layoutSettings": { - "groupByModel": "קיבוץ לפי דגם", - "groupByModelHelp": "כאשר מופעל, רק הגרסה העדכנית ביותר של כל דגם CivitAI מוצגת ככרטיס בודד. גרסאות ישנות יותר מוסתרות.", + "groupByModel": "קיבוץ לפי מודל", + "groupByModelHelp": "כאשר מופעל, רק הגרסה העדכנית ביותר של כל מודל CivitAI מוצגת ככרטיס בודד. גרסאות ישנות יותר מוסתרות.", "displayDensity": "צפיפות תצוגה", "displayDensityOptions": { "default": "ברירת מחדל", @@ -611,15 +611,15 @@ "uriTemplatePlaceholders": "מצייני מקום זמינים: {{local_path}}, {{encoded_local_path}}, {{relative_path}}, {{encoded_relative_path}}, {{file_uri}}, {{encoded_file_uri}}", "openModeWikiLink": "למידע נוסף על מצבי פתיחה מרחוק", "optimizeImages": "מטב תמונות שהורדו", - "optimizeImagesHelp": "מטב תמונות דוגמה כדי להקטין את גודל הקובץ ולשפר את מהירות הטעינה (מטא-דאטה תישמר)", + "optimizeImagesHelp": "מטב תמונות דוגמה כדי להקטין את גודל הקובץ ולשפר את מהירות הטעינה (מטא-נתונים תישמר)", "download": "הורד", "restartRequired": "דורש הפעלה מחדש" }, "versionGrouping": { "label": "אסטרטגיית תגי עדכון", - "help": "בחרו אם תוויות העדכון יוצגו רק כאשר גרסה חדשה חולקת את אותו דגם בסיס כמו הקבצים המקומיים שלכם או בכל מקרה שבו קיימת גרסה חדשה עבור אותו דגם.", + "help": "בחרו אם תוויות העדכון יוצגו רק כאשר גרסה חדשה חולקת את אותו מודל בסיס כמו הקבצים המקומיים שלכם או בכל מקרה שבו קיימת גרסה חדשה עבור אותו מודל.", "options": { - "sameBase": "התאמת עדכונים לפי דגם בסיס", + "sameBase": "התאמת עדכונים לפי מודל בסיס", "any": "תוויות לכל עדכון זמין" } }, @@ -646,24 +646,24 @@ } }, "metadataArchive": { - "enableArchiveDb": "הפעל מסד נתונים של ארכיון מטא-דאטה", - "enableArchiveDbHelp": "השתמש במסד נתונים מקומי כדי לגשת למטא-דאטה של מודלים שנמחקו מ-CivitAI.", + "enableArchiveDb": "הפעל מסד נתונים של ארכיון מטא-נתונים", + "enableArchiveDbHelp": "השתמש במסד נתונים מקומי כדי לגשת למטא-נתונים של מודלים שנמחקו מ-CivitAI.", "status": "סטטוס", "statusAvailable": "זמין", "statusUnavailable": "לא זמין", "enabled": "מופעל", "management": "ניהול מסד נתונים", - "managementHelp": "הורד או הסר את מסד הנתונים של ארכיון המטא-דאטה", + "managementHelp": "הורד או הסר את מסד הנתונים של ארכיון המטא-נתונים", "downloadButton": "הורד מסד נתונים", "downloadingButton": "מוריד...", "downloadedButton": "הורד", "removeButton": "הסר מסד נתונים", "removingButton": "מסיר...", - "downloadSuccess": "מסד הנתונים של ארכיון המטא-דאטה הורד בהצלחה", - "downloadError": "הורדת מסד הנתונים של ארכיון המטא-דאטה נכשלה", - "removeSuccess": "מסד הנתונים של ארכיון המטא-דאטה הוסר בהצלחה", - "removeError": "הסרת מסד הנתונים של ארכיון המטא-דאטה נכשלה", - "removeConfirm": "האם אתה בטוח שברצונך להסיר את מסד הנתונים של ארכיון המטא-דאטה? פעולה זו תמחק את קובץ מסד הנתונים המקומי ותצטרך להוריד אותו שוב כדי להשתמש בתכונה זו.", + "downloadSuccess": "מסד הנתונים של ארכיון המטא-נתונים הורד בהצלחה", + "downloadError": "הורדת מסד הנתונים של ארכיון המטא-נתונים נכשלה", + "removeSuccess": "מסד הנתונים של ארכיון המטא-נתונים הוסר בהצלחה", + "removeError": "הסרת מסד הנתונים של ארכיון המטא-נתונים נכשלה", + "removeConfirm": "האם אתה בטוח שברצונך להסיר את מסד הנתונים של ארכיון המטא-נתונים? פעולה זו תמחק את קובץ מסד הנתונים המקומי ותצטרך להוריד אותו שוב כדי להשתמש בתכונה זו.", "preparing": "מכין הורדה...", "connecting": "מתחבר לשרת ההורדות...", "completed": "הושלם", @@ -747,10 +747,10 @@ "refresh": { "title": "רענן רשימת מודלים", "full": "בניית מטמון מחדש", - "fullTooltip": "טוען מחדש את כל פרטי המודלים מקבצי המטא-דאטה – לשימוש אם הספרייה נראית לא מעודכנת או לאחר עריכות ידניות." + "fullTooltip": "טוען מחדש את כל פרטי המודלים מקבצי המטא-נתונים – לשימוש אם הספרייה נראית לא מעודכנת או לאחר עריכות ידניות." }, "fetch": { - "title": "אחזר מטא-דאטה מ-CivitAI", + "title": "אחזר מטא-נתונים מ-CivitAI", "action": "אחזר" }, "download": { @@ -759,7 +759,7 @@ }, "bulk": { "title": "פעולות בכמות גדולה", - "action": "כמות גדולה" + "action": "פעולות בכמות גדולה" }, "duplicates": { "title": "מצא כפילויות", @@ -770,7 +770,7 @@ "action": "מועדפים" }, "updates": { - "title": "הצג רק דגמים עם עדכונים זמינים", + "title": "הצג רק מודלים עם עדכונים זמינים", "action": "עדכונים", "menuLabel": "הצגת אפשרויות עדכון", "check": "בדוק עדכונים", @@ -785,8 +785,8 @@ "setBaseModel": "הגדר מודל בסיס לכל", "setContentRating": "הגדר דירוג תוכן לכל המודלים", "copyAll": "העתק את כל התחבירים", - "refreshAll": "רענן את כל המטא-דאטה", - "repairMetadata": "תקן מטא-דאטה עבור הנבחרים", + "refreshAll": "רענן את כל המטא-נתונים", + "repairMetadata": "תקן מטא-נתונים עבור הנבחרים", "rematchMetadata": "התאמה מחדש של הנבחרים למודלים מקומיים", "reimportMetadata": "ייבא מחדש ממקור", "checkUpdates": "בדוק עדכונים לבחירה", @@ -822,7 +822,7 @@ "complete": "ארגון אוטומטי הושלם", "error": "שגיאה: {error}" }, - "enrichHfAgent": "העשרת HF מטא-דאטה (AI)" + "enrichHfAgent": "העשרת HF מטא-נתונים (AI)" }, "contextMenu": { "refreshMetadata": "רענן נתוני CivitAI", @@ -842,7 +842,7 @@ "replacePreview": "החלף תצוגה מקדימה", "setContentRating": "הגדר דירוג תוכן", "moveToFolder": "העבר לתיקייה", - "repairMetadata": "תיקון מטא-דאטה", + "repairMetadata": "תיקון מטא-נתונים", "rematchMetadata": "התאמה מחדש למודלים מקומיים", "reimportMetadata": "ייבא מחדש ממקור", "excludeModel": "החרג מודל", @@ -852,7 +852,7 @@ "viewAllLoras": "הצג את כל ה-LoRAs", "downloadMissingLoras": "הורד LoRAs חסרים", "deleteRecipe": "מחק מתכון", - "enrichHfAgent": "העשרת HF מטא-דאטה (AI)" + "enrichHfAgent": "העשרת HF מטא-נתונים (AI)" } }, "recipes": { @@ -889,11 +889,11 @@ "inLibrary": "בספרייה", "notInLibrary": "לא בספרייה", "deleted": "נמחק", - "hashInvalid": "גיבוב לא ניתן לפתרון", + "hashInvalid": "hash לא ניתן לפתרון", "inLibraryTooltip": "מודל זה קיים בספרייה המקומית שלך", "notInLibraryTooltip": "מודל זה לא נמצא בספרייה שלך", "deletedTooltip": "LoRA זה נמחק מהמקור ואינו זמין יותר להורדה", - "hashInvalidTooltip": "לא ניתן לפתור את הגיבוב של ה-LoRA ב-CivitAI - ייתכן שהמודל עודכן", + "hashInvalidTooltip": "לא ניתן לפתור את ה-hash של ה-LoRA ב-CivitAI - ייתכן שהמודל עודכן", "download": "הורדה", "downloadLoraTooltip": "הורד את ה-LoRA הזה", "preparingDownload": "מכין את ההורדה…", @@ -936,7 +936,7 @@ "saveRecipe": "שמור מתכון", "loraCountInfo": "({existing}/{total} בספרייה)", "processingInput": "מעבד קלט...", - "analyzingMetadata": "מנתח מטא-דאטה של תמונה...", + "analyzingMetadata": "מנתח מטא-נתונים של תמונה...", "downloadingLoras": "מוריד LoRAs...", "savingRecipe": "שומר מתכון...", "startingDownload": "מתחיל הורדה עבור LoRA {current}/{total}", @@ -998,12 +998,12 @@ "noGroups": "לא נמצאו קבוצות כפולות לפי קריטריון ההתאמה הנוכחי", "keepLatest": "שמור גרסאות אחרונות", "deleteSelected": "מחק נבחרים", - "includePromptLabel": "כלול הנחיה בהתאמה", + "includePromptLabel": "כלול פרומפט בהתאמה", "basis": { "loraCombo": "התאמה לפי: שילוב LoRA", - "loraComboAndPrompt": "התאמה לפי: שילוב LoRA + הנחיה", + "loraComboAndPrompt": "התאמה לפי: שילוב LoRA + פרומפט", "hintLoraCombo": "מתכונים עם אותם LoRAs בעוצמות זהות מקובצים יחד.", - "hintPromptIncluded": "מתכונים מקובצים רק כאשר הם משתמשים באותם LoRAs בעוצמות זהות ויש להם אותה הנחיה." + "hintPromptIncluded": "מתכונים מקובצים רק כאשר הם משתמשים באותם LoRAs בעוצמות זהות ויש להם אותה פרומפט." } }, "contextMenu": { @@ -1027,8 +1027,8 @@ "prepareError": "שגיאה בהכנת LoRAs להורדה: {message}" }, "repair": { - "starting": "מתקן מטא-דאטה של מתכון...", - "success": "מטא-דאטה של מתכון תוקן בהצלחה", + "starting": "מתקן מטא-נתונים של מתכון...", + "success": "מטא-נתונים של מתכון תוקן בהצלחה", "skipped": "המתכון כבר בגרסה העדכנית ביותר, אין צורך בתיקון", "failed": "תיקון המתכון נכשל: {message}", "missingId": "לא ניתן לתקן את המתכון: חסר מזהה מתכון" @@ -1160,16 +1160,16 @@ "insights": "תובנות" }, "metrics": { - "totalModels": "סה\"כ דגמים", + "totalModels": "סה\"כ מודלים", "totalStorage": "סה\"כ אחסון", "totalGenerations": "סה\"כ יצירות", "usageRate": "שיעור שימוש", "loras": "LoRA", - "checkpoints": "נקודות ביקורת", - "embeddings": "הטמעות", + "checkpoints": "Checkpoints", + "embeddings": "Embeddings", "uniqueTags": "תגיות ייחודיות", - "unusedModels": "דגמים שאינם בשימוש", - "avgUsesPerModel": "ממוצע שימושים/דגם" + "unusedModels": "מודלים שאינם בשימוש", + "avgUsesPerModel": "ממוצע שימושים/מודל" }, "usage": { "mostUsedLoras": "LoRAs הנפוצים ביותר", @@ -1199,9 +1199,9 @@ }, "unusedCheckpoints": { "detected": { - "title": "התגלו נקודות ביקורת שאינן בשימוש", - "description": "{percent}% מנקודות הביקורת שלך ({count}/{total}) מעולם לא נעשה בהן שימוש.", - "suggestion": "בדוק ושקול להסיר נקודות ביקורת שאינך צריך עוד." + "title": "התגלו Checkpoints שאינן בשימוש", + "description": "{percent}% מ-Checkpoints שלך ({count}/{total}) מעולם לא נעשה בהן שימוש.", + "suggestion": "בדוק ושקול להסיר Checkpoints שאינך צריך עוד." } }, "unusedEmbeddings": { @@ -1234,7 +1234,7 @@ "date": "תאריך", "usageCount": "מספר שימושים", "fileSizeBytes": "גודל קובץ (בתים)", - "models": "דגמים", + "models": "מודלים", "loraUsage": "שימוש ב-LoRA", "checkpointUsage": "שימוש ב-Checkpoint", "embeddingUsage": "שימוש ב-Embedding" @@ -1243,20 +1243,20 @@ "lora": "LoRA", "locon": "LyCORIS", "dora": "DoRA", - "checkpoint": "נקודת ביקורת", + "checkpoint": "Checkpoint", "diffusion_model": "מודל דיפוזיה", - "embedding": "הטמעות" + "embedding": "Embedding" }, "placeholders": { "loading": "טוען...", - "noModels": "לא נמצאו דגמים", + "noModels": "לא נמצאו מודלים", "errorLoading": "שגיאה בטעינת נתונים", "noStorageData": "אין נתוני אחסון זמינים", "rootFolder": "שורש", "chartLibraryMissing": "הגרף דורש את ספריית Chart.js" }, "tooltips": { - "tagCount": "{tag}: {count} דגמים", + "tagCount": "{tag}: {count} מודלים", "chartUsage": "{name}: {size}, {count} שימושים", "chartPercentage": "{label}: {value} ({pct}%)" } @@ -1384,7 +1384,7 @@ "checkUpdates": { "title": "לבדוק עדכונים לכל ה-{typePlural}?", "message": "הפעולה תבדוק עדכונים עבור כל ה-{typePlural} בספרייה שלך. באוספים גדולים זה עלול לקחת מעט יותר זמן.", - "tip": "רוצים לחלק למנות קטנות? עברו למצב קבוצתי, בחרו את המודלים הדרושים ואז השתמשו ב\"בדוק עדכונים לנבחרים\".", + "tip": "רוצים לחלק למנות קטנות? עברו למצב בכמות גדולה, בחרו את המודלים הדרושים ואז השתמשו ב\"בדוק עדכונים לנבחרים\".", "action": "בדוק הכל" }, "bulkAddTags": { @@ -1437,7 +1437,7 @@ }, "linkHuggingFace": { "title": "קישור ל-HuggingFace", - "infoText": "הדבק את כתובת ה-URL של מאגר HuggingFace כדי לשייך מודל זה למקורו. פעולה זו מאפשרת העשרת מטא-דאטה באמצעות AI.", + "infoText": "הדבק את כתובת ה-URL של מאגר HuggingFace כדי לשייך מודל זה למקורו. פעולה זו מאפשרת העשרת מטא-נתונים באמצעות AI.", "urlLabel": "כתובת URL של מאגר HuggingFace:", "urlPlaceholder": "https://huggingface.co/user/repo", "helpText": "הזן את כתובת ה-URL המלאה של מאגר HuggingFace.", @@ -1448,7 +1448,7 @@ "warning": "אזהרה:", "warningText": "זוהי פעולה שעלולה להיות הרסנית. קישור מחדש יגרום ל:", "warningList": { - "overrideMetadata": "דריסת מטא-דאטה קיימת", + "overrideMetadata": "דריסת מטא-נתונים קיימת", "modifyHash": "שינוי פוטנציאלי של ה-hash של המודל", "unintendedConsequences": "עלולות להיות השלכות לא רצויות אחרות" }, @@ -1479,7 +1479,7 @@ "openFileLocation": "פתח מיקום קובץ", "sendToWorkflow": "שלח ל-ComfyUI", "sendToWorkflowText": "שלח ל-ComfyUI", - "copyHash": "העתק האש", + "copyHash": "העתק hash", "deleteModelWithShortcut": "מחק מודל (Del)" }, "openFileLocation": { @@ -1497,7 +1497,7 @@ "location": "מיקום", "baseModel": "מודל בסיס", "size": "גודל", - "hashes": "האשים", + "hashes": "hashes", "unknown": "לא ידוע", "usageTips": "טיפים לשימוש", "additionalNotes": "הערות נוספות", @@ -1682,7 +1682,7 @@ "empty": "אין עדיין היסטוריית גרסאות למודל זה.", "error": "טעינת הגרסאות נכשלה.", "missingModelId": "למודל זה אין מזהה מודל של CivitAI.", - "hfGroupInfo": "זוהי קבוצת דגמים של HuggingFace. פתח את הספרייה כדי לראות את כל הגרסאות ברשת.", + "hfGroupInfo": "זוהי קבוצת מודלים של HuggingFace. פתח את הספרייה כדי לראות את כל הגרסאות ברשת.", "confirm": { "delete": "למחוק גרסה זו מהספרייה שלך?" }, @@ -1696,7 +1696,7 @@ } }, "metadataFetchSummary": { - "title": "סיכום שליפת מטא-דאטה", + "title": "סיכום שליפת מטא-נתונים", "statSuccess": "הצלחה", "statFailed": "נכשל", "statSkipped": "דולג", @@ -1715,11 +1715,11 @@ "statSuccess": "הצליחו", "statFailed": "נכשלו", "statTotal": "סה\"כ", - "successMessage": "כל {count} הדגמים הורדו בהצלחה", + "successMessage": "כל {count} המודלים הורדו בהצלחה", "completedWithErrors": "הושלם עם שגיאות", "failed": "ההורדה נכשלה", "failedItems": "פריטים שנכשלו ({count})", - "columnName": "שם הדגם", + "columnName": "שם המודל", "columnError": "שגיאה", "close": "סגור", "copyReport": "העתק דוח", @@ -1798,7 +1798,7 @@ "exitMode": "צא ממצב", "help": { "identicalHashes": "hashes זהים פירושם קבצי מודל זהים, גם אם יש להם שמות או תצוגות מקדימות שונות.", - "keepOne": "שמור רק גרסה אחת (רצוי עם מטא-דאטה/תצוגות מקדימות טובות יותר) ומחק בבטחה את האחרות." + "keepOne": "שמור רק גרסה אחת (רצוי עם מטא-נתונים/תצוגות מקדימות טובות יותר) ומחק בבטחה את האחרות." } }, "uiHelpers": { @@ -1822,20 +1822,20 @@ "recipeReplaced": "מתכון הוחלף ב-workflow", "recipeFailedToSend": "שליחת מתכון ל-workflow נכשלה", "noMatchingNodes": "אין צמתים תואמים זמינים ב-workflow הנוכחי", - "noPromptTargets": "אין יעדי הנחיה תואמים ב-workflow.\nלחץ לחיצה ימנית על צומת ב-ComfyUI → Mark as → Send Prompt Target", + "noPromptTargets": "אין יעדי פרומפט תואמים ב-workflow.\nלחץ לחיצה ימנית על צומת ב-ComfyUI → Mark as → Send Prompt Target", "noTargetNodeSelected": "לא נבחר צומת יעד", "modelUpdated": "מודל עודכן ב-workflow", "modelFailed": "עדכון צומת המודל נכשל", "embeddingAdded": "Embedding נוסף ל-workflow", "embeddingFailed": "הוספת Embedding נכשלה", - "promptSent": "הנחיה נשלחה ל-workflow", - "promptFailed": "שליחת ההנחיה נכשלה" + "promptSent": "פרומפט נשלחה ל-workflow", + "promptFailed": "שליחת הפרומפט נכשלה" }, "nodeSelector": { "recipe": "מתכון", "lora": "LoRA", "embedding": "Embedding", - "prompt": "הנחיה", + "prompt": "פרומפט", "replace": "החלף", "append": "הוסף", "selectTargetNode": "בחר צומת יעד", @@ -2040,7 +2040,7 @@ "enterLoraName": "אנא הזן שם LoRA או תחביר", "reconnectedSuccessfully": "LoRA קושר מחדש בהצלחה", "reconnectFailed": "שגיאה בקישור מחדש של LoRA: {message}", - "noPromptToSend": "אין הנחיה לשליחה", + "noPromptToSend": "אין פרומפט לשליחה", "cannotSend": "לא ניתן לשלוח מתכון: חסר מזהה מתכון", "sendFailed": "שליחת המתכון ל-workflow נכשלה", "sendError": "שגיאה בשליחת המתכון ל-workflow", @@ -2048,7 +2048,7 @@ "missingCheckpointInfo": "חסרים פרטי checkpoint", "downloadCheckpointFailed": "הורדת checkpoint נכשלה: {message}", "missingLoraDownloadInfo": "חסר מידע הורדה עבור LoRA זה", - "hashNotFoundOnCivitai": "לא ניתן לפתור את הגיבוב של ה-LoRA ב-CivitAI - ייתכן שהמודל עודכן או שהגיבוב אינו תקין", + "hashNotFoundOnCivitai": "לא ניתן לפתור את ה-hash של ה-LoRA ב-CivitAI - ייתכן שהמודל עודכן או שה-hash אינו תקין", "downloadLoraFailed": "הורדת ה-LoRA נכשלה: {message}", "cannotDelete": "לא ניתן למחוק מתכון: חסר מזהה מתכון", "deleteConfirmationError": "שגיאה בהצגת אישור המחיקה", @@ -2103,7 +2103,7 @@ "deleteFailedGeneral": "מחיקת המודלים נכשלה", "selectedAdditional": "נבחרו {count} {type}(ים) נוספים", "marqueeSelectionComplete": "נבחרו {count} {type}(ים) בבחירת מלבן", - "refreshMetadataFailed": "רענון המטא-דאטה נכשל", + "refreshMetadataFailed": "רענון המטא-נתונים נכשל", "nameCannotBeEmpty": "שם המודל אינו יכול להיות ריק", "nameUpdatedSuccessfully": "שם המודל עודכן בהצלחה", "nameUpdateFailed": "עדכון שם המודל נכשל", @@ -2123,10 +2123,10 @@ "bulkContentRatingSet": "דירוג התוכן הוגדר ל-{level} עבור {count} מודלים", "bulkContentRatingPartial": "דירוג התוכן הוגדר ל-{level} עבור {success} מודלים, {failed} נכשלו", "bulkContentRatingFailed": "עדכון דירוג התוכן עבור המודלים שנבחרו נכשל", - "bulkFavoriteUpdating": "מוסיף {count} דגמים למועדפים...", - "bulkUnfavoriteUpdating": "מסיר {count} דגמים ממועדפים...", - "bulkFavoritePartialAdded": "{success} דגמים נוספו למועדפים, {failed} נכשלו", - "bulkFavoritePartialRemoved": "{success} דגמים הוסרו ממועדפים, {failed} נכשלו", + "bulkFavoriteUpdating": "מוסיף {count} מודלים למועדפים...", + "bulkUnfavoriteUpdating": "מסיר {count} מודלים ממועדפים...", + "bulkFavoritePartialAdded": "{success} מודלים נוספו למועדפים, {failed} נכשלו", + "bulkFavoritePartialRemoved": "{success} מודלים הוסרו ממועדפים, {failed} נכשלו", "bulkFavoriteFailed": "עדכון סטטוס מועדפים נכשל", "bulkUpdatesChecking": "בודק עדכונים עבור {type} שנבחרו...", "bulkUpdatesSuccess": "יש עדכונים עבור {count} {type} שנבחרו", @@ -2252,7 +2252,7 @@ "controls": { "reloadFailed": "טעינה מחדש של {pageType} נכשלה: {message}", "refreshFailed": "{action} של {pageType} נכשל: {message}", - "fetchMetadataFailed": "אחזור המטא-דאטה נכשל: {message}", + "fetchMetadataFailed": "אחזור המטא-נתונים נכשל: {message}", "clearFilterFailed": "ניקוי המסנן המותאם אישית נכשל: {message}" }, "contextMenu": { @@ -2263,7 +2263,7 @@ "linkHfSuccess": "המודל נקשר בהצלחה ל-HuggingFace", "linkHfFailed": "שגיאה: {message}", "linkCivArchSuccess": "המודל קושר מחדש דרך CivitArchive בהצלחה", - "fetchMetadataFirst": "אנא אחזר מטא-דאטה מ-CivitAI תחילה", + "fetchMetadataFirst": "אנא אחזר מטא-נתונים מ-CivitAI תחילה", "noCivitaiInfo": "אין מידע מ-CivitAI זמין", "missingHash": "ה-hash של המודל אינו זמין" }, @@ -2300,17 +2300,17 @@ "previewDropInvalid": "סוג קובץ לא נתמך: {name}. גרור במקום זאת תמונה או סרטון MP4.", "refreshComplete": "{action} הושלם", "refreshFailed": "{action} של {type}s נכשל", - "metadataRefreshed": "המטא-דאטה רועננה בהצלחה", - "metadataRefreshFailed": "רענון המטא-דאטה נכשל: {message}", - "metadataUpdateComplete": "עדכון המטא-דאטה הושלם", + "metadataRefreshed": "המטא-נתונים רועננה בהצלחה", + "metadataRefreshFailed": "רענון המטא-נתונים נכשל: {message}", + "metadataUpdateComplete": "עדכון המטא-נתונים הושלם", "operationCancelled": "הפעולה בוטלה על ידי המשתמש", "operationCancelledPartial": "הפעולה בוטלה. {success} פריטים עובדו.", - "metadataFetchFailed": "אחזור המטא-דאטה נכשל: {message}", + "metadataFetchFailed": "אחזור המטא-נתונים נכשל: {message}", "bulkMetadataCompleteAll": "רועננו בהצלחה כל {count} ה-{type}s", "bulkMetadataCompletePartial": "רועננו {success} מתוך {total} {type}s", - "bulkMetadataCompleteNone": "רענון המטא-דאטה נכשל עבור כל ה-{type}s", + "bulkMetadataCompleteNone": "רענון המטא-נתונים נכשל עבור כל ה-{type}s", "bulkMetadataFailureDetails": "רענונים שנכשלו:\n{failures}", - "bulkMetadataFailed": "רענון המטא-דאטה נכשל: {message}", + "bulkMetadataFailed": "רענון המטא-נתונים נכשל: {message}", "moveNotSupported": "העברת {type}s אינה נתמכת", "alreadyInFolder": "{type} כבר נמצא בתיקייה שנבחרה", "moveInfo": "{message}", @@ -2328,9 +2328,9 @@ }, "agent": { "llmNotConfigured": "ספק AI לא הוגדר. הפעל אותו בהגדרות → ספק AI.", - "enrichStarted": "מעשיר מטא-דאטה באמצעות AI...", - "enrichComplete": "העשרת מטא-דאטה הושלמה: {{summary}}", - "enrichFailed": "העשרת מטא-דאטה נכשלה: {{error}}" + "enrichStarted": "מעשיר מטא-נתונים באמצעות AI...", + "enrichComplete": "העשרת מטא-נתונים הושלמה: {{summary}}", + "enrichFailed": "העשרת מטא-נתונים נכשלה: {{error}}" } }, "doctor": { @@ -2389,7 +2389,7 @@ }, "conflictConfirm": { "title": "פתור התנגשויות בשמות קבצים", - "message": "שינוי שם על ידי הוספת האש באורך 4 תווים לכל שם קובץ כפול.", + "message": "שינוי שם על ידי הוספת hash באורך 4 תווים לכל שם קובץ כפול.", "note": "פעולה זו משנה שמות של קבצים בדיסק. ייתכן שיהיה צורך לעדכן הפניות למודלים בזרימות עבודה קיימות אם אתה משתמש בפורמט התחביר A1111.", "detail": "דוגמה: filename_v1.2filename_v1.2-ab3c", "impact": "ישנה שם של {count} קבצים ב-{groups} קבוצות כפולות", @@ -2417,7 +2417,7 @@ "degraded": { "title": "זוהו בעיות במטמון" }, - "content": "{invalid} מתוך {total} רשומות מטמון אינן תקינות ({rate}). זה עלול לגרום לדגמים חסרים או לשגיאות. מומלץ לבנות מחדש את המטמון.", + "content": "{invalid} מתוך {total} רשומות מטמון אינן תקינות ({rate}). זה עלול לגרום למודלים חסרים או לשגיאות. מומלץ לבנות מחדש את המטמון.", "rebuildCache": "בניית מטמון מחדש", "dismiss": "ביטול", "rebuilding": "בונה מחדש את המטמון...", diff --git a/locales/ja.json b/locales/ja.json index 81691f8a..b27f2aa5 100644 --- a/locales/ja.json +++ b/locales/ja.json @@ -108,12 +108,12 @@ "viewOnHuggingFace": "Hugging Face で見る", "sendToWorkflow": "ComfyUIに送信(クリック:追加、Shift+クリック:置換)", "copyLoRASyntax": "LoRA構文をコピー", - "checkpointNameCopied": "checkpointの名前をコピーしました", + "checkpointNameCopied": "Checkpointの名前をコピーしました", "toggleBlur": "ぼかしの切り替え", "show": "表示", "openExampleImages": "例画像フォルダを開く", "replacePreview": "プレビューを置換", - "copyCheckpointName": "checkpoint名をコピー", + "copyCheckpointName": "Checkpoint名をコピー", "copyEmbeddingName": "embedding名をコピー", "embeddingNameCopied": "Embedding構文をコピーしました", "sendCheckpointToWorkflow": "ComfyUIに送信", @@ -131,7 +131,7 @@ "updateFailed": "お気に入り状態の更新に失敗しました" }, "sendToWorkflow": { - "checkpointNotImplemented": "checkpointをワークフローに送信 - 実装予定の機能", + "checkpointNotImplemented": "Checkpointをワークフローに送信 - 実装予定の機能", "missingPath": "このカードのモデルパスを特定できません" }, "exampleImages": { @@ -183,7 +183,7 @@ "label": "レシピデータの修復", "loading": "レシピデータを修復中...", "success": "{count} 件のレシピを正常に修復しました。", - "cancelled": "修復がキャンセルされました。{count}個のレシピが修復されました。", + "cancelled": "修復がキャンセルされました。{count}件のレシピが修復されました。", "error": "レシピの修復に失敗しました: {message}" }, "rematchRecipes": { @@ -503,7 +503,7 @@ "defaultLoraRoot": "LoRAルート", "defaultLoraRootHelp": "ダウンロード、インポート、移動用のデフォルトLoRAルートディレクトリを設定", "defaultCheckpointRoot": "Checkpointルート", - "defaultCheckpointRootHelp": "ダウンロード、インポート、移動用のデフォルトcheckpointルートディレクトリを設定", + "defaultCheckpointRootHelp": "ダウンロード、インポート、移動用のデフォルトCheckpointルートディレクトリを設定", "defaultUnetRoot": "Diffusion Modelルート", "defaultUnetRootHelp": "ダウンロード、インポート、移動用のデフォルトDiffusion Model (UNET)ルートディレクトリを設定", "defaultEmbeddingRoot": "Embeddingルート", @@ -529,8 +529,8 @@ "saveError": "追加フォルダーパスの更新に失敗しました: {message}", "validation": { "duplicatePath": "このパスはすでに設定されています", - "checkpointUnetOverlap": "checkpoints と diffusion models に同じパスは使用できません:{paths}", - "checkpointUnetOverlapInline": "このパスは別のモデルタイプですでに使用されています。checkpoints と diffusion models には別々のフォルダを使用してください。" + "checkpointUnetOverlap": "Checkpoints と diffusion models に同じパスは使用できません:{paths}", + "checkpointUnetOverlapInline": "このパスは別のモデルタイプですでに使用されています。Checkpoints と diffusion models には別々のフォルダを使用してください。" } }, "priorityTags": { @@ -540,7 +540,7 @@ "helpLinkLabel": "優先タグのヘルプを開く", "modelTypes": { "lora": "LoRA", - "checkpoint": "チェックポイント", + "checkpoint": "Checkpoint", "embedding": "埋め込み" }, "saveSuccess": "優先タグを更新しました。", @@ -1384,7 +1384,7 @@ "checkUpdates": { "title": "すべての{typePlural}の更新を確認しますか?", "message": "ライブラリ内のすべての{typePlural}で更新を確認します。コレクションが大きい場合は時間がかかることがあります。", - "tip": "少しずつ確認したい場合はバルクモードに切り替え、必要なモデルを選んで「選択項目の更新を確認」を使ってください。", + "tip": "少しずつ確認したい場合は一括モードに切り替え、必要なモデルを選んで「選択項目の更新を確認」を使ってください。", "action": "すべて確認" }, "bulkAddTags": { @@ -1748,14 +1748,14 @@ }, "checkpoints": { "title": "Checkpoint Managerを初期化中", - "message": "checkpointキャッシュをスキャンして構築中。数分かかる場合があります..." + "message": "Checkpointキャッシュをスキャンして構築中。数分かかる場合があります..." }, "embeddings": { "title": "Embedding Managerを初期化中", "message": "embeddingキャッシュをスキャンして構築中。数分かかる場合があります..." }, "recipes": { - "title": "Recipe Managerを初期化中", + "title": "レシピマネージャーを初期化中", "message": "レシピを読み込んで処理中。数分かかる場合があります..." }, "statistics": { @@ -2044,9 +2044,9 @@ "cannotSend": "レシピを送信できません:レシピIDがありません", "sendFailed": "レシピのワークフローへの送信に失敗しました", "sendError": "レシピのワークフロー送信エラー", - "missingCheckpointPath": "チェックポイントのパスがありません", - "missingCheckpointInfo": "チェックポイント情報が不足しています", - "downloadCheckpointFailed": "チェックポイントのダウンロードに失敗しました: {message}", + "missingCheckpointPath": "Checkpointのパスがありません", + "missingCheckpointInfo": "Checkpoint情報が不足しています", + "downloadCheckpointFailed": "Checkpointのダウンロードに失敗しました: {message}", "missingLoraDownloadInfo": "この LoRA のダウンロード情報がありません", "hashNotFoundOnCivitai": "このLoRAハッシュはCivitAIで解決できません - モデルが更新されたか、ハッシュが無効な可能性があります", "downloadLoraFailed": "LoRA のダウンロードに失敗しました: {message}", @@ -2158,7 +2158,7 @@ }, "settings": { "loraRootsFailed": "LoRAルートの読み込みに失敗しました:{message}", - "checkpointRootsFailed": "checkpointルートの読み込みに失敗しました:{message}", + "checkpointRootsFailed": "Checkpointルートの読み込みに失敗しました:{message}", "unetRootsFailed": "Diffusion Modelルートの読み込みに失敗しました:{message}", "embeddingRootsFailed": "embeddingルートの読み込みに失敗しました:{message}", "mappingsUpdated": "ベースモデルパスマッピングが更新されました({count} マッピング)", diff --git a/locales/ko.json b/locales/ko.json index ef8645dd..add17eec 100644 --- a/locales/ko.json +++ b/locales/ko.json @@ -131,7 +131,7 @@ "updateFailed": "즐겨찾기 상태 업데이트 실패" }, "sendToWorkflow": { - "checkpointNotImplemented": "Checkpoint을 워크플로로 전송 - 구현 예정 기능", + "checkpointNotImplemented": "Checkpoint를 워크플로로 전송 - 구현 예정 기능", "missingPath": "이 카드의 모델 경로를 확인할 수 없습니다" }, "exampleImages": { @@ -427,10 +427,10 @@ "noneAvailable": "아직 스냅샷이 없습니다" }, "downloadSkipBaseModels": { - "label": "기본 모델 다운로드 건너뛰기", + "label": "베이스 모델 다운로드 건너뛰기", "help": "활성화하면 선택한 베이스 모델을 사용하는 버전은 건너뜁니다.", - "searchPlaceholder": "기본 모델 필터링...", - "empty": "현재 검색과 일치하는 기본 모델이 없습니다.", + "searchPlaceholder": "베이스 모델 필터링...", + "empty": "현재 검색과 일치하는 베이스 모델이 없습니다.", "summary": { "none": "선택 없음", "count": "{count}개 선택됨" @@ -441,7 +441,7 @@ "clear": "지우기" }, "validation": { - "saveFailed": "제외된 기본 모델을 저장할 수 없습니다: {message}" + "saveFailed": "제외된 베이스 모델을 저장할 수 없습니다: {message}" } }, "skipPreviouslyDownloadedModelVersions": { @@ -540,8 +540,8 @@ "helpLinkLabel": "우선순위 태그 도움말 열기", "modelTypes": { "lora": "LoRA", - "checkpoint": "체크포인트", - "embedding": "임베딩" + "checkpoint": "Checkpoint", + "embedding": "Embedding" }, "saveSuccess": "우선순위 태그가 업데이트되었습니다.", "saveError": "우선순위 태그를 업데이트하지 못했습니다.", @@ -805,9 +805,9 @@ "clear": "선택 지우기", "skipMetadataRefreshCount": "건너뛰기({count}개 모델)", "resumeMetadataRefreshCount": "재개({count}개 모델)", - "sendToWorkflow": "워크플로우로 보내기", + "sendToWorkflow": "워크플로로 보내기", "sections": { - "workflow": "워크플로우", + "workflow": "워크플로", "metadata": "메타데이터", "attributes": "속성", "organize": "정리", @@ -1110,7 +1110,7 @@ }, "contextMenu": { "moveToOtherTypeFolder": "{otherType} 폴더로 이동", - "sendToWorkflow": "워크플로우로 전송" + "sendToWorkflow": "워크플로로 전송" } }, "embeddings": { @@ -1384,7 +1384,7 @@ "checkUpdates": { "title": "{typePlural} 전체 업데이트를 확인할까요?", "message": "라이브러리에 있는 모든 {typePlural}의 업데이트를 확인합니다. 컬렉션이 클수록 시간이 조금 더 걸릴 수 있습니다.", - "tip": "나눠서 진행하고 싶다면 벌크 모드로 전환해 필요한 모델만 선택한 뒤 \"선택 항목 업데이트 확인\"을 사용하세요.", + "tip": "나눠서 진행하고 싶다면 일괄 모드로 전환해 필요한 모델만 선택한 뒤 \"선택 항목 업데이트 확인\"을 사용하세요.", "action": "전체 확인" }, "bulkAddTags": { @@ -1822,7 +1822,7 @@ "recipeReplaced": "레시피가 워크플로에서 교체되었습니다", "recipeFailedToSend": "레시피를 워크플로로 전송하지 못했습니다", "noMatchingNodes": "현재 워크플로에서 호환되는 노드가 없습니다", - "noPromptTargets": "워크플로우에 호환되는 프롬프트 타겟이 없습니다.\nComfyUI에서 노드를 우클릭 → Mark as → Send Prompt Target", + "noPromptTargets": "워크플로에 호환되는 프롬프트 타겟이 없습니다.\nComfyUI에서 노드를 우클릭 → Mark as → Send Prompt Target", "noTargetNodeSelected": "대상 노드가 선택되지 않았습니다", "modelUpdated": "모델이 워크플로에서 업데이트되었습니다", "modelFailed": "모델 노드 업데이트 실패", @@ -1834,7 +1834,7 @@ "nodeSelector": { "recipe": "레시피", "lora": "LoRA", - "embedding": "임베딩", + "embedding": "Embedding", "prompt": "프롬프트", "replace": "교체", "append": "추가", @@ -2002,7 +2002,7 @@ "pleaseSelectFile": "파일을 하나 이상 선택해주세요", "versionExists": "이 버전은 이미 라이브러리에 있습니다", "downloadCompleted": "다운로드가 성공적으로 완료되었습니다", - "downloadSkippedByBaseModel": "기본 모델 {baseModel}이(가) 제외되어 다운로드를 건너뛰었습니다", + "downloadSkippedByBaseModel": "베이스 모델 {baseModel}이(가) 제외되어 다운로드를 건너뛰었습니다", "autoOrganizeSuccess": "{count}개의 {type}에 대해 자동 정리가 성공적으로 완료되었습니다", "autoOrganizePartialSuccess": "자동 정리 완료: 전체 {total}개 중 {success}개 이동, {failures}개 실패", "autoOrganizeFailed": "자동 정리 실패: {error}", @@ -2026,7 +2026,7 @@ "negativePromptUpdated": "네거티브 프롬프트가 성공적으로 업데이트되었습니다", "promptEditorHint": "Enter 키를 눌러 저장, Shift+Enter로 새 줄", "noRecipeId": "사용 가능한 레시피 ID가 없습니다", - "sendToWorkflowFailed": "워크플로우에 레시피 보내기 실패: {message}", + "sendToWorkflowFailed": "워크플로에 레시피 보내기 실패: {message}", "copyFailed": "레시피 문법 복사 오류: {message}", "createError": "레시피 생성 중 오류 발생:{message}", "createFailed": "레시피 생성 실패:{error}", @@ -2044,9 +2044,9 @@ "cannotSend": "레시피를 전송할 수 없습니다: 레시피 ID 누락", "sendFailed": "레시피를 워크플로로 전송하는데 실패했습니다", "sendError": "레시피를 워크플로로 전송하는 중 오류", - "missingCheckpointPath": "체크포인트 경로를 사용할 수 없습니다", - "missingCheckpointInfo": "체크포인트 정보가 부족합니다", - "downloadCheckpointFailed": "체크포인트 다운로드 실패: {message}", + "missingCheckpointPath": "Checkpoint 경로를 사용할 수 없습니다", + "missingCheckpointInfo": "Checkpoint 정보가 부족합니다", + "downloadCheckpointFailed": "Checkpoint 다운로드 실패: {message}", "missingLoraDownloadInfo": "이 LoRA의 다운로드 정보가 없습니다", "hashNotFoundOnCivitai": "이 LoRA 해시는 CivitAI에서 해석할 수 없습니다 - 모델이 업데이트되었거나 해시가 유효하지 않을 수 있습니다", "downloadLoraFailed": "LoRA 다운로드 실패: {message}", @@ -2390,7 +2390,7 @@ "conflictConfirm": { "title": "파일명 충돌 해결", "message": "중복 파일명에 4자리 해시를 추가하여 이름을 변경합니다.", - "note": "이 작업은 디스크에 있는 파일의 이름을 변경합니다. A1111 구문 형식을 사용하는 경우 기존 워크플로우의 모델 참조를 업데이트해야 할 수 있습니다.", + "note": "이 작업은 디스크에 있는 파일의 이름을 변경합니다. A1111 구문 형식을 사용하는 경우 기존 워크플로의 모델 참조를 업데이트해야 할 수 있습니다.", "detail": "예시: filename_v1.2filename_v1.2-ab3c", "impact": "{groups}개 중복 그룹에서 {count}개 파일 이름을 변경합니다", "confirm": "파일 이름 변경", diff --git a/locales/ru.json b/locales/ru.json index 4a9799b2..10211289 100644 --- a/locales/ru.json +++ b/locales/ru.json @@ -226,7 +226,7 @@ "title": "Название рецепта", "loraName": "Имя файла LoRA", "loraModel": "Название модели LoRA", - "prompt": "Запрос" + "prompt": "Промпт" } }, "filter": { @@ -271,7 +271,7 @@ "switchToLight": "Переключить на светлую тему", "switchToDark": "Переключить на тёмную тему", "switchToAuto": "Переключить на автоматическую тему", - "presets": "Предустановки тем", + "presets": "Пресеты тем", "default": "По умолчанию", "nord": "Nord", "midnight": "Midnight", @@ -540,8 +540,8 @@ "helpLinkLabel": "Открыть справку по приоритетным тегам", "modelTypes": { "lora": "LoRA", - "checkpoint": "Чекпойнт", - "embedding": "Эмбеддинг" + "checkpoint": "Checkpoint", + "embedding": "Embedding" }, "saveSuccess": "Приоритетные теги обновлены.", "saveError": "Не удалось обновить приоритетные теги.", @@ -639,7 +639,7 @@ "includeTriggerWords": "Включать триггерные слова в синтаксис LoRA", "includeTriggerWordsHelp": "Включать обученные триггерные слова при копировании синтаксиса LoRA в буфер обмена", "loraSyntaxFormat": "Формат синтаксиса LoRA", - "loraSyntaxFormatHelp": "Формат синтаксиса LoRA. Полный путь включает подпапку () для безпотерьного разрешения модели. Устаревший использует только имя файла () — соглашение A1111, может быть неоднозначным при дублировании имён файлов в разных папках.", + "loraSyntaxFormatHelp": "Формат синтаксиса LoRA. Полный путь включает подпапку () для беспотерьного разрешения модели. Устаревший использует только имя файла () — соглашение A1111, может быть неоднозначным при дублировании имён файлов в разных папках.", "loraSyntaxFormatOptions": { "full": "Полный путь (подпапка/имя)", "legacy": "Устаревший A1111 (только имя)" @@ -889,11 +889,11 @@ "inLibrary": "В библиотеке", "notInLibrary": "Не в библиотеке", "deleted": "Удалено", - "hashInvalid": "Нераспознанный хэш", + "hashInvalid": "Нераспознанный хеш", "inLibraryTooltip": "Эта модель есть в вашей локальной библиотеке", "notInLibraryTooltip": "Этой модели нет в вашей библиотеке", "deletedTooltip": "Этот LoRA был удалён из источника и больше недоступен для скачивания", - "hashInvalidTooltip": "Этот хэш LoRA не удаётся распознать на CivitAI - возможно, модель была обновлена", + "hashInvalidTooltip": "Этот хеш LoRA не удаётся распознать на CivitAI - возможно, модель была обновлена", "download": "Скачать", "downloadLoraTooltip": "Скачать этот LoRA", "preparingDownload": "Подготовка к скачиванию…", @@ -998,12 +998,12 @@ "noGroups": "Дубликатов с текущим критерием не найдено", "keepLatest": "Оставить последние версии", "deleteSelected": "Удалить выбранные", - "includePromptLabel": "Учитывать запрос при поиске дубликатов", + "includePromptLabel": "Учитывать промпт при поиске дубликатов", "basis": { "loraCombo": "Критерий: комбинация LoRA", - "loraComboAndPrompt": "Критерий: комбинация LoRA + запрос", + "loraComboAndPrompt": "Критерий: комбинация LoRA + промпт", "hintLoraCombo": "Рецепты с одинаковыми LoRA и одинаковой силой группируются вместе.", - "hintPromptIncluded": "Рецепты группируются только при одинаковых LoRA с одинаковой силой И одинаковом запросе." + "hintPromptIncluded": "Рецепты группируются только при одинаковых LoRA с одинаковой силой И одинаковом промпте." } }, "contextMenu": { @@ -1165,8 +1165,8 @@ "totalGenerations": "Всего генераций", "usageRate": "Коэффициент использования", "loras": "LoRA", - "checkpoints": "Контрольные точки", - "embeddings": "Эмбеддинги", + "checkpoints": "Checkpoints", + "embeddings": "Embeddings", "uniqueTags": "Уникальные теги", "unusedModels": "Неиспользуемые модели", "avgUsesPerModel": "Сред. использований/модель" @@ -1199,9 +1199,9 @@ }, "unusedCheckpoints": { "detected": { - "title": "Обнаружены неиспользуемые контрольные точки", - "description": "{percent}% ваших контрольных точек ({count}/{total}) никогда не использовались.", - "suggestion": "Проверьте и удалите ненужные контрольные точки." + "title": "Обнаружены неиспользуемые Checkpoints", + "description": "{percent}% ваших Checkpoints ({count}/{total}) никогда не использовались.", + "suggestion": "Проверьте и удалите ненужные Checkpoints." } }, "unusedEmbeddings": { @@ -1243,9 +1243,9 @@ "lora": "LoRA", "locon": "LyCORIS", "dora": "DoRA", - "checkpoint": "Контрольная точка", + "checkpoint": "Checkpoint", "diffusion_model": "Диффузионная модель", - "embedding": "Эмбеддинги" + "embedding": "Embeddings" }, "placeholders": { "loading": "Загрузка...", @@ -1479,7 +1479,7 @@ "openFileLocation": "Открыть расположение файла", "sendToWorkflow": "Отправить в ComfyUI", "sendToWorkflowText": "Отправить в ComfyUI", - "copyHash": "Копировать хэш", + "copyHash": "Копировать хеш", "deleteModelWithShortcut": "Удалить модель (Del)" }, "openFileLocation": { @@ -1828,14 +1828,14 @@ "modelFailed": "Не удалось обновить узел модели", "embeddingAdded": "Embedding добавлен в workflow", "embeddingFailed": "Не удалось добавить embedding", - "promptSent": "Запрос отправлен в workflow", - "promptFailed": "Не удалось отправить запрос" + "promptSent": "Промпт отправлен в workflow", + "promptFailed": "Не удалось отправить промпт" }, "nodeSelector": { "recipe": "Рецепт", "lora": "LoRA", - "embedding": "Эмбеддинг", - "prompt": "Запрос", + "embedding": "Embedding", + "prompt": "Промпт", "replace": "Заменить", "append": "Добавить", "selectTargetNode": "Выберите целевой узел", @@ -2026,7 +2026,7 @@ "negativePromptUpdated": "Негативный промпт успешно обновлён", "promptEditorHint": "Нажмите Enter для сохранения, Shift+Enter для новой строки", "noRecipeId": "ID рецепта недоступен", - "sendToWorkflowFailed": "Не удалось отправить рецепт в рабочий процесс: {message}", + "sendToWorkflowFailed": "Не удалось отправить рецепт в workflow: {message}", "copyFailed": "Ошибка копирования синтаксиса рецепта: {message}", "createError": "Ошибка при создании рецепта:{message}", "createFailed": "Не удалось создать рецепт:{error}", @@ -2040,7 +2040,7 @@ "enterLoraName": "Пожалуйста, введите название LoRA или синтаксис", "reconnectedSuccessfully": "LoRA успешно переподключена", "reconnectFailed": "Ошибка переподключения LoRA: {message}", - "noPromptToSend": "Нет запроса для отправки", + "noPromptToSend": "Нет промпта для отправки", "cannotSend": "Невозможно отправить рецепт: отсутствует ID рецепта", "sendFailed": "Не удалось отправить рецепт в workflow", "sendError": "Ошибка отправки рецепта в workflow", @@ -2048,7 +2048,7 @@ "missingCheckpointInfo": "Отсутствуют данные о чекпойнте", "downloadCheckpointFailed": "Не удалось скачать чекпойнт: {message}", "missingLoraDownloadInfo": "Нет информации для скачивания этого LoRA", - "hashNotFoundOnCivitai": "Этот хэш LoRA не удаётся распознать на CivitAI - возможно, модель была обновлена или хэш недействителен", + "hashNotFoundOnCivitai": "Этот хеш LoRA не удаётся распознать на CivitAI - возможно, модель была обновлена или хеш недействителен", "downloadLoraFailed": "Не удалось скачать LoRA: {message}", "cannotDelete": "Невозможно удалить рецепт: отсутствует ID рецепта", "deleteConfirmationError": "Ошибка отображения подтверждения удаления", diff --git a/locales/zh-CN.json b/locales/zh-CN.json index 92d8fa1d..aaaf18f5 100644 --- a/locales/zh-CN.json +++ b/locales/zh-CN.json @@ -108,7 +108,7 @@ "viewOnHuggingFace": "在 Hugging Face 查看", "sendToWorkflow": "发送到 ComfyUI(点击:追加,Shift+点击:替换)", "copyLoRASyntax": "复制 LoRA 语法", - "checkpointNameCopied": "检查点名称已复制", + "checkpointNameCopied": "Checkpoint 名称已复制", "toggleBlur": "切换模糊", "show": "显示", "openExampleImages": "打开示例图片文件夹", @@ -131,7 +131,7 @@ "updateFailed": "收藏状态更新失败" }, "sendToWorkflow": { - "checkpointNotImplemented": "发送检查点到工作流 - 功能待实现", + "checkpointNotImplemented": "发送Checkpoint到工作流 - 功能待实现", "missingPath": "无法确定此卡片的模型路径" }, "exampleImages": { @@ -187,14 +187,14 @@ "error": "配方修复失败:{message}" }, "rematchRecipes": { - "label": "将食谱重新匹配到本地模型", - "loading": "正在将食谱重新匹配到本地模型...", - "success": "已匹配 {entries} 个条目,涉及 {recipes} 个食谱", - "successErrors": "已匹配 {entries} 个条目,涉及 {recipes} 个食谱,{failures} 个失败", - "allFailed": "{failures}/{total} 个食谱重新匹配失败", - "noMatch": "在 {recipes} 个食谱中未找到 {entries} 个条目的本地匹配", - "cancelled": "已取消重新匹配。{recipes} 个食谱已更新({entries} 个条目)。", - "error": "食谱重新匹配失败:{message}" + "label": "将配方重新匹配到本地模型", + "loading": "正在将配方重新匹配到本地模型...", + "success": "已匹配 {entries} 个条目,涉及 {recipes} 个配方", + "successErrors": "已匹配 {entries} 个条目,涉及 {recipes} 个配方,{failures} 个失败", + "allFailed": "{failures}/{total} 个配方重新匹配失败", + "noMatch": "在 {recipes} 个配方中未找到 {entries} 个条目的本地匹配", + "cancelled": "已取消重新匹配。{recipes} 个配方已更新({entries} 个条目)。", + "error": "配方重新匹配失败:{message}" }, "manageExcludedModels": { "label": "管理已排除的模型" @@ -696,7 +696,7 @@ "aiProvider": { "title": "AI 提供商", "provider": "提供商", - "providerHelp": "选择您的 LLM 提供商。OpenAI 和 Ollama 使用预设的 API 端点。自定义允许您指定任何兼容 OpenAI 的端点。", + "providerHelp": "选择你的 LLM 提供商。OpenAI 和 Ollama 使用预设的 API 端点。自定义允许你指定任何兼容 OpenAI 的端点。", "providerOptions": { "openai": "OpenAI", "ollama": "Ollama(本地)", @@ -711,7 +711,7 @@ "apiBaseHelp": "LLM API 的基础地址。选择预设或输入自定义地址,下拉框显示所有支持的提供商预设。", "apiBasePlaceholder": "https://api.openai.com/v1", "apiKey": "API 密钥", - "apiKeyHelp": "LLM 提供商的 API 密钥。本地存储,除您选择的 LLM 提供商外不会发送到任何服务器。", + "apiKeyHelp": "LLM 提供商的 API 密钥。本地存储,除你选择的 LLM 提供商外不会发送到任何服务器。", "apiKeyPlaceholder": "sk-...", "apiKeyNotSet": "未设置", "apiKeyConfigured": "已配置", @@ -946,8 +946,8 @@ "earlyAccessRequired": "此 LoRA 需要提前访问权限才能下载。", "earlyAccessEnds": "提前访问权限将于 {date} 结束。", "earlyAccess": "提前访问", - "verifyEarlyAccess": "在下载之前,请验证您是否已购买提前访问权限。", - "duplicateRecipesFound": "在您的库中找到 {count} 个相同的配方。", + "verifyEarlyAccess": "在下载之前,请确认你已购买提前访问权限。", + "duplicateRecipesFound": "在你的库中找到 {count} 个相同的配方。", "duplicateRecipesDescription": "这些配方包含相同的 LoRA,权重完全相同。", "showDuplicates": "显示重复项", "hideDuplicates": "隐藏重复项", @@ -1671,13 +1671,13 @@ "label": "基础筛选", "state": { "showAll": "全部版本", - "showSameBase": "相同基模型" + "showSameBase": "相同基础模型" }, "tooltip": { "showAllVersions": "切换为显示所有版本", - "showSameBaseVersions": "仅显示与当前基模型匹配的版本" + "showSameBaseVersions": "仅显示与当前基础模型匹配的版本" }, - "empty": "没有与当前基模型筛选匹配的版本。" + "empty": "没有与当前基础模型筛选匹配的版本。" }, "empty": "该模型还没有版本历史。", "error": "加载版本失败。", @@ -1850,7 +1850,7 @@ "copiedUri": "链接已复制到剪贴板:{{uri}}", "uriClipboardFallback": "链接:{{uri}}", "setupRequired": "示例图片存储", - "setupDescription": "要添加自定义示例图片,您需要先设置下载位置。", + "setupDescription": "要添加自定义示例图片,你需要先设置下载位置。", "setupUsage": "此路径用于存储下载的示例图片和自定义图片。", "openSettings": "打开设置" } @@ -2044,9 +2044,9 @@ "cannotSend": "无法发送配方:缺少配方 ID", "sendFailed": "发送配方到工作流失败", "sendError": "发送配方到工作流出错", - "missingCheckpointPath": "缺少检查点路径", - "missingCheckpointInfo": "缺少检查点信息", - "downloadCheckpointFailed": "下载检查点失败:{message}", + "missingCheckpointPath": "缺少Checkpoint路径", + "missingCheckpointInfo": "缺少Checkpoint信息", + "downloadCheckpointFailed": "下载Checkpoint失败:{message}", "missingLoraDownloadInfo": "缺少此 LoRA 的下载信息", "hashNotFoundOnCivitai": "此 LoRA 哈希无法在 CivitAI 上解析——模型可能已更新或哈希无效", "downloadLoraFailed": "下载 LoRA 失败:{message}", @@ -2080,12 +2080,12 @@ "repairBulkComplete": "修复完成:{repaired} 个已修复,{skipped} 个已跳过(共 {total} 个)", "repairBulkSkipped": "所选 {total} 个配方无需修复", "repairBulkFailed": "修复所选配方失败:{message}", - "rematchComplete": "已匹配 {entries} 个条目,涉及 {recipes} 个食谱", - "rematchCompleteErrors": "已匹配 {entries} 个条目,涉及 {recipes} 个食谱,{failures} 个失败", - "rematchAllFailed": "{failures}/{total} 个所选食谱重新匹配失败", - "rematchUnmatched": "在 {recipes} 个食谱中未找到 {entries} 个条目的本地匹配", - "rematchSkipped": "{total} 个所选食谱均无需重新匹配", - "rematchFailed": "重新匹配所选食谱失败:{message}", + "rematchComplete": "已匹配 {entries} 个条目,涉及 {recipes} 个配方", + "rematchCompleteErrors": "已匹配 {entries} 个条目,涉及 {recipes} 个配方,{failures} 个失败", + "rematchAllFailed": "{failures}/{total} 个所选配方重新匹配失败", + "rematchUnmatched": "在 {recipes} 个配方中未找到 {entries} 个条目的本地匹配", + "rematchSkipped": "{total} 个所选配方均无需重新匹配", + "rematchFailed": "重新匹配所选配方失败:{message}", "reimporting": "正在从源重新导入配方...", "reimportSuccess": "配方已从源重新导入成功", "reimportBulkComplete": "重新导入完成:{completed} 个已导入,{failed} 个失败(共 {total} 个)", diff --git a/locales/zh-TW.json b/locales/zh-TW.json index 834e1631..1c6fcaef 100644 --- a/locales/zh-TW.json +++ b/locales/zh-TW.json @@ -113,7 +113,7 @@ "show": "顯示", "openExampleImages": "開啟範例圖片資料夾", "replacePreview": "更換預覽圖", - "copyCheckpointName": "複製檢查點名稱", + "copyCheckpointName": "複製 Checkpoint 名稱", "copyEmbeddingName": "複製嵌入名稱", "embeddingNameCopied": "已複製 Embedding 語法", "sendCheckpointToWorkflow": "傳送到 ComfyUI", @@ -187,14 +187,14 @@ "error": "配方修復失敗:{message}" }, "rematchRecipes": { - "label": "將食譜重新匹配到本地模型", - "loading": "正在將食譜重新匹配到本地模型...", - "success": "已匹配 {entries} 個條目,涉及 {recipes} 個食譜", - "successErrors": "已匹配 {entries} 個條目,涉及 {recipes} 個食譜,{failures} 個失敗", - "allFailed": "{failures}/{total} 個食譜重新匹配失敗", - "noMatch": "在 {recipes} 個食譜中找不到 {entries} 個條目的本地匹配", - "cancelled": "已取消重新匹配。{recipes} 個食譜已更新({entries} 個條目)。", - "error": "食譜重新匹配失敗:{message}" + "label": "將配方重新匹配到本地模型", + "loading": "正在將配方重新匹配到本地模型...", + "success": "已匹配 {entries} 個條目,涉及 {recipes} 個配方", + "successErrors": "已匹配 {entries} 個條目,涉及 {recipes} 個配方,{failures} 個失敗", + "allFailed": "{failures}/{total} 個配方重新匹配失敗", + "noMatch": "在 {recipes} 個配方中找不到 {entries} 個條目的本地匹配", + "cancelled": "已取消重新匹配。{recipes} 個配方已更新({entries} 個條目)。", + "error": "配方重新匹配失敗:{message}" }, "manageExcludedModels": { "label": "管理已排除的模型" @@ -320,7 +320,7 @@ "aria2HelpLink": "了解如何設定 aria2 下載後端", "civitaiHostBanner": { "title": "已提供 CivitAI 站點偏好設定", - "content": "CivitAI 現在使用 civitai.com 提供 SFW 內容,使用 civitai.red 提供無限制內容。你可以在設定中變更預設開啟的站點。", + "content": "CivitAI 現在使用 civitai.com 提供 SFW 內容,使用 civitai.red 提供無限制內容。您可以在設定中變更預設開啟的站點。", "openSettings": "開啟設定" }, "openSettingsFileLocation": { @@ -407,7 +407,7 @@ "retentionHelp": "在刪除舊快照之前,要保留多少自動快照。", "management": "備份管理", "managementHelp": "匯出目前的使用者狀態,或從備份封存中還原。", - "scopeHelp": "備份你的設定、下載歷史與模型更新狀態。不包含模型檔案或可重建的快取。", + "scopeHelp": "備份您的設定、下載歷史與模型更新狀態。不包含模型檔案或可重建的快取。", "locationSummary": "目前備份位置", "openFolderButton": "開啟備份資料夾", "openFolderSuccess": "已開啟備份資料夾", @@ -891,7 +891,7 @@ "deleted": "已刪除", "hashInvalid": "無法解析的雜湊", "inLibraryTooltip": "此模型已存在於本地庫", - "notInLibraryTooltip": "此模型不在你的本地庫中", + "notInLibraryTooltip": "此模型不在您的本地庫中", "deletedTooltip": "此 LoRA 已從來源站刪除,無法下載", "hashInvalidTooltip": "此 LoRA 雜湊無法在 CivitAI 上解析——模型可能已更新", "download": "下載", @@ -1193,36 +1193,36 @@ "unusedLoras": { "high": { "title": "大量未使用的 LoRA", - "description": "你的 LoRA 中有 {percent}%({count}/{total})從未被使用過。", + "description": "您的 LoRA 中有 {percent}%({count}/{total})從未被使用過。", "suggestion": "考慮整理或封存未使用的模型以釋放儲存空間。" } }, "unusedCheckpoints": { "detected": { "title": "檢測到未使用的 Checkpoint", - "description": "你的 Checkpoint 中有 {percent}%({count}/{total})從未被使用過。", + "description": "您的 Checkpoint 中有 {percent}%({count}/{total})從未被使用過。", "suggestion": "審查並考慮刪除不再需要的 Checkpoint。" } }, "unusedEmbeddings": { "high": { "title": "大量未使用的 Embedding", - "description": "你的 Embedding 中有 {percent}%({count}/{total})從未被使用過。", - "suggestion": "考慮整理或封存未使用的 Embedding 以優化你的收藏。" + "description": "您的 Embedding 中有 {percent}%({count}/{total})從未被使用過。", + "suggestion": "考慮整理或封存未使用的 Embedding 以優化您的收藏。" } }, "collection": { "large": { "title": "檢測到大型收藏", - "description": "你的模型收藏正在使用 {size} 的儲存空間。", + "description": "您的模型收藏正在使用 {size} 的儲存空間。", "suggestion": "考慮使用外部儲存或雲端解決方案以獲得更好的組織。" } }, "activity": { "active": { "title": "活躍用戶", - "description": "你已經完成了 {count} 次生成!", - "suggestion": "繼續探索並用你的模型創作精彩內容。" + "description": "您已經完成了 {count} 次生成!", + "suggestion": "繼續探索並用您的模型創作精彩內容。" } } }, @@ -1292,7 +1292,7 @@ "earlyAccessTooltip": "需要早期存取", "inLibrary": "已在庫存", "downloaded": "已下載", - "downloadedTooltip": "先前已下載,但目前不在你的庫中。", + "downloadedTooltip": "先前已下載,但目前不在您的庫中。", "alreadyInLibrary": "已在庫存", "partiallyDownloaded": "部分已下載", "autoOrganizedPath": "[依路徑範本自動整理]", @@ -1407,7 +1407,7 @@ }, "bulkDownloadMissingLoras": { "title": "下載缺失的 LoRAs", - "message": "發現 {uniqueCount} 個獨特的缺失 LoRAs(從選取食譜中的 {totalCount} 個總數)。", + "message": "發現 {uniqueCount} 個獨特的缺失 LoRAs(從選取配方中的 {totalCount} 個總數)。", "previewTitle": "要下載的 LoRAs:", "moreItems": "...還有 {count} 個", "note": "檔案將使用預設路徑模板下載。根據 LoRAs 的數量,這可能需要一些時間。", @@ -1606,8 +1606,8 @@ "importing": "正在匯入檔案...", "noSupportedFiles": "未選擇支援的檔案。請選擇圖片或影片檔案。", "allFiltered": "所有範例圖片都因 NSFW 內容設定而被過濾", - "sfwOnlyEnabled": "你目前的設定為僅顯示安全(SFW)內容", - "changeInSettings": "你可以在設定中變更此選項", + "sfwOnlyEnabled": "您目前的設定為僅顯示安全(SFW)內容", + "changeInSettings": "您可以在設定中變更此選項", "nsfwMature": "成熟內容", "nsfwR": "R 級內容", "nsfwX": "X 級內容", @@ -1631,13 +1631,13 @@ }, "badges": { "current": "已開啟版本", - "currentTooltip": "這是你用來開啟此彈窗的版本", + "currentTooltip": "這是您用來開啟此彈窗的版本", "inLibrary": "已在庫中", - "inLibraryTooltip": "此版本已存在於你的本地庫中", + "inLibraryTooltip": "此版本已存在於您的本地庫中", "downloaded": "已下載", - "downloadedTooltip": "此版本之前下載過,但目前不在你的本地庫中", + "downloadedTooltip": "此版本之前下載過,但目前不在您的本地庫中", "newer": "較新版本", - "newerTooltip": "此版本比你本地的最新版本更新", + "newerTooltip": "此版本比您本地的最新版本更新", "earlyAccess": "搶先體驗", "earlyAccessTooltip": "此版本目前需要 CivitAI 搶先體驗權限", "paid": "付費", @@ -2044,9 +2044,9 @@ "cannotSend": "無法傳送配方:缺少配方 ID", "sendFailed": "傳送配方到工作流失敗", "sendError": "傳送配方到工作流錯誤", - "missingCheckpointPath": "缺少檢查點路徑", - "missingCheckpointInfo": "缺少檢查點資訊", - "downloadCheckpointFailed": "下載檢查點失敗:{message}", + "missingCheckpointPath": "缺少Checkpoint路徑", + "missingCheckpointInfo": "缺少Checkpoint資訊", + "downloadCheckpointFailed": "下載Checkpoint失敗:{message}", "missingLoraDownloadInfo": "缺少此 LoRA 的下載資訊", "hashNotFoundOnCivitai": "此 LoRA 雜湊無法在 CivitAI 上解析——模型可能已更新或雜湊無效", "downloadLoraFailed": "下載 LoRA 失敗:{message}", @@ -2073,24 +2073,24 @@ "batchImportCancelFailed": "取消批量匯入失敗:{message}", "batchImportNoUrls": "請輸入至少一個 URL 或檔案路徑", "batchImportNoDirectory": "請輸入目錄路徑", - "batchImportRateLimited": "已達到元數據提供方的速率限制 — 請求正在放緩,部分項目可能被略過。你可以稍後重新執行匯入。", + "batchImportRateLimited": "已達到元數據提供方的速率限制 — 請求正在放緩,部分項目可能被略過。您可以稍後重新執行匯入。", "batchImportBrowseFailed": "瀏覽目錄失敗:{message}", "batchImportDirectorySelected": "已選擇目錄:{path}", - "noRecipesSelected": "未選取任何食譜", + "noRecipesSelected": "未選取任何配方", "repairBulkComplete": "修復完成:{repaired} 個已修復,{skipped} 個已跳過(共 {total} 個)", "repairBulkSkipped": "所選 {total} 個配方無需修復", "repairBulkFailed": "修復所選配方失敗:{message}", - "rematchComplete": "已匹配 {entries} 個條目,涉及 {recipes} 個食譜", - "rematchCompleteErrors": "已匹配 {entries} 個條目,涉及 {recipes} 個食譜,{failures} 個失敗", - "rematchAllFailed": "{failures}/{total} 個所選食譜重新匹配失敗", - "rematchUnmatched": "在 {recipes} 個食譜中找不到 {entries} 個條目的本地匹配", - "rematchSkipped": "{total} 個所選食譜均無需重新匹配", - "rematchFailed": "重新匹配所選食譜失敗:{message}", + "rematchComplete": "已匹配 {entries} 個條目,涉及 {recipes} 個配方", + "rematchCompleteErrors": "已匹配 {entries} 個條目,涉及 {recipes} 個配方,{failures} 個失敗", + "rematchAllFailed": "{failures}/{total} 個所選配方重新匹配失敗", + "rematchUnmatched": "在 {recipes} 個配方中找不到 {entries} 個條目的本地匹配", + "rematchSkipped": "{total} 個所選配方均無需重新匹配", + "rematchFailed": "重新匹配所選配方失敗:{message}", "reimporting": "正在從來源重新匯入配方...", "reimportSuccess": "配方已從來源重新匯入成功", "reimportBulkComplete": "重新匯入完成:{completed} 個已匯入,{failed} 個失敗(共 {total} 個)", "reimportBulkFailed": "重新匯入某些配方失敗", - "noMissingLorasInSelection": "在選取的食譜中未找到缺失的 LoRAs", + "noMissingLorasInSelection": "在選取的配方中未找到缺失的 LoRAs", "noLoraRootConfigured": "未配置 LoRA 根目錄。請在設定中設定預設的 LoRA 根目錄。", "workflowSent": "工作流已傳送到 ComfyUI", "workflowSendFailed": "傳送工作流到 ComfyUI 失敗: {error}",