mirror of
https://github.com/willmiao/ComfyUI-Lora-Manager.git
synced 2026-10-09 11:02:12 -03:00
feat(update): track buzz prices and alert below a threshold
CivitAI's public API deliberately omits prices — paidAccess is trimmed to
{permanent, endsAt} because "pricing belongs to the purchase flow" — but the
public model page embeds the site's own model.getById result, including
paidAccess.terms, in its server-rendered payload. That is read anonymously
(no API key, no internal endpoint, no forged Origin), one request per gated
model, so only the ~2% of models that actually carry a gate pay for it.
- optional capture, off by default: price_tracking_enabled,
price_alert_threshold_buzz (0 = alert on "became free" only) and
price_check_ttl_hours; prices refresh on their own TTL and immediately when a
gate changes, and a failed fetch keeps the stored price instead of blanking it
- versions that stop carrying a gate are marked free (persisted gate_lapsed_at)
and gate transitions are reported as events on the refresh response, so a
version already in the library can announce that it became free
- price_alert_state plus a price_drop edge event; new
GET /api/lm/{type}/updates/price-alerts lists what is under the threshold
- versions tab shows the price (effective, with the list price struck through
and a Blue Buzz note) and a Free Now badge; an update check toasts the
transitions in one message
- the parser and the alerts query are unit-tested against a trimmed page
fixture, and every route definition is now asserted to resolve to a handler
Plan, verification notes and the deviations from it are in
docs/plans/paid-model-price-tracking.md.
This commit is contained in:
+22
-1
@@ -201,7 +201,12 @@
|
||||
"loading": "Prüfe auf {type}-Updates...",
|
||||
"success": "{count} Update(s) für {type} gefunden",
|
||||
"none": "Alle {type} sind auf dem neuesten Stand",
|
||||
"error": "Fehler beim Prüfen auf {type}-Updates: {message}"
|
||||
"error": "Fehler beim Prüfen auf {type}-Updates: {message}",
|
||||
"gateEvents": {
|
||||
"becameFree": "[TODO: Translate] {count} version(s) became free",
|
||||
"priceDrop": "[TODO: Translate] {count} version(s) dropped below your price threshold",
|
||||
"newGate": "[TODO: Translate] {count} version(s) are now paid"
|
||||
}
|
||||
},
|
||||
"cleanupExampleImages": {
|
||||
"label": "Beispielbild-Ordner bereinigen",
|
||||
@@ -387,6 +392,7 @@
|
||||
"downloadPathTemplates": "Download-Pfad-Vorlagen",
|
||||
"priorityTags": "Prioritäts-Tags",
|
||||
"versionScope": "Update-Markierungen",
|
||||
"priceTracking": "[TODO: Translate] Buzz Price Tracking",
|
||||
"exampleImages": "Beispielbilder",
|
||||
"autoOrganize": "Auto-Organisierung",
|
||||
"metadata": "Metadaten",
|
||||
@@ -753,6 +759,16 @@
|
||||
"label": "Bezahlte Updates ausblenden",
|
||||
"help": "Wenn aktiviert, zeigen Modelle mit nur bezahlten Updates kein 'Update verfügbar'-Badge an"
|
||||
},
|
||||
"priceTracking": {
|
||||
"label": "[TODO: Translate] Buzz Price Tracking",
|
||||
"help": "[TODO: Translate] CivitAI does not publish prices in its public API, so prices are read from the model page - one extra request per paid model, refreshed on the interval below. Requires an update check to pick up changes.",
|
||||
"enabled": "[TODO: Translate] Track Buzz prices for paid versions",
|
||||
"enabledHelp": "[TODO: Translate] Show the price on paid and early access versions, and alert when a price drops below your threshold",
|
||||
"threshold": "[TODO: Translate] Price alert threshold (Buzz)",
|
||||
"thresholdHelp": "[TODO: Translate] Alert when a paid version costs this much or less. Use 0 to only be told when a version becomes free.",
|
||||
"refreshHours": "[TODO: Translate] Price refresh interval (hours)",
|
||||
"refreshHoursHelp": "[TODO: Translate] How long a stored price stays fresh before it is fetched again"
|
||||
},
|
||||
"licenseIcons": {
|
||||
"useNewStyle": "Aktualisierte Lizenzsymbole verwenden",
|
||||
"useNewStyleHelp": "Lizenzberechtigungen mit farbigen Indikatoren (neuer Stil) oder nur Einschränkungssymbolen (klassischer Stil) anzeigen. Orientiert sich am aktuellen CivitAI-Design."
|
||||
@@ -2008,6 +2024,11 @@
|
||||
"earlyAccessTooltip": "Für diese Version ist derzeit CivitAI Early Access erforderlich",
|
||||
"paid": "Bezahlt",
|
||||
"paidTooltip": "Diese Version erfordert eine Zahlung zum Herunterladen",
|
||||
"priceSaleTooltip": "[TODO: Translate] On sale, normally {list} Buzz",
|
||||
"priceBlueBuzzTooltip": "[TODO: Translate] Can also be paid with Blue Buzz",
|
||||
"priceAlertTooltip": "[TODO: Translate] {price} - below your price alert threshold",
|
||||
"freeNow": "[TODO: Translate] Free Now",
|
||||
"freeNowTooltip": "[TODO: Translate] This version no longer requires payment",
|
||||
"ignored": "Ignoriert",
|
||||
"ignoredTooltip": "Für diese Version sind Update-Benachrichtigungen deaktiviert",
|
||||
"onSiteOnly": "Nur On-Site",
|
||||
|
||||
+22
-1
@@ -201,7 +201,12 @@
|
||||
"loading": "Checking for {type} updates...",
|
||||
"success": "Found {count} update(s) for {type}s",
|
||||
"none": "All {type}s are up to date",
|
||||
"error": "Failed to check for {type} updates: {message}"
|
||||
"error": "Failed to check for {type} updates: {message}",
|
||||
"gateEvents": {
|
||||
"becameFree": "{count} version(s) became free",
|
||||
"priceDrop": "{count} version(s) dropped below your price threshold",
|
||||
"newGate": "{count} version(s) are now paid"
|
||||
}
|
||||
},
|
||||
"cleanupExampleImages": {
|
||||
"label": "Clean up example image folders",
|
||||
@@ -387,6 +392,7 @@
|
||||
"downloadPathTemplates": "Download Path Templates",
|
||||
"priorityTags": "Priority Tags",
|
||||
"versionScope": "Version Scope",
|
||||
"priceTracking": "Buzz Price Tracking",
|
||||
"exampleImages": "Example Images",
|
||||
"autoOrganize": "Auto-organize",
|
||||
"metadata": "Metadata",
|
||||
@@ -753,6 +759,16 @@
|
||||
"label": "Hide Paid Updates",
|
||||
"help": "When enabled, models with only paid updates will not show 'Update available' badge"
|
||||
},
|
||||
"priceTracking": {
|
||||
"label": "Buzz Price Tracking",
|
||||
"help": "CivitAI does not publish prices in its public API, so prices are read from the model page - one extra request per paid model, refreshed on the interval below. Requires an update check to pick up changes.",
|
||||
"enabled": "Track Buzz prices for paid versions",
|
||||
"enabledHelp": "Show the price on paid and early access versions, and alert when a price drops below your threshold",
|
||||
"threshold": "Price alert threshold (Buzz)",
|
||||
"thresholdHelp": "Alert when a paid version costs this much or less. Use 0 to only be told when a version becomes free.",
|
||||
"refreshHours": "Price refresh interval (hours)",
|
||||
"refreshHoursHelp": "How long a stored price stays fresh before it is fetched again"
|
||||
},
|
||||
"licenseIcons": {
|
||||
"useNewStyle": "Use updated license icons",
|
||||
"useNewStyleHelp": "Display license permissions with colored indicators (new style) or restriction-only icons (classic style). Mirroring the current CivitAI design."
|
||||
@@ -2008,6 +2024,11 @@
|
||||
"earlyAccessTooltip": "This version currently requires CivitAI early access",
|
||||
"paid": "Paid",
|
||||
"paidTooltip": "This version requires payment to download",
|
||||
"priceSaleTooltip": "On sale, normally {list} Buzz",
|
||||
"priceBlueBuzzTooltip": "Can also be paid with Blue Buzz",
|
||||
"priceAlertTooltip": "{price} - below your price alert threshold",
|
||||
"freeNow": "Free Now",
|
||||
"freeNowTooltip": "This version no longer requires payment",
|
||||
"ignored": "Ignored",
|
||||
"ignoredTooltip": "Update notifications are disabled for this version",
|
||||
"onSiteOnly": "On-Site Only",
|
||||
|
||||
+22
-1
@@ -201,7 +201,12 @@
|
||||
"loading": "Buscando actualizaciones de {type}...",
|
||||
"success": "Se encontraron {count} actualización(es) para {type}",
|
||||
"none": "Todos los {type} están actualizados",
|
||||
"error": "Error al buscar actualizaciones de {type}: {message}"
|
||||
"error": "Error al buscar actualizaciones de {type}: {message}",
|
||||
"gateEvents": {
|
||||
"becameFree": "[TODO: Translate] {count} version(s) became free",
|
||||
"priceDrop": "[TODO: Translate] {count} version(s) dropped below your price threshold",
|
||||
"newGate": "[TODO: Translate] {count} version(s) are now paid"
|
||||
}
|
||||
},
|
||||
"cleanupExampleImages": {
|
||||
"label": "Limpiar carpetas de imágenes de ejemplo",
|
||||
@@ -387,6 +392,7 @@
|
||||
"downloadPathTemplates": "Plantillas de rutas de descarga",
|
||||
"priorityTags": "Etiquetas prioritarias",
|
||||
"versionScope": "Indicadores de actualización",
|
||||
"priceTracking": "[TODO: Translate] Buzz Price Tracking",
|
||||
"exampleImages": "Imágenes de ejemplo",
|
||||
"autoOrganize": "Organización automática",
|
||||
"metadata": "Metadatos",
|
||||
@@ -753,6 +759,16 @@
|
||||
"label": "Ocultar actualizaciones de pago",
|
||||
"help": "Cuando está activado, los modelos que solo tienen actualizaciones de pago no mostrarán la insignia de 'Actualización disponible'"
|
||||
},
|
||||
"priceTracking": {
|
||||
"label": "[TODO: Translate] Buzz Price Tracking",
|
||||
"help": "[TODO: Translate] CivitAI does not publish prices in its public API, so prices are read from the model page - one extra request per paid model, refreshed on the interval below. Requires an update check to pick up changes.",
|
||||
"enabled": "[TODO: Translate] Track Buzz prices for paid versions",
|
||||
"enabledHelp": "[TODO: Translate] Show the price on paid and early access versions, and alert when a price drops below your threshold",
|
||||
"threshold": "[TODO: Translate] Price alert threshold (Buzz)",
|
||||
"thresholdHelp": "[TODO: Translate] Alert when a paid version costs this much or less. Use 0 to only be told when a version becomes free.",
|
||||
"refreshHours": "[TODO: Translate] Price refresh interval (hours)",
|
||||
"refreshHoursHelp": "[TODO: Translate] How long a stored price stays fresh before it is fetched again"
|
||||
},
|
||||
"licenseIcons": {
|
||||
"useNewStyle": "Usar iconos de licencia actualizados",
|
||||
"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."
|
||||
@@ -2008,6 +2024,11 @@
|
||||
"earlyAccessTooltip": "Esta versión requiere actualmente acceso temprano de CivitAI",
|
||||
"paid": "De pago",
|
||||
"paidTooltip": "Esta versión requiere pago para descargarse",
|
||||
"priceSaleTooltip": "[TODO: Translate] On sale, normally {list} Buzz",
|
||||
"priceBlueBuzzTooltip": "[TODO: Translate] Can also be paid with Blue Buzz",
|
||||
"priceAlertTooltip": "[TODO: Translate] {price} - below your price alert threshold",
|
||||
"freeNow": "[TODO: Translate] Free Now",
|
||||
"freeNowTooltip": "[TODO: Translate] This version no longer requires payment",
|
||||
"ignored": "Ignorada",
|
||||
"ignoredTooltip": "Las notificaciones de actualización están desactivadas para esta versión",
|
||||
"onSiteOnly": "Solo en Sitio",
|
||||
|
||||
+22
-1
@@ -201,7 +201,12 @@
|
||||
"loading": "Recherche de mises à jour pour {type}...",
|
||||
"success": "{count} mise(s) à jour trouvée(s) pour {type}",
|
||||
"none": "Tous les {type} sont à jour",
|
||||
"error": "Échec de la vérification des mises à jour pour {type} : {message}"
|
||||
"error": "Échec de la vérification des mises à jour pour {type} : {message}",
|
||||
"gateEvents": {
|
||||
"becameFree": "[TODO: Translate] {count} version(s) became free",
|
||||
"priceDrop": "[TODO: Translate] {count} version(s) dropped below your price threshold",
|
||||
"newGate": "[TODO: Translate] {count} version(s) are now paid"
|
||||
}
|
||||
},
|
||||
"cleanupExampleImages": {
|
||||
"label": "Supprimer les dossiers d'exemples orphelins",
|
||||
@@ -387,6 +392,7 @@
|
||||
"downloadPathTemplates": "Modèles de chemin de téléchargement",
|
||||
"priorityTags": "Tags prioritaires",
|
||||
"versionScope": "Indicateurs de mise à jour",
|
||||
"priceTracking": "[TODO: Translate] Buzz Price Tracking",
|
||||
"exampleImages": "Images d'exemple",
|
||||
"autoOrganize": "Organisation automatique",
|
||||
"metadata": "Métadonnées",
|
||||
@@ -753,6 +759,16 @@
|
||||
"label": "Masquer les mises à jour payantes",
|
||||
"help": "Lorsque cette option est activée, les modèles n'ayant que des mises à jour payantes n'affichent pas le badge « Mise à jour disponible »"
|
||||
},
|
||||
"priceTracking": {
|
||||
"label": "[TODO: Translate] Buzz Price Tracking",
|
||||
"help": "[TODO: Translate] CivitAI does not publish prices in its public API, so prices are read from the model page - one extra request per paid model, refreshed on the interval below. Requires an update check to pick up changes.",
|
||||
"enabled": "[TODO: Translate] Track Buzz prices for paid versions",
|
||||
"enabledHelp": "[TODO: Translate] Show the price on paid and early access versions, and alert when a price drops below your threshold",
|
||||
"threshold": "[TODO: Translate] Price alert threshold (Buzz)",
|
||||
"thresholdHelp": "[TODO: Translate] Alert when a paid version costs this much or less. Use 0 to only be told when a version becomes free.",
|
||||
"refreshHours": "[TODO: Translate] Price refresh interval (hours)",
|
||||
"refreshHoursHelp": "[TODO: Translate] How long a stored price stays fresh before it is fetched again"
|
||||
},
|
||||
"licenseIcons": {
|
||||
"useNewStyle": "Utiliser les icônes de licence mises à jour",
|
||||
"useNewStyleHelp": "Afficher les permissions de licence avec des indicateurs colorés (nouveau style) ou des icônes de restriction uniquement (style classique). Reprend le design actuel de CivitAI."
|
||||
@@ -2008,6 +2024,11 @@
|
||||
"earlyAccessTooltip": "Cette version nécessite actuellement l'accès anticipé CivitAI",
|
||||
"paid": "Payant",
|
||||
"paidTooltip": "Cette version nécessite un paiement pour être téléchargée",
|
||||
"priceSaleTooltip": "[TODO: Translate] On sale, normally {list} Buzz",
|
||||
"priceBlueBuzzTooltip": "[TODO: Translate] Can also be paid with Blue Buzz",
|
||||
"priceAlertTooltip": "[TODO: Translate] {price} - below your price alert threshold",
|
||||
"freeNow": "[TODO: Translate] Free Now",
|
||||
"freeNowTooltip": "[TODO: Translate] This version no longer requires payment",
|
||||
"ignored": "Ignorée",
|
||||
"ignoredTooltip": "Les notifications de mise à jour sont désactivées pour cette version",
|
||||
"onSiteOnly": "Uniquement sur Site",
|
||||
|
||||
+22
-1
@@ -201,7 +201,12 @@
|
||||
"loading": "בודק עדכונים עבור {type}...",
|
||||
"success": "נמצאו {count} עדכונים עבור {type}",
|
||||
"none": "כל ה-{type} מעודכנים",
|
||||
"error": "נכשל בבדיקת העדכונים עבור {type}: {message}"
|
||||
"error": "נכשל בבדיקת העדכונים עבור {type}: {message}",
|
||||
"gateEvents": {
|
||||
"becameFree": "[TODO: Translate] {count} version(s) became free",
|
||||
"priceDrop": "[TODO: Translate] {count} version(s) dropped below your price threshold",
|
||||
"newGate": "[TODO: Translate] {count} version(s) are now paid"
|
||||
}
|
||||
},
|
||||
"cleanupExampleImages": {
|
||||
"label": "נקה תיקיות תמונות דוגמה",
|
||||
@@ -387,6 +392,7 @@
|
||||
"downloadPathTemplates": "תבניות נתיב הורדה",
|
||||
"priorityTags": "תגיות עדיפות",
|
||||
"versionScope": "תגי עדכון",
|
||||
"priceTracking": "[TODO: Translate] Buzz Price Tracking",
|
||||
"exampleImages": "תמונות דוגמה",
|
||||
"autoOrganize": "ארגון אוטומטי",
|
||||
"metadata": "מטא-נתונים",
|
||||
@@ -753,6 +759,16 @@
|
||||
"label": "הסתר עדכונים בתשלום",
|
||||
"help": "כשאפשרות זו מופעלת, מודלים עם עדכונים בתשלום בלבד לא יציגו את תגית 'עדכון זמין'"
|
||||
},
|
||||
"priceTracking": {
|
||||
"label": "[TODO: Translate] Buzz Price Tracking",
|
||||
"help": "[TODO: Translate] CivitAI does not publish prices in its public API, so prices are read from the model page - one extra request per paid model, refreshed on the interval below. Requires an update check to pick up changes.",
|
||||
"enabled": "[TODO: Translate] Track Buzz prices for paid versions",
|
||||
"enabledHelp": "[TODO: Translate] Show the price on paid and early access versions, and alert when a price drops below your threshold",
|
||||
"threshold": "[TODO: Translate] Price alert threshold (Buzz)",
|
||||
"thresholdHelp": "[TODO: Translate] Alert when a paid version costs this much or less. Use 0 to only be told when a version becomes free.",
|
||||
"refreshHours": "[TODO: Translate] Price refresh interval (hours)",
|
||||
"refreshHoursHelp": "[TODO: Translate] How long a stored price stays fresh before it is fetched again"
|
||||
},
|
||||
"licenseIcons": {
|
||||
"useNewStyle": "השתמש בסמלי רישיון מעודכנים",
|
||||
"useNewStyleHelp": "הצג הרשאות רישיון עם מחוונים צבעוניים (סגנון חדש) או סמלי הגבלה בלבד (סגנון קלאסי). משקף את העיצוב העדכני של CivitAI."
|
||||
@@ -2008,6 +2024,11 @@
|
||||
"earlyAccessTooltip": "גרסה זו דורשת כרגע גישת Early Access של CivitAI",
|
||||
"paid": "בתשלום",
|
||||
"paidTooltip": "גרסה זו דורשת תשלום כדי להוריד",
|
||||
"priceSaleTooltip": "[TODO: Translate] On sale, normally {list} Buzz",
|
||||
"priceBlueBuzzTooltip": "[TODO: Translate] Can also be paid with Blue Buzz",
|
||||
"priceAlertTooltip": "[TODO: Translate] {price} - below your price alert threshold",
|
||||
"freeNow": "[TODO: Translate] Free Now",
|
||||
"freeNowTooltip": "[TODO: Translate] This version no longer requires payment",
|
||||
"ignored": "התעלם",
|
||||
"ignoredTooltip": "התראות העדכון מושבתות עבור גרסה זו",
|
||||
"onSiteOnly": "רק באתר",
|
||||
|
||||
+22
-1
@@ -201,7 +201,12 @@
|
||||
"loading": "{type} のアップデートを確認中...",
|
||||
"success": "{type} のアップデートが {count} 件見つかりました",
|
||||
"none": "すべての {type} は最新です",
|
||||
"error": "{type} のアップデート確認に失敗しました: {message}"
|
||||
"error": "{type} のアップデート確認に失敗しました: {message}",
|
||||
"gateEvents": {
|
||||
"becameFree": "[TODO: Translate] {count} version(s) became free",
|
||||
"priceDrop": "[TODO: Translate] {count} version(s) dropped below your price threshold",
|
||||
"newGate": "[TODO: Translate] {count} version(s) are now paid"
|
||||
}
|
||||
},
|
||||
"cleanupExampleImages": {
|
||||
"label": "例画像フォルダをクリーンアップ",
|
||||
@@ -387,6 +392,7 @@
|
||||
"downloadPathTemplates": "ダウンロードパステンプレート",
|
||||
"priorityTags": "優先タグ",
|
||||
"versionScope": "アップデートフラグ",
|
||||
"priceTracking": "[TODO: Translate] Buzz Price Tracking",
|
||||
"exampleImages": "例画像",
|
||||
"autoOrganize": "自動整理",
|
||||
"metadata": "メタデータ",
|
||||
@@ -753,6 +759,16 @@
|
||||
"label": "有料更新を非表示",
|
||||
"help": "有効にすると、有料の更新のみがあるモデルには「更新あり」バッジが表示されません"
|
||||
},
|
||||
"priceTracking": {
|
||||
"label": "[TODO: Translate] Buzz Price Tracking",
|
||||
"help": "[TODO: Translate] CivitAI does not publish prices in its public API, so prices are read from the model page - one extra request per paid model, refreshed on the interval below. Requires an update check to pick up changes.",
|
||||
"enabled": "[TODO: Translate] Track Buzz prices for paid versions",
|
||||
"enabledHelp": "[TODO: Translate] Show the price on paid and early access versions, and alert when a price drops below your threshold",
|
||||
"threshold": "[TODO: Translate] Price alert threshold (Buzz)",
|
||||
"thresholdHelp": "[TODO: Translate] Alert when a paid version costs this much or less. Use 0 to only be told when a version becomes free.",
|
||||
"refreshHours": "[TODO: Translate] Price refresh interval (hours)",
|
||||
"refreshHoursHelp": "[TODO: Translate] How long a stored price stays fresh before it is fetched again"
|
||||
},
|
||||
"licenseIcons": {
|
||||
"useNewStyle": "更新されたライセンスアイコンを使用",
|
||||
"useNewStyleHelp": "カラーインジケーター付きでライセンス許可を表示(新スタイル)するか、制限のみのアイコンを表示(クラシックスタイル)します。現在のCivitAIデザインを反映しています。"
|
||||
@@ -2008,6 +2024,11 @@
|
||||
"earlyAccessTooltip": "このバージョンは現在 CivitAI の早期アクセスが必要です",
|
||||
"paid": "有料",
|
||||
"paidTooltip": "このバージョンのダウンロードには支払いが必要です",
|
||||
"priceSaleTooltip": "[TODO: Translate] On sale, normally {list} Buzz",
|
||||
"priceBlueBuzzTooltip": "[TODO: Translate] Can also be paid with Blue Buzz",
|
||||
"priceAlertTooltip": "[TODO: Translate] {price} - below your price alert threshold",
|
||||
"freeNow": "[TODO: Translate] Free Now",
|
||||
"freeNowTooltip": "[TODO: Translate] This version no longer requires payment",
|
||||
"ignored": "無視中",
|
||||
"ignoredTooltip": "このバージョンの更新通知は無効です",
|
||||
"onSiteOnly": "サイト内のみ",
|
||||
|
||||
+22
-1
@@ -201,7 +201,12 @@
|
||||
"loading": "{type} 업데이트를 확인 중...",
|
||||
"success": "{type} 업데이트 {count}개를 찾았습니다",
|
||||
"none": "모든 {type}가 최신 상태입니다",
|
||||
"error": "{type} 업데이트 확인 실패: {message}"
|
||||
"error": "{type} 업데이트 확인 실패: {message}",
|
||||
"gateEvents": {
|
||||
"becameFree": "[TODO: Translate] {count} version(s) became free",
|
||||
"priceDrop": "[TODO: Translate] {count} version(s) dropped below your price threshold",
|
||||
"newGate": "[TODO: Translate] {count} version(s) are now paid"
|
||||
}
|
||||
},
|
||||
"cleanupExampleImages": {
|
||||
"label": "예시 이미지 폴더 정리",
|
||||
@@ -387,6 +392,7 @@
|
||||
"downloadPathTemplates": "다운로드 경로 템플릿",
|
||||
"priorityTags": "우선순위 태그",
|
||||
"versionScope": "업데이트 표시",
|
||||
"priceTracking": "[TODO: Translate] Buzz Price Tracking",
|
||||
"exampleImages": "예시 이미지",
|
||||
"autoOrganize": "자동 정리",
|
||||
"metadata": "메타데이터",
|
||||
@@ -753,6 +759,16 @@
|
||||
"label": "유료 업데이트 숨기기",
|
||||
"help": "활성화하면 유료 업데이트만 있는 모델에 '업데이트 가능' 배지가 표시되지 않습니다"
|
||||
},
|
||||
"priceTracking": {
|
||||
"label": "[TODO: Translate] Buzz Price Tracking",
|
||||
"help": "[TODO: Translate] CivitAI does not publish prices in its public API, so prices are read from the model page - one extra request per paid model, refreshed on the interval below. Requires an update check to pick up changes.",
|
||||
"enabled": "[TODO: Translate] Track Buzz prices for paid versions",
|
||||
"enabledHelp": "[TODO: Translate] Show the price on paid and early access versions, and alert when a price drops below your threshold",
|
||||
"threshold": "[TODO: Translate] Price alert threshold (Buzz)",
|
||||
"thresholdHelp": "[TODO: Translate] Alert when a paid version costs this much or less. Use 0 to only be told when a version becomes free.",
|
||||
"refreshHours": "[TODO: Translate] Price refresh interval (hours)",
|
||||
"refreshHoursHelp": "[TODO: Translate] How long a stored price stays fresh before it is fetched again"
|
||||
},
|
||||
"licenseIcons": {
|
||||
"useNewStyle": "업데이트된 라이선스 아이콘 사용",
|
||||
"useNewStyleHelp": "색상 표시기가 있는 라이선스 권한(새 스타일) 또는 제한 전용 아이콘(클래식 스타일)을 표시합니다. 현재 CivitAI 디자인을 반영합니다."
|
||||
@@ -2008,6 +2024,11 @@
|
||||
"earlyAccessTooltip": "이 버전은 현재 CivitAI 얼리 액세스가 필요합니다",
|
||||
"paid": "유료",
|
||||
"paidTooltip": "이 버전은 다운로드하려면 결제가 필요합니다",
|
||||
"priceSaleTooltip": "[TODO: Translate] On sale, normally {list} Buzz",
|
||||
"priceBlueBuzzTooltip": "[TODO: Translate] Can also be paid with Blue Buzz",
|
||||
"priceAlertTooltip": "[TODO: Translate] {price} - below your price alert threshold",
|
||||
"freeNow": "[TODO: Translate] Free Now",
|
||||
"freeNowTooltip": "[TODO: Translate] This version no longer requires payment",
|
||||
"ignored": "무시됨",
|
||||
"ignoredTooltip": "이 버전은 업데이트 알림이 비활성화되어 있습니다",
|
||||
"onSiteOnly": "사이트 내 전용",
|
||||
|
||||
+22
-1
@@ -201,7 +201,12 @@
|
||||
"loading": "Проверка обновлений для {type}...",
|
||||
"success": "Найдено {count} обновлений для {type}",
|
||||
"none": "Все {type} актуальны",
|
||||
"error": "Не удалось проверить обновления для {type}: {message}"
|
||||
"error": "Не удалось проверить обновления для {type}: {message}",
|
||||
"gateEvents": {
|
||||
"becameFree": "[TODO: Translate] {count} version(s) became free",
|
||||
"priceDrop": "[TODO: Translate] {count} version(s) dropped below your price threshold",
|
||||
"newGate": "[TODO: Translate] {count} version(s) are now paid"
|
||||
}
|
||||
},
|
||||
"cleanupExampleImages": {
|
||||
"label": "Очистить папки с примерами изображений",
|
||||
@@ -387,6 +392,7 @@
|
||||
"downloadPathTemplates": "Шаблоны путей загрузки",
|
||||
"priorityTags": "Приоритетные теги",
|
||||
"versionScope": "Метки обновлений",
|
||||
"priceTracking": "[TODO: Translate] Buzz Price Tracking",
|
||||
"exampleImages": "Примеры изображений",
|
||||
"autoOrganize": "Автоорганизация",
|
||||
"metadata": "Метаданные",
|
||||
@@ -753,6 +759,16 @@
|
||||
"label": "Скрывать платные обновления",
|
||||
"help": "Если включено, у моделей, для которых доступны только платные обновления, не будет отображаться значок «Доступно обновление»"
|
||||
},
|
||||
"priceTracking": {
|
||||
"label": "[TODO: Translate] Buzz Price Tracking",
|
||||
"help": "[TODO: Translate] CivitAI does not publish prices in its public API, so prices are read from the model page - one extra request per paid model, refreshed on the interval below. Requires an update check to pick up changes.",
|
||||
"enabled": "[TODO: Translate] Track Buzz prices for paid versions",
|
||||
"enabledHelp": "[TODO: Translate] Show the price on paid and early access versions, and alert when a price drops below your threshold",
|
||||
"threshold": "[TODO: Translate] Price alert threshold (Buzz)",
|
||||
"thresholdHelp": "[TODO: Translate] Alert when a paid version costs this much or less. Use 0 to only be told when a version becomes free.",
|
||||
"refreshHours": "[TODO: Translate] Price refresh interval (hours)",
|
||||
"refreshHoursHelp": "[TODO: Translate] How long a stored price stays fresh before it is fetched again"
|
||||
},
|
||||
"licenseIcons": {
|
||||
"useNewStyle": "Использовать обновлённые значки лицензии",
|
||||
"useNewStyleHelp": "Отображать разрешения лицензии с цветными индикаторами (новый стиль) или только значки ограничений (классический стиль). Соответствует текущему дизайну CivitAI."
|
||||
@@ -2008,6 +2024,11 @@
|
||||
"earlyAccessTooltip": "Для этой версии сейчас требуется ранний доступ CivitAI",
|
||||
"paid": "Платная",
|
||||
"paidTooltip": "Скачивание этой версии платное",
|
||||
"priceSaleTooltip": "[TODO: Translate] On sale, normally {list} Buzz",
|
||||
"priceBlueBuzzTooltip": "[TODO: Translate] Can also be paid with Blue Buzz",
|
||||
"priceAlertTooltip": "[TODO: Translate] {price} - below your price alert threshold",
|
||||
"freeNow": "[TODO: Translate] Free Now",
|
||||
"freeNowTooltip": "[TODO: Translate] This version no longer requires payment",
|
||||
"ignored": "Игнорируется",
|
||||
"ignoredTooltip": "Уведомления об обновлениях для этой версии отключены",
|
||||
"onSiteOnly": "Только на Сайте",
|
||||
|
||||
+22
-1
@@ -201,7 +201,12 @@
|
||||
"loading": "正在检查 {type} 更新...",
|
||||
"success": "找到 {count} 条 {type} 更新",
|
||||
"none": "所有 {type} 均已是最新版本",
|
||||
"error": "检查 {type} 更新失败:{message}"
|
||||
"error": "检查 {type} 更新失败:{message}",
|
||||
"gateEvents": {
|
||||
"becameFree": "[TODO: Translate] {count} version(s) became free",
|
||||
"priceDrop": "[TODO: Translate] {count} version(s) dropped below your price threshold",
|
||||
"newGate": "[TODO: Translate] {count} version(s) are now paid"
|
||||
}
|
||||
},
|
||||
"cleanupExampleImages": {
|
||||
"label": "清理示例图片文件夹",
|
||||
@@ -387,6 +392,7 @@
|
||||
"downloadPathTemplates": "下载路径模板",
|
||||
"priorityTags": "优先标签",
|
||||
"versionScope": "版本范围",
|
||||
"priceTracking": "[TODO: Translate] Buzz Price Tracking",
|
||||
"exampleImages": "示例图片",
|
||||
"autoOrganize": "自动整理",
|
||||
"metadata": "元数据",
|
||||
@@ -753,6 +759,16 @@
|
||||
"label": "隐藏付费更新",
|
||||
"help": "启用后,仅有付费更新的模型将不显示“有可用更新”徽标"
|
||||
},
|
||||
"priceTracking": {
|
||||
"label": "[TODO: Translate] Buzz Price Tracking",
|
||||
"help": "[TODO: Translate] CivitAI does not publish prices in its public API, so prices are read from the model page - one extra request per paid model, refreshed on the interval below. Requires an update check to pick up changes.",
|
||||
"enabled": "[TODO: Translate] Track Buzz prices for paid versions",
|
||||
"enabledHelp": "[TODO: Translate] Show the price on paid and early access versions, and alert when a price drops below your threshold",
|
||||
"threshold": "[TODO: Translate] Price alert threshold (Buzz)",
|
||||
"thresholdHelp": "[TODO: Translate] Alert when a paid version costs this much or less. Use 0 to only be told when a version becomes free.",
|
||||
"refreshHours": "[TODO: Translate] Price refresh interval (hours)",
|
||||
"refreshHoursHelp": "[TODO: Translate] How long a stored price stays fresh before it is fetched again"
|
||||
},
|
||||
"licenseIcons": {
|
||||
"useNewStyle": "使用新版许可协议图标",
|
||||
"useNewStyleHelp": "以彩色指示器显示许可权限(新样式),或仅显示限制图标(经典样式)。与当前 CivitAI 设计保持一致。"
|
||||
@@ -2008,6 +2024,11 @@
|
||||
"earlyAccessTooltip": "此版本当前需要 CivitAI 抢先体验权限",
|
||||
"paid": "付费",
|
||||
"paidTooltip": "此版本需要付费后才能下载",
|
||||
"priceSaleTooltip": "[TODO: Translate] On sale, normally {list} Buzz",
|
||||
"priceBlueBuzzTooltip": "[TODO: Translate] Can also be paid with Blue Buzz",
|
||||
"priceAlertTooltip": "[TODO: Translate] {price} - below your price alert threshold",
|
||||
"freeNow": "[TODO: Translate] Free Now",
|
||||
"freeNowTooltip": "[TODO: Translate] This version no longer requires payment",
|
||||
"ignored": "已忽略",
|
||||
"ignoredTooltip": "此版本已关闭更新通知",
|
||||
"onSiteOnly": "仅站内生成",
|
||||
|
||||
+22
-1
@@ -201,7 +201,12 @@
|
||||
"loading": "正在檢查 {type} 更新...",
|
||||
"success": "找到 {count} 個 {type} 更新",
|
||||
"none": "所有 {type} 都是最新版本",
|
||||
"error": "檢查 {type} 更新失敗:{message}"
|
||||
"error": "檢查 {type} 更新失敗:{message}",
|
||||
"gateEvents": {
|
||||
"becameFree": "[TODO: Translate] {count} version(s) became free",
|
||||
"priceDrop": "[TODO: Translate] {count} version(s) dropped below your price threshold",
|
||||
"newGate": "[TODO: Translate] {count} version(s) are now paid"
|
||||
}
|
||||
},
|
||||
"cleanupExampleImages": {
|
||||
"label": "清理範例圖片資料夾",
|
||||
@@ -387,6 +392,7 @@
|
||||
"downloadPathTemplates": "下載路徑範本",
|
||||
"priorityTags": "優先標籤",
|
||||
"versionScope": "版本範圍",
|
||||
"priceTracking": "[TODO: Translate] Buzz Price Tracking",
|
||||
"exampleImages": "範例圖片",
|
||||
"autoOrganize": "自動整理",
|
||||
"metadata": "中繼資料",
|
||||
@@ -753,6 +759,16 @@
|
||||
"label": "隱藏付費更新",
|
||||
"help": "啟用後,只有付費更新的模型將不會顯示「有可用更新」徽章"
|
||||
},
|
||||
"priceTracking": {
|
||||
"label": "[TODO: Translate] Buzz Price Tracking",
|
||||
"help": "[TODO: Translate] CivitAI does not publish prices in its public API, so prices are read from the model page - one extra request per paid model, refreshed on the interval below. Requires an update check to pick up changes.",
|
||||
"enabled": "[TODO: Translate] Track Buzz prices for paid versions",
|
||||
"enabledHelp": "[TODO: Translate] Show the price on paid and early access versions, and alert when a price drops below your threshold",
|
||||
"threshold": "[TODO: Translate] Price alert threshold (Buzz)",
|
||||
"thresholdHelp": "[TODO: Translate] Alert when a paid version costs this much or less. Use 0 to only be told when a version becomes free.",
|
||||
"refreshHours": "[TODO: Translate] Price refresh interval (hours)",
|
||||
"refreshHoursHelp": "[TODO: Translate] How long a stored price stays fresh before it is fetched again"
|
||||
},
|
||||
"licenseIcons": {
|
||||
"useNewStyle": "使用新版許可協議圖標",
|
||||
"useNewStyleHelp": "以彩色指示器顯示許可權限(新樣式),或僅顯示限制圖標(經典樣式)。與當前 CivitAI 設計保持一致。"
|
||||
@@ -2008,6 +2024,11 @@
|
||||
"earlyAccessTooltip": "此版本目前需要 CivitAI 搶先體驗權限",
|
||||
"paid": "付費",
|
||||
"paidTooltip": "此版本需要付費才能下載",
|
||||
"priceSaleTooltip": "[TODO: Translate] On sale, normally {list} Buzz",
|
||||
"priceBlueBuzzTooltip": "[TODO: Translate] Can also be paid with Blue Buzz",
|
||||
"priceAlertTooltip": "[TODO: Translate] {price} - below your price alert threshold",
|
||||
"freeNow": "[TODO: Translate] Free Now",
|
||||
"freeNowTooltip": "[TODO: Translate] This version no longer requires payment",
|
||||
"ignored": "已忽略",
|
||||
"ignoredTooltip": "此版本已關閉更新通知",
|
||||
"onSiteOnly": "僅站內生成",
|
||||
|
||||
Reference in New Issue
Block a user