- शिप
- 10 मई 2026 को 4:33 am बजे UTC
- लेखक
- Kamo
- Commit
- c0a87b7
प्रतिक्रिया में दो विफलता मोड अक्षम थे, इसलिए स्क्रिप्ट उन्हें अलग नहीं बता सकता और उन्हें "ट्रांसलेटिंग" को अंग्रेजी के समान कुंजी के रूप में रखा जा सकता है प्रत्येक सिंक रन पर, यादृच्छिक सबसेट के साथ सफल होता है जिसके कारण सटीक होता है एक कार्यकर्ता पुनरारंभ के दौरान LibreTranslate अनुरोध भूमि पर हुआ: 1. प्रदाता त्रुटि (टाइमआउट, 5xx, कनेक्शन मध्य-रिस्टार्ट से इनकार कर दिया) 2. प्रदाता सफल हुआ लेकिन बदले गए स्रोत unchanged (legit "no अनुवाद की आवश्यकता "- उचित संज्ञा, ब्रांड नाम आदि) दोनों ने अनुवाद के रूप में स्रोत लिखने का फैसला किया। परिवर्तन: * LibreTranslateProvider / BergamotProvider: 1s / 3s के साथ 3 प्रयास क्षणिक विफलताओं के लिए बैकऑफ (5xx, 429, टाइमआउट, कनेक्शन त्रुटियाँ; 4xx (गैर-429) तुरंत प्रचारित करते हैं क्योंकि एक बार फिर से शुरू करना विकृत अनुरोध कभी मदद नहीं करेगा। Per-call request timeout = 30s. स्रोत पाठ लौटने के बजाय रीट्री एक्स्टेंशन पर फेंकता है। * प्रदाताRouter: अब "हर सहायक प्रदाता" को अलग करता है त्रुटि "(throws) से कम से कम एक सफल लेकिन वापस स्रोत" (legitimate passthrough — रिटर्न टेक्स्ट). बिना किसी परिवर्तन का समर्थन करता है। ********** प्रति कुंजी अपवाद पकड़ता है, उन्हें जवाब पर एक नई असफल कुंजी सूची में एकत्र करता है, और omits संदेशों से असफल कुंजी। * बैचट्रांसलेटResponse: असफल कुंजी क्षेत्र जोड़ता है। * अनुवाद: असफल कुंजी पढ़ता है, कभी भी उन कुंजी को वापस नहीं लिखते हैं, इसलिए ApiTranslated[key]? मौजूदा [key] Fallback पहले छोड़ देता है जगह में अंग्रेजी मूल्य - जो अगले रन satisfies पर cur===enval और re-queues बिल्कुल उन कुंजी के लिए retry. टेस्ट: "सभी प्रदाताओं ने फेंकने की त्रुटि" के लिए प्रतिगमन परीक्षण जोड़ा, "पर" कम से कम एक अपरिवर्तित टेक्स्ट रिटर्न टेक्स्ट के साथ सफल हुआ", "रूटर क्षणिक प्राथमिक त्रुटि के माध्यम से, और अनुवाद सेवा सही ढंग से संदेशों बनाम असफल कुंजी में विभाजन।.