Skip to content
25 changes: 25 additions & 0 deletions frontend/static/script/js/core/PosnicPro.js
Original file line number Diff line number Diff line change
Expand Up @@ -4776,6 +4776,26 @@ PosnicPro.i18n = {
els[e].setAttribute('data-en-' + attrs[a], els[e].getAttribute(attrs[a]) || '');
}
els[e].setAttribute(attrs[a], value);
/*
* A BOOTSTRAP TOOLTIP DOES NOT READ `title`.
*
* It reads `data-original-title` - it moves `title` there on
* init and empties the real one, and markup that sets
* data-original-title itself wins outright. So translating
* `title` on one of these changed an attribute nothing shows,
* and the tooltip went on saying the English in every
* language: rendering perfectly, which is why nobody noticed.
*
* Same lesson as the requests dock, where a local t() helper
* hid fourteen words from the scanner. A translation that
* silently does nothing looks exactly like one that works.
*/
if (attrs[a] === 'title' && els[e].hasAttribute('data-original-title')) {
if (!els[e].hasAttribute('data-en-original-title')) {
els[e].setAttribute('data-en-original-title', els[e].getAttribute('data-original-title') || '');
}
els[e].setAttribute('data-original-title', value);
}
}
}
},
Expand Down Expand Up @@ -4805,6 +4825,11 @@ PosnicPro.i18n = {
els[e].setAttribute(attrs[a], els[e].getAttribute('data-en-' + attrs[a]));
}
}
/* And the tooltips, which apply() had to change separately. */
var tips = scope.querySelectorAll('[data-en-original-title]');
for (var t = 0; t < tips.length; t++) {
tips[t].setAttribute('data-original-title', tips[t].getAttribute('data-en-original-title'));
}
},

/*
Expand Down
1 change: 1 addition & 0 deletions languages/_english.json
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,7 @@
"lang_ai_cap_hint": "The most this may spend from your account in a month. We stop before the call, not after. Your provider's own dashboard is the final word on the bill.",
"lang_ai_configured": "AI is set up",
"lang_ai_describe": "Write it for me",
"lang_ai_describe_hint": "Draft a description from the item's own details",
"lang_ai_edit": "Edit",
"lang_ai_feature_item_description": "Item descriptions",
"lang_ai_feature_ordering_assistant": "Ordering assistant, typed",
Expand Down
1 change: 1 addition & 0 deletions languages/ar.json
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,7 @@
"lang_ai_anthropic": "Anthropic Claude - حسابك الخاص",
"lang_ai_cap": "الحد الشهري",
"lang_ai_cap_hint": "أقصى ما يمكن إنفاقه من حسابك خلال شهر. نتوقف قبل الطلب لا بعده. لوحة تحكم مزوّدك هي الكلمة الأخيرة بشأن الفاتورة.",
"lang_ai_describe_hint": "اكتب وصفا من تفاصيل الصنف نفسه",
"lang_ai_google": "Google Gemini - حسابك الخاص",
"lang_ai_hint": "نحن لا نتقاضى شيئًا مقابل هذا. أنت تستخدم حسابك الخاص لدى مزوّد الذكاء الاصطناعي وتدفع له مباشرة، لذا يعمل هذا مع كل الباقات بما فيها المجانية، ولا نحمّلك نحن أي رسوم. يُحفظ المفتاح على هذا الخادم، ولا يُرسل أبدًا إلى المتصفح، ولا يُعرض مرة أخرى بعد حفظه.",
"lang_ai_howto": "كيفية الحصول على مفتاح",
Expand Down
1 change: 1 addition & 0 deletions languages/de.json
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,7 @@
"lang_ai_anthropic": "Anthropic Claude - Ihr eigenes Konto",
"lang_ai_cap": "Monatliches Limit",
"lang_ai_cap_hint": "Der Höchstbetrag, den dies in einem Monat von Ihrem Konto ausgeben darf. Wir stoppen vor dem Aufruf, nicht danach. Das Dashboard Ihres Anbieters ist maßgeblich für die Abrechnung.",
"lang_ai_describe_hint": "Eine Beschreibung aus den Angaben des Artikels entwerfen",
"lang_ai_google": "Google Gemini - Ihr eigenes Konto",
"lang_ai_hint": "Wir berechnen dafür nichts. Sie bringen Ihr eigenes Konto bei einem KI-Anbieter mit und zahlen direkt an diesen. Es funktioniert daher in jedem Tarif, auch im kostenlosen, und wir stellen Ihnen nichts in Rechnung. Der Schlüssel wird auf diesem Server gespeichert, nie an einen Browser gesendet und nach dem Speichern nie wieder angezeigt.",
"lang_ai_howto": "So erhalten Sie einen Schlüssel",
Expand Down
1 change: 1 addition & 0 deletions languages/es.json
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,7 @@
"lang_ai_anthropic": "Anthropic Claude - su propia cuenta",
"lang_ai_cap": "Límite mensual",
"lang_ai_cap_hint": "Lo máximo que esto puede gastar de su cuenta en un mes. Nos detenemos antes de la llamada, no después. El panel de su proveedor es la última palabra sobre la factura.",
"lang_ai_describe_hint": "Redactar una descripción a partir de los datos del artículo",
"lang_ai_google": "Google Gemini - su propia cuenta",
"lang_ai_hint": "No cobramos nada por esto. Usted aporta su propia cuenta con un proveedor de IA y le paga directamente, por lo que funciona en todos los planes, incluido el gratuito, y nosotros no le facturamos nada. La clave se guarda en este servidor, nunca se envía a un navegador y no se vuelve a mostrar una vez guardada.",
"lang_ai_howto": "Cómo conseguir una clave",
Expand Down
1 change: 1 addition & 0 deletions languages/fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,7 @@
"lang_ai_anthropic": "Anthropic Claude - votre propre compte",
"lang_ai_cap": "Limite mensuelle",
"lang_ai_cap_hint": "Le maximum que cela peut dépenser sur votre compte en un mois. Nous arrêtons avant l'appel, pas après. Le tableau de bord de votre fournisseur fait foi pour la facture.",
"lang_ai_describe_hint": "Rédiger une description à partir des informations de l'article",
"lang_ai_google": "Google Gemini - votre propre compte",
"lang_ai_hint": "Nous ne facturons rien pour cela. Vous utilisez votre propre compte chez un fournisseur d'IA et le payez directement, ce qui fonctionne avec toutes les formules, y compris la gratuite, et nous ne vous facturons rien. La clé est enregistrée sur ce serveur, n'est jamais envoyée à un navigateur et n'est plus jamais affichée une fois enregistrée.",
"lang_ai_howto": "Comment obtenir une clé",
Expand Down
1 change: 1 addition & 0 deletions languages/hi.json
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,7 @@
"lang_ai_anthropic": "Anthropic Claude - आपका अपना खाता",
"lang_ai_cap": "मासिक सीमा",
"lang_ai_cap_hint": "एक महीने में आपके खाते से अधिकतम इतना ही खर्च हो सकता है। हम कॉल से पहले रोकते हैं, बाद में नहीं। बिल पर अंतिम बात आपके प्रदाता का अपना डैशबोर्ड है।",
"lang_ai_describe_hint": "आइटम की अपनी जानकारी से विवरण तैयार करें",
"lang_ai_google": "Google Gemini - आपका अपना खाता",
"lang_ai_hint": "हम इसके लिए कुछ नहीं लेते। आप किसी एआई प्रदाता के पास अपना खाता लाते हैं और सीधे उसे भुगतान करते हैं, इसलिए यह हर योजना पर काम करता है, मुफ़्त योजना पर भी, और हम आपसे कुछ नहीं वसूलते। कुंजी इसी सर्वर पर सहेजी जाती है, कभी ब्राउज़र को नहीं भेजी जाती, और सहेजने के बाद दोबारा कभी नहीं दिखाई जाती।",
"lang_ai_howto": "कुंजी कैसे प्राप्त करें",
Expand Down
1 change: 1 addition & 0 deletions languages/id.json
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,7 @@
"lang_ai_anthropic": "Anthropic Claude - akun Anda sendiri",
"lang_ai_cap": "Batas bulanan",
"lang_ai_cap_hint": "Jumlah maksimum yang boleh dibelanjakan dari akun Anda dalam sebulan. Kami berhenti sebelum panggilan, bukan sesudahnya. Dasbor penyedia Anda adalah acuan akhir untuk tagihan.",
"lang_ai_describe_hint": "Susun deskripsi dari detail barang itu sendiri",
"lang_ai_google": "Google Gemini - akun Anda sendiri",
"lang_ai_hint": "Kami tidak memungut biaya untuk ini. Anda memakai akun Anda sendiri pada penyedia AI dan membayar langsung kepada mereka, sehingga ini berfungsi pada semua paket termasuk yang gratis, dan kami tidak menagih apa pun kepada Anda. Kunci disimpan di server ini, tidak pernah dikirim ke peramban, dan tidak pernah ditampilkan lagi setelah disimpan.",
"lang_ai_howto": "Cara mendapatkan kunci",
Expand Down
1 change: 1 addition & 0 deletions languages/it.json
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,7 @@
"lang_ai_anthropic": "Anthropic Claude - il tuo account",
"lang_ai_cap": "Limite mensile",
"lang_ai_cap_hint": "Il massimo che questo può spendere dal tuo account in un mese. Ci fermiamo prima della chiamata, non dopo. Il pannello del tuo fornitore è l'ultima parola sulla fattura.",
"lang_ai_describe_hint": "Scrivi una descrizione partendo dai dati dell'articolo",
"lang_ai_google": "Google Gemini - il tuo account",
"lang_ai_hint": "Non addebitiamo nulla per questo. Usi il tuo account presso un fornitore di IA e paghi direttamente lui, quindi funziona con ogni piano, incluso quello gratuito, e noi non ti addebitiamo nulla. La chiave viene salvata su questo server, non viene mai inviata a un browser e non viene più mostrata una volta salvata.",
"lang_ai_howto": "Come ottenere una chiave",
Expand Down
1 change: 1 addition & 0 deletions languages/kn.json
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,7 @@
"lang_ai_anthropic": "Anthropic Claude - ನಿಮ್ಮ ಸ್ವಂತ ಖಾತೆ",
"lang_ai_cap": "ಮಾಸಿಕ ಮಿತಿ",
"lang_ai_cap_hint": "ಒಂದು ತಿಂಗಳಲ್ಲಿ ನಿಮ್ಮ ಖಾತೆಯಿಂದ ಇದು ಖರ್ಚು ಮಾಡಬಹುದಾದ ಗರಿಷ್ಠ ಮೊತ್ತ. ಕರೆಗೆ ಮೊದಲೇ ನಿಲ್ಲಿಸುತ್ತೇವೆ, ನಂತರ ಅಲ್ಲ. ಬಿಲ್ ಬಗ್ಗೆ ಅಂತಿಮ ಮಾತು ನಿಮ್ಮ ಪೂರೈಕೆದಾರರ ಡ್ಯಾಶ್‌ಬೋರ್ಡ್‌ನದ್ದು.",
"lang_ai_describe_hint": "ವಸ್ತುವಿನ ಸ್ವಂತ ವಿವರಗಳಿಂದ ವಿವರಣೆ ಸಿದ್ಧಪಡಿಸಿ",
"lang_ai_google": "Google Gemini - ನಿಮ್ಮ ಸ್ವಂತ ಖಾತೆ",
"lang_ai_hint": "ಇದಕ್ಕೆ ನಾವು ಏನೂ ಶುಲ್ಕ ವಿಧಿಸುವುದಿಲ್ಲ. ನೀವು AI ಪೂರೈಕೆದಾರರಲ್ಲಿ ನಿಮ್ಮ ಸ್ವಂತ ಖಾತೆಯನ್ನು ತಂದು ಅವರಿಗೇ ನೇರವಾಗಿ ಪಾವತಿಸುತ್ತೀರಿ. ಆದ್ದರಿಂದ ಇದು ಉಚಿತ ಯೋಜನೆ ಸೇರಿದಂತೆ ಎಲ್ಲಾ ಯೋಜನೆಗಳಲ್ಲಿ ಕೆಲಸ ಮಾಡುತ್ತದೆ, ನಾವು ನಿಮಗೆ ಏನೂ ಬಿಲ್ ಮಾಡುವುದಿಲ್ಲ. ಕೀಲಿಯನ್ನು ಈ ಸರ್ವರ್‌ನಲ್ಲಿ ಉಳಿಸಲಾಗುತ್ತದೆ, ಎಂದಿಗೂ ಬ್ರೌಸರ್‌ಗೆ ಕಳುಹಿಸಲಾಗುವುದಿಲ್ಲ, ಉಳಿಸಿದ ನಂತರ ಮತ್ತೆ ತೋರಿಸಲಾಗುವುದಿಲ್ಲ.",
"lang_ai_howto": "ಕೀಲಿಯನ್ನು ಹೇಗೆ ಪಡೆಯುವುದು",
Expand Down
1 change: 1 addition & 0 deletions languages/ml.json
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,7 @@
"lang_ai_anthropic": "Anthropic Claude - നിങ്ങളുടെ സ്വന്തം അക്കൗണ്ട്",
"lang_ai_cap": "പ്രതിമാസ പരിധി",
"lang_ai_cap_hint": "ഒരു മാസത്തിൽ നിങ്ങളുടെ അക്കൗണ്ടിൽ നിന്ന് ഇതിന് ചെലവാക്കാവുന്ന പരമാവധി തുക. കോളിന് മുൻപേ ഞങ്ങൾ നിർത്തുന്നു, ശേഷമല്ല. ബില്ലിനെക്കുറിച്ചുള്ള അന്തിമ വാക്ക് നിങ്ങളുടെ ദാതാവിന്റെ ഡാഷ്‌ബോർഡിന്റേതാണ്.",
"lang_ai_describe_hint": "ഇനത്തിന്റെ സ്വന്തം വിവരങ്ങളിൽ നിന്ന് ഒരു വിവരണം തയ്യാറാക്കുക",
"lang_ai_google": "Google Gemini - നിങ്ങളുടെ സ്വന്തം അക്കൗണ്ട്",
"lang_ai_hint": "ഇതിന് ഞങ്ങൾ ഒന്നും ഈടാക്കുന്നില്ല. നിങ്ങൾ ഒരു AI ദാതാവിന്റെ അടുത്ത് സ്വന്തം അക്കൗണ്ട് കൊണ്ടുവന്ന് അവർക്ക് നേരിട്ട് പണം നൽകുന്നു. അതിനാൽ സൗജന്യ പ്ലാൻ ഉൾപ്പെടെ എല്ലാ പ്ലാനുകളിലും ഇത് പ്രവർത്തിക്കും, ഞങ്ങൾ നിങ്ങളിൽ നിന്ന് ഒന്നും ഈടാക്കില്ല. കീ ഈ സെർവറിൽ സൂക്ഷിക്കുന്നു, ഒരിക്കലും ബ്രൗസറിലേക്ക് അയയ്ക്കുന്നില്ല, സംരക്ഷിച്ചശേഷം വീണ്ടും കാണിക്കുന്നില്ല.",
"lang_ai_howto": "കീ എങ്ങനെ നേടാം",
Expand Down
1 change: 1 addition & 0 deletions languages/ne.json
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,7 @@
"lang_ai_anthropic": "Anthropic Claude - तपाईंको आफ्नै खाता",
"lang_ai_cap": "मासिक सीमा",
"lang_ai_cap_hint": "एक महिनामा तपाईंको खाताबाट यसले खर्च गर्न सक्ने अधिकतम रकम। हामी कल गर्नुअघि नै रोक्छौं, पछि होइन। बिलबारे अन्तिम कुरा तपाईंको प्रदायकको ड्यासबोर्ड हो।",
"lang_ai_describe_hint": "वस्तुको आफ्नै विवरणबाट विवरण तयार गर्नुहोस्",
"lang_ai_google": "Google Gemini - तपाईंको आफ्नै खाता",
"lang_ai_hint": "यसका लागि हामी केही शुल्क लिँदैनौं। तपाईं कुनै एआई प्रदायकमा आफ्नै खाता ल्याउनुहुन्छ र सिधै उनीहरूलाई भुक्तानी गर्नुहुन्छ, त्यसैले यो निःशुल्क योजनासहित सबै योजनामा काम गर्छ, र हामी तपाईंलाई केही बिल गर्दैनौं। कुञ्जी यही सर्भरमा सुरक्षित हुन्छ, कहिल्यै ब्राउजरमा पठाइँदैन, र सुरक्षित गरेपछि फेरि देखाइँदैन।",
"lang_ai_howto": "कुञ्जी कसरी पाउने",
Expand Down
1 change: 1 addition & 0 deletions languages/nl.json
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,7 @@
"lang_ai_anthropic": "Anthropic Claude - uw eigen account",
"lang_ai_cap": "Maandlimiet",
"lang_ai_cap_hint": "Het maximum dat hiermee in een maand van uw account mag worden uitgegeven. Wij stoppen vóór de aanroep, niet erna. Het dashboard van uw aanbieder is doorslaggevend voor de rekening.",
"lang_ai_describe_hint": "Een omschrijving opstellen uit de gegevens van het artikel",
"lang_ai_google": "Google Gemini - uw eigen account",
"lang_ai_hint": "Wij rekenen hier niets voor. U gebruikt uw eigen account bij een AI-aanbieder en betaalt die rechtstreeks, dus het werkt op elk pakket, ook het gratis pakket, en wij brengen u niets in rekening. De sleutel wordt op deze server bewaard, wordt nooit naar een browser gestuurd en wordt na het opslaan nooit meer getoond.",
"lang_ai_howto": "Zo krijgt u een sleutel",
Expand Down
1 change: 1 addition & 0 deletions languages/pt.json
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,7 @@
"lang_ai_anthropic": "Anthropic Claude - a sua própria conta",
"lang_ai_cap": "Limite mensal",
"lang_ai_cap_hint": "O máximo que isto pode gastar da sua conta num mês. Paramos antes da chamada, não depois. O painel do seu fornecedor é a palavra final sobre a fatura.",
"lang_ai_describe_hint": "Redigir uma descrição a partir dos dados do artigo",
"lang_ai_google": "Google Gemini - a sua própria conta",
"lang_ai_hint": "Não cobramos nada por isto. Você usa a sua própria conta num fornecedor de IA e paga-lhe diretamente, por isso funciona em todos os planos, incluindo o gratuito, e nós não lhe cobramos nada. A chave é guardada neste servidor, nunca é enviada para um navegador e nunca mais é mostrada depois de guardada.",
"lang_ai_howto": "Como obter uma chave",
Expand Down
1 change: 1 addition & 0 deletions languages/si.json
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,7 @@
"lang_ai_anthropic": "Anthropic Claude - ඔබේම ගිණුම",
"lang_ai_cap": "මාසික සීමාව",
"lang_ai_cap_hint": "මසකදී ඔබේ ගිණුමෙන් මෙයට වැය කළ හැකි උපරිමය. අපි ඇමතුමට පෙර නවත්වමු, පසුව නොවේ. බිල පිළිබඳ අවසාන වචනය ඔබේ සපයන්නාගේ උපකරණ පුවරුවයි.",
"lang_ai_describe_hint": "අයිතමයේම විස්තර වලින් විස්තරයක් සකසන්න",
"lang_ai_google": "Google Gemini - ඔබේම ගිණුම",
"lang_ai_hint": "මේ සඳහා අපි කිසිවක් අය නොකරමු. ඔබ AI සපයන්නෙකු වෙත ඔබේම ගිණුමක් ගෙන ඒම කෙලින්ම ඔවුන්ට ගෙවයි. එබැවින් නොමිලේ සැලැස්ම ඇතුළු සෑම සැලැස්මකම මෙය ක්‍රියා කරයි, අපි ඔබෙන් කිසිවක් අය නොකරමු. යතුර මෙම සේවාදායකයේ සුරැකේ, කිසිදා බ්‍රව්සරයකට නොයවයි, සුරැකීමෙන් පසු නැවත නොපෙන්වයි.",
"lang_ai_howto": "යතුරක් ලබා ගන්නේ කෙසේද",
Expand Down
1 change: 1 addition & 0 deletions languages/sw.json
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,7 @@
"lang_ai_anthropic": "Anthropic Claude - akaunti yako mwenyewe",
"lang_ai_cap": "Kikomo cha mwezi",
"lang_ai_cap_hint": "Kiasi cha juu kinachoweza kutumika kutoka akaunti yako kwa mwezi. Tunasimama kabla ya wito, si baada yake. Dashibodi ya mtoa huduma wako ndiyo yenye kauli ya mwisho kuhusu bili.",
"lang_ai_describe_hint": "Andika maelezo kutoka kwa taarifa za bidhaa yenyewe",
"lang_ai_google": "Google Gemini - akaunti yako mwenyewe",
"lang_ai_hint": "Hatutozi chochote kwa hili. Unatumia akaunti yako mwenyewe kwa mtoa huduma wa AI na unamlipa yeye moja kwa moja, hivyo hufanya kazi kwenye kila mpango ikiwa ni pamoja na ule wa bure, na sisi hatukutozi chochote. Ufunguo huhifadhiwa kwenye seva hii, hautumwi kamwe kwa kivinjari, na hauonyeshwi tena baada ya kuhifadhiwa.",
"lang_ai_howto": "Jinsi ya kupata ufunguo",
Expand Down
Loading
Loading