feat(retry-status): update translation keys for all locales

- Migrate chat.rateLimitRetry.* → chat.retryStatus.* across 17 locales
- Add nested structure: retryStatus.rateLimit.* and retryStatus.backoff.*
- Provide contextual messaging for rate limits vs exponential backoff
This commit is contained in:
daniel-lxs 2025-11-03 18:53:53 -05:00
parent 1a41005466
commit 6e5fff76c7
No known key found for this signature in database
GPG key ID: 21C74479048B3AA6
17 changed files with 225 additions and 109 deletions

View file

@ -144,12 +144,20 @@
"streamingFailed": "Transmissió API ha fallat"
},
"retryStatus": {
"title": "Sol·licitud endarrerida — si us plau, espera.",
"waiting": "Reintentant en {{seconds}}s",
"waitingWithAttempt": "Reintentant en {{seconds}}s (intent {{attempt}})",
"waitingWithAttemptMax": "Reintentant en {{seconds}}s (intent {{attempt}}/{{maxAttempts}})",
"retrying": "Reintentant ara…",
"cancelled": "Reintent cancel·lat"
"rateLimit": {
"title": "Límit de taxa establert a {{rateLimitSeconds}} segons",
"waiting": "Esperant {{seconds}} segons",
"proceeding": "Continuant ara...",
"cancelled": "Sol·licitud cancel·lada"
},
"backoff": {
"title": "La sol·licitud ha fallat",
"waiting": "Intentant en {{seconds}} segons",
"waitingWithAttempt": "Intentant en {{seconds}} segons (intent #{{attempt}})",
"waitingWithAttemptMax": "Intentant en {{seconds}} segons (intent #{{attempt}}/{{maxAttempts}})",
"retrying": "Intentant ara...",
"cancelled": "Reintent cancel·lat"
}
},
"rateLimitRetry": {
"title": "Límit de peticions assolit — si us plau, espera.",

View file

@ -144,12 +144,20 @@
"streamingFailed": "API-Streaming fehlgeschlagen"
},
"retryStatus": {
"title": "Anfrage verzögert — bitte warten.",
"waiting": "Wiederholung in {{seconds}}s",
"waitingWithAttempt": "Wiederholung in {{seconds}}s (Versuch {{attempt}})",
"waitingWithAttemptMax": "Wiederholung in {{seconds}}s (Versuch {{attempt}}/{{maxAttempts}})",
"retrying": "Wird wiederholt…",
"cancelled": "Wiederholung abgebrochen"
"rateLimit": {
"title": "Ratenlimit auf {{rateLimitSeconds}} Sekunden festgelegt",
"waiting": "Warte {{seconds}} Sekunden",
"proceeding": "Wird jetzt fortgesetzt…",
"cancelled": "Anfrage abgebrochen"
},
"backoff": {
"title": "Anfrage fehlgeschlagen",
"waiting": "Versuche in {{seconds}} Sekunden",
"waitingWithAttempt": "Versuche in {{seconds}} Sekunden (Versuch #{{attempt}})",
"waitingWithAttemptMax": "Versuche in {{seconds}} Sekunden (Versuch #{{attempt}}/{{maxAttempts}})",
"retrying": "Versuche jetzt…",
"cancelled": "Wiederholung abgebrochen"
}
},
"rateLimitRetry": {
"title": "Ratenlimit ausgelöst — bitte warten.",

View file

@ -164,19 +164,17 @@
},
"retryStatus": {
"rateLimit": {
"title": "Retraso por límite de velocidad — por favor, espera.",
"waiting": "Continuando en {{seconds}}s",
"waitingWithAttempt": "Continuando en {{seconds}}s (intento {{attempt}})",
"waitingWithAttemptMax": "Continuando en {{seconds}}s (intento {{attempt}}/{{maxAttempts}})",
"title": "Límite de velocidad establecido en {{rateLimitSeconds}} segundos",
"waiting": "Esperando {{seconds}} segundos",
"proceeding": "Continuando ahora…",
"cancelled": "Solicitud cancelada"
},
"backoff": {
"title": "Solicitud retrasada — reintentando.",
"waiting": "Reintentando en {{seconds}}s",
"waitingWithAttempt": "Reintentando en {{seconds}}s (intento {{attempt}})",
"waitingWithAttemptMax": "Reintentando en {{seconds}}s (intento {{attempt}}/{{maxAttempts}})",
"retrying": "Reintentando ahora…",
"title": "La solicitud falló",
"waiting": "Intentando en {{seconds}} segundos",
"waitingWithAttempt": "Intentando en {{seconds}} segundos (intento #{{attempt}})",
"waitingWithAttemptMax": "Intentando en {{seconds}} segundos (intento #{{attempt}}/{{maxAttempts}})",
"retrying": "Intentando ahora…",
"cancelled": "Reintento cancelado"
}
},

View file

@ -163,12 +163,20 @@
"current": "Actuel"
},
"retryStatus": {
"title": "Requête retardée — veuillez patienter.",
"waiting": "Nouvelle tentative dans {{seconds}}s",
"waitingWithAttempt": "Nouvelle tentative dans {{seconds}}s (tentative {{attempt}})",
"waitingWithAttemptMax": "Nouvelle tentative dans {{seconds}}s (tentative {{attempt}}/{{maxAttempts}})",
"retrying": "Nouvelle tentative en cours…",
"cancelled": "Nouvelle tentative annulée"
"rateLimit": {
"title": "Limite de taux fixée à {{rateLimitSeconds}} secondes",
"waiting": "En attente de {{seconds}} secondes",
"proceeding": "En cours…",
"cancelled": "Requête annulée"
},
"backoff": {
"title": "La requête a échoué",
"waiting": "Nouvel essai dans {{seconds}} secondes",
"waitingWithAttempt": "Nouvel essai dans {{seconds}} secondes (tentative n°{{attempt}})",
"waitingWithAttemptMax": "Nouvel essai dans {{seconds}} secondes (tentative n°{{attempt}}/{{maxAttempts}})",
"retrying": "Nouvel essai en cours…",
"cancelled": "Nouvel essai annulé"
}
},
"rateLimitRetry": {
"title": "Limite de débit atteinte — veuillez patienter.",

View file

@ -144,12 +144,20 @@
"streamingFailed": "API स्ट्रीमिंग विफल हुई"
},
"retryStatus": {
"title": "अनुरोध में देरी — कृपया प्रतीक्षा करें।",
"waiting": "{{seconds}}s में पुनः प्रयास",
"waitingWithAttempt": "{{seconds}}s में पुनः प्रयास (प्रयास {{attempt}})",
"waitingWithAttemptMax": "{{seconds}}s में पुनः प्रयास (प्रयास {{attempt}}/{{maxAttempts}})",
"retrying": "अभी पुनः प्रयास कर रहे हैं…",
"cancelled": "पुनः प्रयास रद्द"
"rateLimit": {
"title": "दर सीमा {{rateLimitSeconds}} सेकंड पर सेट है",
"waiting": "{{seconds}} सेकंड प्रतीक्षा कर रहा है",
"proceeding": "अब आगे बढ़ रहा है...",
"cancelled": "अनुरोध रद्द कर दिया गया"
},
"backoff": {
"title": "अनुरोध विफल",
"waiting": "{{seconds}} सेकंड में पुन: प्रयास कर रहा है",
"waitingWithAttempt": "{{seconds}} सेकंड में पुन: प्रयास कर रहा है (प्रयास #{{attempt}})",
"waitingWithAttemptMax": "{{seconds}} सेकंड में पुन: प्रयास कर रहा है (प्रयास #{{attempt}}/{{maxAttempts}})",
"retrying": "अब कोशिश कर रहा हूँ...",
"cancelled": "पुन: प्रयास रद्द"
}
},
"rateLimitRetry": {
"title": "दर सीमा ट्रिगर हुई — कृपया प्रतीक्षा करें।",

View file

@ -153,12 +153,20 @@
"streamingFailed": "Streaming API Gagal"
},
"retryStatus": {
"title": "Permintaan tertunda — mohon tunggu.",
"waiting": "Mencoba lagi dalam {{seconds}}s",
"waitingWithAttempt": "Mencoba lagi dalam {{seconds}}s (percobaan {{attempt}})",
"waitingWithAttemptMax": "Mencoba lagi dalam {{seconds}}s (percobaan {{attempt}}/{{maxAttempts}})",
"retrying": "Mencoba sekarang…",
"cancelled": "Percobaan ulang dibatalkan"
"rateLimit": {
"title": "Batas tarif diatur ke {{rateLimitSeconds}} detik",
"waiting": "Menunggu {{seconds}} detik",
"proceeding": "Sedang memproses…",
"cancelled": "Permintaan dibatalkan"
},
"backoff": {
"title": "Permintaan gagal",
"waiting": "Mencoba dalam {{seconds}} detik",
"waitingWithAttempt": "Mencoba dalam {{seconds}} detik (percobaan #{{attempt}})",
"waitingWithAttemptMax": "Mencoba dalam {{seconds}} detik (percobaan #{{attempt}}/{{maxAttempts}})",
"retrying": "Mencoba sekarang…",
"cancelled": "Percobaan ulang dibatalkan"
}
},
"rateLimitRetry": {
"title": "Batas kecepatan tercapai — mohon tunggu.",

View file

@ -147,12 +147,20 @@
"streamingFailed": "Streaming API fallito"
},
"retryStatus": {
"title": "Richiesta ritardata — attendi.",
"waiting": "Riprovando tra {{seconds}}s",
"waitingWithAttempt": "Riprovando tra {{seconds}}s (tentativo {{attempt}})",
"waitingWithAttemptMax": "Riprovando tra {{seconds}}s (tentativo {{attempt}}/{{maxAttempts}})",
"retrying": "Riprovando ora…",
"cancelled": "Tentativo cancellato"
"rateLimit": {
"title": "Limite di velocità impostato a {{rateLimitSeconds}} secondi",
"waiting": "In attesa di {{seconds}} secondi",
"proceeding": "Procedendo ora...",
"cancelled": "Richiesta annullata"
},
"backoff": {
"title": "Richiesta fallita",
"waiting": "Tento tra {{seconds}} secondi",
"waitingWithAttempt": "Tento tra {{seconds}} secondi (tentativo n. {{attempt}})",
"waitingWithAttemptMax": "Tento tra {{seconds}} secondi (tentativo n. {{attempt}}/{{maxAttempts}})",
"retrying": "Tento ora...",
"cancelled": "Tentativo annullato"
}
},
"rateLimitRetry": {
"title": "Limite di frequenza raggiunto — attendi.",

View file

@ -144,12 +144,20 @@
"streamingFailed": "APIストリーミング失敗"
},
"retryStatus": {
"title": "リクエストが遅延しています — しばらくお待ちください。",
"waiting": "{{seconds}}秒後に再試行",
"waitingWithAttempt": "{{seconds}}秒後に再試行({{attempt}}回目の試行)",
"waitingWithAttemptMax": "{{seconds}}秒後に再試行({{attempt}}/{{maxAttempts}}回目の試行)",
"retrying": "再試行中…",
"cancelled": "再試行がキャンセルされました"
"rateLimit": {
"title": "レート制限が{{rateLimitSeconds}}秒に設定されました",
"waiting": "{{seconds}}秒待機中",
"proceeding": "ただいま処理中...",
"cancelled": "リクエストがキャンセルされました"
},
"backoff": {
"title": "リクエスト失敗",
"waiting": "{{seconds}}秒後に再試行します",
"waitingWithAttempt": "{{seconds}}秒後に再試行します(試行{{attempt}}回目)",
"waitingWithAttemptMax": "{{seconds}}秒後に再試行します(試行{{attempt}}/{{maxAttempts}}回目)",
"retrying": "再試行中...",
"cancelled": "再試行がキャンセルされました"
}
},
"rateLimitRetry": {
"title": "レート制限がトリガーされました — しばらくお待ちください。",

View file

@ -144,12 +144,20 @@
"streamingFailed": "API 스트리밍 실패"
},
"retryStatus": {
"title": "요청이 지연되었습니다 — 잠시 기다려주세요.",
"waiting": "{{seconds}}초 후 재시도",
"waitingWithAttempt": "{{seconds}}초 후 재시도 (시도 {{attempt}})",
"waitingWithAttemptMax": "{{seconds}}초 후 재시도 (시도 {{attempt}}/{{maxAttempts}})",
"retrying": "재시도 중…",
"cancelled": "재시도 취소됨"
"rateLimit": {
"title": "속도 제한이 {{rateLimitSeconds}}초로 설정되었습니다.",
"waiting": "{{seconds}}초 대기 중",
"proceeding": "지금 진행 중...",
"cancelled": "요청이 취소되었습니다."
},
"backoff": {
"title": "요청 실패",
"waiting": "{{seconds}}초 후에 다시 시도합니다",
"waitingWithAttempt": "{{seconds}}초 후에 다시 시도합니다 (시도 #{{attempt}})",
"waitingWithAttemptMax": "{{seconds}}초 후에 다시 시도합니다 (시도 #{{attempt}}/{{maxAttempts}})",
"retrying": "지금 시도 중...",
"cancelled": "재시도 취소됨"
}
},
"rateLimitRetry": {
"title": "속도 제한이 트리거되었습니다 — 잠시 기다려주세요.",

View file

@ -139,12 +139,20 @@
"streamingFailed": "API-streaming mislukt"
},
"retryStatus": {
"title": "Verzoek vertraagd — even geduld a.u.b.",
"waiting": "Opnieuw proberen over {{seconds}}s",
"waitingWithAttempt": "Opnieuw proberen over {{seconds}}s (poging {{attempt}})",
"waitingWithAttemptMax": "Opnieuw proberen over {{seconds}}s (poging {{attempt}}/{{maxAttempts}})",
"retrying": "Nu opnieuw proberen…",
"cancelled": "Herpoging geannuleerd"
"rateLimit": {
"title": "Snelheidslimiet ingesteld op {{rateLimitSeconds}} seconden",
"waiting": "{{seconds}} seconden wachten",
"proceeding": "Nu bezig...",
"cancelled": "Verzoek geannuleerd"
},
"backoff": {
"title": "Verzoek mislukt",
"waiting": "Probeert over {{seconds}} seconden",
"waitingWithAttempt": "Probeert over {{seconds}} seconden (poging #{{attempt}})",
"waitingWithAttemptMax": "Probeert over {{seconds}} seconden (poging #{{attempt}}/{{maxAttempts}})",
"retrying": "Nu proberen...",
"cancelled": "Opnieuw proberen geannuleerd"
}
},
"rateLimitRetry": {
"title": "Snelheidslimiet bereikt — even geduld a.u.b.",

View file

@ -144,12 +144,20 @@
"streamingFailed": "Strumieniowanie API nie powiodło się"
},
"retryStatus": {
"title": "Żądanie opóźnione — proszę czekać.",
"waiting": "Ponowna próba za {{seconds}}s",
"waitingWithAttempt": "Ponowna próba za {{seconds}}s (próba {{attempt}})",
"waitingWithAttemptMax": "Ponowna próba za {{seconds}}s (próba {{attempt}}/{{maxAttempts}})",
"retrying": "Ponawiam teraz…",
"cancelled": "Ponowna próba anulowana"
"rateLimit": {
"title": "Limit zapytań ustawiony na {{rateLimitSeconds}} sekund",
"waiting": "Oczekiwanie {{seconds}} sekund",
"proceeding": "Przechodzę teraz...",
"cancelled": "Żądanie anulowane"
},
"backoff": {
"title": "Żądanie nie powiodło się",
"waiting": "Próbuję za {{seconds}} sekund",
"waitingWithAttempt": "Próbuję za {{seconds}} sekund (próba #{{attempt}})",
"waitingWithAttemptMax": "Próbuję za {{seconds}} sekund (próba #{{attempt}}/{{maxAttempts}})",
"retrying": "Próbuję teraz...",
"cancelled": "Ponowienie anulowane"
}
},
"rateLimitRetry": {
"title": "Osiągnięto limit szybkości — proszę czekać.",

View file

@ -144,12 +144,20 @@
"streamingFailed": "Streaming API falhou"
},
"retryStatus": {
"title": "Solicitação atrasada — por favor, aguarde.",
"waiting": "Tentando novamente em {{seconds}}s",
"waitingWithAttempt": "Tentando novamente em {{seconds}}s (tentativa {{attempt}})",
"waitingWithAttemptMax": "Tentando novamente em {{seconds}}s (tentativa {{attempt}}/{{maxAttempts}})",
"retrying": "Tentando agora…",
"cancelled": "Tentativa cancelada"
"rateLimit": {
"title": "Limite de taxa definido para {{rateLimitSeconds}} segundos",
"waiting": "Aguardando {{seconds}} segundos",
"proceeding": "Prosseguindo agora...",
"cancelled": "Solicitação cancelada"
},
"backoff": {
"title": "A solicitação falhou",
"waiting": "Tentando em {{seconds}} segundos",
"waitingWithAttempt": "Tentando em {{seconds}} segundos (tentativa #{{attempt}})",
"waitingWithAttemptMax": "Tentando em {{seconds}} segundos (tentativa #{{attempt}}/{{maxAttempts}})",
"retrying": "Tentando agora...",
"cancelled": "Tentativa cancelada"
}
},
"rateLimitRetry": {
"title": "Limite de taxa atingido — por favor, aguarde.",

View file

@ -139,12 +139,20 @@
"streamingFailed": "Ошибка потокового API-запроса"
},
"retryStatus": {
"title": "Запрос задержан — пожалуйста, подождите.",
"waiting": "Повтор через {{seconds}}с",
"waitingWithAttempt": "Повтор через {{seconds}}с (попытка {{attempt}})",
"waitingWithAttemptMax": "Повтор через {{seconds}}с (попытка {{attempt}}/{{maxAttempts}})",
"retrying": "Повторяем…",
"cancelled": "Повтор отменен"
"rateLimit": {
"title": "Лимит запросов установлен на {{rateLimitSeconds}} секунд",
"waiting": "Ожидание {{seconds}} секунд",
"proceeding": "Продолжаем...",
"cancelled": "Запрос отменен"
},
"backoff": {
"title": "Запрос не удался",
"waiting": "Попытка через {{seconds}} секунд",
"waitingWithAttempt": "Попытка через {{seconds}} секунд (попытка №{{attempt}})",
"waitingWithAttemptMax": "Попытка через {{seconds}} секунд (попытка №{{attempt}}/{{maxAttempts}})",
"retrying": "Повторяем...",
"cancelled": "Повтор отменен"
}
},
"rateLimitRetry": {
"title": "Превышен лимит запросов — пожалуйста, подождите.",

View file

@ -163,12 +163,20 @@
"current": "Mevcut"
},
"retryStatus": {
"title": "İstek gecikti — lütfen bekleyin.",
"waiting": "{{seconds}}s içinde yeniden deneniyor",
"waitingWithAttempt": "{{seconds}}s içinde yeniden deneniyor (deneme {{attempt}})",
"waitingWithAttemptMax": "{{seconds}}s içinde yeniden deneniyor (deneme {{attempt}}/{{maxAttempts}})",
"retrying": "Şimdi yeniden deneniyor…",
"cancelled": "Yeniden deneme iptal edildi"
"rateLimit": {
"title": "Hız limiti {{rateLimitSeconds}} saniyeye ayarlandı",
"waiting": "{{seconds}} saniye bekleniyor",
"proceeding": "Şimdi devam ediliyor...",
"cancelled": "İstek iptal edildi"
},
"backoff": {
"title": "İstek başarısız oldu",
"waiting": "{{seconds}} saniye içinde deneniyor",
"waitingWithAttempt": "{{seconds}} saniye içinde deneniyor (deneme #{{attempt}})",
"waitingWithAttemptMax": "{{seconds}} saniye içinde deneniyor (deneme #{{attempt}}/{{maxAttempts}})",
"retrying": "Şimdi deneniyor...",
"cancelled": "Yeniden deneme iptal edildi"
}
},
"rateLimitRetry": {
"title": "Hız limiti tetiklendi — lütfen bekleyin.",

View file

@ -144,12 +144,20 @@
"streamingFailed": "Streaming API thất bại"
},
"retryStatus": {
"title": "Yêu cầu bị trì hoãn — vui lòng đợi.",
"waiting": "Thử lại sau {{seconds}}s",
"waitingWithAttempt": "Thử lại sau {{seconds}}s (lần thử {{attempt}})",
"waitingWithAttemptMax": "Thử lại sau {{seconds}}s (lần thử {{attempt}}/{{maxAttempts}})",
"retrying": "Đang thử lại…",
"cancelled": "Thử lại đã bị hủy"
"rateLimit": {
"title": "Giới hạn tốc độ được đặt thành {{rateLimitSeconds}} giây",
"waiting": "Đang chờ {{seconds}} giây",
"proceeding": "Đang tiến hành...",
"cancelled": "Yêu cầu đã bị hủy"
},
"backoff": {
"title": "Yêu cầu thất bại",
"waiting": "Đang thử lại sau {{seconds}} giây",
"waitingWithAttempt": "Đang thử lại sau {{seconds}} giây (lần thử #{{attempt}})",
"waitingWithAttemptMax": "Đang thử lại sau {{seconds}} giây (lần thử #{{attempt}}/{{maxAttempts}})",
"retrying": "Đang thử ngay bây giờ...",
"cancelled": "Đã hủy thử lại"
}
},
"rateLimitRetry": {
"title": "Đã đạt giới hạn tốc độ — vui lòng đợi.",

View file

@ -145,19 +145,17 @@
},
"retryStatus": {
"rateLimit": {
"title": "速率限制延迟 — 请稍候。",
"waiting": "{{seconds}}秒后继续",
"waitingWithAttempt": "{{seconds}}秒后继续(第 {{attempt}} 次尝试)",
"waitingWithAttemptMax": "{{seconds}}秒后继续(第 {{attempt}}/{{maxAttempts}} 次尝试)",
"proceeding": "正在继续…",
"title": "速率限制设置为 {{rateLimitSeconds}} 秒",
"waiting": "正在等待 {{seconds}} 秒",
"proceeding": "正在继续...",
"cancelled": "请求已取消"
},
"backoff": {
"title": "请求已延迟 — 重试中。",
"waiting": "{{seconds}}秒后重试",
"waitingWithAttempt": "{{seconds}}秒后重试(第 {{attempt}} 次尝试)",
"waitingWithAttemptMax": "{{seconds}}秒后重试(第 {{attempt}}/{{maxAttempts}} 次尝试)",
"retrying": "正在重试",
"title": "请求失败",
"waiting": "将在 {{seconds}} 秒后重试",
"waitingWithAttempt": "将在 {{seconds}} 秒后重试 (第 #{{attempt}} 次)",
"waitingWithAttemptMax": "将在 {{seconds}} 秒后重试 (第 #{{attempt}}/{{maxAttempts}} 次)",
"retrying": "正在重试...",
"cancelled": "重试已取消"
}
},

View file

@ -150,12 +150,20 @@
"streamingFailed": "API 串流處理失敗"
},
"retryStatus": {
"title": "請求已延遲 — 請稍候。",
"waiting": "{{seconds}}秒後重試",
"waitingWithAttempt": "{{seconds}}秒後重試(第 {{attempt}} 次嘗試)",
"waitingWithAttemptMax": "{{seconds}}秒後重試(第 {{attempt}}/{{maxAttempts}} 次嘗試)",
"retrying": "正在重試…",
"cancelled": "重試已取消"
"rateLimit": {
"title": "速率限制設定為 {{rateLimitSeconds}} 秒",
"waiting": "正在等待 {{seconds}} 秒",
"proceeding": "正在繼續...",
"cancelled": "請求已取消"
},
"backoff": {
"title": "請求失敗",
"waiting": "將在 {{seconds}} 秒後重試",
"waitingWithAttempt": "將在 {{seconds}} 秒後重試 (第 #{{attempt}} 次)",
"waitingWithAttemptMax": "將在 {{seconds}} 秒後重試 (第 #{{attempt}}/{{maxAttempts}} 次)",
"retrying": "正在重試...",
"cancelled": "重試已取消"
}
},
"rateLimitRetry": {
"title": "已觸發速率限制 — 請稍候。",