@@ -85,6 +85,7 @@ Do NOT directly import or call `encoding/json` in business code. `json.RawMessag
- Use `common.UsingPostgreSQL`, `common.UsingSQLite`, and `common.UsingMySQL` flags for DB-specific branches.
- Do not use database-specific features without cross-DB fallback, including MySQL-only functions, PostgreSQL-only operators, SQLite-unsupported `ALTER COLUMN`, or database-specific JSON column types without a `TEXT` fallback.
- Migrations must work on all three databases. For SQLite, use `ALTER TABLE ... ADD COLUMN` instead of `ALTER COLUMN` (see `model/main.go` for patterns).
- Avoid GORM boolean default tags such as `gorm:"default:true"` when the default is a business rule already enforced by code. MySQL and PostgreSQL can normalize boolean defaults differently, causing GORM `AutoMigrate` to repeatedly issue `ALTER TABLE` on restart. Prefer setting these defaults in request/model normalization, hooks, constructors, or service logic; do not replace `default:true` with `default:1` unless the behavior is verified across SQLite, MySQL, and PostgreSQL.
@@ -85,6 +85,7 @@ Do NOT directly import or call `encoding/json` in business code. `json.RawMessag
- Use `common.UsingPostgreSQL`, `common.UsingSQLite`, and `common.UsingMySQL` flags for DB-specific branches.
- Do not use database-specific features without cross-DB fallback, including MySQL-only functions, PostgreSQL-only operators, SQLite-unsupported `ALTER COLUMN`, or database-specific JSON column types without a `TEXT` fallback.
- Migrations must work on all three databases. For SQLite, use `ALTER TABLE ... ADD COLUMN` instead of `ALTER COLUMN` (see `model/main.go` for patterns).
- Avoid GORM boolean default tags such as `gorm:"default:true"` when the default is a business rule already enforced by code. MySQL and PostgreSQL can normalize boolean defaults differently, causing GORM `AutoMigrate` to repeatedly issue `ALTER TABLE` on restart. Prefer setting these defaults in request/model normalization, hooks, constructors, or service logic; do not replace `default:true` with `default:1` unless the behavior is verified across SQLite, MySQL, and PostgreSQL.
"Auto-disable status codes":"Auto-disable status codes",
"Auto-discover":"Auto-discover",
"Auto-discovers endpoints from the provider":"Auto-discovers endpoints from the provider",
...
...
@@ -683,6 +684,7 @@
"Channel Affinity":"Channel Affinity",
"Channel affinity reuses the last successful channel based on keys extracted from the request context or JSON body.":"Channel affinity reuses the last successful channel based on keys extracted from the request context or JSON body.",
"Max requests per period":"Max requests per period",
...
...
@@ -3541,11 +3544,13 @@
"Restore defaults":"Restore defaults",
"Restrict user model request frequency (may impact high concurrency performance)":"Restrict user model request frequency (may impact high concurrency performance)",
"Result":"Result",
"Request retry":"Request retry",
"Retain last N days":"Retain last N days",
"Retain last N files":"Retain last N files",
"Retention days":"Retention days",
"Retry":"Retry",
"Retry Chain":"Retry Chain",
"Retry Settings":"Retry Settings",
"Retry Suggestion":"Retry Suggestion",
"Retry Times":"Retry Times",
"Return a custom error immediately":"Return a custom error immediately",
...
...
@@ -3576,6 +3581,7 @@
"Route, auth, and balance check in one place":"Route, auth, and balance check in one place",
"Auto Group Chain":"Chaîne de groupes automatique",
"Auto refresh":"Actualisation automatique",
"Auto Sync Upstream Models":"Synchronisation automatique des modèles en amont",
"Auto-disable rules":"Règles de désactivation automatique",
"Auto-disable status codes":"Codes de statut de désactivation auto",
"Auto-discover":"Découverte automatique",
"Auto-discovers endpoints from the provider":"Découvre automatiquement les points de terminaison du fournisseur",
...
...
@@ -683,6 +684,7 @@
"Channel Affinity":"Affinité de canal",
"Channel affinity reuses the last successful channel based on keys extracted from the request context or JSON body.":"L'affinité de canal réutilise le dernier canal ayant réussi, en se basant sur les clés extraites du contexte de la requête ou du corps JSON.",
"Channel Affinity: Upstream Cache Hit":"Affinité de canal : hit de cache en amont",
"Channel health checks":"Contrôles de santé des canaux",
"Channel copied successfully":"Canal copié avec succès",
"Channel created successfully":"Canal créé avec succès",
"Channel deleted successfully":"Canal supprimé avec succès",
...
...
@@ -2391,6 +2393,7 @@
"Max Disk Cache Size (MB)":"Taille max du cache disque (Mo)",
"Max Requests (including failures)":"Max Requêtes (incluant les échecs)",
"Max requests per period":"Nombre max de requêtes par période",
...
...
@@ -3541,11 +3544,13 @@
"Restore defaults":"Restaurer les paramètres par défaut",
"Restrict user model request frequency (may impact high concurrency performance)":"Restreindre la fréquence des requêtes du modèle utilisateur (peut impacter les performances en cas de forte concurrence)",
"Result":"Résultat",
"Request retry":"Relance des requêtes",
"Retain last N days":"Conserver les N derniers jours",
"Retain last N files":"Conserver les N derniers fichiers",
"Retention days":"Jours de rétention",
"Retry":"Réessayer",
"Retry Chain":"Chaîne de tentatives",
"Retry Settings":"Paramètres de relance",
"Retry Suggestion":"Suggestion de relance",
"Retry Times":"Nombre de tentatives",
"Return a custom error immediately":"Retourner immédiatement une erreur personnalisée",
...
...
@@ -3576,6 +3581,7 @@
"Route, auth, and balance check in one place":"Routage, authentification et solde au même endroit",
"Auto-discovers endpoints from the provider":"プロバイダーからエンドポイントを自動検出します",
...
...
@@ -683,6 +684,7 @@
"Channel Affinity":"チャネルアフィニティ",
"Channel affinity reuses the last successful channel based on keys extracted from the request context or JSON body.":"チャネルアフィニティは、リクエストコンテキストまたは JSON Body から抽出したキーに基づいて、前回成功したチャネルを優先的に再利用します。",
"Auto Group Chain":"Автоматическая цепочка групп",
"Auto refresh":"Автообновление",
"Auto Sync Upstream Models":"Автоматическая синхронизация моделей провайдера",
"Auto-disable rules":"Правила автоотключения",
"Auto-disable status codes":"Коды автоотключения",
"Auto-discover":"Автообнаружение",
"Auto-discovers endpoints from the provider":"Автоматически обнаруживает конечные точки от провайдера",
...
...
@@ -683,6 +684,7 @@
"Channel Affinity":"Привязка к каналу",
"Channel affinity reuses the last successful channel based on keys extracted from the request context or JSON body.":"Привязка к каналу повторно использует последний успешный канал на основе ключей, извлечённых из контекста запроса или тела JSON.",
"Channel Affinity: Upstream Cache Hit":"Привязка к каналу: попадание в кэш upstream",
"Channel health checks":"Проверки состояния каналов",
"Channel copied successfully":"Канал успешно скопирован",
"Channel created successfully":"Канал успешно создан",
"Channel deleted successfully":"Канал успешно удалён",
...
...
@@ -2391,6 +2393,7 @@
"Max Disk Cache Size (MB)":"Макс. размер дискового кэша (МБ)",
"Max Requests (including failures)":"Макс. запросов (включая сбои)",
"Max requests per period":"Макс. запросов за период",
...
...
@@ -3541,11 +3544,13 @@
"Restore defaults":"Сбросить к значениям по умолчанию",
"Restrict user model request frequency (may impact high concurrency performance)":"Ограничить частоту запросов пользовательских моделей (может повлиять на производительность при высокой конкуренции)",
"Result":"Результат",
"Request retry":"Повтор запросов",
"Retain last N days":"Хранить последние N дней",
"Retain last N files":"Хранить последние N файлов",
"Retention days":"Дней хранения",
"Retry":"Повторить попытку",
"Retry Chain":"Цепочка повторов",
"Retry Settings":"Настройки повторов",
"Retry Suggestion":"Рекомендация по повтору",
"Retry Times":"Количество повторных попыток",
"Return a custom error immediately":"Немедленно вернуть пользовательскую ошибку",
...
...
@@ -3576,6 +3581,7 @@
"Route, auth, and balance check in one place":"Маршрут, аутентификация и баланс в одном месте",
"Routes":"Маршруты",
"Routing & Overrides":"Маршрутизация и переопределения",
"Auto Sync Upstream Models":"Tự động đồng bộ mô hình nguồn",
"Auto-disable rules":"Quy tắc tự động tắt",
"Auto-disable status codes":"Mã trạng thái tự tắt",
"Auto-discover":"Tự động khám phá",
"Auto-discovers endpoints from the provider":"Tự động khám phá các điểm cuối từ nhà cung cấp",
...
...
@@ -683,6 +684,7 @@
"Channel Affinity":"Ưu tiên kênh",
"Channel affinity reuses the last successful channel based on keys extracted from the request context or JSON body.":"Ưu tiên kênh sẽ sử dụng lại kênh thành công gần nhất dựa trên các khóa được trích xuất từ ngữ cảnh yêu cầu hoặc JSON body.",
"Channel Affinity: Upstream Cache Hit":"Ưu tiên kênh: Cache hit từ upstream",
"Channel health checks":"Kiểm tra tình trạng kênh",
"Channel copied successfully":"Sao chép kênh thành công",
"Channel created successfully":"Tạo kênh thành công",
"Channel deleted successfully":"Xóa kênh thành công",
...
...
@@ -2391,6 +2393,7 @@
"Max Disk Cache Size (MB)":"Dung lượng tối đa bộ nhớ đệm đĩa (MB)",
"Max Entries":"Số mục tối đa",
"Max output":"Đầu ra tối đa",
"Max Retries":"Số lần thử lại tối đa",
"Max Requests (incl. failures)":"Maximum number of requests (including errors)",
"Max Requests (including failures)":"Số yêu cầu tối đa (bao gồm cả các lỗi)",
"Max requests per period":"Yêu cầu tối đa mỗi khoảng thời gian",
...
...
@@ -3541,11 +3544,13 @@
"Restore defaults":"Khôi phục mặc định",
"Restrict user model request frequency (may impact high concurrency performance)":"Hạn chế tần suất yêu cầu mô hình người dùng (có thể ảnh hưởng đến hiệu suất khi có độ đồng thời cao)",
"Result":"Kết quả",
"Request retry":"Thử lại yêu cầu",
"Retain last N days":"Giữ lại N ngày gần nhất",
"Retain last N files":"Giữ lại N tệp gần nhất",
"Retention days":"Số ngày lưu giữ",
"Retry":"Thử lại",
"Retry Chain":"Chuỗi thử lại",
"Retry Settings":"Cài đặt thử lại",
"Retry Suggestion":"Gợi ý thử lại",
"Retry Times":"Số lần thử lại",
"Return a custom error immediately":"Trả về lỗi tùy chỉnh ngay lập tức",
...
...
@@ -3576,6 +3581,7 @@
"Route, auth, and balance check in one place":"Kiểm tra tuyến, xác thực và số dư ở cùng một nơi",
"Auto-discovers endpoints from the provider":"自动从提供商发现端点",
...
...
@@ -683,6 +684,7 @@
"Channel Affinity":"渠道亲和性",
"Channel affinity reuses the last successful channel based on keys extracted from the request context or JSON body.":"渠道亲和性会基于从请求上下文或 JSON Body 提取的 Key,优先复用上一次成功的渠道。",