diff --git a/docs/i18n-translation-guidelines.md b/docs/i18n-translation-guidelines.md index 0d086e43..36b8a5e8 100644 --- a/docs/i18n-translation-guidelines.md +++ b/docs/i18n-translation-guidelines.md @@ -33,6 +33,15 @@ Locales: `en`, `zh-CN`, `zh-TW`, `ja`, `ko`, `fr`, `de`, `es`, `ru`, `he` (RTL). > in the same pass. The `folder_paths` JSON snippet shown in that state lives in > `templates/other.html`, **not** in the locale files, so it is never translated — only the > surrounding prose is. Terminology added in §2. +> +> **Status (2026-09, model sources):** models can now be linked to ModelScope and TensorArt +> alongside Hugging Face, which added 15 keys (`modelCard.actions.viewOnSource`, +> `loras.contextMenu.linkModelSource`, `modals.linkModelSource.*`, +> `modals.model.versions.sourceGroupInfo`, `toast.contextMenu.enrichNeedsSource`, +> `toast.contextMenu.enrichUnsupportedSource`) and refreshed the two `enrichHfAgent` labels, +> which had hardcoded "HF" for a button that now also enriches ModelScope models. The +> `modals.linkModelSource.urlPlaceholder` value stays byte-identical to `en.json` (it is a URL, +> the §6 exception). Terminology in §2, "Model source feature". --- @@ -292,6 +301,35 @@ physically exist: `settings.json` and `ComfyUI` stay verbatim in every locale; "reload this page" / "restart LoRA Manager" reuse each locale's existing restart wording (`settings.extraFolderPaths.*`). +### Model source feature (Hugging Face / ModelScope / TensorArt) + +A model file can be linked to the page of an external model site. **Hugging Face**, +**ModelScope** and **TensorArt** are brand names and stay Latin in every locale (R3); the +generic nouns around them are translated: + +| Term | Rendering | +|---|---| +| model source | zh-CN 模型来源 · zh-TW 模型來源 · ja モデルソース · ko 모델 소스 · fr source de modèle · de Modellquelle · es fuente de modelo · ru источник модели · he מקור מודל | +| model page | zh-CN 模型页面 · zh-TW 模型頁面 · ja モデルページ · ko 모델 페이지 · fr page du modèle · de Modellseite · es página del modelo · ru страница модели · he עמוד המודל | +| model card | zh-CN 模型卡 · zh-TW 模型卡 · ja モデルカード · ko 모델 카드 · fr fiche de modèle · de Modellkarte · es ficha de modelo · ru карточка модели · he כרטיס מודל | +| AI enrichment (noun) | reuse the existing pair per locale: zh-CN 增强 · zh-TW 增強 · ja 補完 · ko 보강 · fr enrichissement (par IA) · de Anreicherung (KI-) · es enriquecimiento (con IA) · ru обогащение (с помощью ИИ) · he העשרה (AI) | + +`modelCard.actions.viewOnSource` ("View on {source}") follows each locale's existing +`viewOnHuggingFace` pattern — de `Auf … ansehen`, ru `Открыть …`, he `צפייה ב-…`, +ja `… で見る`, ko `…에서 보기`, zh `在 … 查看`, fr `Voir sur …`, es `Ver en …`. `{source}` is +replaced at runtime with the untranslated platform name, so the brand never appears inside the +translated text. + +`modals.linkModelSource.enrichNote` states the rule that only sites exposing a readable model +card can be enriched and names TensorArt as the current exception. Keep the parenthetical +exception in sync if another link-only source is ever added — the sentence is deliberately +phrased as a rule, not as an apology for one site. + +The context-menu and bulk-operation enrichment entry points read **"Enrich Metadata with AI"** +in `en`, not "Enrich HF Metadata": they cover ModelScope as well, so no locale may reintroduce +an `HF` qualifier in `loras.contextMenu.enrichHfAgent` / `loras.bulkOperations.enrichHfAgent` +(the key names keep the historical `Hf`; only the values changed). + --- ## 3. Cross-cutting confusion hot-spots (must-fix list) diff --git a/locales/de.json b/locales/de.json index e599d2df..16ded160 100644 --- a/locales/de.json +++ b/locales/de.json @@ -139,7 +139,7 @@ "viewOnCivitai": "Auf CivitAI anzeigen", "notAvailableFromCivitai": "Nicht auf CivitAI verfügbar", "viewOnHuggingFace": "Auf Hugging Face ansehen", - "viewOnSource": "[TODO: Translate] View on {source}", + "viewOnSource": "Auf {source} ansehen", "sendToWorkflow": "An ComfyUI senden (Klick: Anhängen, Shift+Klick: Ersetzen)", "copyLoRASyntax": "LoRA-Syntax kopieren", "checkpointNameCopied": "Checkpoint-Name kopiert", @@ -868,14 +868,14 @@ "complete": "Automatische Organisation abgeschlossen", "error": "Fehler: {error}" }, - "enrichHfAgent": "HF-Metadaten mit KI anreichern" + "enrichHfAgent": "Metadaten mit KI anreichern" }, "contextMenu": { "refreshMetadata": "CivitAI-Daten aktualisieren", "checkUpdates": "Updates prüfen", "linkModel": "Modell verknüpfen", "linkCivitai": "Mit CivitAI neu verknüpfen", - "linkModelSource": "[TODO: Translate] Link to Model Source", + "linkModelSource": "Mit Modellquelle verknüpfen", "copySyntax": "LoRA-Syntax kopieren", "copyFilename": "Modell-Dateiname kopieren", "copyRecipeSyntax": "Rezept-Syntax kopieren", @@ -897,7 +897,7 @@ "viewAllLoras": "Alle LoRAs anzeigen", "downloadMissingLoras": "Fehlende LoRAs herunterladen", "deleteRecipe": "Rezept löschen", - "enrichHfAgent": "HF-Metadaten mit KI anreichern" + "enrichHfAgent": "Metadaten mit KI anreichern" } }, "recipes": { @@ -1598,16 +1598,16 @@ "root": "Stammverzeichnis" }, "linkModelSource": { - "title": "[TODO: Translate] Link to Model Source", - "infoText": "[TODO: Translate] Paste the model page URL to associate this model with its source. Linking enables AI-powered metadata enrichment for Hugging Face and ModelScope models.", - "urlLabel": "[TODO: Translate] Model Page URL:", - "urlPlaceholder": "[TODO: Translate] https://huggingface.co/user/repo", - "helpText": "[TODO: Translate] Enter the full URL of the model page. Supported sites:", - "enrichNote": "[TODO: Translate] Note: AI metadata enrichment requires an accessible model card. TensorArt pages are not readable by the backend, so only the link is stored.", - "urlRequired": "[TODO: Translate] Please enter a model page URL.", - "invalidUrl": "[TODO: Translate] Unsupported URL. Supported sites: Hugging Face, ModelScope, TensorArt.", - "linking": "[TODO: Translate] Linking model source...", - "confirmAction": "[TODO: Translate] Save & Link" + "title": "Mit Modellquelle verknüpfen", + "infoText": "Fügen Sie die URL der Modellseite ein, um dieses Modell seiner Quelle zuzuordnen. Die Verknüpfung ermöglicht die KI-gestützte Metadatenanreicherung für Modelle von Hugging Face und ModelScope.", + "urlLabel": "URL der Modellseite:", + "urlPlaceholder": "https://huggingface.co/user/repo", + "helpText": "Geben Sie die vollständige URL der Modellseite ein. Unterstützte Websites:", + "enrichNote": "Die KI-Anreicherung benötigt eine lesbare Modellkarte. Websites, die keine bereitstellen (derzeit TensorArt), können nur verknüpft werden.", + "urlRequired": "Bitte geben Sie die URL der Modellseite ein.", + "invalidUrl": "Nicht unterstützte URL. Unterstützte Websites: Hugging Face, ModelScope, TensorArt.", + "linking": "Modellquelle wird verknüpft...", + "confirmAction": "Speichern & Verknüpfen" }, "relinkCivitai": { "title": "Mit CivitAI neu verknüpfen", @@ -1852,7 +1852,7 @@ "empty": "Noch keine Versionshistorie für dieses Modell vorhanden.", "error": "Versionen konnten nicht geladen werden.", "missingModelId": "Für dieses Modell ist keine CivitAI-Model-ID vorhanden.", - "sourceGroupInfo": "[TODO: Translate] This is a {source} model group. Open the library to see all versions in the grid.", + "sourceGroupInfo": "Dies ist eine {source}-Modellgruppe. Öffnen Sie die Bibliothek, um alle Versionen im Raster zu sehen.", "confirm": { "delete": "Diese Version aus Ihrer Bibliothek löschen?" }, @@ -2489,8 +2489,8 @@ "fetchMetadataFirst": "Bitte rufen Sie zuerst Metadaten von CivitAI ab", "noCivitaiInfo": "Keine CivitAI-Informationen verfügbar", "missingHash": "Modell-Hash nicht verfügbar", - "enrichNeedsSource": "[TODO: Translate] Link this model to a model source first (Link Model → Link to Model Source)", - "enrichUnsupportedSource": "[TODO: Translate] AI enrichment is not available for {source} models" + "enrichNeedsSource": "Verknüpfen Sie dieses Modell zuerst mit einer Modellquelle (Modell verknüpfen → Mit Modellquelle verknüpfen)", + "enrichUnsupportedSource": "Die KI-Anreicherung ist für {source}-Modelle nicht verfügbar" }, "exampleImages": { "pathUpdated": "Beispielbilder-Pfad erfolgreich aktualisiert", diff --git a/locales/es.json b/locales/es.json index 38c36740..2ee5d1fb 100644 --- a/locales/es.json +++ b/locales/es.json @@ -139,7 +139,7 @@ "viewOnCivitai": "Ver en CivitAI", "notAvailableFromCivitai": "No disponible en CivitAI", "viewOnHuggingFace": "Ver en Hugging Face", - "viewOnSource": "[TODO: Translate] View on {source}", + "viewOnSource": "Ver en {source}", "sendToWorkflow": "Enviar a ComfyUI (Clic: Añadir, Shift+Clic: Reemplazar)", "copyLoRASyntax": "Copiar sintaxis de LoRA", "checkpointNameCopied": "Nombre del checkpoint copiado", @@ -868,14 +868,14 @@ "complete": "Auto-organización completada", "error": "Error: {error}" }, - "enrichHfAgent": "Enriquecer metadatos HF (IA)" + "enrichHfAgent": "Enriquecer metadatos con IA" }, "contextMenu": { "refreshMetadata": "Actualizar datos de CivitAI", "checkUpdates": "Comprobar actualizaciones", "linkModel": "Vincular modelo", "linkCivitai": "Re-vincular a CivitAI", - "linkModelSource": "[TODO: Translate] Link to Model Source", + "linkModelSource": "Vincular a una fuente de modelo", "copySyntax": "Copiar sintaxis de LoRA", "copyFilename": "Copiar nombre de archivo del modelo", "copyRecipeSyntax": "Copiar sintaxis de receta", @@ -897,7 +897,7 @@ "viewAllLoras": "Ver todos los LoRAs", "downloadMissingLoras": "Descargar LoRAs faltantes", "deleteRecipe": "Eliminar receta", - "enrichHfAgent": "Enriquecer metadatos HF (IA)" + "enrichHfAgent": "Enriquecer metadatos con IA" } }, "recipes": { @@ -1598,16 +1598,16 @@ "root": "Raíz" }, "linkModelSource": { - "title": "[TODO: Translate] Link to Model Source", - "infoText": "[TODO: Translate] Paste the model page URL to associate this model with its source. Linking enables AI-powered metadata enrichment for Hugging Face and ModelScope models.", - "urlLabel": "[TODO: Translate] Model Page URL:", - "urlPlaceholder": "[TODO: Translate] https://huggingface.co/user/repo", - "helpText": "[TODO: Translate] Enter the full URL of the model page. Supported sites:", - "enrichNote": "[TODO: Translate] Note: AI metadata enrichment requires an accessible model card. TensorArt pages are not readable by the backend, so only the link is stored.", - "urlRequired": "[TODO: Translate] Please enter a model page URL.", - "invalidUrl": "[TODO: Translate] Unsupported URL. Supported sites: Hugging Face, ModelScope, TensorArt.", - "linking": "[TODO: Translate] Linking model source...", - "confirmAction": "[TODO: Translate] Save & Link" + "title": "Vincular a una fuente de modelo", + "infoText": "Pegue la URL de la página del modelo para asociar este modelo con su fuente. La vinculación permite el enriquecimiento de metadatos con IA para modelos de Hugging Face y ModelScope.", + "urlLabel": "URL de la página del modelo:", + "urlPlaceholder": "https://huggingface.co/user/repo", + "helpText": "Ingrese la URL completa de la página del modelo. Sitios soportados:", + "enrichNote": "El enriquecimiento con IA necesita una ficha de modelo legible. Los sitios que no la exponen (actualmente TensorArt) solo se pueden vincular.", + "urlRequired": "Ingrese la URL de la página del modelo.", + "invalidUrl": "URL no soportada. Sitios soportados: Hugging Face, ModelScope, TensorArt.", + "linking": "Vinculando la fuente del modelo...", + "confirmAction": "Guardar y vincular" }, "relinkCivitai": { "title": "Re-vincular a CivitAI", @@ -1852,7 +1852,7 @@ "empty": "Aún no hay historial de versiones para este modelo.", "error": "No se pudieron cargar las versiones.", "missingModelId": "Este modelo no tiene un ID de modelo de CivitAI.", - "sourceGroupInfo": "[TODO: Translate] This is a {source} model group. Open the library to see all versions in the grid.", + "sourceGroupInfo": "Este es un grupo de modelos de {source}. Abra la biblioteca para ver todas las versiones en la cuadrícula.", "confirm": { "delete": "¿Eliminar esta versión de tu biblioteca?" }, @@ -2489,8 +2489,8 @@ "fetchMetadataFirst": "Por favor obtén metadatos de CivitAI primero", "noCivitaiInfo": "No hay información de CivitAI disponible", "missingHash": "Hash del modelo no disponible", - "enrichNeedsSource": "[TODO: Translate] Link this model to a model source first (Link Model → Link to Model Source)", - "enrichUnsupportedSource": "[TODO: Translate] AI enrichment is not available for {source} models" + "enrichNeedsSource": "Vincule este modelo a una fuente de modelo primero (Vincular modelo → Vincular a una fuente de modelo)", + "enrichUnsupportedSource": "El enriquecimiento con IA no está disponible para modelos de {source}" }, "exampleImages": { "pathUpdated": "Ruta de imágenes de ejemplo actualizada exitosamente", diff --git a/locales/fr.json b/locales/fr.json index fa6f1241..9250221c 100644 --- a/locales/fr.json +++ b/locales/fr.json @@ -139,7 +139,7 @@ "viewOnCivitai": "Voir sur CivitAI", "notAvailableFromCivitai": "Non disponible sur CivitAI", "viewOnHuggingFace": "Voir sur Hugging Face", - "viewOnSource": "[TODO: Translate] View on {source}", + "viewOnSource": "Voir sur {source}", "sendToWorkflow": "Envoyer vers ComfyUI (Clic: Ajouter, Maj+Clic: Remplacer)", "copyLoRASyntax": "Copier la syntaxe LoRA", "checkpointNameCopied": "Nom du checkpoint copié", @@ -868,14 +868,14 @@ "complete": "Auto-organisation terminée", "error": "Erreur : {error}" }, - "enrichHfAgent": "Enrichir les métadonnées HF (IA)" + "enrichHfAgent": "Enrichir les métadonnées avec l'IA" }, "contextMenu": { "refreshMetadata": "Actualiser les données CivitAI", "checkUpdates": "Vérifier les mises à jour", "linkModel": "Lier le modèle", "linkCivitai": "Relier à nouveau à CivitAI", - "linkModelSource": "[TODO: Translate] Link to Model Source", + "linkModelSource": "Lier à une source de modèle", "copySyntax": "Copier la syntaxe LoRA", "copyFilename": "Copier le nom de fichier du modèle", "copyRecipeSyntax": "Copier la syntaxe de la recipe", @@ -897,7 +897,7 @@ "viewAllLoras": "Voir tous les LoRAs", "downloadMissingLoras": "Télécharger les LoRAs manquants", "deleteRecipe": "Supprimer la recipe", - "enrichHfAgent": "Enrichir les métadonnées HF (IA)" + "enrichHfAgent": "Enrichir les métadonnées avec l'IA" } }, "recipes": { @@ -1598,16 +1598,16 @@ "root": "Racine" }, "linkModelSource": { - "title": "[TODO: Translate] Link to Model Source", - "infoText": "[TODO: Translate] Paste the model page URL to associate this model with its source. Linking enables AI-powered metadata enrichment for Hugging Face and ModelScope models.", - "urlLabel": "[TODO: Translate] Model Page URL:", - "urlPlaceholder": "[TODO: Translate] https://huggingface.co/user/repo", - "helpText": "[TODO: Translate] Enter the full URL of the model page. Supported sites:", - "enrichNote": "[TODO: Translate] Note: AI metadata enrichment requires an accessible model card. TensorArt pages are not readable by the backend, so only the link is stored.", - "urlRequired": "[TODO: Translate] Please enter a model page URL.", - "invalidUrl": "[TODO: Translate] Unsupported URL. Supported sites: Hugging Face, ModelScope, TensorArt.", - "linking": "[TODO: Translate] Linking model source...", - "confirmAction": "[TODO: Translate] Save & Link" + "title": "Lier à une source de modèle", + "infoText": "Collez l'URL de la page du modèle pour associer ce modèle à sa source. La liaison permet l'enrichissement des métadonnées par IA pour les modèles Hugging Face et ModelScope.", + "urlLabel": "URL de la page du modèle :", + "urlPlaceholder": "https://huggingface.co/user/repo", + "helpText": "Entrez l'URL complète de la page du modèle. Sites pris en charge :", + "enrichNote": "L'enrichissement par IA nécessite une fiche de modèle lisible. Les sites qui n'en exposent pas (actuellement TensorArt) ne peuvent être que liés.", + "urlRequired": "Veuillez saisir l'URL de la page du modèle.", + "invalidUrl": "URL non prise en charge. Sites pris en charge : Hugging Face, ModelScope, TensorArt.", + "linking": "Liaison de la source du modèle...", + "confirmAction": "Enregistrer & lier" }, "relinkCivitai": { "title": "Relier à nouveau à CivitAI", @@ -1852,7 +1852,7 @@ "empty": "Aucun historique de versions n'est disponible pour ce modèle pour le moment.", "error": "Échec du chargement des versions.", "missingModelId": "Ce modèle ne possède pas d'identifiant de modèle CivitAI.", - "sourceGroupInfo": "[TODO: Translate] This is a {source} model group. Open the library to see all versions in the grid.", + "sourceGroupInfo": "Ceci est un groupe de modèles {source}. Ouvrez la bibliothèque pour voir toutes les versions dans la grille.", "confirm": { "delete": "Supprimer cette version de votre bibliothèque ?" }, @@ -2489,8 +2489,8 @@ "fetchMetadataFirst": "Veuillez d'abord récupérer les métadonnées depuis CivitAI", "noCivitaiInfo": "Aucune information CivitAI disponible", "missingHash": "Hash du modèle non disponible", - "enrichNeedsSource": "[TODO: Translate] Link this model to a model source first (Link Model → Link to Model Source)", - "enrichUnsupportedSource": "[TODO: Translate] AI enrichment is not available for {source} models" + "enrichNeedsSource": "Liez d'abord ce modèle à une source de modèle (Lier le modèle → Lier à une source de modèle)", + "enrichUnsupportedSource": "L'enrichissement par IA n'est pas disponible pour les modèles {source}" }, "exampleImages": { "pathUpdated": "Chemin des images d'exemple mis à jour avec succès", diff --git a/locales/he.json b/locales/he.json index 03d946c7..4a7ccd18 100644 --- a/locales/he.json +++ b/locales/he.json @@ -139,7 +139,7 @@ "viewOnCivitai": "הצג ב-CivitAI", "notAvailableFromCivitai": "לא זמין מ-CivitAI", "viewOnHuggingFace": "צפייה ב-Hugging Face", - "viewOnSource": "[TODO: Translate] View on {source}", + "viewOnSource": "צפייה ב-{source}", "sendToWorkflow": "שלח ל-ComfyUI (לחיצה: הוסף, Shift+לחיצה: החלף)", "copyLoRASyntax": "העתק תחביר LoRA", "checkpointNameCopied": "שם Checkpoint הועתק", @@ -868,14 +868,14 @@ "complete": "ארגון אוטומטי הושלם", "error": "שגיאה: {error}" }, - "enrichHfAgent": "העשרת HF מטא-נתונים (AI)" + "enrichHfAgent": "העשרת מטא-נתונים ב-AI" }, "contextMenu": { "refreshMetadata": "רענן נתוני CivitAI", "checkUpdates": "בדוק עדכונים", "linkModel": "קישור מודל", "linkCivitai": "קשר מחדש ל-CivitAI", - "linkModelSource": "[TODO: Translate] Link to Model Source", + "linkModelSource": "קישור למקור מודל", "copySyntax": "העתק תחביר LoRA", "copyFilename": "העתק שם קובץ מודל", "copyRecipeSyntax": "העתק תחביר מתכון", @@ -897,7 +897,7 @@ "viewAllLoras": "הצג את כל ה-LoRAs", "downloadMissingLoras": "הורד LoRAs חסרים", "deleteRecipe": "מחק מתכון", - "enrichHfAgent": "העשרת HF מטא-נתונים (AI)" + "enrichHfAgent": "העשרת מטא-נתונים ב-AI" } }, "recipes": { @@ -1598,16 +1598,16 @@ "root": "שורש" }, "linkModelSource": { - "title": "[TODO: Translate] Link to Model Source", - "infoText": "[TODO: Translate] Paste the model page URL to associate this model with its source. Linking enables AI-powered metadata enrichment for Hugging Face and ModelScope models.", - "urlLabel": "[TODO: Translate] Model Page URL:", - "urlPlaceholder": "[TODO: Translate] https://huggingface.co/user/repo", - "helpText": "[TODO: Translate] Enter the full URL of the model page. Supported sites:", - "enrichNote": "[TODO: Translate] Note: AI metadata enrichment requires an accessible model card. TensorArt pages are not readable by the backend, so only the link is stored.", - "urlRequired": "[TODO: Translate] Please enter a model page URL.", - "invalidUrl": "[TODO: Translate] Unsupported URL. Supported sites: Hugging Face, ModelScope, TensorArt.", - "linking": "[TODO: Translate] Linking model source...", - "confirmAction": "[TODO: Translate] Save & Link" + "title": "קישור למקור מודל", + "infoText": "הדבק את כתובת ה-URL של עמוד המודל כדי לשייך מודל זה למקורו. הקישור מאפשר העשרת מטא-נתונים באמצעות AI עבור מודלים של Hugging Face ו-ModelScope.", + "urlLabel": "כתובת URL של עמוד המודל:", + "urlPlaceholder": "https://huggingface.co/user/repo", + "helpText": "הזן את כתובת ה-URL המלאה של עמוד המודל. אתרים נתמכים:", + "enrichNote": "העשרת AI דורשת כרטיס מודל קריא. אתרים שאינם חושפים אותו (נכון להיום TensorArt) ניתנים לקישור בלבד.", + "urlRequired": "הזן כתובת URL של עמוד המודל.", + "invalidUrl": "כתובת URL לא נתמכת. אתרים נתמכים: Hugging Face, ModelScope, TensorArt.", + "linking": "מקשר את מקור המודל...", + "confirmAction": "שמור וקשר" }, "relinkCivitai": { "title": "קשר מחדש ל-CivitAI", @@ -1852,7 +1852,7 @@ "empty": "אין עדיין היסטוריית גרסאות למודל זה.", "error": "טעינת הגרסאות נכשלה.", "missingModelId": "למודל זה אין מזהה מודל של CivitAI.", - "sourceGroupInfo": "[TODO: Translate] This is a {source} model group. Open the library to see all versions in the grid.", + "sourceGroupInfo": "זוהי קבוצת מודלים של {source}. פתח את הספרייה כדי לראות את כל הגרסאות ברשת.", "confirm": { "delete": "למחוק גרסה זו מהספרייה שלך?" }, @@ -2489,8 +2489,8 @@ "fetchMetadataFirst": "אנא אחזר מטא-נתונים מ-CivitAI תחילה", "noCivitaiInfo": "אין מידע מ-CivitAI זמין", "missingHash": "ה-hash של המודל אינו זמין", - "enrichNeedsSource": "[TODO: Translate] Link this model to a model source first (Link Model → Link to Model Source)", - "enrichUnsupportedSource": "[TODO: Translate] AI enrichment is not available for {source} models" + "enrichNeedsSource": "קשר מודל זה למקור מודל תחילה (קישור מודל → קישור למקור מודל)", + "enrichUnsupportedSource": "העשרת AI אינה זמינה עבור מודלים של {source}" }, "exampleImages": { "pathUpdated": "נתיב תמונות הדוגמה עודכן בהצלחה", diff --git a/locales/ja.json b/locales/ja.json index 85817ee0..97d982b6 100644 --- a/locales/ja.json +++ b/locales/ja.json @@ -139,7 +139,7 @@ "viewOnCivitai": "CivitAIで表示", "notAvailableFromCivitai": "CivitAIでは利用できません", "viewOnHuggingFace": "Hugging Face で見る", - "viewOnSource": "[TODO: Translate] View on {source}", + "viewOnSource": "{source} で見る", "sendToWorkflow": "ComfyUIに送信(クリック:追加、Shift+クリック:置換)", "copyLoRASyntax": "LoRA構文をコピー", "checkpointNameCopied": "Checkpointの名前をコピーしました", @@ -868,14 +868,14 @@ "complete": "自動整理が完了しました", "error": "エラー:{error}" }, - "enrichHfAgent": "HF メタデータをAIで補完" + "enrichHfAgent": "メタデータをAIで補完" }, "contextMenu": { "refreshMetadata": "CivitAIデータを更新", "checkUpdates": "更新確認", "linkModel": "モデルをリンク", "linkCivitai": "CivitAI にリンク", - "linkModelSource": "[TODO: Translate] Link to Model Source", + "linkModelSource": "モデルソースにリンク", "copySyntax": "LoRA構文をコピー", "copyFilename": "モデルファイル名をコピー", "copyRecipeSyntax": "レシピ構文をコピー", @@ -897,7 +897,7 @@ "viewAllLoras": "すべてのLoRAを表示", "downloadMissingLoras": "不足しているLoRAをダウンロード", "deleteRecipe": "レシピを削除", - "enrichHfAgent": "HF メタデータをAIで補完" + "enrichHfAgent": "メタデータをAIで補完" } }, "recipes": { @@ -1598,16 +1598,16 @@ "root": "ルート" }, "linkModelSource": { - "title": "[TODO: Translate] Link to Model Source", - "infoText": "[TODO: Translate] Paste the model page URL to associate this model with its source. Linking enables AI-powered metadata enrichment for Hugging Face and ModelScope models.", - "urlLabel": "[TODO: Translate] Model Page URL:", - "urlPlaceholder": "[TODO: Translate] https://huggingface.co/user/repo", - "helpText": "[TODO: Translate] Enter the full URL of the model page. Supported sites:", - "enrichNote": "[TODO: Translate] Note: AI metadata enrichment requires an accessible model card. TensorArt pages are not readable by the backend, so only the link is stored.", - "urlRequired": "[TODO: Translate] Please enter a model page URL.", - "invalidUrl": "[TODO: Translate] Unsupported URL. Supported sites: Hugging Face, ModelScope, TensorArt.", - "linking": "[TODO: Translate] Linking model source...", - "confirmAction": "[TODO: Translate] Save & Link" + "title": "モデルソースにリンク", + "infoText": "モデルページの URL を貼り付けて、このモデルをソースに関連付けます。リンクすると、Hugging Face と ModelScope のモデルで AI によるメタデータ補完が有効になります。", + "urlLabel": "モデルページ URL:", + "urlPlaceholder": "https://huggingface.co/user/repo", + "helpText": "完全なモデルページ URL を入力してください。対応サイト:", + "enrichNote": "AI 補完には読み取り可能なモデルカードが必要です。モデルカードを公開していないサイト(現在は TensorArt)はリンクのみ可能です。", + "urlRequired": "モデルページの URL を入力してください。", + "invalidUrl": "サポートされていない URL です。対応サイト:Hugging Face、ModelScope、TensorArt。", + "linking": "モデルソースをリンクしています...", + "confirmAction": "保存&リンク" }, "relinkCivitai": { "title": "CivitAIに再リンク", @@ -1852,7 +1852,7 @@ "empty": "このモデルにはまだバージョン履歴がありません。", "error": "バージョンの読み込みに失敗しました。", "missingModelId": "このモデルにはCivitAIのモデルIDがありません。", - "sourceGroupInfo": "[TODO: Translate] This is a {source} model group. Open the library to see all versions in the grid.", + "sourceGroupInfo": "これは {source} モデルグループです。ライブラリを開いてグリッドですべてのバージョンを表示してください。", "confirm": { "delete": "このバージョンをライブラリから削除しますか?" }, @@ -2489,8 +2489,8 @@ "fetchMetadataFirst": "最初にCivitAIからメタデータを取得してください", "noCivitaiInfo": "CivitAI情報が利用できません", "missingHash": "モデルハッシュが利用できません", - "enrichNeedsSource": "[TODO: Translate] Link this model to a model source first (Link Model → Link to Model Source)", - "enrichUnsupportedSource": "[TODO: Translate] AI enrichment is not available for {source} models" + "enrichNeedsSource": "まずこのモデルをモデルソースにリンクしてください(モデルをリンク → モデルソースにリンク)", + "enrichUnsupportedSource": "{source} モデルでは AI 補完を利用できません" }, "exampleImages": { "pathUpdated": "例画像パスが正常に更新されました", diff --git a/locales/ko.json b/locales/ko.json index b4a4c754..0eedfebe 100644 --- a/locales/ko.json +++ b/locales/ko.json @@ -139,7 +139,7 @@ "viewOnCivitai": "CivitAI에서 보기", "notAvailableFromCivitai": "CivitAI에서 사용할 수 없음", "viewOnHuggingFace": "Hugging Face에서 보기", - "viewOnSource": "[TODO: Translate] View on {source}", + "viewOnSource": "{source}에서 보기", "sendToWorkflow": "ComfyUI로 전송 (클릭: 추가, Shift+클릭: 교체)", "copyLoRASyntax": "LoRA 문법 복사", "checkpointNameCopied": "Checkpoint 이름 복사됨", @@ -868,14 +868,14 @@ "complete": "자동 정리 완료", "error": "오류: {error}" }, - "enrichHfAgent": "HF AI로 메타데이터 보강" + "enrichHfAgent": "AI로 메타데이터 보강" }, "contextMenu": { "refreshMetadata": "CivitAI 데이터 새로고침", "checkUpdates": "업데이트 확인", "linkModel": "모델 연결", "linkCivitai": "CivitAI에 연결", - "linkModelSource": "[TODO: Translate] Link to Model Source", + "linkModelSource": "모델 소스에 연결", "copySyntax": "LoRA 문법 복사", "copyFilename": "모델 파일명 복사", "copyRecipeSyntax": "레시피 문법 복사", @@ -897,7 +897,7 @@ "viewAllLoras": "모든 LoRA 보기", "downloadMissingLoras": "누락된 LoRA 다운로드", "deleteRecipe": "레시피 삭제", - "enrichHfAgent": "HF AI로 메타데이터 보강" + "enrichHfAgent": "AI로 메타데이터 보강" } }, "recipes": { @@ -1598,16 +1598,16 @@ "root": "루트" }, "linkModelSource": { - "title": "[TODO: Translate] Link to Model Source", - "infoText": "[TODO: Translate] Paste the model page URL to associate this model with its source. Linking enables AI-powered metadata enrichment for Hugging Face and ModelScope models.", - "urlLabel": "[TODO: Translate] Model Page URL:", - "urlPlaceholder": "[TODO: Translate] https://huggingface.co/user/repo", - "helpText": "[TODO: Translate] Enter the full URL of the model page. Supported sites:", - "enrichNote": "[TODO: Translate] Note: AI metadata enrichment requires an accessible model card. TensorArt pages are not readable by the backend, so only the link is stored.", - "urlRequired": "[TODO: Translate] Please enter a model page URL.", - "invalidUrl": "[TODO: Translate] Unsupported URL. Supported sites: Hugging Face, ModelScope, TensorArt.", - "linking": "[TODO: Translate] Linking model source...", - "confirmAction": "[TODO: Translate] Save & Link" + "title": "모델 소스에 연결", + "infoText": "모델 페이지 URL을 붙여넣어 이 모델을 소스에 연결합니다. 연결하면 Hugging Face 및 ModelScope 모델에 AI 메타데이터 보강을 사용할 수 있습니다.", + "urlLabel": "모델 페이지 URL:", + "urlPlaceholder": "https://huggingface.co/user/repo", + "helpText": "전체 모델 페이지 URL을 입력하세요. 지원 사이트:", + "enrichNote": "AI 보강에는 읽을 수 있는 모델 카드가 필요합니다. 모델 카드를 제공하지 않는 사이트(현재 TensorArt)는 연결만 가능합니다.", + "urlRequired": "모델 페이지 URL을 입력하세요.", + "invalidUrl": "지원되지 않는 URL입니다. 지원 사이트: Hugging Face, ModelScope, TensorArt.", + "linking": "모델 소스를 연결하는 중...", + "confirmAction": "저장 및 연결" }, "relinkCivitai": { "title": "CivitAI에 다시 연결", @@ -1852,7 +1852,7 @@ "empty": "이 모델에는 아직 버전 기록이 없습니다.", "error": "버전을 불러오지 못했습니다.", "missingModelId": "이 모델에는 CivitAI 모델 ID가 없습니다.", - "sourceGroupInfo": "[TODO: Translate] This is a {source} model group. Open the library to see all versions in the grid.", + "sourceGroupInfo": "{source} 모델 그룹입니다. 라이브러리를 열어 그리드에서 모든 버전을 확인하세요.", "confirm": { "delete": "이 버전을 라이브러리에서 삭제하시겠습니까?" }, @@ -2489,8 +2489,8 @@ "fetchMetadataFirst": "먼저 CivitAI에서 메타데이터를 가져와주세요", "noCivitaiInfo": "사용 가능한 CivitAI 정보가 없습니다", "missingHash": "모델 해시를 사용할 수 없습니다", - "enrichNeedsSource": "[TODO: Translate] Link this model to a model source first (Link Model → Link to Model Source)", - "enrichUnsupportedSource": "[TODO: Translate] AI enrichment is not available for {source} models" + "enrichNeedsSource": "먼저 이 모델을 모델 소스에 연결하세요 (모델 연결 → 모델 소스에 연결)", + "enrichUnsupportedSource": "{source} 모델에서는 AI 보강을 사용할 수 없습니다" }, "exampleImages": { "pathUpdated": "예시 이미지 경로가 성공적으로 업데이트되었습니다", diff --git a/locales/ru.json b/locales/ru.json index 4d96c663..b50fc3f9 100644 --- a/locales/ru.json +++ b/locales/ru.json @@ -139,7 +139,7 @@ "viewOnCivitai": "Посмотреть на CivitAI", "notAvailableFromCivitai": "Недоступно на CivitAI", "viewOnHuggingFace": "Открыть Hugging Face", - "viewOnSource": "[TODO: Translate] View on {source}", + "viewOnSource": "Открыть {source}", "sendToWorkflow": "Отправить в ComfyUI (Клик: Добавить, Shift+Клик: Заменить)", "copyLoRASyntax": "Копировать синтаксис LoRA", "checkpointNameCopied": "Имя checkpoint скопировано", @@ -868,14 +868,14 @@ "complete": "Автоматическая организация завершена", "error": "Ошибка: {error}" }, - "enrichHfAgent": "Обогатить HF метаданные (ИИ)" + "enrichHfAgent": "Обогатить метаданные с помощью ИИ" }, "contextMenu": { "refreshMetadata": "Обновить данные CivitAI", "checkUpdates": "Проверить обновления", "linkModel": "Связать модель", "linkCivitai": "Пересвязать с CivitAI", - "linkModelSource": "[TODO: Translate] Link to Model Source", + "linkModelSource": "Связать с источником модели", "copySyntax": "Копировать синтаксис LoRA", "copyFilename": "Копировать имя файла модели", "copyRecipeSyntax": "Копировать синтаксис рецепта", @@ -897,7 +897,7 @@ "viewAllLoras": "Посмотреть все LoRAs", "downloadMissingLoras": "Загрузить отсутствующие LoRAs", "deleteRecipe": "Удалить рецепт", - "enrichHfAgent": "Обогатить HF метаданные (ИИ)" + "enrichHfAgent": "Обогатить метаданные с помощью ИИ" } }, "recipes": { @@ -1598,16 +1598,16 @@ "root": "Корень" }, "linkModelSource": { - "title": "[TODO: Translate] Link to Model Source", - "infoText": "[TODO: Translate] Paste the model page URL to associate this model with its source. Linking enables AI-powered metadata enrichment for Hugging Face and ModelScope models.", - "urlLabel": "[TODO: Translate] Model Page URL:", - "urlPlaceholder": "[TODO: Translate] https://huggingface.co/user/repo", - "helpText": "[TODO: Translate] Enter the full URL of the model page. Supported sites:", - "enrichNote": "[TODO: Translate] Note: AI metadata enrichment requires an accessible model card. TensorArt pages are not readable by the backend, so only the link is stored.", - "urlRequired": "[TODO: Translate] Please enter a model page URL.", - "invalidUrl": "[TODO: Translate] Unsupported URL. Supported sites: Hugging Face, ModelScope, TensorArt.", - "linking": "[TODO: Translate] Linking model source...", - "confirmAction": "[TODO: Translate] Save & Link" + "title": "Связать с источником модели", + "infoText": "Вставьте URL страницы модели, чтобы связать эту модель с её источником. Связывание включает обогащение метаданных с помощью ИИ для моделей Hugging Face и ModelScope.", + "urlLabel": "URL страницы модели:", + "urlPlaceholder": "https://huggingface.co/user/repo", + "helpText": "Введите полный URL страницы модели. Поддерживаемые сайты:", + "enrichNote": "Для обогащения с помощью ИИ нужна читаемая карточка модели. Сайты, которые её не предоставляют (сейчас TensorArt), можно только связать.", + "urlRequired": "Введите URL страницы модели.", + "invalidUrl": "Неподдерживаемый URL. Поддерживаемые сайты: Hugging Face, ModelScope, TensorArt.", + "linking": "Связывание с источником модели...", + "confirmAction": "Сохранить и связать" }, "relinkCivitai": { "title": "Пересвязать с CivitAI", @@ -1852,7 +1852,7 @@ "empty": "Для этой модели пока нет истории версий.", "error": "Не удалось загрузить версии.", "missingModelId": "У этой модели отсутствует идентификатор модели CivitAI.", - "sourceGroupInfo": "[TODO: Translate] This is a {source} model group. Open the library to see all versions in the grid.", + "sourceGroupInfo": "Это группа моделей {source}. Откройте библиотеку, чтобы увидеть все версии в сетке.", "confirm": { "delete": "Удалить эту версию из библиотеки?" }, @@ -2489,8 +2489,8 @@ "fetchMetadataFirst": "Пожалуйста, сначала получите метаданные с CivitAI", "noCivitaiInfo": "Информация CivitAI недоступна", "missingHash": "Хеш модели недоступен", - "enrichNeedsSource": "[TODO: Translate] Link this model to a model source first (Link Model → Link to Model Source)", - "enrichUnsupportedSource": "[TODO: Translate] AI enrichment is not available for {source} models" + "enrichNeedsSource": "Сначала свяжите эту модель с источником модели (Связать модель → Связать с источником модели)", + "enrichUnsupportedSource": "Обогащение с помощью ИИ недоступно для моделей {source}" }, "exampleImages": { "pathUpdated": "Путь к примерам изображений успешно обновлен", diff --git a/locales/zh-CN.json b/locales/zh-CN.json index f507cb80..5b8e740a 100644 --- a/locales/zh-CN.json +++ b/locales/zh-CN.json @@ -139,7 +139,7 @@ "viewOnCivitai": "在 CivitAI 查看", "notAvailableFromCivitai": "CivitAI 上不可用", "viewOnHuggingFace": "在 Hugging Face 查看", - "viewOnSource": "[TODO: Translate] View on {source}", + "viewOnSource": "在 {source} 查看", "sendToWorkflow": "发送到 ComfyUI(点击:追加,Shift+点击:替换)", "copyLoRASyntax": "复制 LoRA 语法", "checkpointNameCopied": "Checkpoint 名称已复制", @@ -868,14 +868,14 @@ "complete": "自动整理已完成", "error": "错误:{error}" }, - "enrichHfAgent": "AI HF 元数据增强" + "enrichHfAgent": "AI 元数据增强" }, "contextMenu": { "refreshMetadata": "刷新 CivitAI 数据", "checkUpdates": "检查更新", "linkModel": "链接模型", "linkCivitai": "链接到 CivitAI", - "linkModelSource": "[TODO: Translate] Link to Model Source", + "linkModelSource": "链接到模型来源", "copySyntax": "复制 LoRA 语法", "copyFilename": "复制模型文件名", "copyRecipeSyntax": "复制配方语法", @@ -897,7 +897,7 @@ "viewAllLoras": "查看所有 LoRA", "downloadMissingLoras": "下载缺失的 LoRA", "deleteRecipe": "删除配方", - "enrichHfAgent": "AI HF 元数据增强" + "enrichHfAgent": "AI 元数据增强" } }, "recipes": { @@ -1598,16 +1598,16 @@ "root": "根目录" }, "linkModelSource": { - "title": "[TODO: Translate] Link to Model Source", - "infoText": "[TODO: Translate] Paste the model page URL to associate this model with its source. Linking enables AI-powered metadata enrichment for Hugging Face and ModelScope models.", - "urlLabel": "[TODO: Translate] Model Page URL:", - "urlPlaceholder": "[TODO: Translate] https://huggingface.co/user/repo", - "helpText": "[TODO: Translate] Enter the full URL of the model page. Supported sites:", - "enrichNote": "[TODO: Translate] Note: AI metadata enrichment requires an accessible model card. TensorArt pages are not readable by the backend, so only the link is stored.", - "urlRequired": "[TODO: Translate] Please enter a model page URL.", - "invalidUrl": "[TODO: Translate] Unsupported URL. Supported sites: Hugging Face, ModelScope, TensorArt.", - "linking": "[TODO: Translate] Linking model source...", - "confirmAction": "[TODO: Translate] Save & Link" + "title": "链接到模型来源", + "infoText": "粘贴模型页面 URL 以关联此模型与其来源。关联后可对 Hugging Face 和 ModelScope 模型启用 AI 元数据增强。", + "urlLabel": "模型页面 URL:", + "urlPlaceholder": "https://huggingface.co/user/repo", + "helpText": "请输入完整的模型页面 URL。支持的站点:", + "enrichNote": "AI 增强需要可读取的模型卡。未提供模型卡的站点(目前为 TensorArt)只能建立链接。", + "urlRequired": "请输入模型页面 URL。", + "invalidUrl": "URL 不受支持。支持的站点:Hugging Face、ModelScope、TensorArt。", + "linking": "正在链接模型来源...", + "confirmAction": "保存并链接" }, "relinkCivitai": { "title": "重新关联到 CivitAI", @@ -1852,7 +1852,7 @@ "empty": "该模型还没有版本历史。", "error": "加载版本失败。", "missingModelId": "该模型缺少 CivitAI 模型 ID。", - "sourceGroupInfo": "[TODO: Translate] This is a {source} model group. Open the library to see all versions in the grid.", + "sourceGroupInfo": "这是一个 {source} 模型组。打开库页面即可在网格中查看所有版本。", "confirm": { "delete": "从库中删除此版本?" }, @@ -2489,8 +2489,8 @@ "fetchMetadataFirst": "请先从 CivitAI 获取元数据", "noCivitaiInfo": "无 CivitAI 信息", "missingHash": "模型哈希不可用", - "enrichNeedsSource": "[TODO: Translate] Link this model to a model source first (Link Model → Link to Model Source)", - "enrichUnsupportedSource": "[TODO: Translate] AI enrichment is not available for {source} models" + "enrichNeedsSource": "请先将此模型链接到模型来源(链接模型 → 链接到模型来源)", + "enrichUnsupportedSource": "{source} 模型不支持 AI 增强" }, "exampleImages": { "pathUpdated": "示例图片路径更新成功", diff --git a/locales/zh-TW.json b/locales/zh-TW.json index 4695779d..6ca38a94 100644 --- a/locales/zh-TW.json +++ b/locales/zh-TW.json @@ -139,7 +139,7 @@ "viewOnCivitai": "在 CivitAI 查看", "notAvailableFromCivitai": "CivitAI 不提供", "viewOnHuggingFace": "在 Hugging Face 查看", - "viewOnSource": "[TODO: Translate] View on {source}", + "viewOnSource": "在 {source} 查看", "sendToWorkflow": "傳送到 ComfyUI(點擊:附加,Shift+點擊:取代)", "copyLoRASyntax": "複製 LoRA 語法", "checkpointNameCopied": "Checkpoint 名稱已複製", @@ -868,14 +868,14 @@ "complete": "自動整理完成", "error": "錯誤:{error}" }, - "enrichHfAgent": "AI HF 中繼資料增強" + "enrichHfAgent": "AI 中繼資料增強" }, "contextMenu": { "refreshMetadata": "刷新 CivitAI 資料", "checkUpdates": "檢查更新", "linkModel": "連結模型", "linkCivitai": "連結到 CivitAI", - "linkModelSource": "[TODO: Translate] Link to Model Source", + "linkModelSource": "連結到模型來源", "copySyntax": "複製 LoRA 語法", "copyFilename": "複製模型檔名", "copyRecipeSyntax": "複製配方語法", @@ -897,7 +897,7 @@ "viewAllLoras": "檢視全部 LoRA", "downloadMissingLoras": "下載缺少的 LoRA", "deleteRecipe": "刪除配方", - "enrichHfAgent": "AI HF 中繼資料增強" + "enrichHfAgent": "AI 中繼資料增強" } }, "recipes": { @@ -1598,16 +1598,16 @@ "root": "根目錄" }, "linkModelSource": { - "title": "[TODO: Translate] Link to Model Source", - "infoText": "[TODO: Translate] Paste the model page URL to associate this model with its source. Linking enables AI-powered metadata enrichment for Hugging Face and ModelScope models.", - "urlLabel": "[TODO: Translate] Model Page URL:", - "urlPlaceholder": "[TODO: Translate] https://huggingface.co/user/repo", - "helpText": "[TODO: Translate] Enter the full URL of the model page. Supported sites:", - "enrichNote": "[TODO: Translate] Note: AI metadata enrichment requires an accessible model card. TensorArt pages are not readable by the backend, so only the link is stored.", - "urlRequired": "[TODO: Translate] Please enter a model page URL.", - "invalidUrl": "[TODO: Translate] Unsupported URL. Supported sites: Hugging Face, ModelScope, TensorArt.", - "linking": "[TODO: Translate] Linking model source...", - "confirmAction": "[TODO: Translate] Save & Link" + "title": "連結到模型來源", + "infoText": "貼上模型頁面 URL 以關聯此模型與其來源。關聯後可對 Hugging Face 和 ModelScope 模型啟用 AI 中繼資料增強。", + "urlLabel": "模型頁面 URL:", + "urlPlaceholder": "https://huggingface.co/user/repo", + "helpText": "請輸入完整的模型頁面 URL。支援的站點:", + "enrichNote": "AI 增強需要可讀取的模型卡。未提供模型卡的站點(目前為 TensorArt)只能建立連結。", + "urlRequired": "請輸入模型頁面 URL。", + "invalidUrl": "URL 不受支援。支援的站點:Hugging Face、ModelScope、TensorArt。", + "linking": "正在連結模型來源...", + "confirmAction": "儲存並連結" }, "relinkCivitai": { "title": "重新連結至 CivitAI", @@ -1852,7 +1852,7 @@ "empty": "此模型尚無版本歷史。", "error": "載入版本失敗。", "missingModelId": "此模型缺少 CivitAI 模型 ID。", - "sourceGroupInfo": "[TODO: Translate] This is a {source} model group. Open the library to see all versions in the grid.", + "sourceGroupInfo": "這是一個 {source} 模型組。打開庫頁面即可在網格中查看所有版本。", "confirm": { "delete": "要從庫中刪除此版本嗎?" }, @@ -2489,8 +2489,8 @@ "fetchMetadataFirst": "請先從 CivitAI 取得 metadata", "noCivitaiInfo": "無 CivitAI 資訊", "missingHash": "模型雜湊不可用", - "enrichNeedsSource": "[TODO: Translate] Link this model to a model source first (Link Model → Link to Model Source)", - "enrichUnsupportedSource": "[TODO: Translate] AI enrichment is not available for {source} models" + "enrichNeedsSource": "請先將此模型連結到模型來源(連結模型 → 連結到模型來源)", + "enrichUnsupportedSource": "{source} 模型不支援 AI 增強" }, "exampleImages": { "pathUpdated": "範例圖片路徑已更新",