Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog.d/features/14795-call-content-provenance.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- **feat(calls):** record rendered-content presence and usage provenance per request in the call log ([#14795](https://github.com/diegosouzapw/OmniRoute/pull/14795)) — thanks @maxmad64bis
4 changes: 4 additions & 0 deletions open-sse/handlers/chatCore/attemptLogging.ts
Original file line number Diff line number Diff line change
Expand Up @@ -240,6 +240,7 @@ export function extractResponsesId(sourceFormat: unknown, clientResponse: unknow
export type PersistAttemptLogsArgs = {
status: number;
tokens?: unknown;
usageEstimated?: boolean | null;
responseBody?: unknown;
error?: string | null;
providerRequest?: unknown;
Expand Down Expand Up @@ -559,6 +560,9 @@ export function persistAttemptLogs(args: PersistAttemptLogsArgs, ctx: PersistAtt
connectionId: finalConnectionId || undefined,
duration: Date.now() - startTime,
tokens: tokens || {},
// Estimated-token flag, computed here where tokens still carry the marker
// (it does not survive spreads or JSON round-trips to the sink).
usageEstimated: args.usageEstimated ?? (isEstimatedUsage(tokens) ? true : null),
// Encrypted-reasoning observation: stream-side flag plus duration, and
// the two request bodies so the sink can read effort values
// (requested from the client body, upstream from the post-strip body).
Expand Down
4 changes: 4 additions & 0 deletions src/i18n/messages/am.json
Original file line number Diff line number Diff line change
Expand Up @@ -11474,6 +11474,10 @@
"requestedModel": "የተጠየቀው ሞዴል",
"requestProtocol": "የጥያቄ ፕሮቶኮል",
"cacheSource": "የመሸጎጫ ምንጭ",
"contentProvenance": "ምላሽ",
"contentEmpty": "ባዶ ምላሽ",
"usageAbsent": "የቶከን ብዛት አልተዘገበም",
"usageEstimated": "የቶከን ብዛት ተገምቷል",
"modelPinning": "ሞዴልን መቆለፍ",
"activeModelPinning": "ንቁ — ሞዴሉ በክፍለ ጊዜ መቆለፍ ተመርጧል",
"rotated": "ተዘዋውሯል፦ {initial} -> {final}",
Expand Down
4 changes: 4 additions & 0 deletions src/i18n/messages/ar.json
Original file line number Diff line number Diff line change
Expand Up @@ -11474,6 +11474,10 @@
"requestedModel": "النموذج المطلوب",
"requestProtocol": "بروتوكول المتطلبات",
"cacheSource": "مصدر التخزين المؤقت",
"contentProvenance": "الرد",
"contentEmpty": "رد فارغ",
"usageAbsent": "لم يتم الإبلاغ عن عدد الرموز",
"usageEstimated": "عدد الرموز مُقدَّر",
"modelPinning": "تثبيت النموذج",
"activeModelPinning": "نشط — نموذج تم اختياره عبر تثبيت الجلسة",
"rotated": "تم التدوير: {initial} -> {final}",
Expand Down
4 changes: 4 additions & 0 deletions src/i18n/messages/az.json
Original file line number Diff line number Diff line change
Expand Up @@ -11474,6 +11474,10 @@
"requestedModel": "Tələb Olunan Model",
"requestProtocol": "Req Protokolu",
"cacheSource": "Keş Mənbəyi",
"contentProvenance": "Cavab",
"contentEmpty": "Boş cavab",
"usageAbsent": "Token sayı bildirilməyib",
"usageEstimated": "Token sayı təxmini",
"modelPinning": "Modelin sabitlənməsi",
"activeModelPinning": "Aktiv — sessiya sabitlənməsi vasitəsilə seçilmiş model",
"rotated": "Dönmüşdür: {initial} -> {final}",
Expand Down
4 changes: 4 additions & 0 deletions src/i18n/messages/bg.json
Original file line number Diff line number Diff line change
Expand Up @@ -11474,6 +11474,10 @@
"requestedModel": "Заявеният Модел",
"requestProtocol": "Протокол на заявката",
"cacheSource": "Кеш Източник",
"contentProvenance": "Отговор",
"contentEmpty": "Празен отговор",
"usageAbsent": "Броят токени не е докладван",
"usageEstimated": "Броят токени е приблизителен",
"modelPinning": "Закрепване на модела",
"activeModelPinning": "Активен — модел, избран чрез фиксиране на сесията",
"rotated": "Преместено: {initial} -> {final}",
Expand Down
4 changes: 4 additions & 0 deletions src/i18n/messages/bn.json
Original file line number Diff line number Diff line change
Expand Up @@ -11474,6 +11474,10 @@
"requestedModel": "অনুরোধ করা মডেল",
"requestProtocol": "রেক প্রোটোকল",
"cacheSource": "ক্যাশ সোর্স",
"contentProvenance": "উত্তর",
"contentEmpty": "খালি উত্তর",
"usageAbsent": "টোকেন সংখ্যা জানানো হয়নি",
"usageEstimated": "টোকেন সংখ্যা আনুমানিক",
"modelPinning": "মডেল পিনিং",
"activeModelPinning": "সক্রিয় — সেশন পিনিংয়ের মাধ্যমে মডেল নির্বাচিত",
"rotated": "ঘুরানো: {initial} -> {final}",
Expand Down
4 changes: 4 additions & 0 deletions src/i18n/messages/bs.json
Original file line number Diff line number Diff line change
Expand Up @@ -11463,6 +11463,10 @@
"requestedModel": "Zatraženi model",
"requestProtocol": "Req protokol",
"cacheSource": "Izvor keša",
"contentProvenance": "Odgovor",
"contentEmpty": "Prazan odgovor",
"usageAbsent": "Broj tokena nije prijavljen",
"usageEstimated": "Broj tokena je procijenjen",
"modelPinning": "Fiksiranje modela",
"activeModelPinning": "Aktivno — model odabran putem fiksiranja sesije",
"rotated": "Rotirano: {initial} -> {final}",
Expand Down
4 changes: 4 additions & 0 deletions src/i18n/messages/cs.json
Original file line number Diff line number Diff line change
Expand Up @@ -11474,6 +11474,10 @@
"requestedModel": "Požadovaný model",
"requestProtocol": "Protokol požadavku",
"cacheSource": "Cache Zdroj",
"contentProvenance": "Odpověď",
"contentEmpty": "Prázdná odpověď",
"usageAbsent": "Počet tokenů nebyl nahlášen",
"usageEstimated": "Počet tokenů je odhadnutý",
"modelPinning": "Zamykání Modelu",
"activeModelPinning": "Aktivní — model vybraný pomocí připnutí relace",
"rotated": "Otočeno: {initial} -> {final}",
Expand Down
4 changes: 4 additions & 0 deletions src/i18n/messages/da.json
Original file line number Diff line number Diff line change
Expand Up @@ -11474,6 +11474,10 @@
"requestedModel": "Anmodet Model",
"requestProtocol": "Req Protokol",
"cacheSource": "Cache Kilde",
"contentProvenance": "Svar",
"contentEmpty": "Tomt svar",
"usageAbsent": "Antal tokens ikke rapporteret",
"usageEstimated": "Antal tokens anslået",
"modelPinning": "Modelbinding",
"activeModelPinning": "Aktiv — model valgt via sessionsfastgørelse",
"rotated": "Roteret: {initial} -> {final}",
Expand Down
4 changes: 4 additions & 0 deletions src/i18n/messages/de.json
Original file line number Diff line number Diff line change
Expand Up @@ -11474,6 +11474,10 @@
"requestedModel": "Angefordertes Modell",
"requestProtocol": "Req-Protokoll",
"cacheSource": "Cache-Quelle",
"contentProvenance": "Antwort",
"contentEmpty": "Leere Antwort",
"usageAbsent": "Token-Anzahl nicht gemeldet",
"usageEstimated": "Token-Anzahl geschätzt",
"modelPinning": "Modell-Pinning",
"activeModelPinning": "Aktiv — Modell über Sitzungs-Pinning ausgewählt",
"rotated": "Rotiert: {initial} -> {final}",
Expand Down
4 changes: 4 additions & 0 deletions src/i18n/messages/el.json
Original file line number Diff line number Diff line change
Expand Up @@ -11474,6 +11474,10 @@
"requestedModel": "Μοντέλο που ζητήθηκε",
"requestProtocol": "Πρωτόκολλο αιτήματος",
"cacheSource": "Πηγή κρυφής μνήμης",
"contentProvenance": "Απάντηση",
"contentEmpty": "Κενή απάντηση",
"usageAbsent": "Το πλήθος tokens δεν αναφέρθηκε",
"usageEstimated": "Το πλήθος tokens εκτιμήθηκε",
"modelPinning": "Δέσμευση μοντέλου",
"activeModelPinning": "Ενεργό — το μοντέλο επιλέχθηκε μέσω δέσμευσης συνεδρίας",
"rotated": "Εναλλαγή: {initial} -> {final}",
Expand Down
4 changes: 4 additions & 0 deletions src/i18n/messages/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -11474,6 +11474,10 @@
"requestedModel": "Requested Model",
"requestProtocol": "Req Protocol",
"cacheSource": "Cache Source",
"contentProvenance": "Reply",
"contentEmpty": "Empty reply",
"usageAbsent": "Token count not reported",
"usageEstimated": "Token count estimated",
"modelPinning": "Model Pinning",
"activeModelPinning": "Active — model selected via session pinning",
"rotated": "Rotated: {initial} -> {final}",
Expand Down
4 changes: 4 additions & 0 deletions src/i18n/messages/es.json
Original file line number Diff line number Diff line change
Expand Up @@ -11474,6 +11474,10 @@
"requestedModel": "Modelo Solicitado",
"requestProtocol": "Protocolo Req",
"cacheSource": "Fuente de Caché",
"contentProvenance": "Respuesta",
"contentEmpty": "Respuesta vacía",
"usageAbsent": "Recuento de tokens no informado",
"usageEstimated": "Recuento de tokens estimado",
"modelPinning": "Fijación de Modelo",
"activeModelPinning": "Activo — modelo seleccionado a través de la fijación de sesión",
"rotated": "Rotado: {initial} -> {final}",
Expand Down
4 changes: 4 additions & 0 deletions src/i18n/messages/et.json
Original file line number Diff line number Diff line change
Expand Up @@ -11474,6 +11474,10 @@
"requestedModel": "Taotletud mudel",
"requestProtocol": "Päringu protokoll",
"cacheSource": "Vahemälu allikas",
"contentProvenance": "Vastus",
"contentEmpty": "Tühi vastus",
"usageAbsent": "Tokenite arvu ei teatatud",
"usageEstimated": "Tokenite arv on hinnanguline",
"modelPinning": "Mudeli sidumine",
"activeModelPinning": "Aktiivne — mudel valiti seansi sidumise kaudu",
"rotated": "Vahetatud: {initial} -> {final}",
Expand Down
4 changes: 4 additions & 0 deletions src/i18n/messages/fa.json
Original file line number Diff line number Diff line change
Expand Up @@ -11474,6 +11474,10 @@
"requestedModel": "مدل درخواست شده",
"requestProtocol": "پروتکل Req",
"cacheSource": "کش منبع",
"contentProvenance": "پاسخ",
"contentEmpty": "پاسخ خالی",
"usageAbsent": "تعداد توکن گزارش نشده است",
"usageEstimated": "تعداد توکن تخمینی است",
"modelPinning": "پین کردن مدل",
"activeModelPinning": "فعال — مدل انتخاب شده از طریق پین کردن جلسه",
"rotated": "چرخش: {initial} -> {final}",
Expand Down
4 changes: 4 additions & 0 deletions src/i18n/messages/fi.json
Original file line number Diff line number Diff line change
Expand Up @@ -11474,6 +11474,10 @@
"requestedModel": "Pyydetty Malli",
"requestProtocol": "Req-protokolla",
"cacheSource": "Välimuisti Lähde",
"contentProvenance": "Vastaus",
"contentEmpty": "Tyhjä vastaus",
"usageAbsent": "Tokenien määrää ei raportoitu",
"usageEstimated": "Tokenien määrä on arvio",
"modelPinning": "Mallin Kiinnitys",
"activeModelPinning": "Aktiivinen — malli valittu istunnon kiinnittämisen kautta",
"rotated": "Käännetty: {initial} -> {final}",
Expand Down
4 changes: 4 additions & 0 deletions src/i18n/messages/fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -11474,6 +11474,10 @@
"requestedModel": "Modèle demandé",
"requestProtocol": "Protocole de requête",
"cacheSource": "Source du cache",
"contentProvenance": "Réponse",
"contentEmpty": "Réponse vide",
"usageAbsent": "Nombre de tokens non transmis",
"usageEstimated": "Nombre de tokens estimé",
"modelPinning": "Épinglage du modèle",
"activeModelPinning": "Actif — modèle sélectionné via l’épinglage de session",
"rotated": "Rotation : {initial} -> {final}",
Expand Down
4 changes: 4 additions & 0 deletions src/i18n/messages/ga.json
Original file line number Diff line number Diff line change
Expand Up @@ -11474,6 +11474,10 @@
"requestedModel": "Samhail iarrtha",
"requestProtocol": "Prótacal iarratais",
"cacheSource": "Foinse Taisce",
"contentProvenance": "Freagra",
"contentEmpty": "Freagra folamh",
"usageAbsent": "Níor tuairiscíodh líon na dtocán",
"usageEstimated": "Líon na dtocán measta",
"modelPinning": "Pionnáil Mhúnla",
"activeModelPinning": "Gníomhach — múnla roghnaithe trí phionnáil seisiúin",
"rotated": "Rothlaithe: {initial} -> {final}",
Expand Down
4 changes: 4 additions & 0 deletions src/i18n/messages/gu.json
Original file line number Diff line number Diff line change
Expand Up @@ -11474,6 +11474,10 @@
"requestedModel": "વિનંતી કરેલ મોડેલ",
"requestProtocol": "આવશ્યક પ્રોટોકોલ",
"cacheSource": "કેશ સોર્સ",
"contentProvenance": "જવાબ",
"contentEmpty": "ખાલી જવાબ",
"usageAbsent": "ટોકન સંખ્યા જણાવાઈ નથી",
"usageEstimated": "ટોકન સંખ્યા અંદાજિત",
"modelPinning": "મોડલ પિનિંગ",
"activeModelPinning": "સક્રિય — સત્ર પિનિંગ દ્વારા પસંદ કરેલ મોડેલ",
"rotated": "ઘૂમાવ્યું: {initial} -> {final}",
Expand Down
4 changes: 4 additions & 0 deletions src/i18n/messages/ha.json
Original file line number Diff line number Diff line change
Expand Up @@ -11474,6 +11474,10 @@
"requestedModel": "Samfurin da Aka Buƙata",
"requestProtocol": "Ka’idar Buƙata",
"cacheSource": "Tushen Ma’ajiya",
"contentProvenance": "Amsa",
"contentEmpty": "Amsa mara komai",
"usageAbsent": "Ba a bayar da adadin token ba",
"usageEstimated": "An kiyasta adadin token",
"modelPinning": "Kafewar Samfuri",
"activeModelPinning": "Yana aiki — an zaɓi samfurin ta hanyar kafewar zaman",
"rotated": "An sauya: {initial} -> {final}",
Expand Down
4 changes: 4 additions & 0 deletions src/i18n/messages/he.json
Original file line number Diff line number Diff line change
Expand Up @@ -11474,6 +11474,10 @@
"requestedModel": "מודל שביקשת",
"requestProtocol": "פרוטוקול Req",
"cacheSource": "מקור מטמון",
"contentProvenance": "תגובה",
"contentEmpty": "תגובה ריקה",
"usageAbsent": "מספר הטוקנים לא דווח",
"usageEstimated": "מספר הטוקנים מוערך",
"modelPinning": "הצמדת מודל",
"activeModelPinning": "פעיל — מודל שנבחר באמצעות נעילת סשן",
"rotated": "סובב: {initial} -> {final}",
Expand Down
4 changes: 4 additions & 0 deletions src/i18n/messages/hi.json
Original file line number Diff line number Diff line change
Expand Up @@ -11474,6 +11474,10 @@
"requestedModel": "अनुरोधित मॉडल",
"requestProtocol": "अनुरोध प्रोटोकॉल",
"cacheSource": "कैश स्रोत",
"contentProvenance": "उत्तर",
"contentEmpty": "खाली उत्तर",
"usageAbsent": "टोकन संख्या रिपोर्ट नहीं की गई",
"usageEstimated": "टोकन संख्या अनुमानित",
"modelPinning": "मॉडल पिनिंग",
"activeModelPinning": "सक्रिय — सत्र पिनिंग के माध्यम से मॉडल चुना गया",
"rotated": "घुमाया गया: {initial} -> {final}",
Expand Down
4 changes: 4 additions & 0 deletions src/i18n/messages/hr.json
Original file line number Diff line number Diff line change
Expand Up @@ -11474,6 +11474,10 @@
"requestedModel": "Zatraženi model",
"requestProtocol": "Protokol zahtjeva",
"cacheSource": "Izvor predmemorije",
"contentProvenance": "Odgovor",
"contentEmpty": "Prazan odgovor",
"usageAbsent": "Broj tokena nije prijavljen",
"usageEstimated": "Broj tokena je procijenjen",
"modelPinning": "Prikvačivanje modela",
"activeModelPinning": "Aktivno — model odabran putem prikvačivanja sesije",
"rotated": "Rotirano: {initial} -> {final}",
Expand Down
4 changes: 4 additions & 0 deletions src/i18n/messages/hu.json
Original file line number Diff line number Diff line change
Expand Up @@ -11474,6 +11474,10 @@
"requestedModel": "Kért Modell",
"requestProtocol": "Követelmény Protokoll",
"cacheSource": "Gyorsítótár Forrás",
"contentProvenance": "Válasz",
"contentEmpty": "Üres válasz",
"usageAbsent": "A tokenszám nem lett jelentve",
"usageEstimated": "A tokenszám becsült",
"modelPinning": "Modell Rögzítése",
"activeModelPinning": "Aktív — a modell kiválasztva a munkamenet rögzítésével",
"rotated": "Elforgatva: {initial} -> {final}",
Expand Down
4 changes: 4 additions & 0 deletions src/i18n/messages/hy.json
Original file line number Diff line number Diff line change
Expand Up @@ -11474,6 +11474,10 @@
"requestedModel": "Պահանջված մոդել",
"requestProtocol": "Հարցման արձանագրություն",
"cacheSource": "Քեշի աղբյուր",
"contentProvenance": "Պատասխան",
"contentEmpty": "Դատարկ պատասխան",
"usageAbsent": "Թոքենների քանակը չի հաղորդվել",
"usageEstimated": "Թոքենների քանակը գնահատված է",
"modelPinning": "Մոդելի ամրագրում",
"activeModelPinning": "Ակտիվ — մոդելն ընտրվել է սեսիայի ամրագրման միջոցով",
"rotated": "Փոխարկվել է՝ {initial} -> {final}",
Expand Down
4 changes: 4 additions & 0 deletions src/i18n/messages/id.json
Original file line number Diff line number Diff line change
Expand Up @@ -11474,6 +11474,10 @@
"requestedModel": "Model yang Diminta",
"requestProtocol": "Protokol Req",
"cacheSource": "Sumber Cache",
"contentProvenance": "Balasan",
"contentEmpty": "Balasan kosong",
"usageAbsent": "Jumlah token tidak dilaporkan",
"usageEstimated": "Jumlah token diperkirakan",
"modelPinning": "Penetapan Model",
"activeModelPinning": "Aktif — model dipilih melalui penetapan sesi",
"rotated": "Diputar: {initial} -> {final}",
Expand Down
4 changes: 4 additions & 0 deletions src/i18n/messages/ig.json
Original file line number Diff line number Diff line change
Expand Up @@ -11474,6 +11474,10 @@
"requestedModel": "Ụdị A Rịọrọ",
"requestProtocol": "Protokol Arịrịọ",
"cacheSource": "Ebe Cache Si",
"contentProvenance": "Nzaghachi",
"contentEmpty": "Nzaghachi efu",
"usageAbsent": "Akọpụtaghị ọnụ ọgụgụ token",
"usageEstimated": "E mere atụmatụ ọnụ ọgụgụ token",
"modelPinning": "Ntụdo Ụdị",
"activeModelPinning": "Na-arụ ọrụ — ahọpụtara ụdị site na ntụdo nnọkọ",
"rotated": "Agbanweela: {initial} -> {final}",
Expand Down
4 changes: 4 additions & 0 deletions src/i18n/messages/it.json
Original file line number Diff line number Diff line change
Expand Up @@ -11474,6 +11474,10 @@
"requestedModel": "Modello Richiesto",
"requestProtocol": "Protocollo Req",
"cacheSource": "Cache Sorgente",
"contentProvenance": "Risposta",
"contentEmpty": "Risposta vuota",
"usageAbsent": "Conteggio token non riportato",
"usageEstimated": "Conteggio token stimato",
"modelPinning": "Pinning del Modello",
"activeModelPinning": "Attivo — modello selezionato tramite il pinning della sessione",
"rotated": "Ruotato: {initial} -> {final}",
Expand Down
4 changes: 4 additions & 0 deletions src/i18n/messages/ja.json
Original file line number Diff line number Diff line change
Expand Up @@ -11474,6 +11474,10 @@
"requestedModel": "要求されたモデル",
"requestProtocol": "要求プロトコル",
"cacheSource": "キャッシュソース",
"contentProvenance": "応答",
"contentEmpty": "空の応答",
"usageAbsent": "トークン数が報告されていません",
"usageEstimated": "トークン数は推定値です",
"modelPinning": "モデルピン留め",
"activeModelPinning": "アクティブ — セッションピンニングを介して選択されたモデル",
"rotated": "回転: {initial} -> {final}",
Expand Down
4 changes: 4 additions & 0 deletions src/i18n/messages/ka.json
Original file line number Diff line number Diff line change
Expand Up @@ -11474,6 +11474,10 @@
"requestedModel": "მოთხოვნილი მოდელი",
"requestProtocol": "მოთხოვნის პროტოკოლი",
"cacheSource": "ქეშის წყარო",
"contentProvenance": "პასუხი",
"contentEmpty": "ცარიელი პასუხი",
"usageAbsent": "ტოკენების რაოდენობა არ არის მოწოდებული",
"usageEstimated": "ტოკენების რაოდენობა შეფასებულია",
"modelPinning": "მოდელის მიბმა",
"activeModelPinning": "აქტიური — მოდელი არჩეულია სესიის მიბმის მეშვეობით",
"rotated": "როტირებულია: {initial} -> {final}",
Expand Down
4 changes: 4 additions & 0 deletions src/i18n/messages/km.json
Original file line number Diff line number Diff line change
Expand Up @@ -11474,6 +11474,10 @@
"requestedModel": "ម៉ូដែលដែលបានស្នើ",
"requestProtocol": "ពិធីការសំណើ",
"cacheSource": "ប្រភពឃ្លាំងសម្ងាត់",
"contentProvenance": "ការឆ្លើយតប",
"contentEmpty": "ការឆ្លើយតបទទេ",
"usageAbsent": "ចំនួន token មិនត្រូវបានរាយការណ៍",
"usageEstimated": "ចំនួន token ជាការប៉ាន់ស្មាន",
"modelPinning": "ការចងម៉ូដែល",
"activeModelPinning": "សកម្ម — ម៉ូដែលត្រូវបានជ្រើសរើសតាមរយៈការចងម៉ូដែលតាមសម័យ",
"rotated": "បានប្តូរវេន៖ {initial} -> {final}",
Expand Down
4 changes: 4 additions & 0 deletions src/i18n/messages/kn.json
Original file line number Diff line number Diff line change
Expand Up @@ -11474,6 +11474,10 @@
"requestedModel": "ವಿನಂತಿಸಿದ ಮಾದರಿ",
"requestProtocol": "ವಿನಂತಿ ಪ್ರೋಟೋಕಾಲ್",
"cacheSource": "ಕ್ಯಾಶ್ ಮೂಲ",
"contentProvenance": "ಉತ್ತರ",
"contentEmpty": "ಖಾಲಿ ಉತ್ತರ",
"usageAbsent": "ಟೋಕನ್ ಸಂಖ್ಯೆ ವರದಿಯಾಗಿಲ್ಲ",
"usageEstimated": "ಟೋಕನ್ ಸಂಖ್ಯೆ ಅಂದಾಜು",
"modelPinning": "ಮಾದರಿ ಪಿನ್ನಿಂಗ್",
"activeModelPinning": "ಸಕ್ರಿಯ — ಸೆಷನ್ ಪಿನ್ನಿಂಗ್ ಮೂಲಕ ಮಾದರಿಯನ್ನು ಆಯ್ಕೆ ಮಾಡಲಾಗಿದೆ",
"rotated": "ಬದಲಾಯಿಸಲಾಗಿದೆ: {initial} -> {final}",
Expand Down
Loading
Loading