Merge branch 'main' into 5421-grammar-practice-todos
This commit is contained in:
commit
9717719ec1
80 changed files with 1254 additions and 856 deletions
|
|
@ -134,7 +134,7 @@
|
|||
|
||||
<meta-data
|
||||
android:name="flutter_deeplinking_enabled"
|
||||
android:value="true" />
|
||||
android:value="false" />
|
||||
</activity>
|
||||
|
||||
<activity
|
||||
|
|
|
|||
|
|
@ -122,6 +122,6 @@
|
|||
<key>io.flutter.embedded_views_preview</key>
|
||||
<true/>
|
||||
<key>FlutterDeepLinkingEnabled</key>
|
||||
<true/>
|
||||
<false/>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"@@locale": "ar",
|
||||
"@@last_modified": "2026-01-28 13:26:35.542116",
|
||||
"@@last_modified": "2026-01-29 15:25:01.121856",
|
||||
"about": "حول",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -3670,8 +3670,6 @@
|
|||
"noPaymentInfo": "لا حاجة لمعلومات الدفع!",
|
||||
"updatePhoneOS": "قد تحتاج إلى تحديث إصدار نظام تشغيل جهازك.",
|
||||
"wordsPerMinute": "كلمات في الدقيقة",
|
||||
"autoIGCToolName": "تشغيل مساعدة الكتابة Pangea تلقائيًا",
|
||||
"autoIGCToolDescription": "تشغيل مساعدة القواعد والترجمة في دردشة Pangea تلقائيًا قبل إرسال رسالتي.",
|
||||
"tooltipInstructionsTitle": "لست متأكدًا مما يفعله ذلك؟",
|
||||
"tooltipInstructionsMobileBody": "اضغط مع الاستمرار على العناصر لعرض تلميحات الأدوات.",
|
||||
"tooltipInstructionsBrowserBody": "مرر فوق العناصر لعرض تلميحات الأدوات.",
|
||||
|
|
@ -6422,14 +6420,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -11171,5 +11161,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "تفعيل مساعدة الكتابة",
|
||||
"autoIGCToolDescription": "تشغيل أدوات دردشة بانجيا تلقائيًا لتصحيح الرسائل المرسلة إلى اللغة المستهدفة.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "فشل التسجيل. يرجى التحقق من أذونات الصوت الخاصة بك والمحاولة مرة أخرى.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1187,8 +1187,6 @@
|
|||
"noPaymentInfo": "Інфармацыя аб плацяжах не патрабуецца!",
|
||||
"updatePhoneOS": "Магчыма, вам трэба абнавіць версію аперацыйнай сістэмы вашага прылады.",
|
||||
"wordsPerMinute": "Словы за хвіліну",
|
||||
"autoIGCToolName": "Аўтаматычна запускаць дапамогу для пісьма Pangea",
|
||||
"autoIGCToolDescription": "Аўтаматычна запускаць дапамогу для граматыкі і перакладу ў чат-прыкладанні Pangea перад адпраўкай майго паведамлення.",
|
||||
"tooltipInstructionsTitle": "Не ўпэўнены, што гэта робіць?",
|
||||
"tooltipInstructionsMobileBody": "Затрымайце і трымайце элементы, каб праглядзець падказкі.",
|
||||
"tooltipInstructionsBrowserBody": "Навядзіце курсор на элементы, каб праглядзець падказкі.",
|
||||
|
|
@ -1910,7 +1908,7 @@
|
|||
"playWithAI": "Пакуль гуляйце з ШІ",
|
||||
"courseStartDesc": "Pangea Bot гатовы да працы ў любы час!\n\n...але навучанне лепш з сябрамі!",
|
||||
"@@locale": "be",
|
||||
"@@last_modified": "2026-01-28 13:26:22.828870",
|
||||
"@@last_modified": "2026-01-29 15:24:53.163474",
|
||||
"@alwaysUse24HourFormat": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -7304,14 +7302,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -12053,5 +12043,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "Уключыць дапамогу ў напісанні",
|
||||
"autoIGCToolDescription": "Аўтаматычна запускаць інструменты Pangea Chat для выпраўлення адпраўленых паведамленняў на мэтавую мову.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "Запіс не ўдалося. Калі ласка, праверце свае аўдыё дазволы і паспрабуйце яшчэ раз.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"@@last_modified": "2026-01-28 13:26:47.712647",
|
||||
"@@last_modified": "2026-01-29 15:25:11.468426",
|
||||
"about": "সম্পর্কে",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -3779,8 +3779,6 @@
|
|||
"noPaymentInfo": "কোনও পেমেন্ট তথ্য প্রয়োজন নয়!",
|
||||
"updatePhoneOS": "আপনার ডিভাইসের অপারেটিং সিস্টেমের সংস্করণ আপডেটের প্রয়োজন হতে পারে।",
|
||||
"wordsPerMinute": "প্রতি মিনিটে শব্দ",
|
||||
"autoIGCToolName": "পাঙ্গিয়া লেখনী সহায়তা স্বয়ংক্রিয়ভাবে চালান",
|
||||
"autoIGCToolDescription": "আমার বার্তা পাঠানোর আগে স্বয়ংক্রিয়ভাবে পাঙ্গিয়া চ্যাট ব্যাকরণ এবং অনুবাদ লেখনী সহায়তা চালান।",
|
||||
"tooltipInstructionsTitle": "এটি কি করে তা নিশ্চিত নন?",
|
||||
"tooltipInstructionsMobileBody": "আইটেমে চাপুন এবং ধরে রাখুন টুলটিপ দেখার জন্য।",
|
||||
"tooltipInstructionsBrowserBody": "আইটেমের উপর হোভার করে টুলটিপ দেখুন।",
|
||||
|
|
@ -7309,14 +7307,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -12058,5 +12048,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "লেখার সহায়তা সক্রিয় করুন",
|
||||
"autoIGCToolDescription": "লক্ষ্য ভাষায় পাঠানো বার্তা সংশোধন করতে স্বয়ংক্রিয়ভাবে প্যাঙ্গিয়া চ্যাট টুলগুলি চালান।",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "রেকর্ডিং ব্যর্থ হয়েছে। দয়া করে আপনার অডিও অনুমতিগুলি পরীক্ষা করুন এবং আবার চেষ্টা করুন।",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -3621,8 +3621,6 @@
|
|||
"translationTooltip": "འབྲེལ་བའི་སྒྲོམ",
|
||||
"updatePhoneOS": "ཁྱེད་ཀྱི་རྒྱུན་ལས་སྤྱོད་ལམ་ལ་བསྐུར་བྱེད་དགོས་མིན་པ",
|
||||
"wordsPerMinute": "ཚིག་ལ་སྤྱོད་ལམ་ལ་བརྟེན་",
|
||||
"autoIGCToolName": "ཕན་ཚུལ་ལས་འགན་སྤྱོད་ལས་སྤྱོད་ལམ་ལ་བརྟེན་",
|
||||
"autoIGCToolDescription": "ཁྱེད་ཀྱི་དུས་སྐབས་སྤྱོད་ལམ་ལ་བརྟེན་པའི་ཕན་ཚུལ་ལས་འགན་སྤྱོད་ལས་སྤྱོད་ལམ་ལ་བརྟེན་",
|
||||
"tooltipInstructionsTitle": "དེ་ལ་གང་འདྲ་ཡོད་པ?",
|
||||
"tooltipInstructionsMobileBody": "རྟེན་འབྲེལ་དང་བསྟན་པའི་རྟེན་འབྲེལ་ལ་ལོག་བརྟེན་",
|
||||
"tooltipInstructionsBrowserBody": "རྟེན་འབྲེལ་ལ་ལོག་བརྟེན་",
|
||||
|
|
@ -4278,7 +4276,7 @@
|
|||
"joinPublicTrip": "མི་ཚེས་ལ་ལོག་འབད།",
|
||||
"startOwnTrip": "ངེད་རང་གི་ལོག་ལ་སྦྱོར་བཅོས།",
|
||||
"@@locale": "bo",
|
||||
"@@last_modified": "2026-01-28 13:26:44.570789",
|
||||
"@@last_modified": "2026-01-29 15:25:08.749600",
|
||||
"@alwaysUse24HourFormat": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -6724,14 +6722,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -10708,5 +10698,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "Buka bantuan nulis",
|
||||
"autoIGCToolDescription": "Secara otomatis menjalankan alat Pangea Chat untuk memperbaiki pesan yang dikirim ke bahasa target.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "Recording failed. Please check your audio permissions and try again.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"@@last_modified": "2026-01-28 13:26:23.872618",
|
||||
"@@last_modified": "2026-01-29 15:24:54.287095",
|
||||
"about": "Quant a",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -3757,8 +3757,6 @@
|
|||
"noPaymentInfo": "No cal informació de pagament!",
|
||||
"updatePhoneOS": "Pot ser que necessitis actualitzar la versió del sistema operatiu del teu dispositiu.",
|
||||
"wordsPerMinute": "Paraules per minut",
|
||||
"autoIGCToolName": "Executa automàticament l'assistència d'escriptura Pangea",
|
||||
"autoIGCToolDescription": "Executa automàticament l'assistència d'escriptura de gramàtica i traducció de Pangea abans d'enviar el meu missatge.",
|
||||
"tooltipInstructionsTitle": "No estàs segur de què fa això?",
|
||||
"tooltipInstructionsMobileBody": "Prem i mantén premut per veure les eines d'informació sobre les opcions.",
|
||||
"tooltipInstructionsBrowserBody": "Passa el cursor sobre els elements per veure les eines d'informació.",
|
||||
|
|
@ -6229,14 +6227,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -10978,5 +10968,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "Activar l'assistència d'escriptura",
|
||||
"autoIGCToolDescription": "Executar automàticament les eines de Pangea Chat per corregir els missatges enviats a l'idioma de destinació.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "La gravació ha fallat. Si us plau, comproveu els vostres permisos d'àudio i torneu-ho a provar.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"@@locale": "cs",
|
||||
"@@last_modified": "2026-01-28 13:26:20.564591",
|
||||
"@@last_modified": "2026-01-29 15:24:50.917574",
|
||||
"about": "O aplikaci",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -3314,8 +3314,6 @@
|
|||
"noPaymentInfo": "Není třeba žádné platební informace!",
|
||||
"updatePhoneOS": "Možná budete muset aktualizovat verzi operačního systému vašeho zařízení",
|
||||
"wordsPerMinute": "Slov za minutu",
|
||||
"autoIGCToolName": "Automaticky spustit pomoc s psaním Pangea",
|
||||
"autoIGCToolDescription": "Automaticky spustit gramatickou kontrolu a překlad pomocí Pangea Chat před odesláním mé zprávy",
|
||||
"tooltipInstructionsTitle": "Nejste si jistí, co to dělá?",
|
||||
"tooltipInstructionsMobileBody": "Podržte položky pro zobrazení nápověd.",
|
||||
"tooltipInstructionsBrowserBody": "Na položky najeďte myší pro zobrazení nápověd.",
|
||||
|
|
@ -6812,14 +6810,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -11561,5 +11551,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "Povolit asistenci při psaní",
|
||||
"autoIGCToolDescription": "Automaticky spouštět nástroje Pangea Chat pro opravu odeslaných zpráv do cílového jazyka.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "Nahrávání se nezdařilo. Zkontrolujte prosím svá oprávnění k audiosouborům a zkuste to znovu.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1206,8 +1206,6 @@
|
|||
"noPaymentInfo": "Ingen betalingsoplysninger nødvendige!",
|
||||
"updatePhoneOS": "Du kan være nødt til at opdatere din enheds OS-version.",
|
||||
"wordsPerMinute": "Ord pr. minut",
|
||||
"autoIGCToolName": "Kør Pangea skriveassistance automatisk",
|
||||
"autoIGCToolDescription": "Kør automatisk Pangea Chat grammatik- og oversættelsesassistance, før jeg sender min besked.",
|
||||
"tooltipInstructionsTitle": "Er du ikke sikker på, hvad det gør?",
|
||||
"tooltipInstructionsMobileBody": "Tryk og hold på elementer for at se værktøjstip.",
|
||||
"tooltipInstructionsBrowserBody": "Hold musen over elementer for at se værktøjstip.",
|
||||
|
|
@ -1929,7 +1927,7 @@
|
|||
"playWithAI": "Leg med AI for nu",
|
||||
"courseStartDesc": "Pangea Bot er klar til at starte når som helst!\n\n...men læring er bedre med venner!",
|
||||
"@@locale": "da",
|
||||
"@@last_modified": "2026-01-28 13:25:58.575899",
|
||||
"@@last_modified": "2026-01-29 15:24:30.021734",
|
||||
"@aboutHomeserver": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
|
|
@ -7267,14 +7265,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -12015,5 +12005,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "Aktivér skriveassistance",
|
||||
"autoIGCToolDescription": "Kør automatisk Pangea Chat-værktøjer for at rette sendte beskeder til målsproget.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "Optagelse mislykkedes. Tjek venligst dine lydtilladelser og prøv igen.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"@@locale": "de",
|
||||
"@@last_modified": "2026-01-28 13:26:14.577124",
|
||||
"@@last_modified": "2026-01-29 15:24:45.173559",
|
||||
"alwaysUse24HourFormat": "true",
|
||||
"@alwaysUse24HourFormat": {
|
||||
"description": "Set to true to always display time of day in 24 hour format."
|
||||
|
|
@ -3792,8 +3792,6 @@
|
|||
"noPaymentInfo": "Keine Zahlungsinformationen erforderlich!",
|
||||
"updatePhoneOS": "Sie müssen möglicherweise die OS-Version Ihres Geräts aktualisieren.",
|
||||
"wordsPerMinute": "Wörter pro Minute",
|
||||
"autoIGCToolName": "Pangea Schreibhilfe automatisch ausführen",
|
||||
"autoIGCToolDescription": "Führen Sie die Pangea Chat-Grammatik- und Übersetzungs-Schreibhilfe automatisch aus, bevor Sie meine Nachricht senden.",
|
||||
"tooltipInstructionsTitle": "Nicht sicher, was das macht?",
|
||||
"tooltipInstructionsMobileBody": "Tippen und halten Sie Elemente, um Tooltips anzuzeigen.",
|
||||
"tooltipInstructionsBrowserBody": "Bewegen Sie den Mauszeiger über Elemente, um Tooltips anzuzeigen.",
|
||||
|
|
@ -6212,14 +6210,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -10961,5 +10951,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "Schreibassistenz aktivieren",
|
||||
"autoIGCToolDescription": "Automatisch Pangea Chat-Tools ausführen, um gesendete Nachrichten in die Zielsprache zu korrigieren.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "Die Aufnahme ist fehlgeschlagen. Bitte überprüfen Sie Ihre Audio-Berechtigungen und versuchen Sie es erneut.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -3732,8 +3732,6 @@
|
|||
"noPaymentInfo": "Δεν απαιτείται πληροφορία πληρωμής!",
|
||||
"updatePhoneOS": "Ίσως χρειαστεί να ενημερώσετε την έκδοση του λειτουργικού συστήματος της συσκευής σας.",
|
||||
"wordsPerMinute": "Λέξεις ανά λεπτό",
|
||||
"autoIGCToolName": "Αυτόματη εκτέλεση της βοήθειας γραφής Pangea",
|
||||
"autoIGCToolDescription": "Αυτόματα εκτελείτε τη γραμματική και τη βοήθεια μετάφρασης του Pangea Chat πριν στείλετε το μήνυμά μου.",
|
||||
"tooltipInstructionsTitle": "Δεν είστε σίγουροι τι κάνει αυτό;",
|
||||
"tooltipInstructionsMobileBody": "Πατήστε και κρατήστε πατημένο αντικείμενα για να δείτε τις συμβουλές εργαλείων.",
|
||||
"tooltipInstructionsBrowserBody": "Τοποθετήστε το δείκτη πάνω από αντικείμενα για να δείτε τις συμβουλές εργαλείων.",
|
||||
|
|
@ -4455,7 +4453,7 @@
|
|||
"playWithAI": "Παίξτε με την Τεχνητή Νοημοσύνη προς το παρόν",
|
||||
"courseStartDesc": "Ο Pangea Bot είναι έτοιμος να ξεκινήσει οποιαδήποτε στιγμή!\n\n...αλλά η μάθηση είναι καλύτερη με φίλους!",
|
||||
"@@locale": "el",
|
||||
"@@last_modified": "2026-01-28 13:26:53.057151",
|
||||
"@@last_modified": "2026-01-29 15:25:16.616510",
|
||||
"@alwaysUse24HourFormat": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -7263,14 +7261,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -12012,5 +12002,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "Ενεργοποίηση βοήθειας γραφής",
|
||||
"autoIGCToolDescription": "Αυτόματα εκτελέστε τα εργαλεία Pangea Chat για να διορθώσετε τα αποσταλμένα μηνύματα στη γλώσσα στόχο.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "Η ηχογράφηση απέτυχε. Παρακαλώ ελέγξτε τις άδειες ήχου σας και δοκιμάστε ξανά.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -3730,8 +3730,6 @@
|
|||
"noPaymentInfo": "No payment info necessary!",
|
||||
"updatePhoneOS": "You may need to update your device's OS version.",
|
||||
"wordsPerMinute": "Words per minute",
|
||||
"autoIGCToolName": "Run Pangea writing assistance automatically",
|
||||
"autoIGCToolDescription": "Automatically run Pangea Chat grammar and translation writing assistance before sending my message.",
|
||||
"chatCapacity": "Chat capacity",
|
||||
"roomFull": "This room is already at capacity.",
|
||||
"chatCapacityHasBeenChanged": "Chat capacity changed",
|
||||
|
|
@ -5067,5 +5065,8 @@
|
|||
"courseLoadingError": "Something went wrong, and we're hard at work fixing it. Check again later.",
|
||||
"onboardingLanguagesTitle": "What language are you learning?",
|
||||
"searchLanguagesHint": "Search target languages",
|
||||
"supportSubtitle": "Questions? We're here to help!"
|
||||
"supportSubtitle": "Questions? We're here to help!",
|
||||
"autoIGCToolName": "Enable writing assistance",
|
||||
"autoIGCToolDescription": "Automatically run Pangea Chat tools to correct sent messages to target language.",
|
||||
"emptyAudioError": "Recording failed. Please check your audio permissions and try again."
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"@@last_modified": "2026-01-28 13:26:57.219657",
|
||||
"@@last_modified": "2026-01-29 15:25:20.184834",
|
||||
"about": "Prio",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -2911,8 +2911,6 @@
|
|||
"noPaymentInfo": "Ne necesas paginformoj!",
|
||||
"updatePhoneOS": "Eble vi bezonas ĝisdatigi la version de la operaciumo de via aparato.",
|
||||
"wordsPerMinute": "Vortoj po minuto",
|
||||
"autoIGCToolName": "Kurigu Pangea verkhelpilo aŭtomate",
|
||||
"autoIGCToolDescription": "Aŭtomate funkciigu Pangea Chat gramatikon kaj tradukadon por helpi vin verki antaŭ ol sendi vian mesaĝon.",
|
||||
"tooltipInstructionsTitle": "Ne certas kio tio faras?",
|
||||
"tooltipInstructionsMobileBody": "Premu kaj teni objektojn por vidi ilustraĵojn.",
|
||||
"tooltipInstructionsBrowserBody": "Hovru super objektoj por vidi ilustraĵojn.",
|
||||
|
|
@ -7294,14 +7292,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -12043,5 +12033,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "Ebligi skriban asistadon",
|
||||
"autoIGCToolDescription": "Aŭtomate funkciigi Pangea Chat-ilojn por korekti senditajn mesaĝojn al la cellingvo.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "Registrado malsukcesis. Bonvolu kontroli viajn aŭdajn permesojn kaj provi denove.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"@@locale": "es",
|
||||
"@@last_modified": "2026-01-28 13:25:54.826808",
|
||||
"@@last_modified": "2026-01-29 15:24:25.947319",
|
||||
"about": "Acerca de",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -4251,8 +4251,6 @@
|
|||
"wordsPerMinute": "Palabras por minuto",
|
||||
"roomFull": "Esta sala ya está al límite de su capacidad.",
|
||||
"enterNumber": "Introduzca un valor numérico entero.",
|
||||
"autoIGCToolName": "Ejecutar automáticamente la asistencia lingüística",
|
||||
"autoIGCToolDescription": "Ejecutar automáticamente la asistencia lingüística después de escribir mensajes",
|
||||
"buildTranslation": "Construye tu traducción a partir de las opciones anteriores",
|
||||
"languageSettings": "Ajustes de idioma",
|
||||
"selectSpaceDominantLanguage": "¿Cuál es la lengua más común de los miembros del espacio?",
|
||||
|
|
@ -8188,5 +8186,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "Habilitar asistencia de escritura",
|
||||
"autoIGCToolDescription": "Ejecutar automáticamente las herramientas de Pangea Chat para corregir los mensajes enviados al idioma de destino.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "La grabación falló. Por favor, verifica tus permisos de audio y vuelve a intentarlo.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"@@locale": "et",
|
||||
"@@last_modified": "2026-01-28 13:26:13.431455",
|
||||
"@@last_modified": "2026-01-29 15:24:43.759174",
|
||||
"about": "Rakenduse teave",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -3811,8 +3811,6 @@
|
|||
"noPaymentInfo": "Makseteadet pole vaja!",
|
||||
"updatePhoneOS": "Võib olla vajalik uuendada oma seadme operatsioonisüsteemi versiooni.",
|
||||
"wordsPerMinute": "Sõnad minutis",
|
||||
"autoIGCToolName": "Käivita Pangea kirjutamisabi automaatselt",
|
||||
"autoIGCToolDescription": "Käivita automaatselt Pangea vestluse grammatika- ja tõlkeabi enne sõnumi saatmist.",
|
||||
"addSpaceToSpaceDescription": "Vali ruum, mida lisada vanemaks",
|
||||
"chatCapacity": "Vestluse maht",
|
||||
"spaceCapacity": "Ruumimaht",
|
||||
|
|
@ -6229,14 +6227,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@addSpaceToSpaceDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -11225,5 +11215,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "Luba kirjutamise abi",
|
||||
"autoIGCToolDescription": "Käivita automaatselt Pangea Chat tööriistad, et parandada saadetud sõnumid sihtkeelde.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "Salvestamine ebaõnnestus. Palun kontrollige oma heliõigusi ja proovige uuesti.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"@@locale": "eu",
|
||||
"@@last_modified": "2026-01-28 13:26:10.864458",
|
||||
"@@last_modified": "2026-01-29 15:24:41.896758",
|
||||
"about": "Honi buruz",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -3785,8 +3785,6 @@
|
|||
"noPaymentInfo": "Ez dago ordainketa informaziorik behar!",
|
||||
"updatePhoneOS": "Baliteke zure gailuaren OS bertsioa eguneratu behar izatea.",
|
||||
"wordsPerMinute": "Hitz minutuko",
|
||||
"autoIGCToolName": "Exekutatu Pangea idazketa laguntza automatikoki",
|
||||
"autoIGCToolDescription": "Exekutatu automatikoki Pangea Txataren gramatika eta itzulpen idazketa laguntza mezu bat bidali aurretik.",
|
||||
"tooltipInstructionsTitle": "Ez da ziur zer den hori?",
|
||||
"tooltipInstructionsMobileBody": "Elementuak sakatu eta eutsi tresna-txartelak ikusteko.",
|
||||
"tooltipInstructionsBrowserBody": "Elementuak gainean mugitu eta ikusi tresna-txartelak.",
|
||||
|
|
@ -6205,14 +6203,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -10954,5 +10944,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "Idazteko laguntza aktibatu",
|
||||
"autoIGCToolDescription": "Automatikoki exekutatu Pangea Chat tresnak helburu hizkuntzara bidalitako mezuak zuzentzeko.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "Grabaketa huts egin da. Mesedez, egiaztatu zure audio baimenak eta saiatu berriro.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"@@last_modified": "2026-01-28 13:26:49.168597",
|
||||
"@@last_modified": "2026-01-29 15:25:12.904348",
|
||||
"repeatPassword": "تکرار رمزعبور",
|
||||
"@repeatPassword": {},
|
||||
"about": "درباره",
|
||||
|
|
@ -3205,8 +3205,6 @@
|
|||
"noPaymentInfo": "نیازی به اطلاعات پرداخت نیست!",
|
||||
"updatePhoneOS": "ممکن است نیاز باشد نسخه سیستمعامل دستگاه خود را بهروزرسانی کنید.",
|
||||
"wordsPerMinute": "کلمات در دقیقه",
|
||||
"autoIGCToolName": "اجرای خودکار کمک نوشتن پنگئا",
|
||||
"autoIGCToolDescription": "به طور خودکار قبل از ارسال پیام من، کمک نگارش گرامر و ترجمه چت پنگئا را اجرا کنید.",
|
||||
"tooltipInstructionsTitle": "مطمئن نیستید چه کاری انجام میدهد؟",
|
||||
"tooltipInstructionsMobileBody": "برای مشاهده راهنما، آیتمها را نگه دارید.",
|
||||
"tooltipInstructionsBrowserBody": "برای مشاهده راهنما، روی آیتمها هاور کنید.",
|
||||
|
|
@ -6937,14 +6935,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -11686,5 +11676,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "فعالسازی کمکنویس",
|
||||
"autoIGCToolDescription": "بهطور خودکار ابزارهای چت پانژیا را برای اصلاح پیامهای ارسالشده به زبان هدف اجرا کنید.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "ضبط صدا ناموفق بود. لطفاً مجوزهای صوتی خود را بررسی کرده و دوباره تلاش کنید.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -3285,8 +3285,6 @@
|
|||
"noPaymentInfo": "Maksutietoja ei tarvita!",
|
||||
"updatePhoneOS": "Saattaa olla, että sinun täytyy päivittää laitteesi käyttöjärjestelmän versio.",
|
||||
"wordsPerMinute": "Sanoja minuutissa",
|
||||
"autoIGCToolName": "Aja Pangea kirjoitusavustusta automaattisesti",
|
||||
"autoIGCToolDescription": "Aja automaattisesti Pangea Chatin kieliopin ja käännöksen kirjoitusavustusta ennen viestini lähettämistä.",
|
||||
"tooltipInstructionsTitle": "Et ole varma, mitä tämä tekee?",
|
||||
"tooltipInstructionsMobileBody": "Pidä painettuna kohteita nähdäksesi työkaluvihjeet.",
|
||||
"tooltipInstructionsBrowserBody": "Vie hiiri kohteen päälle nähdäksesi työkaluvihjeet.",
|
||||
|
|
@ -4008,7 +4006,7 @@
|
|||
"playWithAI": "Leiki tekoälyn kanssa nyt",
|
||||
"courseStartDesc": "Pangea Bot on valmis milloin tahansa!\n\n...mutta oppiminen on parempaa ystävien kanssa!",
|
||||
"@@locale": "fi",
|
||||
"@@last_modified": "2026-01-28 13:25:57.438673",
|
||||
"@@last_modified": "2026-01-29 15:24:28.359131",
|
||||
"@alwaysUse24HourFormat": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -6828,14 +6826,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -11577,5 +11567,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "Ota käyttöön kirjoitusapu",
|
||||
"autoIGCToolDescription": "Suorita automaattisesti Pangea Chat -työkaluja korjataksesi lähetetyt viestit kohdekielelle.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "Äänityksen tallentaminen epäonnistui. Tarkista äänioikeutesi ja yritä uudelleen.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -2051,8 +2051,6 @@
|
|||
"noPaymentInfo": "Hindi kailangan ng impormasyon sa pagbabayad!",
|
||||
"updatePhoneOS": "Maaaring kailangan mong i-update ang bersyon ng OS ng iyong device.",
|
||||
"wordsPerMinute": "Mga salita kada minuto",
|
||||
"autoIGCToolName": "Awtomatikong patakbuhin ang Pangea writing assistance",
|
||||
"autoIGCToolDescription": "Awtomatikong patakbuhin ang Pangea Chat grammar at translation writing assistance bago ipadala ang aking mensahe.",
|
||||
"tooltipInstructionsTitle": "Hindi sigurado kung ano ang ginagawa niyan?",
|
||||
"tooltipInstructionsMobileBody": "Pindutin at hawakan ang mga item upang makita ang mga tooltip.",
|
||||
"tooltipInstructionsBrowserBody": "I-hover ang cursor sa mga item upang makita ang mga tooltip.",
|
||||
|
|
@ -2786,7 +2784,7 @@
|
|||
"selectAll": "Piliin lahat",
|
||||
"deselectAll": "Huwag piliin lahat",
|
||||
"@@locale": "fil",
|
||||
"@@last_modified": "2026-01-28 13:26:32.216257",
|
||||
"@@last_modified": "2026-01-29 15:24:58.900213",
|
||||
"@setCustomPermissionLevel": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -7198,14 +7196,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -11930,5 +11920,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "Paganahin ang tulong sa pagsusulat",
|
||||
"autoIGCToolDescription": "Awtomatikong patakbuhin ang mga tool ng Pangea Chat upang ituwid ang mga ipinadalang mensahe sa target na wika.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "Nabigo ang pag-record. Pakisuri ang iyong mga pahintulot sa audio at subukan muli.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"@@locale": "fr",
|
||||
"@@last_modified": "2026-01-28 13:27:03.910294",
|
||||
"@@last_modified": "2026-01-29 15:25:26.287351",
|
||||
"about": "À propos",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -3615,8 +3615,6 @@
|
|||
"noPaymentInfo": "Aucune information de paiement nécessaire !",
|
||||
"updatePhoneOS": "Vous devrez peut-être mettre à jour la version du système d'exploitation de votre appareil.",
|
||||
"wordsPerMinute": "Mots par minute",
|
||||
"autoIGCToolName": "Exécuter automatiquement l'assistance à l'écriture Pangea",
|
||||
"autoIGCToolDescription": "Exécuter automatiquement l'assistance à la grammaire et à la traduction de Pangea Chat avant d'envoyer mon message.",
|
||||
"tooltipInstructionsTitle": "Vous ne savez pas ce que cela fait ?",
|
||||
"tooltipInstructionsMobileBody": "Appuyez longuement sur les éléments pour voir les infobulles.",
|
||||
"tooltipInstructionsBrowserBody": "Survolez les éléments pour voir les infobulles.",
|
||||
|
|
@ -6529,14 +6527,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -11278,5 +11268,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "Activer l'assistance à l'écriture",
|
||||
"autoIGCToolDescription": "Exécutez automatiquement les outils de Pangea Chat pour corriger les messages envoyés dans la langue cible.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "L'enregistrement a échoué. Veuillez vérifier vos autorisations audio et réessayer.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -3793,8 +3793,6 @@
|
|||
"noPaymentInfo": "Níl aon eolas íocaíochta de dhíth!",
|
||||
"updatePhoneOS": "D'fhéadfadh go mbeadh ort do leagan OS a nuashonrú ar do ghléas.",
|
||||
"wordsPerMinute": "Focail in aghaidh na nóimead",
|
||||
"autoIGCToolName": "Rith cabhair scríbhneoireachta Pangea go huathoibríoch",
|
||||
"autoIGCToolDescription": "Rith uathoibríoch cabhair gramadaí agus aistriúcháin Pangea Chat sula seolfaidh mé mo theachtaireacht.",
|
||||
"tooltipInstructionsTitle": "Níl tú cinnte cad a dhéanann sé sin?",
|
||||
"tooltipInstructionsMobileBody": "Bain agus coinnigh ar na míreanna chun treoracha a fheiceáil.",
|
||||
"tooltipInstructionsBrowserBody": "Cliceáil agus coinnigh ar na míreanna chun treoracha a fheiceáil.",
|
||||
|
|
@ -4516,7 +4514,7 @@
|
|||
"playWithAI": "Imir le AI faoi láthair",
|
||||
"courseStartDesc": "Tá Bot Pangea réidh chun dul am ar bith!\n\n...ach is fearr foghlaim le cairde!",
|
||||
"@@locale": "ga",
|
||||
"@@last_modified": "2026-01-28 13:27:02.604512",
|
||||
"@@last_modified": "2026-01-29 15:25:25.078471",
|
||||
"@customReaction": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -6203,14 +6201,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -10952,5 +10942,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "Cuir ar chumas cúnamh scríbhneoireachta",
|
||||
"autoIGCToolDescription": "Rith uathoibríoch uirlisí Pangea Chat chun teachtaireachtaí a sheoladh a cheartú go teanga sprioc.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "Theip ar an taifeadadh. Seiceáil do cheadanna gutháin le do thoil agus déan iarracht arís.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"@@locale": "gl",
|
||||
"@@last_modified": "2026-01-28 13:25:56.077589",
|
||||
"@@last_modified": "2026-01-29 15:24:27.141903",
|
||||
"about": "Acerca de",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -3786,8 +3786,6 @@
|
|||
"noPaymentInfo": "Non é necesaria información de pagamento!",
|
||||
"updatePhoneOS": "Pode que necesites actualizar a versión do sistema operativo do teu dispositivo.",
|
||||
"wordsPerMinute": "Palabras por minuto",
|
||||
"autoIGCToolName": "Executar a asistencia de escritura Pangea automaticamente",
|
||||
"autoIGCToolDescription": "Executar automaticamente a asistencia de gramática e tradución de Pangea Chat antes de enviar a miña mensaxe.",
|
||||
"tooltipInstructionsTitle": "Non estás seguro de para que serve iso?",
|
||||
"tooltipInstructionsMobileBody": "Prema e mantén os elementos para ver as pistas.",
|
||||
"tooltipInstructionsBrowserBody": "Pasa o rato por riba dos elementos para ver as pistas.",
|
||||
|
|
@ -6202,14 +6200,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -10951,5 +10941,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "Activar a asistencia de escritura",
|
||||
"autoIGCToolDescription": "Executar automaticamente as ferramentas de Pangea Chat para corrixir os mensaxes enviados á lingua de destino.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "A gravación fallou. Por favor, verifica os teus permisos de audio e intenta de novo.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"@@last_modified": "2026-01-28 13:26:06.755080",
|
||||
"@@last_modified": "2026-01-29 15:24:38.819884",
|
||||
"about": "אודות",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -2371,8 +2371,6 @@
|
|||
"noPaymentInfo": "אין צורך במידע תשלום!",
|
||||
"updatePhoneOS": "ייתכן שתצטרך לעדכן את גרסת מערכת ההפעלה של המכשיר שלך.",
|
||||
"wordsPerMinute": "מילים בדקה",
|
||||
"autoIGCToolName": "הרץ אוטומטית את עזר הכתיבה של פאנגיאה",
|
||||
"autoIGCToolDescription": "הרץ אוטומטית את עזר הכתיבה של דקדוק ותרגום של פאנגיאה לפני שליחת ההודעה שלי.",
|
||||
"tooltipInstructionsTitle": "לא בטוח מה זה עושה?",
|
||||
"tooltipInstructionsMobileBody": "החזק והחלק על פריטים כדי לצפות בטיפים.",
|
||||
"tooltipInstructionsBrowserBody": "החלק מעל פריטים כדי לצפות בטיפים.",
|
||||
|
|
@ -7254,14 +7252,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -12003,5 +11993,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "אפשר סיוע בכתיבה",
|
||||
"autoIGCToolDescription": "הרץ אוטומטית את כלי Pangea Chat כדי לתקן הודעות שנשלחו לשפה היעד.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "הקלטה נכשלה. אנא בדוק את הרשאות האודיו שלך ונסה שוב.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -3759,8 +3759,6 @@
|
|||
"noPaymentInfo": "कोई भुगतान जानकारी आवश्यक नहीं!",
|
||||
"updatePhoneOS": "आपको अपने डिवाइस का OS संस्करण अपडेट करने की आवश्यकता हो सकती है।",
|
||||
"wordsPerMinute": "मिनट में शब्द",
|
||||
"autoIGCToolName": "स्वचालित रूप से पैंजिया लेखन सहायता चलाएँ",
|
||||
"autoIGCToolDescription": "मेरे संदेश भेजने से पहले स्वचालित रूप से पैंजिया चैट व्याकरण और अनुवाद लेखन सहायता चलाएँ।",
|
||||
"tooltipInstructionsTitle": "क्या यह करता है, इसके बारे में सुनिश्चित नहीं?",
|
||||
"tooltipInstructionsMobileBody": "आइटम को दबाकर रखें और टूलटिप देखने के लिए होवर करें।",
|
||||
"tooltipInstructionsBrowserBody": "आइटम पर होवर करें और टूलटिप देखने के लिए होवर करें।",
|
||||
|
|
@ -4482,7 +4480,7 @@
|
|||
"playWithAI": "अभी के लिए एआई के साथ खेलें",
|
||||
"courseStartDesc": "पैंजिया बॉट कभी भी जाने के लिए तैयार है!\n\n...लेकिन दोस्तों के साथ सीखना बेहतर है!",
|
||||
"@@locale": "hi",
|
||||
"@@last_modified": "2026-01-28 13:26:55.548010",
|
||||
"@@last_modified": "2026-01-29 15:25:18.981310",
|
||||
"@alwaysUse24HourFormat": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -7290,14 +7288,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -12039,5 +12029,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "लेखन सहायता सक्षम करें",
|
||||
"autoIGCToolDescription": "लक्षित भाषा में भेजे गए संदेशों को सही करने के लिए स्वचालित रूप से Pangea चैट उपकरण चलाएँ।",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "रिकॉर्डिंग विफल हो गई। कृपया अपनी ऑडियो अनुमति की जांच करें और फिर से प्रयास करें।",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"@@locale": "hr",
|
||||
"@@last_modified": "2026-01-28 13:26:05.722028",
|
||||
"@@last_modified": "2026-01-29 15:24:37.899487",
|
||||
"about": "Informacije",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -3541,8 +3541,6 @@
|
|||
"noPaymentInfo": "Nije potrebna informacija o plaćanju!",
|
||||
"updatePhoneOS": "Možda ćete morati ažurirati verziju OS-a na svom uređaju.",
|
||||
"wordsPerMinute": "Riječi po minuti",
|
||||
"autoIGCToolName": "Automatski pokreni pomoć za pisanje Pangea",
|
||||
"autoIGCToolDescription": "Automatski pokreni pomoć za gramatiku i prijevod Pangea Chat prije slanja moje poruke.",
|
||||
"tooltipInstructionsTitle": "Niste sigurni što to radi?",
|
||||
"tooltipInstructionsMobileBody": "Dugim pritiskom na stavke prikazuju se alati za pomoć.",
|
||||
"tooltipInstructionsBrowserBody": "Pomičite mišem preko stavki za prikazivanje saveta.",
|
||||
|
|
@ -6577,14 +6575,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -11326,5 +11316,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "Omogući pomoć pri pisanju",
|
||||
"autoIGCToolDescription": "Automatski pokreni Pangea Chat alate za ispravljanje poslanih poruka na ciljni jezik.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "Snimanje nije uspjelo. Provjerite svoja audio dopuštenja i pokušajte ponovo.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"@@locale": "hu",
|
||||
"@@last_modified": "2026-01-28 13:25:59.737331",
|
||||
"@@last_modified": "2026-01-29 15:24:31.343536",
|
||||
"about": "Névjegy",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -3786,8 +3786,6 @@
|
|||
"noPaymentInfo": "Nincs szükség fizetési adatokra!",
|
||||
"updatePhoneOS": "Előfordulhat, hogy frissítenie kell az eszköz operációs rendszerét.",
|
||||
"wordsPerMinute": "Szavak száma percenként",
|
||||
"autoIGCToolName": "A Pangea írássegéd automatikus futtatása",
|
||||
"autoIGCToolDescription": "Automatikusan futtassa a Pangea Chat nyelvtani és fordítási írássegédet az üzenetem küldése előtt.",
|
||||
"tooltipInstructionsTitle": "Nem biztos benne, mit csinál ez?",
|
||||
"tooltipInstructionsMobileBody": "Hosszan nyomja meg az elemeket a súgók megtekintéséhez.",
|
||||
"tooltipInstructionsBrowserBody": "Húzza az egérrel az elemek fölé a súgók megtekintéséhez.",
|
||||
|
|
@ -6206,14 +6204,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -10955,5 +10945,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "Írássegítő engedélyezése",
|
||||
"autoIGCToolDescription": "Automatikusan futtassa a Pangea Chat eszközöket a küldött üzenetek célnyelvre történő javításához.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "A felvétel nem sikerült. Kérjük, ellenőrizze az audio engedélyeit, és próbálja újra.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1234,8 +1234,6 @@
|
|||
"noPaymentInfo": "Nulle information de pagamento necessari!",
|
||||
"updatePhoneOS": "Es possibile que tu necesse actualisar le versione del sistema operative de tu dispositivo.",
|
||||
"wordsPerMinute": "Palabras per minuto",
|
||||
"autoIGCToolName": "Execute automaticemente le assistance de scriber Pangea",
|
||||
"autoIGCToolDescription": "Execute automaticamente le assistance de grammatica e traduction de Pangea Chat ante de inviar mi message.",
|
||||
"tooltipInstructionsTitle": "Nescite que illo face?",
|
||||
"tooltipInstructionsMobileBody": "Pressa e tene le items pro vider le tooltip.",
|
||||
"tooltipInstructionsBrowserBody": "Survole le items pro vider le tooltip.",
|
||||
|
|
@ -1957,7 +1955,7 @@
|
|||
"playWithAI": "Joca con le IA pro ora",
|
||||
"courseStartDesc": "Pangea Bot es preste a comenzar a qualunque momento!\n\n...ma apprender es melior con amicos!",
|
||||
"@@locale": "ia",
|
||||
"@@last_modified": "2026-01-28 13:26:08.333302",
|
||||
"@@last_modified": "2026-01-29 15:24:39.850520",
|
||||
"@alwaysUse24HourFormat": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -7283,14 +7281,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -12032,5 +12022,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "Abilita l'assistenza alla scrittura",
|
||||
"autoIGCToolDescription": "Esegui automaticamente gli strumenti di Pangea Chat per correggere i messaggi inviati nella lingua target.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "Fala falhou. Por favor, verifique suas permissões de áudio e tente novamente.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"@@last_modified": "2026-01-28 13:26:00.772325",
|
||||
"@@last_modified": "2026-01-29 15:24:32.345033",
|
||||
"setAsCanonicalAlias": "Atur sebagai alias utama",
|
||||
"@setAsCanonicalAlias": {
|
||||
"type": "String",
|
||||
|
|
@ -3787,8 +3787,6 @@
|
|||
"noPaymentInfo": "Tidak perlu info pembayaran!",
|
||||
"updatePhoneOS": "Anda mungkin perlu memperbarui versi OS perangkat Anda.",
|
||||
"wordsPerMinute": "Kata per menit",
|
||||
"autoIGCToolName": "Jalankan otomatis bantuan penulisan Pangea",
|
||||
"autoIGCToolDescription": "Jalankan otomatis bantuan penulisan tata bahasa dan terjemahan Chat Pangea sebelum mengirim pesan saya.",
|
||||
"tooltipInstructionsTitle": "Tidak yakin apa itu?",
|
||||
"tooltipInstructionsMobileBody": "Tekan dan tahan item untuk melihat tooltip.",
|
||||
"tooltipInstructionsBrowserBody": "Arahkan kursor ke item untuk melihat tooltip.",
|
||||
|
|
@ -6196,14 +6194,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -10945,5 +10935,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "Aktifkan bantuan penulisan",
|
||||
"autoIGCToolDescription": "Secara otomatis menjalankan alat Pangea Chat untuk memperbaiki pesan yang dikirim ke bahasa target.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "Perekaman gagal. Silakan periksa izin audio Anda dan coba lagi.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -3648,8 +3648,6 @@
|
|||
"noPaymentInfo": "Nulle information de pagamento necessari!",
|
||||
"updatePhoneOS": "Tu pote haber de actualizar la version del sistema operative de tu dispositivo",
|
||||
"wordsPerMinute": "Palabras per minutu",
|
||||
"autoIGCToolName": "Execute automaticamente le assistent de scriber Pangea",
|
||||
"autoIGCToolDescription": "Execute automaticamente le grammatica e traduction del chat Pangea ante de inviar mi message",
|
||||
"tooltipInstructionsTitle": "Non es secur de que isto face?",
|
||||
"tooltipInstructionsMobileBody": "Pressa e tenea items pro vider le tooltip.",
|
||||
"tooltipInstructionsBrowserBody": "Survole items pro vider le tooltip.",
|
||||
|
|
@ -4371,7 +4369,7 @@
|
|||
"playWithAI": "Joca con AI pro ora",
|
||||
"courseStartDesc": "Pangea Bot es preste a partir a qualunque momento!\n\n...ma apprender es melior con amicos!",
|
||||
"@@locale": "ie",
|
||||
"@@last_modified": "2026-01-28 13:26:04.525215",
|
||||
"@@last_modified": "2026-01-29 15:24:36.672214",
|
||||
"@alwaysUse24HourFormat": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -7179,14 +7177,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -11928,5 +11918,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "Aktivoi kirjoitusavustaja",
|
||||
"autoIGCToolDescription": "Suorita automaattisesti Pangea Chat -työkaluja korjataksesi lähetetyt viestit kohdekielelle.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "Faillí an taifeadadh. Seiceáil do cheadanna gutháin agus déan iarracht arís.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"@@last_modified": "2026-01-28 13:26:18.238331",
|
||||
"@@last_modified": "2026-01-29 15:24:48.551043",
|
||||
"about": "Informazioni",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -3764,8 +3764,6 @@
|
|||
"noPaymentInfo": "Nessuna informazione di pagamento necessaria!",
|
||||
"updatePhoneOS": "Potresti dover aggiornare la versione del sistema operativo del tuo dispositivo.",
|
||||
"wordsPerMinute": "Parole al minuto",
|
||||
"autoIGCToolName": "Esegui automaticamente l'assistenza alla scrittura Pangea",
|
||||
"autoIGCToolDescription": "Esegui automaticamente l'assistenza alla grammatica e alla traduzione di Pangea Chat prima di inviare il mio messaggio.",
|
||||
"tooltipInstructionsTitle": "Non sei sicuro di cosa faccia?",
|
||||
"tooltipInstructionsMobileBody": "Tieni premuti gli elementi per visualizzare i suggerimenti.",
|
||||
"tooltipInstructionsBrowserBody": "Passa il mouse sugli elementi per visualizzare i suggerimenti.",
|
||||
|
|
@ -6208,14 +6206,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -10957,5 +10947,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "Abilita assistenza alla scrittura",
|
||||
"autoIGCToolDescription": "Esegui automaticamente gli strumenti di Pangea Chat per correggere i messaggi inviati nella lingua target.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "Registrazione fallita. Controlla le tue autorizzazioni audio e riprova.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"@@locale": "ja",
|
||||
"@@last_modified": "2026-01-28 13:26:54.166864",
|
||||
"@@last_modified": "2026-01-29 15:25:17.739953",
|
||||
"about": "このアプリについて",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -3128,8 +3128,6 @@
|
|||
"noPaymentInfo": "支払い情報は不要です!",
|
||||
"updatePhoneOS": "デバイスのOSバージョンを更新する必要があるかもしれません。",
|
||||
"wordsPerMinute": "1分あたりの単語数",
|
||||
"autoIGCToolName": "Pangeaのライティング支援を自動的に実行",
|
||||
"autoIGCToolDescription": "メッセージ送信前にPangeaチャットの文法と翻訳のライティング支援を自動的に実行します。",
|
||||
"tooltipInstructionsTitle": "それは何のためか分からない?",
|
||||
"tooltipInstructionsMobileBody": "アイテムを長押ししてツールチップを表示します。",
|
||||
"tooltipInstructionsBrowserBody": "アイテムにカーソルを合わせてツールチップを表示します。",
|
||||
|
|
@ -6995,14 +6993,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -11744,5 +11734,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "ライティングアシスタントを有効にする",
|
||||
"autoIGCToolDescription": "送信されたメッセージをターゲット言語に修正するために、Pangea Chatツールを自動的に実行します。",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "録音に失敗しました。オーディオの権限を確認して、再試行してください。",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1870,8 +1870,6 @@
|
|||
"noPaymentInfo": "გადახდის ინფორმაცია საჭირო არაა!",
|
||||
"updatePhoneOS": "შესაძლოა დაგჭირდეთ თქვენი მოწყობილობის ოპერაციული სისტემის განახლება.",
|
||||
"wordsPerMinute": "სიტყვები წუთში",
|
||||
"autoIGCToolName": "ავტომატურად ჩართეთ პანგეა წერის დახმარება",
|
||||
"autoIGCToolDescription": "ავტომატურად ჩართეთ პანგეა ჩატის გრამატიკა და თარგმნის დახმარება ჩემი შეტყობინების გაგზავნამდე.",
|
||||
"tooltipInstructionsTitle": "არ იცით რა აკეთებს ეს?",
|
||||
"tooltipInstructionsMobileBody": "დაჭერით და შეინახეთ ინსტრუმენტების სანახავად.",
|
||||
"tooltipInstructionsBrowserBody": "მოძრაობით მერყეობთ ნივთებზე ინსტრუმენტების სანახავად.",
|
||||
|
|
@ -2593,7 +2591,7 @@
|
|||
"playWithAI": "ამ დროისთვის ითამაშეთ AI-თან",
|
||||
"courseStartDesc": "Pangea Bot მზადაა ნებისმიერ დროს გასასვლელად!\n\n...მაგრამ სწავლა უკეთესია მეგობრებთან ერთად!",
|
||||
"@@locale": "ka",
|
||||
"@@last_modified": "2026-01-28 13:27:00.130109",
|
||||
"@@last_modified": "2026-01-29 15:25:22.347053",
|
||||
"@alwaysUse24HourFormat": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -7235,14 +7233,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -11984,5 +11974,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "წერის დახმარების ჩართვა",
|
||||
"autoIGCToolDescription": "ავტომატურად გაწვდეთ Pangea Chat ინსტრუმენტები გაგზავნილი შეტყობინებების მიზნობრივი ენაზე გასასწორებლად.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "ჩაწერა ვერ მოხერხდა. გთხოვთ, შეამოწმოთ თქვენი აუდიო უფლებები და სცადოთ კიდევ ერთხელ.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"@@last_modified": "2026-01-28 13:25:53.869320",
|
||||
"@@last_modified": "2026-01-29 15:24:24.593568",
|
||||
"about": "소개",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -3721,8 +3721,6 @@
|
|||
"noPaymentInfo": "결제 정보가 필요 없습니다!",
|
||||
"updatePhoneOS": "기기의 OS 버전을 업데이트해야 할 수 있습니다.",
|
||||
"wordsPerMinute": "분당 단어 수",
|
||||
"autoIGCToolName": "판게아 작문 지원 자동 실행",
|
||||
"autoIGCToolDescription": "메시지를 보내기 전에 판게아 채팅 문법 및 번역 작문 지원을 자동으로 실행합니다.",
|
||||
"tooltipInstructionsTitle": "이게 무슨 기능인지 잘 모르겠나요?",
|
||||
"tooltipInstructionsMobileBody": "항목을 길게 눌러 툴팁을 볼 수 있습니다.",
|
||||
"tooltipInstructionsBrowserBody": "항목 위에 마우스를 올려 툴팁을 볼 수 있습니다.",
|
||||
|
|
@ -6313,14 +6311,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -11062,5 +11052,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "쓰기 지원 활성화",
|
||||
"autoIGCToolDescription": "전송된 메시지를 목표 언어로 수정하기 위해 Pangea Chat 도구를 자동으로 실행합니다.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "녹음에 실패했습니다. 오디오 권한을 확인하고 다시 시도해 주세요.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -3137,8 +3137,6 @@
|
|||
"noPaymentInfo": "Apmokėjimo informacija nereikalinga!",
|
||||
"updatePhoneOS": "Gali būti, kad reikės atnaujinti įrenginio operacinės sistemos versiją.",
|
||||
"wordsPerMinute": "Žodžių per minutę",
|
||||
"autoIGCToolName": "Automatiškai paleisti Pangea rašymo pagalbą",
|
||||
"autoIGCToolDescription": "Automatiškai paleisti Pangea pokalbio gramatikos ir vertimo rašymo pagalbą prieš išsiunčiant žinutę.",
|
||||
"tooltipInstructionsTitle": "Nesate tikri, ką tai daro?",
|
||||
"tooltipInstructionsMobileBody": "Paspauskite ir palaikykite elementus, kad pamatytumėte įrankių patarimus.",
|
||||
"tooltipInstructionsBrowserBody": "Užveskite pelės žymeklį ant elementų, kad pamatytumėte įrankių patarimus.",
|
||||
|
|
@ -3860,7 +3858,7 @@
|
|||
"playWithAI": "Žaiskite su dirbtiniu intelektu dabar",
|
||||
"courseStartDesc": "Pangea botas pasiruošęs bet kada pradėti!\n\n...bet mokymasis yra geresnis su draugais!",
|
||||
"@@locale": "lt",
|
||||
"@@last_modified": "2026-01-28 13:26:39.413825",
|
||||
"@@last_modified": "2026-01-29 15:25:04.531263",
|
||||
"@alwaysUse24HourFormat": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -7010,14 +7008,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -11759,5 +11749,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "Įgalinti rašymo pagalbą",
|
||||
"autoIGCToolDescription": "Automatiškai paleisti Pangea Chat įrankius, kad ištaisytumėte išsiųstas žinutes į tikslinę kalbą.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "Įrašymas nepavyko. Patikrinkite savo garso teises ir bandykite dar kartą.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -3773,8 +3773,6 @@
|
|||
"noPaymentInfo": "Nav nepieciešama maksājuma informācija!",
|
||||
"updatePhoneOS": "Var būt nepieciešams atjaunināt ierīces operētājsistēmas versiju.",
|
||||
"wordsPerMinute": "Vārdi minūtē",
|
||||
"autoIGCToolName": "Automātiski palaist Pangea rakstīšanas palīgu",
|
||||
"autoIGCToolDescription": "Automātiski palaist Pangea Čata gramatikas un tulkošanas rakstīšanas palīgu pirms mana ziņojuma nosūtīšanas.",
|
||||
"tooltipInstructionsTitle": "Neesat pārliecināts, kas tas dara?",
|
||||
"tooltipInstructionsMobileBody": "Turiet un turiet vienumus, lai skatītu rīku padomus.",
|
||||
"tooltipInstructionsBrowserBody": "Novietojiet peles kursoru virs vienumiem, lai skatītu rīku padomus.",
|
||||
|
|
@ -4482,7 +4480,7 @@
|
|||
"playWithAI": "Tagad spēlējiet ar AI",
|
||||
"courseStartDesc": "Pangea bots ir gatavs jebkurā laikā!\n\n...bet mācīties ir labāk ar draugiem!",
|
||||
"@@locale": "lv",
|
||||
"@@last_modified": "2026-01-28 13:26:33.690801",
|
||||
"@@last_modified": "2026-01-29 15:25:00.127768",
|
||||
"analyticsInactiveTitle": "Pieprasījumi neaktīviem lietotājiem nevar tikt nosūtīti",
|
||||
"analyticsInactiveDesc": "Neaktīvi lietotāji, kuri nav pieteikušies kopš šīs funkcijas ieviešanas, neredzēs jūsu pieprasījumu.\n\nPieprasījuma poga parādīsies, kad viņi atgriezīsies. Jūs varat atkārtoti nosūtīt pieprasījumu vēlāk, noklikšķinot uz pieprasījuma pogas viņu vārdā, kad tā būs pieejama.",
|
||||
"accessRequestedTitle": "Pieprasījums piekļūt analītikai",
|
||||
|
|
@ -6191,14 +6189,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -10940,5 +10930,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "Iespējot rakstīšanas palīdzību",
|
||||
"autoIGCToolDescription": "Automātiski palaist Pangea Chat rīkus, lai labotu nosūtītās ziņas mērķa valodā.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "Ieraksts neizdevās. Lūdzu, pārbaudiet savas audio atļaujas un mēģiniet vēlreiz.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"@@last_modified": "2026-01-28 13:26:21.535919",
|
||||
"@@last_modified": "2026-01-29 15:24:51.834093",
|
||||
"about": "Om",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -2700,8 +2700,6 @@
|
|||
"noPaymentInfo": "Ingen betalingsinformasjon nødvendig!",
|
||||
"updatePhoneOS": "Du kan trenge å oppdatere enhetens OS-versjon.",
|
||||
"wordsPerMinute": "Ord per minutt",
|
||||
"autoIGCToolName": "Kjør Pangea skrivehjelp automatisk",
|
||||
"autoIGCToolDescription": "Kjør automatisk Pangea Chat grammatikk- og oversettelsesstøtte før jeg sender meldingen min.",
|
||||
"tooltipInstructionsTitle": "Usikker på hva det gjør?",
|
||||
"tooltipInstructionsMobileBody": "Trykk og hold på elementer for å se verktøytips.",
|
||||
"tooltipInstructionsBrowserBody": "Hold musepekeren over elementer for å se verktøytips.",
|
||||
|
|
@ -7298,14 +7296,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -12047,5 +12037,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "Aktiver skriveassistent",
|
||||
"autoIGCToolDescription": "Kjør Pangea Chat-verktøy automatisk for å korrigere sendte meldinger til målspråket.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "Opptak mislyktes. Vennligst sjekk lydinnstillingene dine og prøv igjen.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"@@last_modified": "2026-01-28 13:26:43.074504",
|
||||
"@@last_modified": "2026-01-29 15:25:07.906820",
|
||||
"about": "Over ons",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -3784,8 +3784,6 @@
|
|||
"noPaymentInfo": "Geen betalingsinformatie nodig!",
|
||||
"updatePhoneOS": "U moet mogelijk de OS-versie van uw apparaat bijwerken.",
|
||||
"wordsPerMinute": "Woorden per minuut",
|
||||
"autoIGCToolName": "Voer Pangea schrijfhulp automatisch uit",
|
||||
"autoIGCToolDescription": "Voer automatisch Pangea Chat grammatica- en vertaalhulp uit voordat ik mijn bericht verstuur.",
|
||||
"tooltipInstructionsTitle": "Weet je niet wat dat doet?",
|
||||
"tooltipInstructionsMobileBody": "Houd items ingedrukt om tooltips te bekijken.",
|
||||
"tooltipInstructionsBrowserBody": "Houd de muisaanwijzer over items om tooltips te bekijken.",
|
||||
|
|
@ -6205,14 +6203,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -10954,5 +10944,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "Schrijfassistentie inschakelen",
|
||||
"autoIGCToolDescription": "Voer automatisch Pangea Chat-tools uit om verzonden berichten naar de doeltaal te corrigeren.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "Opname mislukt. Controleer uw audiorechten en probeer het opnieuw.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"@@locale": "pl",
|
||||
"@@last_modified": "2026-01-28 13:26:50.545730",
|
||||
"@@last_modified": "2026-01-29 15:25:13.973596",
|
||||
"about": "O aplikacji",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -3785,8 +3785,6 @@
|
|||
"noPaymentInfo": "Brak konieczności podawania informacji o płatności!",
|
||||
"updatePhoneOS": "Możesz potrzebować zaktualizować wersję systemu operacyjnego swojego urządzenia.",
|
||||
"wordsPerMinute": "Słów na minutę",
|
||||
"autoIGCToolName": "Uruchom automatycznie pomoc w pisaniu Pangea",
|
||||
"autoIGCToolDescription": "Automatycznie uruchom pomoc w gramatyce i tłumaczeniu Pangea Chat przed wysłaniem mojej wiadomości.",
|
||||
"tooltipInstructionsTitle": "Nie jesteś pewien, co to robi?",
|
||||
"tooltipInstructionsMobileBody": "Przytrzymaj elementy, aby wyświetlić podpowiedzi.",
|
||||
"tooltipInstructionsBrowserBody": "Najedź kursorem na elementy, aby wyświetlić podpowiedzi.",
|
||||
|
|
@ -6205,14 +6203,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -10952,5 +10942,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "Włącz pomoc w pisaniu",
|
||||
"autoIGCToolDescription": "Automatycznie uruchom narzędzia Pangea Chat, aby poprawić wysłane wiadomości na docelowy język.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "Nagrywanie nie powiodło się. Sprawdź swoje uprawnienia audio i spróbuj ponownie.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"@@last_modified": "2026-01-28 13:26:11.994676",
|
||||
"@@last_modified": "2026-01-29 15:24:42.742766",
|
||||
"copiedToClipboard": "Copiada para a área de transferência",
|
||||
"@copiedToClipboard": {
|
||||
"type": "String",
|
||||
|
|
@ -3775,8 +3775,6 @@
|
|||
"noPaymentInfo": "Nenhuma informação de pagamento necessária!",
|
||||
"updatePhoneOS": "Pode ser necessário atualizar a versão do sistema operacional do seu dispositivo.",
|
||||
"wordsPerMinute": "Palavras por minuto",
|
||||
"autoIGCToolName": "Executar assistência de escrita Pangea automaticamente",
|
||||
"autoIGCToolDescription": "Executar automaticamente a assistência de escrita de gramática e tradução do Pangea Chat antes de enviar minha mensagem.",
|
||||
"tooltipInstructionsTitle": "Não tem certeza do que isso faz?",
|
||||
"tooltipInstructionsMobileBody": "Pressione e segure itens para ver dicas de ferramenta.",
|
||||
"tooltipInstructionsBrowserBody": "Passe o mouse sobre os itens para ver dicas de ferramenta.",
|
||||
|
|
@ -7305,14 +7303,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -12054,5 +12044,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "Ativar assistência de escrita",
|
||||
"autoIGCToolDescription": "Executar automaticamente as ferramentas do Pangea Chat para corrigir mensagens enviadas para o idioma de destino.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "A gravação falhou. Verifique suas permissões de áudio e tente novamente.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"@@last_modified": "2026-01-28 13:26:09.473589",
|
||||
"@@last_modified": "2026-01-29 15:24:40.772387",
|
||||
"about": "Sobre",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -3532,8 +3532,6 @@
|
|||
"noPaymentInfo": "Nenhuma informação de pagamento necessária!",
|
||||
"updatePhoneOS": "Você pode precisar atualizar a versão do sistema operacional do seu dispositivo.",
|
||||
"wordsPerMinute": "Palavras por minuto",
|
||||
"autoIGCToolName": "Executar assistência de escrita Pangea automaticamente",
|
||||
"autoIGCToolDescription": "Executar automaticamente a assistência de gramática e tradução do Pangea Chat antes de enviar minha mensagem.",
|
||||
"tooltipInstructionsTitle": "Não tem certeza do que isso faz?",
|
||||
"tooltipInstructionsMobileBody": "Pressione e segure os itens para ver dicas de ferramenta.",
|
||||
"tooltipInstructionsBrowserBody": "Passe o mouse sobre os itens para ver dicas de ferramenta.",
|
||||
|
|
@ -6580,14 +6578,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -11312,5 +11302,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "Ativar assistência de escrita",
|
||||
"autoIGCToolDescription": "Executar automaticamente as ferramentas do Pangea Chat para corrigir mensagens enviadas para o idioma de destino.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "Gravação falhou. Por favor, verifique suas permissões de áudio e tente novamente.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -2595,8 +2595,6 @@
|
|||
"noPaymentInfo": "Nenhuma informação de pagamento necessária!",
|
||||
"updatePhoneOS": "Pode ser necessário atualizar a versão do sistema operacional do seu dispositivo.",
|
||||
"wordsPerMinute": "Palavras por minuto",
|
||||
"autoIGCToolName": "Executar assistência de escrita Pangea automaticamente",
|
||||
"autoIGCToolDescription": "Executar automaticamente a assistência de escrita de gramática e tradução do Pangea Chat antes de enviar minha mensagem.",
|
||||
"tooltipInstructionsTitle": "Não tem certeza do que isso faz?",
|
||||
"tooltipInstructionsMobileBody": "Pressione e segure itens para visualizar dicas de ferramenta.",
|
||||
"tooltipInstructionsBrowserBody": "Passe o mouse sobre os itens para visualizar dicas de ferramenta.",
|
||||
|
|
@ -3330,7 +3328,7 @@
|
|||
"selectAll": "Selecionar tudo",
|
||||
"deselectAll": "Desmarcar tudo",
|
||||
"@@locale": "pt_PT",
|
||||
"@@last_modified": "2026-01-28 13:26:26.329625",
|
||||
"@@last_modified": "2026-01-29 15:24:56.954106",
|
||||
"@alwaysUse24HourFormat": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -7251,14 +7249,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -11983,5 +11973,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "Ativar assistência de escrita",
|
||||
"autoIGCToolDescription": "Executar automaticamente as ferramentas do Pangea Chat para corrigir mensagens enviadas para o idioma de destino.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "A gravação falhou. Por favor, verifique suas permissões de áudio e tente novamente.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"@@last_modified": "2026-01-28 13:26:01.958335",
|
||||
"@@last_modified": "2026-01-29 15:24:33.490827",
|
||||
"about": "Despre",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -3204,8 +3204,6 @@
|
|||
"noPaymentInfo": "Nicio informație de plată necesară!",
|
||||
"updatePhoneOS": "Poate fi necesar să actualizați versiunea sistemului de operare al dispozitivului dvs.",
|
||||
"wordsPerMinute": "Cuvinte pe minut",
|
||||
"autoIGCToolName": "Rulează automat asistența de scriere Pangea",
|
||||
"autoIGCToolDescription": "Porniți automat asistența pentru scrierea gramaticii și traducerii în Pangea Chat înainte de a trimite mesajul meu.",
|
||||
"tooltipInstructionsTitle": "Nu ești sigur ce face asta?",
|
||||
"tooltipInstructionsMobileBody": "Ține apăsat pe elemente pentru a vizualiza sfaturi.",
|
||||
"tooltipInstructionsBrowserBody": "Poziționează cursorul peste elemente pentru a vizualiza sfaturi.",
|
||||
|
|
@ -6940,14 +6938,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -11689,5 +11679,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "Activare asistență la scriere",
|
||||
"autoIGCToolDescription": "Rulați automat instrumentele Pangea Chat pentru a corecta mesajele trimise în limba țintă.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "Înregistrarea a eșuat. Vă rugăm să verificați permisiunile audio și să încercați din nou.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"@@locale": "ru",
|
||||
"@@last_modified": "2026-01-28 13:26:58.889837",
|
||||
"@@last_modified": "2026-01-29 15:25:21.118191",
|
||||
"about": "О проекте",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -3714,8 +3714,6 @@
|
|||
"noPaymentInfo": "Информация о платеже не требуется!",
|
||||
"updatePhoneOS": "Возможно, потребуется обновить версию ОС вашего устройства.",
|
||||
"wordsPerMinute": "Слова в минуту",
|
||||
"autoIGCToolName": "Автоматически запускать помощь в написании Pangea",
|
||||
"autoIGCToolDescription": "Автоматически запускать помощь в грамматике и переводе Pangea Chat перед отправкой моего сообщения.",
|
||||
"tooltipInstructionsTitle": "Не уверены, что это делает?",
|
||||
"tooltipInstructionsMobileBody": "Нажмите и удерживайте элементы, чтобы просмотреть подсказки.",
|
||||
"tooltipInstructionsBrowserBody": "Наведите курсор на элементы, чтобы просмотреть подсказки.",
|
||||
|
|
@ -6294,14 +6292,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -11062,5 +11052,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "Включить помощь в написании",
|
||||
"autoIGCToolDescription": "Автоматически запускать инструменты Pangea Chat для исправления отправленных сообщений на целевой язык.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "Запись не удалась. Пожалуйста, проверьте свои аудиоразрешения и попробуйте снова.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"@@locale": "sk",
|
||||
"@@last_modified": "2026-01-28 13:26:03.157059",
|
||||
"@@last_modified": "2026-01-29 15:24:35.550214",
|
||||
"about": "O aplikácii",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -2408,8 +2408,6 @@
|
|||
"noPaymentInfo": "Nie sú potrebné žiadne platobné údaje!",
|
||||
"updatePhoneOS": "Možno budete musieť aktualizovať verziu operačného systému zariadenia",
|
||||
"wordsPerMinute": "Slová za minútu",
|
||||
"autoIGCToolName": "Automaticky spustiť pomoc pri písaní Pangea",
|
||||
"autoIGCToolDescription": "Automaticky spustiť gramatickú kontrolu a preklad pomocníka Pangea Chat pred odoslaním správy.",
|
||||
"tooltipInstructionsTitle": "Neviete, čo to robí?",
|
||||
"tooltipInstructionsMobileBody": "Stlačte a podržte položky na zobrazenie návodov.",
|
||||
"tooltipInstructionsBrowserBody": "Nájdite myšou nad položkami na zobrazenie návodov.",
|
||||
|
|
@ -7289,14 +7287,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -12038,5 +12028,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "Povoliť pomoc pri písaní",
|
||||
"autoIGCToolDescription": "Automaticky spustiť nástroje Pangea Chat na opravu odoslaných správ do cieľového jazyka.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "Nahrávanie zlyhalo. Skontrolujte svoje povolenia na zvuk a skúste to znova.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1740,8 +1740,6 @@
|
|||
"noPaymentInfo": "Ni potrebnih plačilnih informacij!",
|
||||
"updatePhoneOS": "Morda boste morali posodobiti različico operacijskega sistema naprave",
|
||||
"wordsPerMinute": "Besed na minuto",
|
||||
"autoIGCToolName": "Samodejno zaženi pomoč pri pisanju Pangea",
|
||||
"autoIGCToolDescription": "Samodejno zaženi pomoč pri slovnici in prevajanju v klepetu Pangea pred pošiljanjem sporočila",
|
||||
"tooltipInstructionsTitle": "Niste prepričani, kaj to naredi?",
|
||||
"tooltipInstructionsMobileBody": "Podrsajte in držite elemente za ogled nasvetov orodja",
|
||||
"tooltipInstructionsBrowserBody": "Premaknite kazalec nad elemente za ogled nasvetov orodja",
|
||||
|
|
@ -2463,7 +2461,7 @@
|
|||
"playWithAI": "Za zdaj igrajte z AI-jem",
|
||||
"courseStartDesc": "Pangea Bot je pripravljen kadarkoli!\n\n...ampak je bolje učiti se s prijatelji!",
|
||||
"@@locale": "sl",
|
||||
"@@last_modified": "2026-01-28 13:26:15.797667",
|
||||
"@@last_modified": "2026-01-29 15:24:46.298517",
|
||||
"@alwaysUse24HourFormat": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -7286,14 +7284,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -12035,5 +12025,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "Omogoči pomoč pri pisanju",
|
||||
"autoIGCToolDescription": "Samodejno zaženi orodja Pangea Chat za popravljanje poslanih sporočil v ciljni jezik.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "Zapisovanje ni uspelo. Preverite svoje avdio dovoljenja in poskusite znova.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"@@last_modified": "2026-01-28 13:27:01.338972",
|
||||
"@@last_modified": "2026-01-29 15:25:23.670980",
|
||||
"about": "О програму",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -2821,8 +2821,6 @@
|
|||
"noPaymentInfo": "Није потребно информације о плаћању!",
|
||||
"updatePhoneOS": "Можда ће вам бити потребно ажурирати верзију оперативног система уређаја.",
|
||||
"wordsPerMinute": "Речи по минуту",
|
||||
"autoIGCToolName": "Аутоматски покрените Пангее помоћ за писање",
|
||||
"autoIGCToolDescription": "Аутоматски покреће Пангее Граматика и помоћ за превођење пре слања моје поруке.",
|
||||
"tooltipInstructionsTitle": "Нисте сигурни шта то ради?",
|
||||
"tooltipInstructionsMobileBody": "Држите дуго на ставкама да бисте видели савете.",
|
||||
"tooltipInstructionsBrowserBody": "Покажите мишем на ставке да бисте видели савете.",
|
||||
|
|
@ -7307,14 +7305,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -12056,5 +12046,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "Omogući pomoć pri pisanju",
|
||||
"autoIGCToolDescription": "Automatski pokreni Pangea Chat alate za ispravljanje poslatih poruka na ciljni jezik.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "Snimanje nije uspelo. Proverite svoja audio dopuštenja i pokušajte ponovo.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"@@last_modified": "2026-01-28 13:26:51.814505",
|
||||
"@@last_modified": "2026-01-29 15:25:15.398282",
|
||||
"about": "Om",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -3446,8 +3446,6 @@
|
|||
"noPaymentInfo": "Ingen betalningsinformation behövs!",
|
||||
"updatePhoneOS": "Du kan behöva uppdatera din enhets operativsystemversion.",
|
||||
"wordsPerMinute": "Ord per minut",
|
||||
"autoIGCToolName": "Kör Pangea skrivhjälp automatiskt",
|
||||
"autoIGCToolDescription": "Kör automatiskt Pangea Chat grammatik- och översättningshjälp innan jag skickar mitt meddelande.",
|
||||
"tooltipInstructionsTitle": "Inte säker på vad det gör?",
|
||||
"tooltipInstructionsMobileBody": "Håll och tryck på objekt för att visa verktygstips.",
|
||||
"tooltipInstructionsBrowserBody": "Hovra över objekt för att visa verktygstips.",
|
||||
|
|
@ -6683,14 +6681,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -11432,5 +11422,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "Aktivera skrivhjälp",
|
||||
"autoIGCToolDescription": "Kör automatiskt Pangea Chat-verktyg för att korrigera skickade meddelanden till målspråket.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "Inspelningen misslyckades. Kontrollera dina ljudbehörigheter och försök igen.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"@@last_modified": "2026-01-28 13:26:42.100203",
|
||||
"@@last_modified": "2026-01-29 15:25:06.783614",
|
||||
"acceptedTheInvitation": "👍 {username} அழைப்பை ஏற்றுக்கொண்டது",
|
||||
"@acceptedTheInvitation": {
|
||||
"type": "String",
|
||||
|
|
@ -3661,8 +3661,6 @@
|
|||
"noPaymentInfo": "பணம் செலுத்தும் தகவல் தேவையில்லை!",
|
||||
"updatePhoneOS": "உங்கள் சாதனத்தின் OS பதிப்பை புதுப்பிக்க வேண்டியிருக்கலாம்.",
|
||||
"wordsPerMinute": "நிமிடத்திற்கு சொற்கள்",
|
||||
"autoIGCToolName": "பங்கேயா எழுத்து உதவியை தானாக இயக்கவும்",
|
||||
"autoIGCToolDescription": "எனது செய்தியை அனுப்புவதற்கு முன் தானாக பங்கேயா உரையாடல் இலக்கணம் மற்றும் மொழிபெயர்ப்பு எழுத்து உதவியை இயக்கவும்.",
|
||||
"tooltipInstructionsTitle": "அது என்ன செய்கிறது என்று தெரியுமா?",
|
||||
"tooltipInstructionsMobileBody": "உருப்படிகளை அழுத்தி வைத்திருங்கள், கருவி விளக்கங்களைப் பார்க்க.",
|
||||
"tooltipInstructionsBrowserBody": "உருப்படிகளின் மேல் கரைசல் வைத்து கருவி விளக்கங்களைப் பார்க்க.",
|
||||
|
|
@ -6429,14 +6427,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -11178,5 +11168,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "எழுத்து உதவியை செயல்படுத்தவும்",
|
||||
"autoIGCToolDescription": "அனுப்பிய செய்திகளை இலக்கு மொழிக்கு சரிசெய்ய பாஙோ உரையாடல் கருவிகளை தானாகவே இயக்கவும்.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "பதிவு தோல்வியுற்றது. உங்கள் ஒலிப் அனுமதிகளை சரிபார்க்கவும் மற்றும் மீண்டும் முயற்சிக்கவும்.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1196,8 +1196,6 @@
|
|||
"noPaymentInfo": "చెల్లింపు సమాచారం అవసరం లేదు!",
|
||||
"updatePhoneOS": "మీ డివైస్ యొక్క OS వెర్షన్ను నవీకరించాల్సి ఉండవచ్చు.",
|
||||
"wordsPerMinute": "నిమిషానికి పదాలు",
|
||||
"autoIGCToolName": "పాంజియా రాయడం సహాయాన్ని స్వయంచాలకంగా నడపండి",
|
||||
"autoIGCToolDescription": "నా సందేశాన్ని పంపేముందు స్వయంచాలకంగా పాంజియా చాట్ వ్యాకరణం మరియు అనువాద రాయడం సహాయాన్ని నడపండి.",
|
||||
"tooltipInstructionsTitle": "అది ఏమిటో తెలియదా?",
|
||||
"tooltipInstructionsMobileBody": "టూల్టిప్లను చూడటానికి అంశాలను నొక్కి ఉంచండి.",
|
||||
"tooltipInstructionsBrowserBody": "టూల్టిప్లను చూడటానికి అంశాలపై హోవర్ చేయండి.",
|
||||
|
|
@ -1919,7 +1917,7 @@
|
|||
"playWithAI": "ఇప్పుడే AI తో ఆడండి",
|
||||
"courseStartDesc": "పాంజియా బాట్ ఎప్పుడైనా సిద్ధంగా ఉంటుంది!\n\n...కానీ స్నేహితులతో నేర్చుకోవడం మెరుగైనది!",
|
||||
"@@locale": "te",
|
||||
"@@last_modified": "2026-01-28 13:26:38.102435",
|
||||
"@@last_modified": "2026-01-29 15:25:03.384353",
|
||||
"@setCustomPermissionLevel": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -7297,14 +7295,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -12043,5 +12033,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "రాయడం సహాయాన్ని ప్రారంభించండి",
|
||||
"autoIGCToolDescription": "సమర్పించిన సందేశాలను లక్ష్య భాషకు సరిదిద్దడానికి పాంజియా చాట్ సాధనాలను ఆటోమేటిక్గా నడపండి.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "రికార్డింగ్ విఫలమైంది. దయచేసి మీ ఆడియో అనుమతులను తనిఖీ చేసి మళ్లీ ప్రయత్నించండి.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -3732,8 +3732,6 @@
|
|||
"noPaymentInfo": "ไม่จำเป็นต้องมีข้อมูลการชำระเงิน!",
|
||||
"updatePhoneOS": "คุณอาจจำเป็นต้องอัปเดตเวอร์ชันระบบปฏิบัติการของอุปกรณ์ของคุณ",
|
||||
"wordsPerMinute": "คำต่อนาที",
|
||||
"autoIGCToolName": "เรียกใช้เครื่องมือช่วยเขียน Pangea อัตโนมัติ",
|
||||
"autoIGCToolDescription": "เรียกใช้การช่วยเขียนไวยากรณ์และการแปลของ Pangea Chat อัตโนมัติก่อนส่งข้อความของฉัน",
|
||||
"tooltipInstructionsTitle": "ไม่แน่ใจว่าสิ่งนั้นทำอะไร?",
|
||||
"tooltipInstructionsMobileBody": "กดค้างไว้เพื่อดูคำแนะนำเครื่องมือ",
|
||||
"tooltipInstructionsBrowserBody": "วางเมาส์เหนือรายการเพื่อดูคำแนะนำเครื่องมือ",
|
||||
|
|
@ -4455,7 +4453,7 @@
|
|||
"playWithAI": "เล่นกับ AI ชั่วคราว",
|
||||
"courseStartDesc": "Pangea Bot พร้อมที่จะเริ่มต้นได้ทุกเมื่อ!\n\n...แต่การเรียนรู้ดีกว่ากับเพื่อน!",
|
||||
"@@locale": "th",
|
||||
"@@last_modified": "2026-01-28 13:26:25.241346",
|
||||
"@@last_modified": "2026-01-29 15:24:55.978319",
|
||||
"@alwaysUse24HourFormat": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -7263,14 +7261,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -12012,5 +12002,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "เปิดใช้งานความช่วยเหลือในการเขียน",
|
||||
"autoIGCToolDescription": "เรียกใช้เครื่องมือ Pangea Chat โดยอัตโนมัติเพื่อแก้ไขข้อความที่ส่งไปยังภาษาที่ต้องการ.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "การบันทึกล้มเหลว โปรดตรวจสอบสิทธิ์เสียงของคุณและลองอีกครั้ง",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"@@locale": "tr",
|
||||
"@@last_modified": "2026-01-28 13:26:36.845268",
|
||||
"@@last_modified": "2026-01-29 15:25:02.072081",
|
||||
"about": "Hakkında",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -3668,8 +3668,6 @@
|
|||
"noPaymentInfo": "Ödeme bilgisi gerekmez!",
|
||||
"updatePhoneOS": "Cihazınızın işletim sistemi sürümünü güncellemeniz gerekebilir.",
|
||||
"wordsPerMinute": "Dakikada kelime",
|
||||
"autoIGCToolName": "Pangea yazma yardımını otomatik çalıştır",
|
||||
"autoIGCToolDescription": "Mesajımı göndermeden önce Pangea Sohbet dilbilgisi ve çeviri yazma yardımını otomatik olarak çalıştır.",
|
||||
"tooltipInstructionsTitle": "Bu ne işe yarar bilmiyor musun?",
|
||||
"tooltipInstructionsMobileBody": "Öğe üzerine basılı tutarak ipuçlarını görüntüleyin.",
|
||||
"tooltipInstructionsBrowserBody": "İpuçlarını görüntülemek için öğeler üzerinde fare ile durun.",
|
||||
|
|
@ -6427,14 +6425,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -11176,5 +11166,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "Yazma yardımını etkinleştir",
|
||||
"autoIGCToolDescription": "Gönderilen mesajları hedef dile düzeltmek için Pangea Chat araçlarını otomatik olarak çalıştır.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "Kayıt başarısız oldu. Lütfen ses izinlerinizi kontrol edin ve tekrar deneyin.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"@@locale": "uk",
|
||||
"@@last_modified": "2026-01-28 13:26:19.427065",
|
||||
"@@last_modified": "2026-01-29 15:24:49.757644",
|
||||
"about": "Про застосунок",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -3787,8 +3787,6 @@
|
|||
"noPaymentInfo": "Інформація про оплату не потрібна!",
|
||||
"updatePhoneOS": "Можливо, потрібно оновити версію ОС вашого пристрою.",
|
||||
"wordsPerMinute": "Слів за хвилину",
|
||||
"autoIGCToolName": "Автоматично запускати допомогу з написання Pangea",
|
||||
"autoIGCToolDescription": "Автоматично запускати допомогу з граматики та перекладу в чаті Pangea перед відправкою мого повідомлення.",
|
||||
"tooltipInstructionsTitle": "Не впевнений, що це робить?",
|
||||
"tooltipInstructionsMobileBody": "Натисніть і утримуйте елементи, щоб переглянути підказки.",
|
||||
"tooltipInstructionsBrowserBody": "Наведіть курсор на елементи, щоб переглянути підказки.",
|
||||
|
|
@ -6199,14 +6197,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -10948,5 +10938,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "Увімкнути допомогу в написанні",
|
||||
"autoIGCToolDescription": "Автоматично запускати інструменти Pangea Chat для виправлення надісланих повідомлень на цільову мову.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "Запис не вдався. Будь ласка, перевірте свої аудіоправа та спробуйте ще раз.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"@@last_modified": "2026-01-28 13:26:40.659203",
|
||||
"@@last_modified": "2026-01-29 15:25:05.410589",
|
||||
"about": "Giới thiệu",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -2422,8 +2422,6 @@
|
|||
"noPaymentInfo": "Không cần thông tin thanh toán!",
|
||||
"updatePhoneOS": "Bạn có thể cần nâng cấp phiên bản hệ điều hành.",
|
||||
"wordsPerMinute": "Từ mỗi phút",
|
||||
"autoIGCToolName": "Tự động chạy hỗ trợ ngôn ngữ",
|
||||
"autoIGCToolDescription": "Tự động chạy hỗ trợ ngôn ngữ sau khi gõ tin nhắn",
|
||||
"chatCapacity": "Giới hạn thành viên trò chuyện",
|
||||
"roomFull": "Phòng đã đạt giới hạn.",
|
||||
"chatCapacityHasBeenChanged": "Giới hạn thành viên trò chuyện đã thay đổi",
|
||||
|
|
@ -6524,5 +6522,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "Bật trợ giúp viết",
|
||||
"autoIGCToolDescription": "Tự động chạy các công cụ Pangea Chat để sửa các tin nhắn đã gửi sang ngôn ngữ mục tiêu.",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "Ghi âm không thành công. Vui lòng kiểm tra quyền truy cập âm thanh của bạn và thử lại.",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1119,8 +1119,6 @@
|
|||
"noPaymentInfo": "無需付款資料!",
|
||||
"updatePhoneOS": "您可能需要更新設備的操作系統版本。",
|
||||
"wordsPerMinute": "每分鐘字數",
|
||||
"autoIGCToolName": "自動運行Pangea寫作協助",
|
||||
"autoIGCToolDescription": "在發送消息前,自動運行Pangea聊天語法和翻譯寫作協助。",
|
||||
"tooltipInstructionsTitle": "不確定那是什麼嗎?",
|
||||
"tooltipInstructionsMobileBody": "長按項目以查看工具提示。",
|
||||
"tooltipInstructionsBrowserBody": "將滑鼠懸停在項目上以查看工具提示。",
|
||||
|
|
@ -1855,7 +1853,7 @@
|
|||
"selectAll": "全選",
|
||||
"deselectAll": "取消全選",
|
||||
"@@locale": "yue",
|
||||
"@@last_modified": "2026-01-28 13:26:16.825978",
|
||||
"@@last_modified": "2026-01-29 15:24:47.783824",
|
||||
"@ignoreUser": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -6898,14 +6896,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -12045,5 +12035,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "啟用寫作輔助",
|
||||
"autoIGCToolDescription": "自動運行 Pangea Chat 工具以將發送的消息更正為目標語言。",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "錄音失敗。請檢查您的音頻權限並重試。",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"@@locale": "zh",
|
||||
"@@last_modified": "2026-01-28 13:26:45.843538",
|
||||
"@@last_modified": "2026-01-29 15:25:09.954015",
|
||||
"about": "关于",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -3788,8 +3788,6 @@
|
|||
"noPaymentInfo": "无需支付信息!",
|
||||
"updatePhoneOS": "您可能需要更新设备的操作系统版本。",
|
||||
"wordsPerMinute": "每分钟字数",
|
||||
"autoIGCToolName": "自动运行Pangea写作辅助",
|
||||
"autoIGCToolDescription": "在发送消息前自动运行Pangea聊天语法和翻译写作辅助。",
|
||||
"tooltipInstructionsTitle": "不确定它的作用吗?",
|
||||
"tooltipInstructionsMobileBody": "长按项目以查看工具提示。",
|
||||
"tooltipInstructionsBrowserBody": "将鼠标悬停在项目上以查看工具提示。",
|
||||
|
|
@ -6196,14 +6194,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -10945,5 +10935,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "启用写作辅助",
|
||||
"autoIGCToolDescription": "自动运行 Pangea Chat 工具以将发送的消息纠正为目标语言。",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "录音失败。请检查您的音频权限并重试。",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"@@last_modified": "2026-01-28 13:26:27.558260",
|
||||
"@@last_modified": "2026-01-29 15:24:57.889262",
|
||||
"about": "關於",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -3764,8 +3764,6 @@
|
|||
"noPaymentInfo": "無需付款資訊!",
|
||||
"updatePhoneOS": "您可能需要更新設備的作業系統版本。",
|
||||
"wordsPerMinute": "每分鐘字數",
|
||||
"autoIGCToolName": "自動運行Pangea寫作協助",
|
||||
"autoIGCToolDescription": "在發送訊息前,自動運行Pangea聊天語法和翻譯寫作協助。",
|
||||
"tooltipInstructionsTitle": "不確定這是做什麼的嗎?",
|
||||
"tooltipInstructionsMobileBody": "長按項目以查看工具提示。",
|
||||
"tooltipInstructionsBrowserBody": "將滑鼠懸停在項目上以查看工具提示。",
|
||||
|
|
@ -6220,14 +6218,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@tooltipInstructionsTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -10952,5 +10942,20 @@
|
|||
"@courseLoadingError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoIGCToolName": "啟用寫作輔助",
|
||||
"autoIGCToolDescription": "自動運行 Pangea Chat 工具以將發送的消息更正為目標語言。",
|
||||
"@autoIGCToolName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@autoIGCToolDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyAudioError": "錄音失敗。請檢查您的音頻權限並重試。",
|
||||
"@emptyAudioError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -195,6 +195,7 @@ class ChatController extends State<ChatPageWithRoom>
|
|||
StreamSubscription? _botAudioSubscription;
|
||||
final timelineUpdateNotifier = _TimelineUpdateNotifier();
|
||||
late final ActivityChatController activityController;
|
||||
final ValueNotifier<bool> scrollableNotifier = ValueNotifier(false);
|
||||
// Pangea#
|
||||
Room get room => sendingClient.getRoomById(roomId) ?? widget.room;
|
||||
|
||||
|
|
@ -807,6 +808,7 @@ class ChatController extends State<ChatPageWithRoom>
|
|||
scrollController.dispose();
|
||||
inputFocus.dispose();
|
||||
depressMessageButton.dispose();
|
||||
scrollableNotifier.dispose();
|
||||
TokensUtil.clearNewTokenCache();
|
||||
//Pangea#
|
||||
super.dispose();
|
||||
|
|
|
|||
|
|
@ -51,147 +51,160 @@ class ChatEventList extends StatelessWidget {
|
|||
controller.room.client.applicationAccountConfig.wallpaperUrl != null;
|
||||
|
||||
return SelectionArea(
|
||||
child: ListView.custom(
|
||||
padding: EdgeInsets.only(
|
||||
top: 16,
|
||||
bottom: 8,
|
||||
left: horizontalPadding,
|
||||
right: horizontalPadding,
|
||||
),
|
||||
reverse: true,
|
||||
controller: controller.scrollController,
|
||||
keyboardDismissBehavior: PlatformInfos.isIOS
|
||||
? ScrollViewKeyboardDismissBehavior.onDrag
|
||||
: ScrollViewKeyboardDismissBehavior.manual,
|
||||
childrenDelegate: SliverChildBuilderDelegate(
|
||||
(BuildContext context, int i) {
|
||||
// Footer to display typing indicator and read receipts:
|
||||
if (i == 0) {
|
||||
if (timeline.isRequestingFuture) {
|
||||
return const Center(
|
||||
child: CircularProgressIndicator.adaptive(strokeWidth: 2),
|
||||
);
|
||||
}
|
||||
if (timeline.canRequestFuture) {
|
||||
return Center(
|
||||
child: IconButton(
|
||||
onPressed: controller.requestFuture,
|
||||
icon: const Icon(Icons.refresh_outlined),
|
||||
),
|
||||
);
|
||||
}
|
||||
return Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
SeenByRow(controller),
|
||||
TypingIndicators(controller),
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
// Request history button or progress indicator:
|
||||
// #Pangea
|
||||
// if (i == events.length + 1) {
|
||||
if (i == events.length + 2) {
|
||||
// Pangea#
|
||||
if (timeline.isRequestingHistory) {
|
||||
return const Center(
|
||||
child: CircularProgressIndicator.adaptive(strokeWidth: 2),
|
||||
);
|
||||
}
|
||||
if (timeline.canRequestHistory) {
|
||||
return Builder(
|
||||
builder: (context) {
|
||||
// #Pangea
|
||||
// WidgetsBinding.instance
|
||||
// .addPostFrameCallback(controller.requestHistory);
|
||||
WidgetsBinding.instance.addPostFrameCallback(
|
||||
(_) => controller.requestHistory(),
|
||||
);
|
||||
// Pangea#
|
||||
return Center(
|
||||
child: IconButton(
|
||||
onPressed: controller.requestHistory,
|
||||
icon: const Icon(Icons.refresh_outlined),
|
||||
),
|
||||
);
|
||||
},
|
||||
);
|
||||
}
|
||||
return const SizedBox.shrink();
|
||||
}
|
||||
|
||||
// #Pangea
|
||||
if (i == 1) {
|
||||
return ActivityUserSummaries(controller: controller);
|
||||
}
|
||||
// Pangea#
|
||||
|
||||
// #Pangea
|
||||
// i--;
|
||||
i = i - 2;
|
||||
// Pangea#
|
||||
|
||||
// The message at this index:
|
||||
final event = events[i];
|
||||
final animateIn = animateInEventIndex != null &&
|
||||
timeline.events.length > animateInEventIndex &&
|
||||
event == timeline.events[animateInEventIndex];
|
||||
|
||||
return AutoScrollTag(
|
||||
key: ValueKey(event.eventId),
|
||||
index: i,
|
||||
controller: controller.scrollController,
|
||||
child: Message(
|
||||
event,
|
||||
animateIn: animateIn,
|
||||
resetAnimateIn: () {
|
||||
controller.animateInEventIndex = null;
|
||||
},
|
||||
onSwipe: () => controller.replyAction(replyTo: event),
|
||||
// #Pangea
|
||||
onInfoTab: (_) => {},
|
||||
// onInfoTab: controller.showEventInfo,
|
||||
// Pangea#
|
||||
onMention: () => controller.sendController.text +=
|
||||
'${event.senderFromMemoryOrFallback.mention} ',
|
||||
highlightMarker:
|
||||
controller.scrollToEventIdMarker == event.eventId,
|
||||
// #Pangea
|
||||
// onSelect: controller.onSelectMessage,
|
||||
onSelect: (_) {},
|
||||
// Pangea#
|
||||
scrollToEventId: (String eventId) =>
|
||||
controller.scrollToEventId(eventId),
|
||||
longPressSelect: controller.selectedEvents.isNotEmpty,
|
||||
// #Pangea
|
||||
controller: controller,
|
||||
isButton: event.eventId == controller.buttonEventID,
|
||||
canRefresh: event.eventId == controller.refreshEventID,
|
||||
// Pangea#
|
||||
selected: controller.selectedEvents
|
||||
.any((e) => e.eventId == event.eventId),
|
||||
singleSelected:
|
||||
controller.selectedEvents.singleOrNull?.eventId ==
|
||||
event.eventId,
|
||||
onEdit: () => controller.editSelectedEventAction(),
|
||||
timeline: timeline,
|
||||
displayReadMarker:
|
||||
i > 0 && controller.readMarkerEventId == event.eventId,
|
||||
nextEvent: i + 1 < events.length ? events[i + 1] : null,
|
||||
previousEvent: i > 0 ? events[i - 1] : null,
|
||||
wallpaperMode: hasWallpaper,
|
||||
scrollController: controller.scrollController,
|
||||
colors: colors,
|
||||
),
|
||||
);
|
||||
},
|
||||
// #Pangea
|
||||
// childCount: events.length + 2,
|
||||
childCount: events.length + 3,
|
||||
// #Pangea
|
||||
// child: ListView.custom(
|
||||
child: NotificationListener<ScrollMetricsNotification>(
|
||||
onNotification: (_) {
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
final scrollable =
|
||||
controller.scrollController.position.maxScrollExtent > 0;
|
||||
controller.scrollableNotifier.value = scrollable;
|
||||
});
|
||||
return true;
|
||||
},
|
||||
child: ListView.custom(
|
||||
// Pangea#
|
||||
findChildIndexCallback: (key) =>
|
||||
controller.findChildIndexCallback(key, thisEventsKeyMap),
|
||||
padding: EdgeInsets.only(
|
||||
top: 16,
|
||||
bottom: 8,
|
||||
left: horizontalPadding,
|
||||
right: horizontalPadding,
|
||||
),
|
||||
reverse: true,
|
||||
controller: controller.scrollController,
|
||||
keyboardDismissBehavior: PlatformInfos.isIOS
|
||||
? ScrollViewKeyboardDismissBehavior.onDrag
|
||||
: ScrollViewKeyboardDismissBehavior.manual,
|
||||
childrenDelegate: SliverChildBuilderDelegate(
|
||||
(BuildContext context, int i) {
|
||||
// Footer to display typing indicator and read receipts:
|
||||
if (i == 0) {
|
||||
if (timeline.isRequestingFuture) {
|
||||
return const Center(
|
||||
child: CircularProgressIndicator.adaptive(strokeWidth: 2),
|
||||
);
|
||||
}
|
||||
if (timeline.canRequestFuture) {
|
||||
return Center(
|
||||
child: IconButton(
|
||||
onPressed: controller.requestFuture,
|
||||
icon: const Icon(Icons.refresh_outlined),
|
||||
),
|
||||
);
|
||||
}
|
||||
return Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
SeenByRow(controller),
|
||||
TypingIndicators(controller),
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
// Request history button or progress indicator:
|
||||
// #Pangea
|
||||
// if (i == events.length + 1) {
|
||||
if (i == events.length + 2) {
|
||||
// Pangea#
|
||||
if (timeline.isRequestingHistory) {
|
||||
return const Center(
|
||||
child: CircularProgressIndicator.adaptive(strokeWidth: 2),
|
||||
);
|
||||
}
|
||||
if (timeline.canRequestHistory) {
|
||||
return Builder(
|
||||
builder: (context) {
|
||||
// #Pangea
|
||||
// WidgetsBinding.instance
|
||||
// .addPostFrameCallback(controller.requestHistory);
|
||||
WidgetsBinding.instance.addPostFrameCallback(
|
||||
(_) => controller.requestHistory(),
|
||||
);
|
||||
// Pangea#
|
||||
return Center(
|
||||
child: IconButton(
|
||||
onPressed: controller.requestHistory,
|
||||
icon: const Icon(Icons.refresh_outlined),
|
||||
),
|
||||
);
|
||||
},
|
||||
);
|
||||
}
|
||||
return const SizedBox.shrink();
|
||||
}
|
||||
|
||||
// #Pangea
|
||||
if (i == 1) {
|
||||
return ActivityUserSummaries(controller: controller);
|
||||
}
|
||||
// Pangea#
|
||||
|
||||
// #Pangea
|
||||
// i--;
|
||||
i = i - 2;
|
||||
// Pangea#
|
||||
|
||||
// The message at this index:
|
||||
final event = events[i];
|
||||
final animateIn = animateInEventIndex != null &&
|
||||
timeline.events.length > animateInEventIndex &&
|
||||
event == timeline.events[animateInEventIndex];
|
||||
|
||||
return AutoScrollTag(
|
||||
key: ValueKey(event.eventId),
|
||||
index: i,
|
||||
controller: controller.scrollController,
|
||||
child: Message(
|
||||
event,
|
||||
animateIn: animateIn,
|
||||
resetAnimateIn: () {
|
||||
controller.animateInEventIndex = null;
|
||||
},
|
||||
onSwipe: () => controller.replyAction(replyTo: event),
|
||||
// #Pangea
|
||||
onInfoTab: (_) => {},
|
||||
// onInfoTab: controller.showEventInfo,
|
||||
// Pangea#
|
||||
onMention: () => controller.sendController.text +=
|
||||
'${event.senderFromMemoryOrFallback.mention} ',
|
||||
highlightMarker:
|
||||
controller.scrollToEventIdMarker == event.eventId,
|
||||
// #Pangea
|
||||
// onSelect: controller.onSelectMessage,
|
||||
onSelect: (_) {},
|
||||
// Pangea#
|
||||
scrollToEventId: (String eventId) =>
|
||||
controller.scrollToEventId(eventId),
|
||||
longPressSelect: controller.selectedEvents.isNotEmpty,
|
||||
// #Pangea
|
||||
controller: controller,
|
||||
isButton: event.eventId == controller.buttonEventID,
|
||||
canRefresh: event.eventId == controller.refreshEventID,
|
||||
// Pangea#
|
||||
selected: controller.selectedEvents
|
||||
.any((e) => e.eventId == event.eventId),
|
||||
singleSelected:
|
||||
controller.selectedEvents.singleOrNull?.eventId ==
|
||||
event.eventId,
|
||||
onEdit: () => controller.editSelectedEventAction(),
|
||||
timeline: timeline,
|
||||
displayReadMarker:
|
||||
i > 0 && controller.readMarkerEventId == event.eventId,
|
||||
nextEvent: i + 1 < events.length ? events[i + 1] : null,
|
||||
previousEvent: i > 0 ? events[i - 1] : null,
|
||||
wallpaperMode: hasWallpaper,
|
||||
scrollController: controller.scrollController,
|
||||
colors: colors,
|
||||
),
|
||||
);
|
||||
},
|
||||
// #Pangea
|
||||
// childCount: events.length + 2,
|
||||
childCount: events.length + 3,
|
||||
// Pangea#
|
||||
findChildIndexCallback: (key) =>
|
||||
controller.findChildIndexCallback(key, thisEventsKeyMap),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
|
|
|
|||
|
|
@ -19,6 +19,8 @@ import 'events/audio_player.dart';
|
|||
|
||||
class PermissionException implements Exception {}
|
||||
|
||||
class EmptyAudioException implements Exception {}
|
||||
|
||||
class RecordingDialog extends StatefulWidget {
|
||||
const RecordingDialog({
|
||||
super.key,
|
||||
|
|
@ -143,6 +145,16 @@ class RecordingDialogState extends State<RecordingDialog> {
|
|||
for (var i = 0; i < amplitudeTimeline.length; i += step) {
|
||||
waveform.add((amplitudeTimeline[i] / 100 * 1024).round());
|
||||
}
|
||||
|
||||
// #Pangea
|
||||
if (amplitudeTimeline.isEmpty || amplitudeTimeline.every((e) => e <= 1)) {
|
||||
if (mounted) {
|
||||
setState(() => error = EmptyAudioException());
|
||||
}
|
||||
return;
|
||||
}
|
||||
// Pangea#
|
||||
|
||||
Navigator.of(context, rootNavigator: false).pop<RecordingResult>(
|
||||
RecordingResult(
|
||||
path: path,
|
||||
|
|
@ -168,7 +180,7 @@ class RecordingDialogState extends State<RecordingDialog> {
|
|||
constraints: const BoxConstraints(maxWidth: 250.0),
|
||||
child: error is PermissionException
|
||||
? Text(L10n.of(context).recordingPermissionDenied)
|
||||
: kIsWeb
|
||||
: kIsWeb && error is! EmptyAudioException
|
||||
? Text(L10n.of(context).genericWebRecordingError)
|
||||
: Text(error!.toLocalizedString(context)),
|
||||
)
|
||||
|
|
|
|||
|
|
@ -696,7 +696,6 @@ class ChatListController extends State<ChatList>
|
|||
_roomCapacitySubscription?.cancel();
|
||||
MatrixState.pangeaController.subscriptionController.subscriptionNotifier
|
||||
.removeListener(_onSubscribe);
|
||||
SpaceCodeController.codeNotifier.removeListener(_onCacheSpaceCode);
|
||||
//Pangea#
|
||||
scrollController.removeListener(_onScroll);
|
||||
super.dispose();
|
||||
|
|
@ -1108,14 +1107,8 @@ class ChatListController extends State<ChatList>
|
|||
MatrixState.pangeaController.initControllers();
|
||||
if (mounted) {
|
||||
SpaceCodeController.joinCachedSpaceCode(context);
|
||||
SpaceCodeController.codeNotifier.addListener(_onCacheSpaceCode);
|
||||
}
|
||||
}
|
||||
|
||||
void _onCacheSpaceCode() {
|
||||
if (!mounted) return;
|
||||
SpaceCodeController.joinCachedSpaceCode(context);
|
||||
}
|
||||
// Pangea#
|
||||
|
||||
void setActiveFilter(ActiveFilter filter) {
|
||||
|
|
|
|||
|
|
@ -60,11 +60,13 @@ class NewPrivateChatController extends State<NewPrivateChat> {
|
|||
// Pangea#
|
||||
final profiles = result.results;
|
||||
|
||||
if (searchTerm.isValidMatrixId &&
|
||||
searchTerm.sigil == '@' &&
|
||||
!profiles.any((profile) => profile.userId == searchTerm)) {
|
||||
profiles.add(Profile(userId: searchTerm));
|
||||
}
|
||||
// #Pangea
|
||||
// if (searchTerm.isValidMatrixId &&
|
||||
// searchTerm.sigil == '@' &&
|
||||
// !profiles.any((profile) => profile.userId == searchTerm)) {
|
||||
// profiles.add(Profile(userId: searchTerm));
|
||||
// }
|
||||
// Pangea#
|
||||
|
||||
return profiles;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -97,17 +97,15 @@ class ActivitySummary extends StatelessWidget {
|
|||
color: theme.colorScheme.surface.withAlpha(128),
|
||||
borderRadius: BorderRadius.circular(12.0),
|
||||
),
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.symmetric(
|
||||
horizontal: 8.0,
|
||||
),
|
||||
child: Column(
|
||||
spacing: 4.0,
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
InkWell(
|
||||
hoverColor: theme.colorScheme.surfaceTint.withAlpha(55),
|
||||
onTap: toggleInstructions,
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
InkWell(
|
||||
borderRadius: BorderRadius.circular(12.0),
|
||||
hoverColor: theme.colorScheme.surfaceTint.withAlpha(55),
|
||||
onTap: toggleInstructions,
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.all(8.0),
|
||||
child: Column(
|
||||
spacing: 4.0,
|
||||
children: [
|
||||
|
|
@ -139,69 +137,75 @@ class ActivitySummary extends StatelessWidget {
|
|||
],
|
||||
),
|
||||
),
|
||||
if (showInstructions) ...[
|
||||
Row(
|
||||
spacing: 8.0,
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
),
|
||||
if (showInstructions)
|
||||
Padding(
|
||||
padding: const EdgeInsets.all(16.0),
|
||||
child: Column(
|
||||
children: [
|
||||
Text(
|
||||
activity.req.mode,
|
||||
style: theme.textTheme.bodyMedium,
|
||||
),
|
||||
Row(
|
||||
spacing: 4.0,
|
||||
spacing: 8.0,
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
const Icon(Icons.school, size: 12.0),
|
||||
Text(
|
||||
activity.req.cefrLevel.string,
|
||||
activity.req.mode,
|
||||
style: theme.textTheme.bodyMedium,
|
||||
),
|
||||
Row(
|
||||
spacing: 4.0,
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
const Icon(Icons.school, size: 12.0),
|
||||
Text(
|
||||
activity.req.cefrLevel.string,
|
||||
style: theme.textTheme.bodyMedium,
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
ActivitySessionDetailsRow(
|
||||
icon: Symbols.target,
|
||||
iconSize: 16.0,
|
||||
child: Text(
|
||||
activity.learningObjective,
|
||||
style: theme.textTheme.bodyMedium,
|
||||
),
|
||||
),
|
||||
ActivitySessionDetailsRow(
|
||||
icon: Symbols.steps,
|
||||
iconSize: 16.0,
|
||||
child: Html(
|
||||
data: markdown(activity.instructions),
|
||||
style: {
|
||||
"body": Style(
|
||||
margin: Margins.all(0),
|
||||
padding: HtmlPaddings.all(0),
|
||||
fontSize: FontSize(
|
||||
theme.textTheme.bodyMedium!.fontSize!,
|
||||
),
|
||||
),
|
||||
},
|
||||
),
|
||||
),
|
||||
ActivitySessionDetailsRow(
|
||||
icon: Symbols.dictionary,
|
||||
iconSize: 16.0,
|
||||
child: ActivityVocabWidget(
|
||||
key: ValueKey(
|
||||
"activity-summary-${activity.activityId}",
|
||||
),
|
||||
vocab: activity.vocab,
|
||||
langCode: activity.req.targetLanguage,
|
||||
targetId: "activity-summary-vocab",
|
||||
usedVocab: usedVocab,
|
||||
activityLangCode: activity.req.targetLanguage,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
ActivitySessionDetailsRow(
|
||||
icon: Symbols.target,
|
||||
iconSize: 16.0,
|
||||
child: Text(
|
||||
activity.learningObjective,
|
||||
style: theme.textTheme.bodyMedium,
|
||||
),
|
||||
),
|
||||
ActivitySessionDetailsRow(
|
||||
icon: Symbols.steps,
|
||||
iconSize: 16.0,
|
||||
child: Html(
|
||||
data: markdown(activity.instructions),
|
||||
style: {
|
||||
"body": Style(
|
||||
margin: Margins.all(0),
|
||||
padding: HtmlPaddings.all(0),
|
||||
fontSize: FontSize(
|
||||
theme.textTheme.bodyMedium!.fontSize!,
|
||||
),
|
||||
),
|
||||
},
|
||||
),
|
||||
),
|
||||
ActivitySessionDetailsRow(
|
||||
icon: Symbols.dictionary,
|
||||
iconSize: 16.0,
|
||||
child: ActivityVocabWidget(
|
||||
key: ValueKey(
|
||||
"activity-summary-${activity.activityId}",
|
||||
),
|
||||
vocab: activity.vocab,
|
||||
langCode: activity.req.targetLanguage,
|
||||
targetId: "activity-summary-vocab",
|
||||
usedVocab: usedVocab,
|
||||
activityLangCode: activity.req.targetLanguage,
|
||||
),
|
||||
),
|
||||
],
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
|
|
|
|||
|
|
@ -163,6 +163,7 @@ class AnalyticsDataService {
|
|||
Logs().i("Analytics database initialized.");
|
||||
initCompleter.complete();
|
||||
updateDispatcher.sendConstructAnalyticsUpdate(AnalyticsUpdate([]));
|
||||
updateDispatcher.sendActivityAnalyticsUpdate(null);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -47,8 +47,8 @@ class AnalyticsUpdateDispatcher {
|
|||
final StreamController<AnalyticsStreamUpdate> constructUpdateStream =
|
||||
StreamController<AnalyticsStreamUpdate>.broadcast();
|
||||
|
||||
final StreamController<String> activityAnalyticsStream =
|
||||
StreamController<String>.broadcast();
|
||||
final StreamController<String?> activityAnalyticsStream =
|
||||
StreamController<String?>.broadcast();
|
||||
|
||||
final StreamController<Set<ConstructIdentifier>> unlockedConstructsStream =
|
||||
StreamController<Set<ConstructIdentifier>>.broadcast();
|
||||
|
|
@ -85,7 +85,7 @@ class AnalyticsUpdateDispatcher {
|
|||
.map((update) => update.value);
|
||||
|
||||
void sendActivityAnalyticsUpdate(
|
||||
String activityAnalytics,
|
||||
String? activityAnalytics,
|
||||
) =>
|
||||
activityAnalyticsStream.add(activityAnalytics);
|
||||
|
||||
|
|
|
|||
|
|
@ -26,47 +26,58 @@ class ActivityArchive extends StatelessWidget {
|
|||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final Room? analyticsRoom = Matrix.of(context).client.analyticsRoomLocal();
|
||||
final archive = analyticsRoom?.archivedActivities ?? [];
|
||||
final selectedRoomId = GoRouterState.of(context).pathParameters['roomid'];
|
||||
return Scaffold(
|
||||
body: SafeArea(
|
||||
child: Padding(
|
||||
padding: const EdgeInsetsGeometry.all(16.0),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
const LearningProgressIndicators(
|
||||
selected: ProgressIndicatorEnum.activities,
|
||||
),
|
||||
Expanded(
|
||||
child: MaxWidthBody(
|
||||
withScrolling: false,
|
||||
child: ListView.builder(
|
||||
physics: const ClampingScrollPhysics(),
|
||||
itemCount: archive.length + 1,
|
||||
itemBuilder: (BuildContext context, int i) {
|
||||
if (i == 0) {
|
||||
return InstructionsInlineTooltip(
|
||||
instructionsEnum: archive.isEmpty
|
||||
? InstructionsEnum.noSavedActivitiesYet
|
||||
: InstructionsEnum.activityAnalyticsList,
|
||||
padding: const EdgeInsets.all(8.0),
|
||||
);
|
||||
}
|
||||
i--;
|
||||
return AnalyticsActivityItem(
|
||||
room: archive[i],
|
||||
selected: archive[i].id == selectedRoomId,
|
||||
);
|
||||
},
|
||||
return StreamBuilder(
|
||||
stream: Matrix.of(context)
|
||||
.analyticsDataService
|
||||
.updateDispatcher
|
||||
.activityAnalyticsStream
|
||||
.stream,
|
||||
builder: (context, _) {
|
||||
final Room? analyticsRoom =
|
||||
Matrix.of(context).client.analyticsRoomLocal();
|
||||
final archive = analyticsRoom?.archivedActivities ?? [];
|
||||
final selectedRoomId =
|
||||
GoRouterState.of(context).pathParameters['roomid'];
|
||||
return Scaffold(
|
||||
body: SafeArea(
|
||||
child: Padding(
|
||||
padding: const EdgeInsetsGeometry.all(16.0),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
const LearningProgressIndicators(
|
||||
selected: ProgressIndicatorEnum.activities,
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
child: MaxWidthBody(
|
||||
withScrolling: false,
|
||||
child: ListView.builder(
|
||||
physics: const ClampingScrollPhysics(),
|
||||
itemCount: archive.length + 1,
|
||||
itemBuilder: (BuildContext context, int i) {
|
||||
if (i == 0) {
|
||||
return InstructionsInlineTooltip(
|
||||
instructionsEnum: archive.isEmpty
|
||||
? InstructionsEnum.noSavedActivitiesYet
|
||||
: InstructionsEnum.activityAnalyticsList,
|
||||
padding: const EdgeInsets.all(8.0),
|
||||
);
|
||||
}
|
||||
i--;
|
||||
return AnalyticsActivityItem(
|
||||
room: archive[i],
|
||||
selected: archive[i].id == selectedRoomId,
|
||||
);
|
||||
},
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
},
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -134,7 +134,6 @@ class _AnalyticsActivityView extends StatelessWidget {
|
|||
valueListenable: controller.activityTarget,
|
||||
builder: (context, target, __) => target != null
|
||||
? Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
Text(
|
||||
target.promptText(context),
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ class ChatFloatingActionButton extends StatelessWidget {
|
|||
controller.choreographer.errorService,
|
||||
controller.choreographer.itController.open,
|
||||
controller.scrollController,
|
||||
controller.scrollableNotifier,
|
||||
],
|
||||
),
|
||||
builder: (context, _) {
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import 'package:flutter/foundation.dart';
|
|||
import 'package:fluffychat/pangea/chat_settings/constants/bot_mode.dart';
|
||||
import 'package:fluffychat/pangea/common/constants/model_keys.dart';
|
||||
import 'package:fluffychat/pangea/common/utils/error_handler.dart';
|
||||
import 'package:fluffychat/pangea/learning_settings/gender_enum.dart';
|
||||
import 'package:fluffychat/pangea/learning_settings/language_level_type_enum.dart';
|
||||
|
||||
class BotOptionsModel {
|
||||
|
|
@ -23,6 +24,7 @@ class BotOptionsModel {
|
|||
final String? textAdventureGameMasterInstructions;
|
||||
final String? targetLanguage;
|
||||
final String? targetVoice;
|
||||
final GenderEnum targetGender;
|
||||
|
||||
const BotOptionsModel({
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
|
|
@ -35,6 +37,7 @@ class BotOptionsModel {
|
|||
this.mode = BotMode.discussion,
|
||||
this.targetLanguage,
|
||||
this.targetVoice,
|
||||
this.targetGender = GenderEnum.unselected,
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
// Discussion Mode Options
|
||||
|
|
@ -73,6 +76,12 @@ class BotOptionsModel {
|
|||
mode: json[ModelKey.mode] ?? BotMode.discussion,
|
||||
targetLanguage: json[ModelKey.targetLanguage],
|
||||
targetVoice: json[ModelKey.targetVoice],
|
||||
targetGender: json[ModelKey.targetGender] != null
|
||||
? GenderEnum.values.firstWhere(
|
||||
(g) => g.name == json[ModelKey.targetGender],
|
||||
orElse: () => GenderEnum.unselected,
|
||||
)
|
||||
: GenderEnum.unselected,
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// Discussion Mode Options
|
||||
|
|
@ -121,6 +130,7 @@ class BotOptionsModel {
|
|||
data[ModelKey.customTriggerReactionKey] = customTriggerReactionKey ?? "⏩";
|
||||
data[ModelKey.textAdventureGameMasterInstructions] =
|
||||
textAdventureGameMasterInstructions;
|
||||
data[ModelKey.targetGender] = targetGender.name;
|
||||
return data;
|
||||
} catch (e, s) {
|
||||
debugger(when: kDebugMode);
|
||||
|
|
@ -149,6 +159,7 @@ class BotOptionsModel {
|
|||
String? textAdventureGameMasterInstructions,
|
||||
String? targetLanguage,
|
||||
String? targetVoice,
|
||||
GenderEnum? targetGender,
|
||||
}) {
|
||||
return BotOptionsModel(
|
||||
languageLevel: languageLevel ?? this.languageLevel,
|
||||
|
|
@ -172,6 +183,7 @@ class BotOptionsModel {
|
|||
this.textAdventureGameMasterInstructions,
|
||||
targetLanguage: targetLanguage ?? this.targetLanguage,
|
||||
targetVoice: targetVoice ?? this.targetVoice,
|
||||
targetGender: targetGender ?? this.targetGender,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -59,10 +59,12 @@ extension BotClientExtension on Client {
|
|||
final targetLanguage = userSettings.targetLanguage;
|
||||
final languageLevel = userSettings.cefrLevel;
|
||||
final voice = userSettings.voice;
|
||||
final gender = userSettings.gender;
|
||||
|
||||
if (botOptions.targetLanguage == targetLanguage &&
|
||||
botOptions.languageLevel == languageLevel &&
|
||||
botOptions.targetVoice == voice) {
|
||||
botOptions.targetVoice == voice &&
|
||||
botOptions.targetGender == gender) {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
@ -70,6 +72,7 @@ extension BotClientExtension on Client {
|
|||
targetLanguage: targetLanguage,
|
||||
languageLevel: languageLevel,
|
||||
targetVoice: voice,
|
||||
targetGender: gender,
|
||||
);
|
||||
futures.add(targetBotRoom.setBotOptions(updated));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -107,7 +107,9 @@ class Environment {
|
|||
static String get stripeManagementUrl {
|
||||
return appConfigOverride?.stripeManagementUrl ??
|
||||
dotenv.env["STRIPE_MANAGEMENT_LINK"] ??
|
||||
'https://billing.stripe.com/p/login/dR6dSkf5p6rBc4EcMM';
|
||||
(isStagingEnvironment
|
||||
? 'https://billing.stripe.com/p/login/test_9AQaI8d3O9lmaXe5kk'
|
||||
: 'https://billing.stripe.com/p/login/dR6dSkf5p6rBc4EcMM');
|
||||
}
|
||||
|
||||
static String get supportUserId {
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ class PLocalKey {
|
|||
static const String dismissedPaywall = 'dismissedPaywall';
|
||||
static const String paywallBackoff = 'paywallBackoff';
|
||||
static const String clickedCancelSubscription = 'clickedCancelSubscription';
|
||||
static const String subscriptionEndDate = 'subscriptionWillEnd';
|
||||
static const String messagesSinceUpdate = 'messagesSinceLastUpdate';
|
||||
static const String completedActivities = 'completedActivities';
|
||||
static const String justInputtedCode = 'justInputtedCode';
|
||||
|
|
|
|||
|
|
@ -132,6 +132,7 @@ class ModelKey {
|
|||
static const String targetLanguage = "target_language";
|
||||
static const String sourceLanguage = "source_language";
|
||||
static const String targetVoice = "target_voice";
|
||||
static const String targetGender = "users_genders";
|
||||
|
||||
static const String prevEventId = "prev_event_id";
|
||||
static const String prevLastUpdated = "prev_last_updated";
|
||||
|
|
|
|||
|
|
@ -13,7 +13,6 @@ import 'package:fluffychat/l10n/l10n.dart';
|
|||
import 'package:fluffychat/pangea/join_codes/knock_space_extension.dart';
|
||||
import 'package:fluffychat/pangea/join_codes/space_code_repo.dart';
|
||||
import 'package:fluffychat/pangea/join_codes/too_many_requests_dialog.dart';
|
||||
import 'package:fluffychat/pangea/spaces/space_constants.dart';
|
||||
import 'package:fluffychat/widgets/future_loading_dialog.dart';
|
||||
import 'package:fluffychat/widgets/matrix.dart';
|
||||
import '../common/controllers/base_controller.dart';
|
||||
|
|
@ -21,18 +20,6 @@ import '../common/controllers/base_controller.dart';
|
|||
class NotFoundException implements Exception {}
|
||||
|
||||
class SpaceCodeController extends BaseController {
|
||||
static ValueNotifier<String?> codeNotifier = ValueNotifier<String?>(null);
|
||||
|
||||
static Future<void> onOpenAppViaUrl(Uri url) async {
|
||||
if (url.fragment.isEmpty) return;
|
||||
final fragment = Uri.parse(url.fragment);
|
||||
final code = fragment.queryParameters[SpaceConstants.classCode];
|
||||
if (code != null && fragment.path.contains('join_with_link')) {
|
||||
await SpaceCodeRepo.setSpaceCode(code);
|
||||
codeNotifier.value = code;
|
||||
}
|
||||
}
|
||||
|
||||
static Future<String?> joinCachedSpaceCode(BuildContext context) async {
|
||||
final String? spaceCode = SpaceCodeRepo.spaceCode;
|
||||
if (spaceCode == null) return null;
|
||||
|
|
|
|||
|
|
@ -170,7 +170,7 @@ class LanguageSelectionPageState extends State<LanguageSelectionPage> {
|
|||
),
|
||||
child: Wrap(
|
||||
spacing: isColumnMode ? 16.0 : 8.0,
|
||||
runSpacing: isColumnMode ? 16.0 : 8.0,
|
||||
runSpacing: isColumnMode ? 24.0 : 16.0,
|
||||
alignment: WrapAlignment.center,
|
||||
children: languages
|
||||
.where(
|
||||
|
|
@ -189,6 +189,9 @@ class LanguageSelectionPageState extends State<LanguageSelectionPage> {
|
|||
Radius.circular(16.0),
|
||||
),
|
||||
child: FilterChip(
|
||||
materialTapTargetSize:
|
||||
MaterialTapTargetSize
|
||||
.shrinkWrap,
|
||||
selected: _selectedLanguage == l,
|
||||
shape: const RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.all(
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
import 'dart:async';
|
||||
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:url_launcher/url_launcher_string.dart';
|
||||
|
|
@ -22,7 +23,8 @@ class SubscriptionManagement extends StatefulWidget {
|
|||
SubscriptionManagementController();
|
||||
}
|
||||
|
||||
class SubscriptionManagementController extends State<SubscriptionManagement> {
|
||||
class SubscriptionManagementController extends State<SubscriptionManagement>
|
||||
with WidgetsBindingObserver {
|
||||
final SubscriptionController subscriptionController =
|
||||
MatrixState.pangeaController.subscriptionController;
|
||||
|
||||
|
|
@ -31,6 +33,9 @@ class SubscriptionManagementController extends State<SubscriptionManagement> {
|
|||
|
||||
@override
|
||||
void initState() {
|
||||
WidgetsBinding.instance.addObserver(this);
|
||||
_refreshSubscription();
|
||||
|
||||
if (!subscriptionController.initCompleter.isCompleted) {
|
||||
subscriptionController.initialize().then((_) => setState(() {}));
|
||||
}
|
||||
|
|
@ -43,11 +48,20 @@ class SubscriptionManagementController extends State<SubscriptionManagement> {
|
|||
|
||||
@override
|
||||
void dispose() {
|
||||
WidgetsBinding.instance.removeObserver(this);
|
||||
subscriptionController.subscriptionNotifier.removeListener(_onSubscribe);
|
||||
subscriptionController.removeListener(_onSubscriptionUpdate);
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
@override
|
||||
void didChangeAppLifecycleState(AppLifecycleState state) {
|
||||
if (state == AppLifecycleState.resumed) {
|
||||
_refreshSubscription();
|
||||
}
|
||||
super.didChangeAppLifecycleState(state);
|
||||
}
|
||||
|
||||
bool get subscriptionsAvailable =>
|
||||
subscriptionController
|
||||
.availableSubscriptionInfo?.availableSubscriptions.isNotEmpty ??
|
||||
|
|
@ -103,6 +117,33 @@ class SubscriptionManagementController extends State<SubscriptionManagement> {
|
|||
void _onSubscriptionUpdate() => setState(() {});
|
||||
void _onSubscribe() => showSubscribedSnackbar(context);
|
||||
|
||||
Future<void> _refreshSubscription() async {
|
||||
if (!kIsWeb) return;
|
||||
|
||||
// if the user previously clicked cancel, check if the subscription end date has changed
|
||||
final prevEndDate = SubscriptionManagementRepo.getSubscriptionEndDate();
|
||||
final clickedCancel =
|
||||
SubscriptionManagementRepo.getClickedCancelSubscription();
|
||||
if (clickedCancel == null) return;
|
||||
|
||||
await subscriptionController.reinitialize();
|
||||
final newEndDate =
|
||||
subscriptionController.currentSubscriptionInfo?.subscriptionEndDate;
|
||||
|
||||
if (prevEndDate != newEndDate) {
|
||||
SubscriptionManagementRepo.removeClickedCancelSubscription();
|
||||
SubscriptionManagementRepo.setSubscriptionEndDate(newEndDate);
|
||||
if (mounted) setState(() {});
|
||||
return;
|
||||
}
|
||||
|
||||
// if more than 10 minutes have passed since the user clicked cancel, remove the click flag
|
||||
if (DateTime.now().difference(clickedCancel).inMinutes >= 10) {
|
||||
SubscriptionManagementRepo.removeClickedCancelSubscription();
|
||||
if (mounted) setState(() {});
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> submitChange(
|
||||
SubscriptionDetails subscription, {
|
||||
bool isPromo = false,
|
||||
|
|
@ -130,6 +171,9 @@ class SubscriptionManagementController extends State<SubscriptionManagement> {
|
|||
|
||||
Future<void> onClickCancelSubscription() async {
|
||||
await SubscriptionManagementRepo.setClickedCancelSubscription();
|
||||
await SubscriptionManagementRepo.setSubscriptionEndDate(
|
||||
subscriptionEndDate,
|
||||
);
|
||||
await launchMangementUrl(ManagementOption.cancel);
|
||||
if (mounted) setState(() {});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,6 +16,8 @@ class SettingsSubscriptionView extends StatelessWidget {
|
|||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final clickedCancelDate =
|
||||
SubscriptionManagementRepo.getClickedCancelSubscription();
|
||||
final List<Widget> managementButtons = [
|
||||
if (controller.currentSubscriptionAvailable)
|
||||
ListTile(
|
||||
|
|
@ -70,7 +72,8 @@ class SettingsSubscriptionView extends StatelessWidget {
|
|||
),
|
||||
),
|
||||
),
|
||||
if (SubscriptionManagementRepo.getClickedCancelSubscription())
|
||||
if (clickedCancelDate != null &&
|
||||
DateTime.now().difference(clickedCancelDate).inMinutes < 10)
|
||||
Padding(
|
||||
padding: const EdgeInsets.all(16.0),
|
||||
child: Row(
|
||||
|
|
|
|||
|
|
@ -77,14 +77,26 @@ class SubscriptionManagementRepo {
|
|||
);
|
||||
}
|
||||
|
||||
static bool getClickedCancelSubscription() {
|
||||
static DateTime? getClickedCancelSubscription() {
|
||||
final entry = _cache.read(PLocalKey.clickedCancelSubscription);
|
||||
if (entry == null) return false;
|
||||
final val = DateTime.tryParse(entry);
|
||||
return val != null && DateTime.now().difference(val).inSeconds < 60;
|
||||
if (entry == null) return null;
|
||||
return DateTime.tryParse(entry);
|
||||
}
|
||||
|
||||
static Future<void> removeClickedCancelSubscription() async {
|
||||
await _cache.remove(PLocalKey.clickedCancelSubscription);
|
||||
}
|
||||
|
||||
static Future<void> setSubscriptionEndDate(DateTime? date) async {
|
||||
await _cache.write(
|
||||
PLocalKey.subscriptionEndDate,
|
||||
date?.toIso8601String(),
|
||||
);
|
||||
}
|
||||
|
||||
static DateTime? getSubscriptionEndDate() {
|
||||
final entry = _cache.read(PLocalKey.subscriptionEndDate);
|
||||
if (entry == null) return null;
|
||||
return DateTime.tryParse(entry);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ import 'package:matrix/encryption.dart';
|
|||
import 'package:matrix/matrix.dart';
|
||||
|
||||
import 'package:fluffychat/l10n/l10n.dart';
|
||||
import 'package:fluffychat/pages/chat/recording_dialog.dart';
|
||||
import 'package:fluffychat/pangea/analytics_practice/analytics_practice_session_repo.dart';
|
||||
import 'package:fluffychat/pangea/common/network/requests.dart';
|
||||
import 'package:fluffychat/utils/other_party_can_receive.dart';
|
||||
|
|
@ -39,6 +40,10 @@ extension LocalizedExceptionExtension on Object {
|
|||
if (this is InsufficientDataException) {
|
||||
return L10n.of(context).notEnoughToPractice;
|
||||
}
|
||||
|
||||
if (this is EmptyAudioException) {
|
||||
return L10n.of(context).emptyAudioError;
|
||||
}
|
||||
// Pangea#
|
||||
if (this is FileTooBigMatrixException) {
|
||||
final exception = this as FileTooBigMatrixException;
|
||||
|
|
|
|||
|
|
@ -24,7 +24,6 @@ import 'package:fluffychat/pangea/analytics_data/analytics_data_service.dart';
|
|||
import 'package:fluffychat/pangea/common/controllers/pangea_controller.dart';
|
||||
import 'package:fluffychat/pangea/common/utils/any_state_holder.dart';
|
||||
import 'package:fluffychat/pangea/common/utils/error_handler.dart';
|
||||
import 'package:fluffychat/pangea/join_codes/space_code_controller.dart';
|
||||
import 'package:fluffychat/pangea/languages/locale_provider.dart';
|
||||
import 'package:fluffychat/pangea/user/style_settings_repo.dart';
|
||||
import 'package:fluffychat/utils/client_manager.dart';
|
||||
|
|
@ -680,8 +679,14 @@ class MatrixState extends State<Matrix> with WidgetsBindingObserver {
|
|||
|
||||
// #Pangea
|
||||
Future<void> _processIncomingUris(Uri? uri) async {
|
||||
if (uri == null) return;
|
||||
await SpaceCodeController.onOpenAppViaUrl(uri);
|
||||
if (uri == null || uri.fragment.isEmpty) return;
|
||||
|
||||
final path =
|
||||
uri.fragment.startsWith('/') ? uri.fragment : '/${uri.fragment}';
|
||||
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
FluffyChatApp.router.go(path);
|
||||
});
|
||||
}
|
||||
// Pangea#
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ description: Learn a language while texting your friends.
|
|||
# Pangea#
|
||||
publish_to: none
|
||||
# On version bump also increase the build number for F-Droid
|
||||
version: 4.1.16+5
|
||||
version: 4.1.16+6
|
||||
|
||||
environment:
|
||||
sdk: ">=3.0.0 <4.0.0"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue