diff --git a/app/lib/l10n/app_ar.arb b/app/lib/l10n/app_ar.arb index 01b88541a0..6719cda457 100644 --- a/app/lib/l10n/app_ar.arb +++ b/app/lib/l10n/app_ar.arb @@ -18,6 +18,8 @@ "clear": "مسح", "copyTranscript": "نسخ النص", "copySummary": "نسخ الملخص", + "copyConversationId": "نسخ معرّف المحادثة", + "conversationIdCopied": "تم نسخ معرّف المحادثة إلى الحافظة", "testPrompt": "اختبار الأمر", "reprocessConversation": "إعادة معالجة المحادثة", "deleteConversation": "حذف المحادثة", diff --git a/app/lib/l10n/app_be.arb b/app/lib/l10n/app_be.arb index 120d5b24d2..960a566568 100644 --- a/app/lib/l10n/app_be.arb +++ b/app/lib/l10n/app_be.arb @@ -73,6 +73,8 @@ "@copySummary": { "description": "Option to copy summary to clipboard" }, + "copyConversationId": "Скапіраваць ID размовы", + "conversationIdCopied": "ID размовы скапіраваны ў буфер абмену", "testPrompt": "Тэставаць запыт", "@testPrompt": { "description": "Menu item for testing prompts" diff --git a/app/lib/l10n/app_bg.arb b/app/lib/l10n/app_bg.arb index 99c1260baa..bb014393c0 100644 --- a/app/lib/l10n/app_bg.arb +++ b/app/lib/l10n/app_bg.arb @@ -18,6 +18,8 @@ "clear": "Изчисти", "copyTranscript": "Копирай стенограма", "copySummary": "Копирай обобщение", + "copyConversationId": "Копиране на ID на разговора", + "conversationIdCopied": "ID на разговора е копирано в клипборда", "testPrompt": "Тествай подсказка", "reprocessConversation": "Преработи разговор", "deleteConversation": "Изтриване на разговор", diff --git a/app/lib/l10n/app_bn.arb b/app/lib/l10n/app_bn.arb index 793cf403a4..5ac11ec56d 100644 --- a/app/lib/l10n/app_bn.arb +++ b/app/lib/l10n/app_bn.arb @@ -73,6 +73,8 @@ "@copySummary": { "description": "Option to copy summary to clipboard" }, + "copyConversationId": "কথোপকথন আইডি কপি করুন", + "conversationIdCopied": "কথোপকথন আইডি ক্লিপবোর্ডে কপি হয়েছে", "testPrompt": "পরীক্ষা প্রম্পট", "@testPrompt": { "description": "Menu item for testing prompts" diff --git a/app/lib/l10n/app_bs.arb b/app/lib/l10n/app_bs.arb index 76c8855a95..1d435d5e5d 100644 --- a/app/lib/l10n/app_bs.arb +++ b/app/lib/l10n/app_bs.arb @@ -73,6 +73,8 @@ "@copySummary": { "description": "Option to copy summary to clipboard" }, + "copyConversationId": "Kopiraj ID razgovora", + "conversationIdCopied": "ID razgovora kopiran u međuspremnik", "testPrompt": "Test upit", "@testPrompt": { "description": "Menu item for testing prompts" diff --git a/app/lib/l10n/app_ca.arb b/app/lib/l10n/app_ca.arb index e96ed2289d..ac56892bf2 100644 --- a/app/lib/l10n/app_ca.arb +++ b/app/lib/l10n/app_ca.arb @@ -18,6 +18,8 @@ "clear": "Neteja", "copyTranscript": "Copiar transcripció", "copySummary": "Copiar resum", + "copyConversationId": "Copia l'ID de la conversa", + "conversationIdCopied": "ID de la conversa copiat al porta-retalls", "testPrompt": "Provar indicació", "reprocessConversation": "Reprocessar conversa", "deleteConversation": "Suprimir conversa", diff --git a/app/lib/l10n/app_cs.arb b/app/lib/l10n/app_cs.arb index c90d15af31..3cf7eba6a6 100644 --- a/app/lib/l10n/app_cs.arb +++ b/app/lib/l10n/app_cs.arb @@ -18,6 +18,8 @@ "clear": "Vymazat", "copyTranscript": "Kopírovat přepis", "copySummary": "Kopírovat shrnutí", + "copyConversationId": "Kopírovat ID konverzace", + "conversationIdCopied": "ID konverzace zkopírováno do schránky", "testPrompt": "Testovat výzvu", "reprocessConversation": "Znovu zpracovat konverzaci", "deleteConversation": "Smazat konverzaci", diff --git a/app/lib/l10n/app_da.arb b/app/lib/l10n/app_da.arb index 83b7d0e8c3..7fb83cb132 100644 --- a/app/lib/l10n/app_da.arb +++ b/app/lib/l10n/app_da.arb @@ -18,6 +18,8 @@ "clear": "Ryd", "copyTranscript": "Kopier transskription", "copySummary": "Kopier opsummering", + "copyConversationId": "Kopiér samtale-ID", + "conversationIdCopied": "Samtale-ID kopieret til udklipsholder", "testPrompt": "Test prompt", "reprocessConversation": "Genbehandl samtale", "deleteConversation": "Slet samtale", diff --git a/app/lib/l10n/app_de.arb b/app/lib/l10n/app_de.arb index 9a3243140d..5f7ffe0958 100644 --- a/app/lib/l10n/app_de.arb +++ b/app/lib/l10n/app_de.arb @@ -18,6 +18,8 @@ "clear": "Löschen", "copyTranscript": "Transkript kopieren", "copySummary": "Zusammenfassung kopieren", + "copyConversationId": "Konversations-ID kopieren", + "conversationIdCopied": "Konversations-ID in Zwischenablage kopiert", "testPrompt": "Prompt testen", "reprocessConversation": "Unterhaltung neu verarbeiten", "deleteConversation": "Gespräch löschen", diff --git a/app/lib/l10n/app_el.arb b/app/lib/l10n/app_el.arb index 7b4447a10f..da63f2c3e9 100644 --- a/app/lib/l10n/app_el.arb +++ b/app/lib/l10n/app_el.arb @@ -18,6 +18,8 @@ "clear": "Εκκαθάριση", "copyTranscript": "Αντιγραφή απομαγνητοφώνησης", "copySummary": "Αντιγραφή σύνοψης", + "copyConversationId": "Αντιγραφή ID συνομιλίας", + "conversationIdCopied": "Το ID συνομιλίας αντιγράφηκε στο πρόχειρο", "testPrompt": "Δοκιμή Εντολής", "reprocessConversation": "Επανεπεξεργασία Συνομιλίας", "deleteConversation": "Διαγραφή συνομιλίας", diff --git a/app/lib/l10n/app_en.arb b/app/lib/l10n/app_en.arb index 18d4c0271c..1779da4cf8 100644 --- a/app/lib/l10n/app_en.arb +++ b/app/lib/l10n/app_en.arb @@ -73,6 +73,14 @@ "@copySummary": { "description": "Option to copy summary to clipboard" }, + "copyConversationId": "Copy Conversation ID", + "@copyConversationId": { + "description": "Menu item to copy conversation ID to clipboard" + }, + "conversationIdCopied": "Conversation ID copied to clipboard", + "@conversationIdCopied": { + "description": "Snackbar message when conversation ID is copied" + }, "testPrompt": "Test Prompt", "@testPrompt": { "description": "Menu item for testing prompts" diff --git a/app/lib/l10n/app_es.arb b/app/lib/l10n/app_es.arb index 0c2ab8c246..7524dcc3b5 100644 --- a/app/lib/l10n/app_es.arb +++ b/app/lib/l10n/app_es.arb @@ -18,6 +18,8 @@ "clear": "Limpiar", "copyTranscript": "Copiar transcripción", "copySummary": "Copiar resumen", + "copyConversationId": "Copiar ID de conversación", + "conversationIdCopied": "ID de conversación copiado al portapapeles", "testPrompt": "Probar prompt", "reprocessConversation": "Reprocesar conversación", "deleteConversation": "Eliminar conversación", diff --git a/app/lib/l10n/app_et.arb b/app/lib/l10n/app_et.arb index a4d5b4ba98..9cb8807624 100644 --- a/app/lib/l10n/app_et.arb +++ b/app/lib/l10n/app_et.arb @@ -18,6 +18,8 @@ "clear": "Tühjenda", "copyTranscript": "Kopeeri transkriptsioon", "copySummary": "Kopeeri kokkuvõte", + "copyConversationId": "Kopeeri vestluse ID", + "conversationIdCopied": "Vestluse ID kopeeriti lõikelauale", "testPrompt": "Testi käsku", "reprocessConversation": "Töötle vestlust uuesti", "deleteConversation": "Kustuta vestlus", diff --git a/app/lib/l10n/app_fa.arb b/app/lib/l10n/app_fa.arb index 75b5abdb83..3d7c1783a4 100644 --- a/app/lib/l10n/app_fa.arb +++ b/app/lib/l10n/app_fa.arb @@ -73,6 +73,8 @@ "@copySummary": { "description": "Option to copy summary to clipboard" }, + "copyConversationId": "کپی شناسه مکالمه", + "conversationIdCopied": "شناسه مکالمه در کلیپ‌بورد کپی شد", "testPrompt": "تست موضوع", "@testPrompt": { "description": "Menu item for testing prompts" diff --git a/app/lib/l10n/app_fi.arb b/app/lib/l10n/app_fi.arb index cd9ada0abb..a8576bc8d2 100644 --- a/app/lib/l10n/app_fi.arb +++ b/app/lib/l10n/app_fi.arb @@ -18,6 +18,8 @@ "clear": "Tyhjennä", "copyTranscript": "Kopioi litterointi", "copySummary": "Kopioi tiivistelmä", + "copyConversationId": "Kopioi keskustelun tunnus", + "conversationIdCopied": "Keskustelun tunnus kopioitu leikepöydälle", "testPrompt": "Testaa kehotetta", "reprocessConversation": "Käsittele keskustelu uudelleen", "deleteConversation": "Poista keskustelu", diff --git a/app/lib/l10n/app_fr.arb b/app/lib/l10n/app_fr.arb index b19de449ef..928a5ccd56 100644 --- a/app/lib/l10n/app_fr.arb +++ b/app/lib/l10n/app_fr.arb @@ -18,6 +18,8 @@ "clear": "Effacer", "copyTranscript": "Copier la transcription", "copySummary": "Copier le résumé", + "copyConversationId": "Copier l'ID de la conversation", + "conversationIdCopied": "ID de la conversation copié dans le presse-papiers", "testPrompt": "Tester le prompt", "reprocessConversation": "Retraiter la conversation", "deleteConversation": "Supprimer la conversation", diff --git a/app/lib/l10n/app_he.arb b/app/lib/l10n/app_he.arb index 3002dd3491..b5708936ac 100644 --- a/app/lib/l10n/app_he.arb +++ b/app/lib/l10n/app_he.arb @@ -73,6 +73,8 @@ "@copySummary": { "description": "Option to copy summary to clipboard" }, + "copyConversationId": "העתק מזהה שיחה", + "conversationIdCopied": "מזהה השיחה הועתק ללוח", "testPrompt": "בדוק הנושא", "@testPrompt": { "description": "Menu item for testing prompts" diff --git a/app/lib/l10n/app_hi.arb b/app/lib/l10n/app_hi.arb index da5e4fe764..e63a92d7b6 100644 --- a/app/lib/l10n/app_hi.arb +++ b/app/lib/l10n/app_hi.arb @@ -18,6 +18,8 @@ "clear": "साफ़ करें", "copyTranscript": "प्रतिलिपि कॉपी करें", "copySummary": "सारांश कॉपी करें", + "copyConversationId": "बातचीत ID कॉपी करें", + "conversationIdCopied": "बातचीत ID क्लिपबोर्ड पर कॉपी हो गई", "testPrompt": "टेस्ट प्रॉम्प्ट", "reprocessConversation": "बातचीत को पुनः संसाधित करें", "deleteConversation": "बातचीत हटाएं", diff --git a/app/lib/l10n/app_hr.arb b/app/lib/l10n/app_hr.arb index b3b5747422..dc1e0f9949 100644 --- a/app/lib/l10n/app_hr.arb +++ b/app/lib/l10n/app_hr.arb @@ -73,6 +73,8 @@ "@copySummary": { "description": "Option to copy summary to clipboard" }, + "copyConversationId": "Kopiraj ID razgovora", + "conversationIdCopied": "ID razgovora kopiran u međuspremnik", "testPrompt": "Testiraj upit", "@testPrompt": { "description": "Menu item for testing prompts" diff --git a/app/lib/l10n/app_hu.arb b/app/lib/l10n/app_hu.arb index e9bb47f010..ff14fd5864 100644 --- a/app/lib/l10n/app_hu.arb +++ b/app/lib/l10n/app_hu.arb @@ -18,6 +18,8 @@ "clear": "Törlés", "copyTranscript": "Átirat másolása", "copySummary": "Összefoglaló másolása", + "copyConversationId": "Társalgás azonosítójának másolása", + "conversationIdCopied": "A társalgás azonosítója vágólapra másolva", "testPrompt": "Prompt tesztelése", "reprocessConversation": "Beszélgetés újrafeldolgozása", "deleteConversation": "Beszélgetés törlése", diff --git a/app/lib/l10n/app_id.arb b/app/lib/l10n/app_id.arb index ab4accc766..e1c376fcdc 100644 --- a/app/lib/l10n/app_id.arb +++ b/app/lib/l10n/app_id.arb @@ -18,6 +18,8 @@ "clear": "Bersihkan", "copyTranscript": "Salin transkrip", "copySummary": "Salin ringkasan", + "copyConversationId": "Salin ID percakapan", + "conversationIdCopied": "ID percakapan disalin ke papan klip", "testPrompt": "Uji Prompt", "reprocessConversation": "Proses Ulang Percakapan", "deleteConversation": "Hapus Percakapan", diff --git a/app/lib/l10n/app_it.arb b/app/lib/l10n/app_it.arb index 8bcc9138fd..0a9dc26355 100644 --- a/app/lib/l10n/app_it.arb +++ b/app/lib/l10n/app_it.arb @@ -18,6 +18,8 @@ "clear": "Cancella", "copyTranscript": "Copia trascrizione", "copySummary": "Copia riepilogo", + "copyConversationId": "Copia ID conversazione", + "conversationIdCopied": "ID conversazione copiato negli appunti", "testPrompt": "Prova Prompt", "reprocessConversation": "Rielabora Conversazione", "deleteConversation": "Elimina conversazione", diff --git a/app/lib/l10n/app_ja.arb b/app/lib/l10n/app_ja.arb index df8b2901aa..232a052ade 100644 --- a/app/lib/l10n/app_ja.arb +++ b/app/lib/l10n/app_ja.arb @@ -17,6 +17,8 @@ "close": "閉じる", "copyTranscript": "文字起こしをコピー", "copySummary": "要約をコピー", + "copyConversationId": "会話IDをコピー", + "conversationIdCopied": "会話IDをクリップボードにコピーしました", "testPrompt": "プロンプトをテスト", "reprocessConversation": "会話を再処理", "deleteConversation": "会話を削除", diff --git a/app/lib/l10n/app_kn.arb b/app/lib/l10n/app_kn.arb index 3abdcad9cc..aa769afd2e 100644 --- a/app/lib/l10n/app_kn.arb +++ b/app/lib/l10n/app_kn.arb @@ -73,6 +73,8 @@ "@copySummary": { "description": "Option to copy summary to clipboard" }, + "copyConversationId": "ಸಂಭಾಷಣೆ ID ನಕಲಿಸಿ", + "conversationIdCopied": "ಸಂಭಾಷಣೆ ID ಕ್ಲಿಪ್‌ಬೋರ್ಡ್‌ಗೆ ನಕಲಿಸಲಾಗಿದೆ", "testPrompt": "ಪ್ರಯೋಗ ನಿರ್ದೇಶನ", "@testPrompt": { "description": "Menu item for testing prompts" diff --git a/app/lib/l10n/app_ko.arb b/app/lib/l10n/app_ko.arb index fbc47547df..9fdfad5dde 100644 --- a/app/lib/l10n/app_ko.arb +++ b/app/lib/l10n/app_ko.arb @@ -18,6 +18,8 @@ "clear": "지우기", "copyTranscript": "스크립트 복사", "copySummary": "요약 복사", + "copyConversationId": "대화 ID 복사", + "conversationIdCopied": "대화 ID가 클립보드에 복사되었습니다", "testPrompt": "프롬프트 테스트", "reprocessConversation": "대화 재처리", "deleteConversation": "대화 삭제", diff --git a/app/lib/l10n/app_localizations.dart b/app/lib/l10n/app_localizations.dart index 62c000c994..119e47f4ef 100644 --- a/app/lib/l10n/app_localizations.dart +++ b/app/lib/l10n/app_localizations.dart @@ -297,6 +297,18 @@ abstract class AppLocalizations { /// **'Copy Summary'** String get copySummary; + /// Menu item to copy conversation ID to clipboard + /// + /// In en, this message translates to: + /// **'Copy Conversation ID'** + String get copyConversationId; + + /// Snackbar message when conversation ID is copied + /// + /// In en, this message translates to: + /// **'Conversation ID copied to clipboard'** + String get conversationIdCopied; + /// Menu item for testing prompts /// /// In en, this message translates to: diff --git a/app/lib/l10n/app_localizations_ar.dart b/app/lib/l10n/app_localizations_ar.dart index 67f82a3f97..6e1c0487ae 100644 --- a/app/lib/l10n/app_localizations_ar.dart +++ b/app/lib/l10n/app_localizations_ar.dart @@ -63,6 +63,12 @@ class AppLocalizationsAr extends AppLocalizations { @override String get copySummary => 'نسخ الملخص'; + @override + String get copyConversationId => 'نسخ معرّف المحادثة'; + + @override + String get conversationIdCopied => 'تم نسخ معرّف المحادثة إلى الحافظة'; + @override String get testPrompt => 'اختبار الأمر'; diff --git a/app/lib/l10n/app_localizations_be.dart b/app/lib/l10n/app_localizations_be.dart index ddbb26d752..495ac3ea3e 100644 --- a/app/lib/l10n/app_localizations_be.dart +++ b/app/lib/l10n/app_localizations_be.dart @@ -63,6 +63,12 @@ class AppLocalizationsBe extends AppLocalizations { @override String get copySummary => 'Скапіяваць рэзюмэ'; + @override + String get copyConversationId => 'Скапіраваць ID размовы'; + + @override + String get conversationIdCopied => 'ID размовы скапіраваны ў буфер абмену'; + @override String get testPrompt => 'Тэставаць запыт'; diff --git a/app/lib/l10n/app_localizations_bg.dart b/app/lib/l10n/app_localizations_bg.dart index c29e64dc9d..4902bf77f9 100644 --- a/app/lib/l10n/app_localizations_bg.dart +++ b/app/lib/l10n/app_localizations_bg.dart @@ -63,6 +63,12 @@ class AppLocalizationsBg extends AppLocalizations { @override String get copySummary => 'Копирай обобщение'; + @override + String get copyConversationId => 'Копиране на ID на разговора'; + + @override + String get conversationIdCopied => 'ID на разговора е копирано в клипборда'; + @override String get testPrompt => 'Тествай подсказка'; diff --git a/app/lib/l10n/app_localizations_bn.dart b/app/lib/l10n/app_localizations_bn.dart index 9c7f1d6b34..9fa7143f0c 100644 --- a/app/lib/l10n/app_localizations_bn.dart +++ b/app/lib/l10n/app_localizations_bn.dart @@ -63,6 +63,12 @@ class AppLocalizationsBn extends AppLocalizations { @override String get copySummary => 'সারসংক্ষেপ কপি করুন'; + @override + String get copyConversationId => 'কথোপকথন আইডি কপি করুন'; + + @override + String get conversationIdCopied => 'কথোপকথন আইডি ক্লিপবোর্ডে কপি হয়েছে'; + @override String get testPrompt => 'পরীক্ষা প্রম্পট'; diff --git a/app/lib/l10n/app_localizations_bs.dart b/app/lib/l10n/app_localizations_bs.dart index 889acadc78..4370bb03a4 100644 --- a/app/lib/l10n/app_localizations_bs.dart +++ b/app/lib/l10n/app_localizations_bs.dart @@ -63,6 +63,12 @@ class AppLocalizationsBs extends AppLocalizations { @override String get copySummary => 'Kopiraj sažetak'; + @override + String get copyConversationId => 'Kopiraj ID razgovora'; + + @override + String get conversationIdCopied => 'ID razgovora kopiran u međuspremnik'; + @override String get testPrompt => 'Test upit'; diff --git a/app/lib/l10n/app_localizations_ca.dart b/app/lib/l10n/app_localizations_ca.dart index bd1531a015..0a148aa732 100644 --- a/app/lib/l10n/app_localizations_ca.dart +++ b/app/lib/l10n/app_localizations_ca.dart @@ -63,6 +63,12 @@ class AppLocalizationsCa extends AppLocalizations { @override String get copySummary => 'Copiar resum'; + @override + String get copyConversationId => 'Copia l\'ID de la conversa'; + + @override + String get conversationIdCopied => 'ID de la conversa copiat al porta-retalls'; + @override String get testPrompt => 'Provar indicació'; diff --git a/app/lib/l10n/app_localizations_cs.dart b/app/lib/l10n/app_localizations_cs.dart index 95a458ec0a..83f300e1f2 100644 --- a/app/lib/l10n/app_localizations_cs.dart +++ b/app/lib/l10n/app_localizations_cs.dart @@ -63,6 +63,12 @@ class AppLocalizationsCs extends AppLocalizations { @override String get copySummary => 'Kopírovat shrnutí'; + @override + String get copyConversationId => 'Kopírovat ID konverzace'; + + @override + String get conversationIdCopied => 'ID konverzace zkopírováno do schránky'; + @override String get testPrompt => 'Testovat výzvu'; diff --git a/app/lib/l10n/app_localizations_da.dart b/app/lib/l10n/app_localizations_da.dart index ec2952d27c..a17f3a4c27 100644 --- a/app/lib/l10n/app_localizations_da.dart +++ b/app/lib/l10n/app_localizations_da.dart @@ -63,6 +63,12 @@ class AppLocalizationsDa extends AppLocalizations { @override String get copySummary => 'Kopier opsummering'; + @override + String get copyConversationId => 'Kopiér samtale-ID'; + + @override + String get conversationIdCopied => 'Samtale-ID kopieret til udklipsholder'; + @override String get testPrompt => 'Test prompt'; diff --git a/app/lib/l10n/app_localizations_de.dart b/app/lib/l10n/app_localizations_de.dart index 5f33f5c5ac..044a1113b3 100644 --- a/app/lib/l10n/app_localizations_de.dart +++ b/app/lib/l10n/app_localizations_de.dart @@ -63,6 +63,12 @@ class AppLocalizationsDe extends AppLocalizations { @override String get copySummary => 'Zusammenfassung kopieren'; + @override + String get copyConversationId => 'Konversations-ID kopieren'; + + @override + String get conversationIdCopied => 'Konversations-ID in Zwischenablage kopiert'; + @override String get testPrompt => 'Prompt testen'; diff --git a/app/lib/l10n/app_localizations_el.dart b/app/lib/l10n/app_localizations_el.dart index ade037ec80..d988e77c63 100644 --- a/app/lib/l10n/app_localizations_el.dart +++ b/app/lib/l10n/app_localizations_el.dart @@ -63,6 +63,12 @@ class AppLocalizationsEl extends AppLocalizations { @override String get copySummary => 'Αντιγραφή σύνοψης'; + @override + String get copyConversationId => 'Αντιγραφή ID συνομιλίας'; + + @override + String get conversationIdCopied => 'Το ID συνομιλίας αντιγράφηκε στο πρόχειρο'; + @override String get testPrompt => 'Δοκιμή Εντολής'; diff --git a/app/lib/l10n/app_localizations_en.dart b/app/lib/l10n/app_localizations_en.dart index 39e3c6572a..37ac62ee87 100644 --- a/app/lib/l10n/app_localizations_en.dart +++ b/app/lib/l10n/app_localizations_en.dart @@ -63,6 +63,12 @@ class AppLocalizationsEn extends AppLocalizations { @override String get copySummary => 'Copy Summary'; + @override + String get copyConversationId => 'Copy Conversation ID'; + + @override + String get conversationIdCopied => 'Conversation ID copied to clipboard'; + @override String get testPrompt => 'Test Prompt'; diff --git a/app/lib/l10n/app_localizations_es.dart b/app/lib/l10n/app_localizations_es.dart index 2b4bd45be1..2a54b85359 100644 --- a/app/lib/l10n/app_localizations_es.dart +++ b/app/lib/l10n/app_localizations_es.dart @@ -63,6 +63,12 @@ class AppLocalizationsEs extends AppLocalizations { @override String get copySummary => 'Copiar resumen'; + @override + String get copyConversationId => 'Copiar ID de conversación'; + + @override + String get conversationIdCopied => 'ID de conversación copiado al portapapeles'; + @override String get testPrompt => 'Probar prompt'; diff --git a/app/lib/l10n/app_localizations_et.dart b/app/lib/l10n/app_localizations_et.dart index 8b8b6da078..f0ab43c24d 100644 --- a/app/lib/l10n/app_localizations_et.dart +++ b/app/lib/l10n/app_localizations_et.dart @@ -63,6 +63,12 @@ class AppLocalizationsEt extends AppLocalizations { @override String get copySummary => 'Kopeeri kokkuvõte'; + @override + String get copyConversationId => 'Kopeeri vestluse ID'; + + @override + String get conversationIdCopied => 'Vestluse ID kopeeriti lõikelauale'; + @override String get testPrompt => 'Testi käsku'; diff --git a/app/lib/l10n/app_localizations_fa.dart b/app/lib/l10n/app_localizations_fa.dart index 8d3912fc8b..0b6c913302 100644 --- a/app/lib/l10n/app_localizations_fa.dart +++ b/app/lib/l10n/app_localizations_fa.dart @@ -63,6 +63,12 @@ class AppLocalizationsFa extends AppLocalizations { @override String get copySummary => 'کپی خلاصه'; + @override + String get copyConversationId => 'کپی شناسه مکالمه'; + + @override + String get conversationIdCopied => 'شناسه مکالمه در کلیپ‌بورد کپی شد'; + @override String get testPrompt => 'تست موضوع'; diff --git a/app/lib/l10n/app_localizations_fi.dart b/app/lib/l10n/app_localizations_fi.dart index d585561732..a7582c7135 100644 --- a/app/lib/l10n/app_localizations_fi.dart +++ b/app/lib/l10n/app_localizations_fi.dart @@ -63,6 +63,12 @@ class AppLocalizationsFi extends AppLocalizations { @override String get copySummary => 'Kopioi tiivistelmä'; + @override + String get copyConversationId => 'Kopioi keskustelun tunnus'; + + @override + String get conversationIdCopied => 'Keskustelun tunnus kopioitu leikepöydälle'; + @override String get testPrompt => 'Testaa kehotetta'; diff --git a/app/lib/l10n/app_localizations_fr.dart b/app/lib/l10n/app_localizations_fr.dart index 74150ec710..4425f79941 100644 --- a/app/lib/l10n/app_localizations_fr.dart +++ b/app/lib/l10n/app_localizations_fr.dart @@ -63,6 +63,12 @@ class AppLocalizationsFr extends AppLocalizations { @override String get copySummary => 'Copier le résumé'; + @override + String get copyConversationId => 'Copier l\'ID de la conversation'; + + @override + String get conversationIdCopied => 'ID de la conversation copié dans le presse-papiers'; + @override String get testPrompt => 'Tester le prompt'; diff --git a/app/lib/l10n/app_localizations_he.dart b/app/lib/l10n/app_localizations_he.dart index f40b80e013..bb7414777f 100644 --- a/app/lib/l10n/app_localizations_he.dart +++ b/app/lib/l10n/app_localizations_he.dart @@ -63,6 +63,12 @@ class AppLocalizationsHe extends AppLocalizations { @override String get copySummary => 'העתק סיכום'; + @override + String get copyConversationId => 'העתק מזהה שיחה'; + + @override + String get conversationIdCopied => 'מזהה השיחה הועתק ללוח'; + @override String get testPrompt => 'בדוק הנושא'; diff --git a/app/lib/l10n/app_localizations_hi.dart b/app/lib/l10n/app_localizations_hi.dart index f80d060e01..6589392a29 100644 --- a/app/lib/l10n/app_localizations_hi.dart +++ b/app/lib/l10n/app_localizations_hi.dart @@ -63,6 +63,12 @@ class AppLocalizationsHi extends AppLocalizations { @override String get copySummary => 'सारांश कॉपी करें'; + @override + String get copyConversationId => 'बातचीत ID कॉपी करें'; + + @override + String get conversationIdCopied => 'बातचीत ID क्लिपबोर्ड पर कॉपी हो गई'; + @override String get testPrompt => 'टेस्ट प्रॉम्प्ट'; diff --git a/app/lib/l10n/app_localizations_hr.dart b/app/lib/l10n/app_localizations_hr.dart index e4aa12cdf1..ebc823ebc3 100644 --- a/app/lib/l10n/app_localizations_hr.dart +++ b/app/lib/l10n/app_localizations_hr.dart @@ -63,6 +63,12 @@ class AppLocalizationsHr extends AppLocalizations { @override String get copySummary => 'Kopiraj sažetak'; + @override + String get copyConversationId => 'Kopiraj ID razgovora'; + + @override + String get conversationIdCopied => 'ID razgovora kopiran u međuspremnik'; + @override String get testPrompt => 'Testiraj upit'; diff --git a/app/lib/l10n/app_localizations_hu.dart b/app/lib/l10n/app_localizations_hu.dart index 65927480d3..2e419bee22 100644 --- a/app/lib/l10n/app_localizations_hu.dart +++ b/app/lib/l10n/app_localizations_hu.dart @@ -63,6 +63,12 @@ class AppLocalizationsHu extends AppLocalizations { @override String get copySummary => 'Összefoglaló másolása'; + @override + String get copyConversationId => 'Társalgás azonosítójának másolása'; + + @override + String get conversationIdCopied => 'A társalgás azonosítója vágólapra másolva'; + @override String get testPrompt => 'Prompt tesztelése'; diff --git a/app/lib/l10n/app_localizations_id.dart b/app/lib/l10n/app_localizations_id.dart index 43d9a07448..9dbdd65003 100644 --- a/app/lib/l10n/app_localizations_id.dart +++ b/app/lib/l10n/app_localizations_id.dart @@ -63,6 +63,12 @@ class AppLocalizationsId extends AppLocalizations { @override String get copySummary => 'Salin ringkasan'; + @override + String get copyConversationId => 'Salin ID percakapan'; + + @override + String get conversationIdCopied => 'ID percakapan disalin ke papan klip'; + @override String get testPrompt => 'Uji Prompt'; diff --git a/app/lib/l10n/app_localizations_it.dart b/app/lib/l10n/app_localizations_it.dart index ed655b64da..9f2e2ed3ff 100644 --- a/app/lib/l10n/app_localizations_it.dart +++ b/app/lib/l10n/app_localizations_it.dart @@ -63,6 +63,12 @@ class AppLocalizationsIt extends AppLocalizations { @override String get copySummary => 'Copia riepilogo'; + @override + String get copyConversationId => 'Copia ID conversazione'; + + @override + String get conversationIdCopied => 'ID conversazione copiato negli appunti'; + @override String get testPrompt => 'Prova Prompt'; diff --git a/app/lib/l10n/app_localizations_ja.dart b/app/lib/l10n/app_localizations_ja.dart index b27434a8e3..144742ff3a 100644 --- a/app/lib/l10n/app_localizations_ja.dart +++ b/app/lib/l10n/app_localizations_ja.dart @@ -62,6 +62,12 @@ class AppLocalizationsJa extends AppLocalizations { @override String get copySummary => '要約をコピー'; + @override + String get copyConversationId => '会話IDをコピー'; + + @override + String get conversationIdCopied => '会話IDをクリップボードにコピーしました'; + @override String get testPrompt => 'プロンプトをテスト'; diff --git a/app/lib/l10n/app_localizations_kn.dart b/app/lib/l10n/app_localizations_kn.dart index 231ad69aed..48f6b7423a 100644 --- a/app/lib/l10n/app_localizations_kn.dart +++ b/app/lib/l10n/app_localizations_kn.dart @@ -63,6 +63,12 @@ class AppLocalizationsKn extends AppLocalizations { @override String get copySummary => 'ಸಾರಾಂಶ ನಕಲಿ ಮಾಡಿ'; + @override + String get copyConversationId => 'ಸಂಭಾಷಣೆ ID ನಕಲಿಸಿ'; + + @override + String get conversationIdCopied => 'ಸಂಭಾಷಣೆ ID ಕ್ಲಿಪ್‌ಬೋರ್ಡ್‌ಗೆ ನಕಲಿಸಲಾಗಿದೆ'; + @override String get testPrompt => 'ಪ್ರಯೋಗ ನಿರ್ದೇಶನ'; diff --git a/app/lib/l10n/app_localizations_ko.dart b/app/lib/l10n/app_localizations_ko.dart index c276ce418c..a94e603fb0 100644 --- a/app/lib/l10n/app_localizations_ko.dart +++ b/app/lib/l10n/app_localizations_ko.dart @@ -62,6 +62,12 @@ class AppLocalizationsKo extends AppLocalizations { @override String get copySummary => '요약 복사'; + @override + String get copyConversationId => '대화 ID 복사'; + + @override + String get conversationIdCopied => '대화 ID가 클립보드에 복사되었습니다'; + @override String get testPrompt => '프롬프트 테스트'; diff --git a/app/lib/l10n/app_localizations_lt.dart b/app/lib/l10n/app_localizations_lt.dart index 99a3bedff4..0eb8764c61 100644 --- a/app/lib/l10n/app_localizations_lt.dart +++ b/app/lib/l10n/app_localizations_lt.dart @@ -63,6 +63,12 @@ class AppLocalizationsLt extends AppLocalizations { @override String get copySummary => 'Kopijuoti santrauką'; + @override + String get copyConversationId => 'Kopijuoti pokalbio ID'; + + @override + String get conversationIdCopied => 'Pokalbio ID nukopijuotas į mainų sritį'; + @override String get testPrompt => 'Testuoti užklausą'; diff --git a/app/lib/l10n/app_localizations_lv.dart b/app/lib/l10n/app_localizations_lv.dart index aefcf5a452..a3a1cdf1b9 100644 --- a/app/lib/l10n/app_localizations_lv.dart +++ b/app/lib/l10n/app_localizations_lv.dart @@ -63,6 +63,12 @@ class AppLocalizationsLv extends AppLocalizations { @override String get copySummary => 'Kopēt kopsavilkumu'; + @override + String get copyConversationId => 'Kopēt sarakstes ID'; + + @override + String get conversationIdCopied => 'Sarakstes ID nokopēts starpliktuvē'; + @override String get testPrompt => 'Testēt uzvedni'; diff --git a/app/lib/l10n/app_localizations_mk.dart b/app/lib/l10n/app_localizations_mk.dart index bb73233281..10dec450f9 100644 --- a/app/lib/l10n/app_localizations_mk.dart +++ b/app/lib/l10n/app_localizations_mk.dart @@ -63,6 +63,12 @@ class AppLocalizationsMk extends AppLocalizations { @override String get copySummary => 'Копирај резиме'; + @override + String get copyConversationId => 'Копирај ID на разговорот'; + + @override + String get conversationIdCopied => 'ID на разговорот е копиран во клипборд'; + @override String get testPrompt => 'Тест подсетник'; diff --git a/app/lib/l10n/app_localizations_mr.dart b/app/lib/l10n/app_localizations_mr.dart index edbf47fe68..32b1ec4ce5 100644 --- a/app/lib/l10n/app_localizations_mr.dart +++ b/app/lib/l10n/app_localizations_mr.dart @@ -63,6 +63,12 @@ class AppLocalizationsMr extends AppLocalizations { @override String get copySummary => 'सारांश कॉपी करा'; + @override + String get copyConversationId => 'संभाषण आयडी कॉपी करा'; + + @override + String get conversationIdCopied => 'संभाषण आयडी क्लिपबोर्डवर कॉपी झाला'; + @override String get testPrompt => 'टेस्ट प्रॉम्प्ट'; diff --git a/app/lib/l10n/app_localizations_ms.dart b/app/lib/l10n/app_localizations_ms.dart index a6e1e16ddf..e5b77eeed0 100644 --- a/app/lib/l10n/app_localizations_ms.dart +++ b/app/lib/l10n/app_localizations_ms.dart @@ -63,6 +63,12 @@ class AppLocalizationsMs extends AppLocalizations { @override String get copySummary => 'Salin ringkasan'; + @override + String get copyConversationId => 'Salin ID perbualan'; + + @override + String get conversationIdCopied => 'ID perbualan disalin ke papan klip'; + @override String get testPrompt => 'Uji Gesaan'; diff --git a/app/lib/l10n/app_localizations_nl.dart b/app/lib/l10n/app_localizations_nl.dart index e1d33a32e8..84b9a7a67e 100644 --- a/app/lib/l10n/app_localizations_nl.dart +++ b/app/lib/l10n/app_localizations_nl.dart @@ -63,6 +63,12 @@ class AppLocalizationsNl extends AppLocalizations { @override String get copySummary => 'Kopieer samenvatting'; + @override + String get copyConversationId => 'Gesprek-ID kopiëren'; + + @override + String get conversationIdCopied => 'Gesprek-ID gekopieerd naar klembord'; + @override String get testPrompt => 'Prompt testen'; diff --git a/app/lib/l10n/app_localizations_no.dart b/app/lib/l10n/app_localizations_no.dart index fcbea2049f..9fd36cf2d2 100644 --- a/app/lib/l10n/app_localizations_no.dart +++ b/app/lib/l10n/app_localizations_no.dart @@ -63,6 +63,12 @@ class AppLocalizationsNo extends AppLocalizations { @override String get copySummary => 'Kopier oppsummering'; + @override + String get copyConversationId => 'Kopier samtale-ID'; + + @override + String get conversationIdCopied => 'Samtale-ID kopiert til utklippstavle'; + @override String get testPrompt => 'Test prompt'; diff --git a/app/lib/l10n/app_localizations_pl.dart b/app/lib/l10n/app_localizations_pl.dart index 16e4a606d4..4c55f1538c 100644 --- a/app/lib/l10n/app_localizations_pl.dart +++ b/app/lib/l10n/app_localizations_pl.dart @@ -63,6 +63,12 @@ class AppLocalizationsPl extends AppLocalizations { @override String get copySummary => 'Kopiuj podsumowanie'; + @override + String get copyConversationId => 'Kopiuj ID rozmowy'; + + @override + String get conversationIdCopied => 'ID rozmowy skopiowane do schowka'; + @override String get testPrompt => 'Testuj prompt'; diff --git a/app/lib/l10n/app_localizations_pt.dart b/app/lib/l10n/app_localizations_pt.dart index 1a813616d5..7516edee5a 100644 --- a/app/lib/l10n/app_localizations_pt.dart +++ b/app/lib/l10n/app_localizations_pt.dart @@ -63,6 +63,12 @@ class AppLocalizationsPt extends AppLocalizations { @override String get copySummary => 'Copiar resumo'; + @override + String get copyConversationId => 'Copiar ID da conversa'; + + @override + String get conversationIdCopied => 'ID da conversa copiado para a área de transferência'; + @override String get testPrompt => 'Testar prompt'; diff --git a/app/lib/l10n/app_localizations_ro.dart b/app/lib/l10n/app_localizations_ro.dart index bcb73488c0..8ef4f68123 100644 --- a/app/lib/l10n/app_localizations_ro.dart +++ b/app/lib/l10n/app_localizations_ro.dart @@ -63,6 +63,12 @@ class AppLocalizationsRo extends AppLocalizations { @override String get copySummary => 'Copiază rezumatul'; + @override + String get copyConversationId => 'Copiază ID-ul conversației'; + + @override + String get conversationIdCopied => 'ID-ul conversației a fost copiat în clipboard'; + @override String get testPrompt => 'Testează promptul'; diff --git a/app/lib/l10n/app_localizations_ru.dart b/app/lib/l10n/app_localizations_ru.dart index b0c63e27e7..a69da96260 100644 --- a/app/lib/l10n/app_localizations_ru.dart +++ b/app/lib/l10n/app_localizations_ru.dart @@ -63,6 +63,12 @@ class AppLocalizationsRu extends AppLocalizations { @override String get copySummary => 'Копировать сводку'; + @override + String get copyConversationId => 'Скопировать ID разговора'; + + @override + String get conversationIdCopied => 'ID разговора скопирован в буфер обмена'; + @override String get testPrompt => 'Тестовый запрос'; diff --git a/app/lib/l10n/app_localizations_sk.dart b/app/lib/l10n/app_localizations_sk.dart index 1a9904d948..61340bda61 100644 --- a/app/lib/l10n/app_localizations_sk.dart +++ b/app/lib/l10n/app_localizations_sk.dart @@ -63,6 +63,12 @@ class AppLocalizationsSk extends AppLocalizations { @override String get copySummary => 'Kopírovať zhrnutie'; + @override + String get copyConversationId => 'Kopírovať ID konverzácie'; + + @override + String get conversationIdCopied => 'ID konverzácie skopírované do schránky'; + @override String get testPrompt => 'Otestovať výzvu'; diff --git a/app/lib/l10n/app_localizations_sl.dart b/app/lib/l10n/app_localizations_sl.dart index b9f889e6dd..db651cbaab 100644 --- a/app/lib/l10n/app_localizations_sl.dart +++ b/app/lib/l10n/app_localizations_sl.dart @@ -63,6 +63,12 @@ class AppLocalizationsSl extends AppLocalizations { @override String get copySummary => 'Kopiraj povzetek'; + @override + String get copyConversationId => 'Kopiraj ID pogovora'; + + @override + String get conversationIdCopied => 'ID pogovora je bil kopiran v odložišče'; + @override String get testPrompt => 'Testiraj poziv'; diff --git a/app/lib/l10n/app_localizations_sr.dart b/app/lib/l10n/app_localizations_sr.dart index 2ddd31026a..b5c804d129 100644 --- a/app/lib/l10n/app_localizations_sr.dart +++ b/app/lib/l10n/app_localizations_sr.dart @@ -63,6 +63,12 @@ class AppLocalizationsSr extends AppLocalizations { @override String get copySummary => 'Копирај садржај'; + @override + String get copyConversationId => 'Копирај ID разговора'; + + @override + String get conversationIdCopied => 'ID разговора је копиран у клипборд'; + @override String get testPrompt => 'Тестирај подстицај'; diff --git a/app/lib/l10n/app_localizations_sv.dart b/app/lib/l10n/app_localizations_sv.dart index e709651aba..12812e8356 100644 --- a/app/lib/l10n/app_localizations_sv.dart +++ b/app/lib/l10n/app_localizations_sv.dart @@ -63,6 +63,12 @@ class AppLocalizationsSv extends AppLocalizations { @override String get copySummary => 'Kopiera sammanfattning'; + @override + String get copyConversationId => 'Kopiera konversations-ID'; + + @override + String get conversationIdCopied => 'Konversations-ID kopierat till urklipp'; + @override String get testPrompt => 'Testa prompt'; diff --git a/app/lib/l10n/app_localizations_ta.dart b/app/lib/l10n/app_localizations_ta.dart index 6a4c68ad83..f27f574c20 100644 --- a/app/lib/l10n/app_localizations_ta.dart +++ b/app/lib/l10n/app_localizations_ta.dart @@ -63,6 +63,12 @@ class AppLocalizationsTa extends AppLocalizations { @override String get copySummary => 'சாரம் நகலெடுக்கவும்'; + @override + String get copyConversationId => 'உரையாடல் ID நகலெடு'; + + @override + String get conversationIdCopied => 'உரையாடல் ID கிளிப்போர்டில் நகலெடுக்கப்பட்டது'; + @override String get testPrompt => 'தேர்வு கேட்டுகோள்'; diff --git a/app/lib/l10n/app_localizations_te.dart b/app/lib/l10n/app_localizations_te.dart index 2241521448..de7e933c1f 100644 --- a/app/lib/l10n/app_localizations_te.dart +++ b/app/lib/l10n/app_localizations_te.dart @@ -63,6 +63,12 @@ class AppLocalizationsTe extends AppLocalizations { @override String get copySummary => 'సారాంశాన్ని కాపీ చేయండి'; + @override + String get copyConversationId => 'సంభాషణ ID కాపీ చేయండి'; + + @override + String get conversationIdCopied => 'సంభాషణ ID క్లిప్‌బోర్డ్‌కు కాపీ చేయబడింది'; + @override String get testPrompt => 'ప్రాంప్ట్‌ను పరీక్షించండి'; diff --git a/app/lib/l10n/app_localizations_th.dart b/app/lib/l10n/app_localizations_th.dart index 148a3da85c..8005ce55a6 100644 --- a/app/lib/l10n/app_localizations_th.dart +++ b/app/lib/l10n/app_localizations_th.dart @@ -63,6 +63,12 @@ class AppLocalizationsTh extends AppLocalizations { @override String get copySummary => 'คัดลอกสรุป'; + @override + String get copyConversationId => 'คัดลอก ID การสนทนา'; + + @override + String get conversationIdCopied => 'คัดลอก ID การสนทนาไปยังคลิปบอร์ดแล้ว'; + @override String get testPrompt => 'ทดสอบคำสั่ง'; diff --git a/app/lib/l10n/app_localizations_tl.dart b/app/lib/l10n/app_localizations_tl.dart index 9d90da4ca8..24a908538b 100644 --- a/app/lib/l10n/app_localizations_tl.dart +++ b/app/lib/l10n/app_localizations_tl.dart @@ -63,6 +63,12 @@ class AppLocalizationsTl extends AppLocalizations { @override String get copySummary => 'Kopyahin ang Buod'; + @override + String get copyConversationId => 'Kopyahin ang ID ng usapan'; + + @override + String get conversationIdCopied => 'Nakopya na ang ID ng usapan sa clipboard'; + @override String get testPrompt => 'Subukan ang Prompt'; diff --git a/app/lib/l10n/app_localizations_tr.dart b/app/lib/l10n/app_localizations_tr.dart index 6b5faa80d6..a1b4e77d41 100644 --- a/app/lib/l10n/app_localizations_tr.dart +++ b/app/lib/l10n/app_localizations_tr.dart @@ -63,6 +63,12 @@ class AppLocalizationsTr extends AppLocalizations { @override String get copySummary => 'Özeti kopyala'; + @override + String get copyConversationId => 'Konuşma kimliğini kopyala'; + + @override + String get conversationIdCopied => 'Konuşma kimliği panoya kopyalandı'; + @override String get testPrompt => 'İstemi Test Et'; diff --git a/app/lib/l10n/app_localizations_uk.dart b/app/lib/l10n/app_localizations_uk.dart index 3d3c67e02a..981f93de9a 100644 --- a/app/lib/l10n/app_localizations_uk.dart +++ b/app/lib/l10n/app_localizations_uk.dart @@ -63,6 +63,12 @@ class AppLocalizationsUk extends AppLocalizations { @override String get copySummary => 'Копіювати підсумок'; + @override + String get copyConversationId => 'Копіювати ID розмови'; + + @override + String get conversationIdCopied => 'ID розмови скопійовано в буфер обміну'; + @override String get testPrompt => 'Тестовий запит'; diff --git a/app/lib/l10n/app_localizations_ur.dart b/app/lib/l10n/app_localizations_ur.dart index 65f498d8fc..86bd16c4f3 100644 --- a/app/lib/l10n/app_localizations_ur.dart +++ b/app/lib/l10n/app_localizations_ur.dart @@ -63,6 +63,12 @@ class AppLocalizationsUr extends AppLocalizations { @override String get copySummary => 'خلاصہ کاپی کریں'; + @override + String get copyConversationId => 'گفتگو کی ID کاپی کریں'; + + @override + String get conversationIdCopied => 'گفتگو کی ID کلپ بورڈ پر کاپی ہو گئی'; + @override String get testPrompt => 'ٹیسٹ پروپٹ'; diff --git a/app/lib/l10n/app_localizations_vi.dart b/app/lib/l10n/app_localizations_vi.dart index 3333906713..ff9760e4e7 100644 --- a/app/lib/l10n/app_localizations_vi.dart +++ b/app/lib/l10n/app_localizations_vi.dart @@ -63,6 +63,12 @@ class AppLocalizationsVi extends AppLocalizations { @override String get copySummary => 'Sao chép tóm tắt'; + @override + String get copyConversationId => 'Sao chép ID cuộc trò chuyện'; + + @override + String get conversationIdCopied => 'Đã sao chép ID cuộc trò chuyện vào clipboard'; + @override String get testPrompt => 'Thử nghiệm'; diff --git a/app/lib/l10n/app_localizations_zh.dart b/app/lib/l10n/app_localizations_zh.dart index e2ddb5dc87..9bc5c89266 100644 --- a/app/lib/l10n/app_localizations_zh.dart +++ b/app/lib/l10n/app_localizations_zh.dart @@ -62,6 +62,12 @@ class AppLocalizationsZh extends AppLocalizations { @override String get copySummary => '复制摘要'; + @override + String get copyConversationId => '复制对话 ID'; + + @override + String get conversationIdCopied => '对话 ID 已复制到剪贴板'; + @override String get testPrompt => '测试提示词'; diff --git a/app/lib/l10n/app_lt.arb b/app/lib/l10n/app_lt.arb index 947ce814ea..eecb75ccce 100644 --- a/app/lib/l10n/app_lt.arb +++ b/app/lib/l10n/app_lt.arb @@ -502,6 +502,7 @@ "conversationEndAfterMinutes": "Pokalbiai dabar bus baigiami po {minutes} minutės(-ių) tylos", "conversationEndsManually": "Pokalbis baigsis tik rankiniu būdu.", "conversationEvents": "Pokalbio įvykiai", + "conversationIdCopied": "Pokalbio ID nukopijuotas į mainų sritį", "conversationLinkCopiedToClipboard": "Pokalbio nuoroda nukopijuota į iškarpinę", "conversationNewIndicator": "Naujas 🚀", "conversationNoSummaryYet": "Šis pokalbis dar neturi santraukos.", @@ -529,6 +530,7 @@ "copiedToClipboard": "{title} nukopijuota į iškarpinę", "copy": "Kopijuoti", "copyConfig": "Kopijuoti konfigūraciją", + "copyConversationId": "Kopijuoti pokalbio ID", "copyErrorMessage": "Kopijuoti klaidos pranešimą", "copyKey": "Kopijuoti raktą", "copyLink": "Kopijuoti nuorodą", diff --git a/app/lib/l10n/app_lv.arb b/app/lib/l10n/app_lv.arb index 4ec62be1a8..3704c8bce9 100644 --- a/app/lib/l10n/app_lv.arb +++ b/app/lib/l10n/app_lv.arb @@ -18,6 +18,8 @@ "clear": "Notīrīt", "copyTranscript": "Kopēt transkripciju", "copySummary": "Kopēt kopsavilkumu", + "copyConversationId": "Kopēt sarakstes ID", + "conversationIdCopied": "Sarakstes ID nokopēts starpliktuvē", "testPrompt": "Testēt uzvedni", "reprocessConversation": "Pārstrādāt sarunu", "deleteConversation": "Dzēst sarunu", diff --git a/app/lib/l10n/app_mk.arb b/app/lib/l10n/app_mk.arb index 5f5f3fbaf2..63c6dabec6 100644 --- a/app/lib/l10n/app_mk.arb +++ b/app/lib/l10n/app_mk.arb @@ -73,6 +73,8 @@ "@copySummary": { "description": "Option to copy summary to clipboard" }, + "copyConversationId": "Копирај ID на разговорот", + "conversationIdCopied": "ID на разговорот е копиран во клипборд", "testPrompt": "Тест подсетник", "@testPrompt": { "description": "Menu item for testing prompts" diff --git a/app/lib/l10n/app_mr.arb b/app/lib/l10n/app_mr.arb index 9d02ce8b65..37df14b10f 100644 --- a/app/lib/l10n/app_mr.arb +++ b/app/lib/l10n/app_mr.arb @@ -73,6 +73,8 @@ "@copySummary": { "description": "Option to copy summary to clipboard" }, + "copyConversationId": "संभाषण आयडी कॉपी करा", + "conversationIdCopied": "संभाषण आयडी क्लिपबोर्डवर कॉपी झाला", "testPrompt": "टेस्ट प्रॉम्प्ट", "@testPrompt": { "description": "Menu item for testing prompts" diff --git a/app/lib/l10n/app_ms.arb b/app/lib/l10n/app_ms.arb index 30b3603510..3bb8dc0d6f 100644 --- a/app/lib/l10n/app_ms.arb +++ b/app/lib/l10n/app_ms.arb @@ -18,6 +18,8 @@ "clear": "Kosongkan", "copyTranscript": "Salin transkrip", "copySummary": "Salin ringkasan", + "copyConversationId": "Salin ID perbualan", + "conversationIdCopied": "ID perbualan disalin ke papan klip", "testPrompt": "Uji Gesaan", "reprocessConversation": "Proses Semula Perbualan", "deleteConversation": "Padam Perbualan", diff --git a/app/lib/l10n/app_nl.arb b/app/lib/l10n/app_nl.arb index 7da3e226e5..2779eb6c74 100644 --- a/app/lib/l10n/app_nl.arb +++ b/app/lib/l10n/app_nl.arb @@ -18,6 +18,8 @@ "clear": "Wissen", "copyTranscript": "Kopieer transcript", "copySummary": "Kopieer samenvatting", + "copyConversationId": "Gesprek-ID kopiëren", + "conversationIdCopied": "Gesprek-ID gekopieerd naar klembord", "testPrompt": "Prompt testen", "reprocessConversation": "Gesprek opnieuw verwerken", "deleteConversation": "Gesprek verwijderen", diff --git a/app/lib/l10n/app_no.arb b/app/lib/l10n/app_no.arb index b9eabe2a56..138e699cf8 100644 --- a/app/lib/l10n/app_no.arb +++ b/app/lib/l10n/app_no.arb @@ -18,6 +18,8 @@ "clear": "Tøm", "copyTranscript": "Kopier transkripsjon", "copySummary": "Kopier oppsummering", + "copyConversationId": "Kopier samtale-ID", + "conversationIdCopied": "Samtale-ID kopiert til utklippstavle", "testPrompt": "Test prompt", "reprocessConversation": "Behandle samtale på nytt", "deleteConversation": "Slett samtale", diff --git a/app/lib/l10n/app_pl.arb b/app/lib/l10n/app_pl.arb index bbf953a4d6..df1a34b6cd 100644 --- a/app/lib/l10n/app_pl.arb +++ b/app/lib/l10n/app_pl.arb @@ -18,6 +18,8 @@ "clear": "Wyczyść", "copyTranscript": "Kopiuj transkrypcję", "copySummary": "Kopiuj podsumowanie", + "copyConversationId": "Kopiuj ID rozmowy", + "conversationIdCopied": "ID rozmowy skopiowane do schowka", "testPrompt": "Testuj prompt", "reprocessConversation": "Przetwórz ponownie rozmowę", "deleteConversation": "Usuń rozmowę", diff --git a/app/lib/l10n/app_pt.arb b/app/lib/l10n/app_pt.arb index 6410a1b37a..e954cd536b 100644 --- a/app/lib/l10n/app_pt.arb +++ b/app/lib/l10n/app_pt.arb @@ -18,6 +18,8 @@ "clear": "Limpar", "copyTranscript": "Copiar transcrição", "copySummary": "Copiar resumo", + "copyConversationId": "Copiar ID da conversa", + "conversationIdCopied": "ID da conversa copiado para a área de transferência", "testPrompt": "Testar prompt", "reprocessConversation": "Reprocessar conversa", "deleteConversation": "Excluir Conversa", diff --git a/app/lib/l10n/app_ro.arb b/app/lib/l10n/app_ro.arb index 524c8598d0..175c48dee1 100644 --- a/app/lib/l10n/app_ro.arb +++ b/app/lib/l10n/app_ro.arb @@ -18,6 +18,8 @@ "clear": "Curăță", "copyTranscript": "Copiază transcrierea", "copySummary": "Copiază rezumatul", + "copyConversationId": "Copiază ID-ul conversației", + "conversationIdCopied": "ID-ul conversației a fost copiat în clipboard", "testPrompt": "Testează promptul", "reprocessConversation": "Reprocesează conversația", "deleteConversation": "Șterge conversația", diff --git a/app/lib/l10n/app_ru.arb b/app/lib/l10n/app_ru.arb index 91b77fdde1..450c821171 100644 --- a/app/lib/l10n/app_ru.arb +++ b/app/lib/l10n/app_ru.arb @@ -18,6 +18,8 @@ "clear": "Очистить", "copyTranscript": "Копировать транскрипт", "copySummary": "Копировать сводку", + "copyConversationId": "Скопировать ID разговора", + "conversationIdCopied": "ID разговора скопирован в буфер обмена", "testPrompt": "Тестовый запрос", "reprocessConversation": "Переобработать разговор", "deleteConversation": "Удалить разговор", diff --git a/app/lib/l10n/app_sk.arb b/app/lib/l10n/app_sk.arb index 2dbf8d6220..110ba79379 100644 --- a/app/lib/l10n/app_sk.arb +++ b/app/lib/l10n/app_sk.arb @@ -18,6 +18,8 @@ "clear": "Vymazať", "copyTranscript": "Kopírovať prepis", "copySummary": "Kopírovať zhrnutie", + "copyConversationId": "Kopírovať ID konverzácie", + "conversationIdCopied": "ID konverzácie skopírované do schránky", "testPrompt": "Otestovať výzvu", "reprocessConversation": "Znovu spracovať konverzáciu", "deleteConversation": "Odstrániť konverzáciu", diff --git a/app/lib/l10n/app_sl.arb b/app/lib/l10n/app_sl.arb index 4803724666..35c664efa8 100644 --- a/app/lib/l10n/app_sl.arb +++ b/app/lib/l10n/app_sl.arb @@ -73,6 +73,8 @@ "@copySummary": { "description": "Option to copy summary to clipboard" }, + "copyConversationId": "Kopiraj ID pogovora", + "conversationIdCopied": "ID pogovora je bil kopiran v odložišče", "testPrompt": "Testiraj poziv", "@testPrompt": { "description": "Menu item for testing prompts" diff --git a/app/lib/l10n/app_sr.arb b/app/lib/l10n/app_sr.arb index 5b1c0f6ea3..2d8d478b61 100644 --- a/app/lib/l10n/app_sr.arb +++ b/app/lib/l10n/app_sr.arb @@ -73,6 +73,8 @@ "@copySummary": { "description": "Option to copy summary to clipboard" }, + "copyConversationId": "Копирај ID разговора", + "conversationIdCopied": "ID разговора је копиран у клипборд", "testPrompt": "Тестирај подстицај", "@testPrompt": { "description": "Menu item for testing prompts" diff --git a/app/lib/l10n/app_sv.arb b/app/lib/l10n/app_sv.arb index dab917e233..26939bff80 100644 --- a/app/lib/l10n/app_sv.arb +++ b/app/lib/l10n/app_sv.arb @@ -18,6 +18,8 @@ "clear": "Rensa", "copyTranscript": "Kopiera transkription", "copySummary": "Kopiera sammanfattning", + "copyConversationId": "Kopiera konversations-ID", + "conversationIdCopied": "Konversations-ID kopierat till urklipp", "testPrompt": "Testa prompt", "reprocessConversation": "Bearbeta konversation igen", "deleteConversation": "Radera konversation", diff --git a/app/lib/l10n/app_ta.arb b/app/lib/l10n/app_ta.arb index 2c136327e4..2d7e326aa7 100644 --- a/app/lib/l10n/app_ta.arb +++ b/app/lib/l10n/app_ta.arb @@ -73,6 +73,8 @@ "@copySummary": { "description": "Option to copy summary to clipboard" }, + "copyConversationId": "உரையாடல் ID நகலெடு", + "conversationIdCopied": "உரையாடல் ID கிளிப்போர்டில் நகலெடுக்கப்பட்டது", "testPrompt": "தேர்வு கேட்டுகோள்", "@testPrompt": { "description": "Menu item for testing prompts" diff --git a/app/lib/l10n/app_te.arb b/app/lib/l10n/app_te.arb index 4a859111e2..94f1768df9 100644 --- a/app/lib/l10n/app_te.arb +++ b/app/lib/l10n/app_te.arb @@ -73,6 +73,8 @@ "@copySummary": { "description": "Option to copy summary to clipboard" }, + "copyConversationId": "సంభాషణ ID కాపీ చేయండి", + "conversationIdCopied": "సంభాషణ ID క్లిప్‌బోర్డ్‌కు కాపీ చేయబడింది", "testPrompt": "ప్రాంప్ట్‌ను పరీక్షించండి", "@testPrompt": { "description": "Menu item for testing prompts" diff --git a/app/lib/l10n/app_th.arb b/app/lib/l10n/app_th.arb index 85eb270b6c..a69d436d7d 100644 --- a/app/lib/l10n/app_th.arb +++ b/app/lib/l10n/app_th.arb @@ -18,6 +18,8 @@ "clear": "ล้าง", "copyTranscript": "คัดลอกบทถอดความ", "copySummary": "คัดลอกสรุป", + "copyConversationId": "คัดลอก ID การสนทนา", + "conversationIdCopied": "คัดลอก ID การสนทนาไปยังคลิปบอร์ดแล้ว", "testPrompt": "ทดสอบคำสั่ง", "reprocessConversation": "ประมวลผลบทสนทนาใหม่", "deleteConversation": "ลบการสนทนา", diff --git a/app/lib/l10n/app_tl.arb b/app/lib/l10n/app_tl.arb index f84194bc13..d42c5b7809 100644 --- a/app/lib/l10n/app_tl.arb +++ b/app/lib/l10n/app_tl.arb @@ -73,6 +73,8 @@ "@copySummary": { "description": "Option to copy summary to clipboard" }, + "copyConversationId": "Kopyahin ang ID ng usapan", + "conversationIdCopied": "Nakopya na ang ID ng usapan sa clipboard", "testPrompt": "Subukan ang Prompt", "@testPrompt": { "description": "Menu item for testing prompts" diff --git a/app/lib/l10n/app_tr.arb b/app/lib/l10n/app_tr.arb index 204fbe6be6..e4620c3ad4 100644 --- a/app/lib/l10n/app_tr.arb +++ b/app/lib/l10n/app_tr.arb @@ -18,6 +18,8 @@ "clear": "Temizle", "copyTranscript": "Transkripti kopyala", "copySummary": "Özeti kopyala", + "copyConversationId": "Konuşma kimliğini kopyala", + "conversationIdCopied": "Konuşma kimliği panoya kopyalandı", "testPrompt": "İstemi Test Et", "reprocessConversation": "Konuşmayı Yeniden İşle", "deleteConversation": "Sohbeti Sil", diff --git a/app/lib/l10n/app_uk.arb b/app/lib/l10n/app_uk.arb index 4eb08b670c..93c5a28114 100644 --- a/app/lib/l10n/app_uk.arb +++ b/app/lib/l10n/app_uk.arb @@ -18,6 +18,8 @@ "clear": "Очистити", "copyTranscript": "Копіювати транскрипт", "copySummary": "Копіювати підсумок", + "copyConversationId": "Копіювати ID розмови", + "conversationIdCopied": "ID розмови скопійовано в буфер обміну", "testPrompt": "Тестовий запит", "reprocessConversation": "Перепрацювати розмову", "deleteConversation": "Видалити розмову", diff --git a/app/lib/l10n/app_ur.arb b/app/lib/l10n/app_ur.arb index c03e22e4b2..f4a721b703 100644 --- a/app/lib/l10n/app_ur.arb +++ b/app/lib/l10n/app_ur.arb @@ -73,6 +73,8 @@ "@copySummary": { "description": "Option to copy summary to clipboard" }, + "copyConversationId": "گفتگو کی ID کاپی کریں", + "conversationIdCopied": "گفتگو کی ID کلپ بورڈ پر کاپی ہو گئی", "testPrompt": "ٹیسٹ پروپٹ", "@testPrompt": { "description": "Menu item for testing prompts" diff --git a/app/lib/l10n/app_vi.arb b/app/lib/l10n/app_vi.arb index efbe9a7187..d934a2d1b5 100644 --- a/app/lib/l10n/app_vi.arb +++ b/app/lib/l10n/app_vi.arb @@ -18,6 +18,8 @@ "clear": "Xóa sạch", "copyTranscript": "Sao chép bản ghi", "copySummary": "Sao chép tóm tắt", + "copyConversationId": "Sao chép ID cuộc trò chuyện", + "conversationIdCopied": "Đã sao chép ID cuộc trò chuyện vào clipboard", "testPrompt": "Thử nghiệm", "reprocessConversation": "Xử lý lại cuộc trò chuyện", "deleteConversation": "Xóa cuộc trò chuyện", diff --git a/app/lib/l10n/app_zh.arb b/app/lib/l10n/app_zh.arb index 871c71c062..e51cd39acf 100644 --- a/app/lib/l10n/app_zh.arb +++ b/app/lib/l10n/app_zh.arb @@ -18,6 +18,8 @@ "clear": "清除", "copyTranscript": "复制文字记录", "copySummary": "复制摘要", + "copyConversationId": "复制对话 ID", + "conversationIdCopied": "对话 ID 已复制到剪贴板", "testPrompt": "测试提示词", "reprocessConversation": "重新处理对话", "deleteConversation": "删除对话", diff --git a/app/lib/pages/conversation_detail/page.dart b/app/lib/pages/conversation_detail/page.dart index d4ffbffe3c..f95d4aebd3 100644 --- a/app/lib/pages/conversation_detail/page.dart +++ b/app/lib/pages/conversation_detail/page.dart @@ -355,6 +355,13 @@ class _ConversationDetailPageState extends State with Ti await provider.reprocessConversation(); } break; + case 'copy_conversation_id': + Clipboard.setData(ClipboardData(text: provider.conversation.id)); + ScaffoldMessenger.of(context).showSnackBar( + SnackBar(content: Text(context.l10n.conversationIdCopied)), + ); + HapticFeedback.lightImpact(); + break; case 'delete': _handleDelete(context, provider); break; @@ -810,6 +817,11 @@ class _ConversationDetailPageState extends State with Ti iconWidget: FaIcon(FontAwesomeIcons.clone, size: 16), onTap: () => _handleMenuSelection(context, 'copy_summary', provider), ), + PullDownMenuItem( + title: context.l10n.copyConversationId, + iconWidget: FaIcon(FontAwesomeIcons.clipboard, size: 16), + onTap: () => _handleMenuSelection(context, 'copy_conversation_id', provider), + ), if (provider.conversation.hasAudio()) PullDownMenuItem( title: context.l10n.shareAudio, diff --git a/app/test/widgets/conversation_detail_copy_id_test.dart b/app/test/widgets/conversation_detail_copy_id_test.dart new file mode 100644 index 0000000000..ab0397a425 --- /dev/null +++ b/app/test/widgets/conversation_detail_copy_id_test.dart @@ -0,0 +1,155 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:flutter_localizations/flutter_localizations.dart'; +import 'package:flutter_test/flutter_test.dart'; + +import 'package:omi/l10n/app_localizations.dart'; + +/// Wraps [child] in a MaterialApp configured with all l10n delegates so +/// `AppLocalizations.of(context)!.copyConversationId` etc. resolve. +/// `locale` defaults to English; pass another supported locale (e.g. `ja`) +/// to test the localized snackbar wording. +Widget buildTestApp(Widget child, {Locale locale = const Locale('en')}) { + return MaterialApp( + locale: locale, + localizationsDelegates: const [ + AppLocalizations.delegate, + GlobalMaterialLocalizations.delegate, + GlobalWidgetsLocalizations.delegate, + GlobalCupertinoLocalizations.delegate, + ], + supportedLocales: AppLocalizations.supportedLocales, + home: child, + ); +} + +/// Reproduces the inline body of the `'copy_conversation_id'` branch in +/// `_handleMenuSelection` (`app/lib/pages/conversation_detail/page.dart`). +/// Keeping this harness in lockstep with the real menu item lets the +/// behavior — Clipboard write + localized snackbar — be tested without +/// pumping the full `ConversationDetailPage` widget tree (which would +/// require many providers / network mocks). +/// +/// **Sync requirement:** because this harness re-implements the production +/// branch instead of importing it, any future change to that switch case +/// (e.g. swapping `Clipboard.setData` semantics, replacing the snackbar with +/// a toast, or routing through `_copyContent`) must be mirrored here, or +/// these tests will keep passing against stale behavior. +class CopyConversationIdHarness extends StatelessWidget { + const CopyConversationIdHarness({super.key, required this.conversationId}); + + final String conversationId; + + @override + Widget build(BuildContext context) { + return Scaffold( + body: Center( + child: Builder( + builder: (innerContext) { + return ElevatedButton( + onPressed: () { + Clipboard.setData(ClipboardData(text: conversationId)); + ScaffoldMessenger.of(innerContext).showSnackBar( + SnackBar( + content: Text(AppLocalizations.of(innerContext)!.conversationIdCopied), + ), + ); + HapticFeedback.lightImpact(); + }, + child: const Text('Tap to copy'), + ); + }, + ), + ), + ); + } +} + +void main() { + group('AppLocalizations strings (en)', () { + testWidgets('copyConversationId exposes the menu label', (tester) async { + late AppLocalizations l10n; + await tester.pumpWidget( + buildTestApp( + Builder( + builder: (context) { + l10n = AppLocalizations.of(context)!; + return const SizedBox.shrink(); + }, + ), + ), + ); + expect(l10n.copyConversationId, 'Copy Conversation ID'); + }); + + testWidgets('conversationIdCopied exposes the snackbar message', (tester) async { + late AppLocalizations l10n; + await tester.pumpWidget( + buildTestApp( + Builder( + builder: (context) { + l10n = AppLocalizations.of(context)!; + return const SizedBox.shrink(); + }, + ), + ), + ); + expect(l10n.conversationIdCopied, 'Conversation ID copied to clipboard'); + }); + }); + + group('Copy Conversation ID action', () { + testWidgets('writes the conversation id to the system clipboard', (tester) async { + String? copied; + tester.binding.defaultBinaryMessenger.setMockMethodCallHandler( + SystemChannels.platform, + (MethodCall call) async { + if (call.method == 'Clipboard.setData') { + copied = (call.arguments as Map)['text'] as String?; + } + return null; + }, + ); + // Use addTearDown so the mock handler is reset even if the test fails + // partway through, preventing leakage into the next testWidgets case. + addTearDown(() { + tester.binding.defaultBinaryMessenger.setMockMethodCallHandler(SystemChannels.platform, null); + }); + + const conversationId = 'conv_2026demo_abcdef0123456789'; + await tester.pumpWidget( + buildTestApp(const CopyConversationIdHarness(conversationId: conversationId)), + ); + + await tester.tap(find.text('Tap to copy')); + await tester.pump(); + + expect(copied, conversationId); + expect(find.text('Conversation ID copied to clipboard'), findsOneWidget); + }); + + testWidgets('snackbar wording is localized for non-English locales', (tester) async { + tester.binding.defaultBinaryMessenger.setMockMethodCallHandler( + SystemChannels.platform, + (MethodCall call) async => null, + ); + addTearDown(() { + tester.binding.defaultBinaryMessenger.setMockMethodCallHandler(SystemChannels.platform, null); + }); + + await tester.pumpWidget( + buildTestApp( + const CopyConversationIdHarness(conversationId: 'irrelevant'), + locale: const Locale('ja'), + ), + ); + + await tester.tap(find.text('Tap to copy')); + await tester.pump(); + + // Value comes from app/lib/l10n/app_ja.arb and proves the generated + // AppLocalizations actually surfaces the new key in non-English ARBs. + expect(find.text('会話IDをクリップボードにコピーしました'), findsOneWidget); + }); + }); +}