mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-17 15:09:31 +02:00
Update startup progress UX
This commit is contained in:
@@ -2661,12 +2661,6 @@
|
||||
|
||||
// Unverified sessions
|
||||
"key_verification_alert_title" = "Du hast nicht verifizierte Sitzungen";
|
||||
"launch_loading_processing_response" = "Verarbeite Daten\n%@ %%";
|
||||
"launch_loading_server_syncing_nth_attempt" = "Synchronisiere mit dem Server\n(%@ Versuch)";
|
||||
|
||||
// MARK: - Launch loading
|
||||
|
||||
"launch_loading_server_syncing" = "Synchronisiere mit dem Server";
|
||||
"user_other_session_permanently_unverified_additional_info" = "Diese Sitzung unterstützt keine Verschlüsselung und kann deshalb nicht verifiziert werden.";
|
||||
"voice_broadcast_time_left" = "%@ übrig";
|
||||
"voice_broadcast_buffering" = "Puffere …";
|
||||
@@ -2717,9 +2711,6 @@
|
||||
"voice_broadcast_recorder_connection_error" = "Verbindungsfehler − Aufnahme pausiert";
|
||||
"poll_timeline_reply_ended_poll" = "Beendete Umfrage";
|
||||
|
||||
// MARK: - Launch loading
|
||||
|
||||
"launch_loading_migrating_data" = "Migriere Daten\n%@ %%";
|
||||
"settings_labs_disable_crypto_sdk" = "Rust-Ende-zu-Ende-Verschlüsselung (zum Deaktivieren abmelden)";
|
||||
"settings_labs_confirm_crypto_sdk" = "Bitte beachte, dass diese Funktion noch experimentell ist, womöglich nicht wie erwartet funktioniert und unerwünschte Nebeneffekte haben kann. Melde dich zum deaktivieren einfach ab und erneut an. Nutze diese Funktion nach eigenem Ermessen und mit Vorsicht.";
|
||||
"settings_labs_enable_crypto_sdk" = "Rust-Ende-zu-Ende-Verschlüsselung";
|
||||
|
||||
@@ -1991,10 +1991,8 @@ Tap the + to start adding people.";
|
||||
|
||||
// MARK: - Launch loading
|
||||
|
||||
"launch_loading_migrating_data" = "Migrating data\n%@ %%";
|
||||
"launch_loading_server_syncing" = "Syncing with the server";
|
||||
"launch_loading_server_syncing_nth_attempt" = "Syncing with the server\n(%@ attempt)";
|
||||
"launch_loading_processing_response" = "Processing data\n%@ %%";
|
||||
"launch_loading_generic" = "Syncing your conversations";
|
||||
"launch_loading_delay_warning" = "This may take a little longer.\nThanks for your patience.";
|
||||
|
||||
// MARK: - Home
|
||||
|
||||
|
||||
@@ -2601,12 +2601,6 @@
|
||||
"key_verification_alert_title" = "Sul on verifitseerimata sessioone";
|
||||
"user_other_session_permanently_unverified_additional_info" = "Seda sessiooni ei saa verifitseerida, sest seal puudub krüptimise tugi.";
|
||||
"voice_broadcast_time_left" = "aega jäänud %@";
|
||||
"launch_loading_processing_response" = "Töötleme andmeid\n%@ %%";
|
||||
"launch_loading_server_syncing_nth_attempt" = "Sünkroniseerime andmeid serveriga\n(katse: %@)";
|
||||
|
||||
// MARK: - Launch loading
|
||||
|
||||
"launch_loading_server_syncing" = "Sünkroniseerimine serveriga";
|
||||
"voice_broadcast_buffering" = "Andmed on puhverdamisel…";
|
||||
"voice_broadcast_stop_alert_agree_button" = "Jah, lõpetame";
|
||||
"voice_broadcast_stop_alert_description" = "Kas sa oled kindel, et soovid otseeetri lõpetada? Sellega ringhäälingukõne salvestamine lõppeb ja salvestis on kättesaadav kõigile jututoas.";
|
||||
@@ -2655,9 +2649,6 @@
|
||||
"voice_broadcast_recorder_connection_error" = "Viga võrguühenduses - salvestamine on peatatud";
|
||||
"poll_timeline_reply_ended_poll" = "Lõppenud küsitlus";
|
||||
|
||||
// MARK: - Launch loading
|
||||
|
||||
"launch_loading_migrating_data" = "Tõstame andmeid ümber\n%@ %%";
|
||||
"settings_labs_disable_crypto_sdk" = "Rust'i-põhine läbiv krüptimine (väljalülitamiseks pead välja logima)";
|
||||
"settings_labs_confirm_crypto_sdk" = "Palun arvesta, et see funktsionaalsus on alles katseline ja ei pruugi toimida eesmärgipäraselt. Kui ta juba on kasutusel, siis väljalülitamiseks pead hiljem korraks võrgust välja logima. Jätka ettevaatlikult ja omal äranägemisel.";
|
||||
"settings_labs_enable_crypto_sdk" = "Rust'i-põhine läbiv krüptimine";
|
||||
|
||||
@@ -2616,7 +2616,6 @@
|
||||
"poll_history_loading_text" = "Afficher les sondages";
|
||||
"voice_message_broadcast_in_progress_title" = "Impossible de démarrer l'enregistrement vocal";
|
||||
"home_context_menu_mark_as_unread" = "Marquer comme non lu";
|
||||
"launch_loading_processing_response" = "Traitement des données\n%@ %%";
|
||||
"notice_voice_broadcast_ended_by_you" = "Vous avez terminé une diffusion vocale.";
|
||||
"notice_voice_broadcast_ended" = "%@ a terminé une diffusion vocale.";
|
||||
"notice_voice_broadcast_live" = "Diffusion en direct";
|
||||
@@ -2721,12 +2720,7 @@
|
||||
// MARK: - Voice Broadcast
|
||||
"voice_broadcast_unauthorized_title" = "Impossible de démarrer une nouvelle diffusion vocale";
|
||||
"voice_message_broadcast_in_progress_message" = "Vous ne pouvez pas démarrer d'enregistrement vocal car vous diffusez en direct. Veuillez interrompre votre diffusion pour démarrer l'enregistrement vocal";
|
||||
"launch_loading_server_syncing_nth_attempt" = "Synchronisation avec le serveur\n(%@ tentatives)";
|
||||
"launch_loading_server_syncing" = "Synchronisation avec le serveur";
|
||||
|
||||
// MARK: - Launch loading
|
||||
|
||||
"launch_loading_migrating_data" = "Migration des données\n%@ %%";
|
||||
"key_backup_recover_from_private_key_progress" = "%@%% Fini";
|
||||
"room_details_polls" = "Historique des sondages";
|
||||
"settings_labs_disable_crypto_sdk" = "Chiffrement de bout en bout avec Rust (se déconnecter pour désactiver)";
|
||||
|
||||
@@ -2654,12 +2654,7 @@
|
||||
"voice_broadcast_stop_alert_title" = "Megszakítod az élő közvetítést?";
|
||||
"voice_broadcast_buffering" = "Pufferelés…";
|
||||
"voice_broadcast_time_left" = "%@ van vissza";
|
||||
"launch_loading_processing_response" = "Adat feldolgozása\n%@ %%";
|
||||
"launch_loading_server_syncing_nth_attempt" = "Szinkronizálás a szerverrel\n(%@ próbálkozás)";
|
||||
|
||||
// MARK: - Launch loading
|
||||
|
||||
"launch_loading_server_syncing" = "Szinkronizálás a szerverrel";
|
||||
"password_policy_pwd_in_dict_error" = "Ez a jelszó megtalálható a szótárban ezért nem engedélyezett.";
|
||||
"password_policy_weak_pwd_error" = "Ez a jelszó túl gyenge. Legalább 8 karakternek kell lennie és minden típusból legalább egy: nagybetű, kisbetű, szám és speciális karakter.";
|
||||
|
||||
@@ -2707,9 +2702,6 @@
|
||||
"poll_history_no_active_poll_period_text" = "%@ napja nincs aktív szavazás. További szavazások betöltése az előző havi szavazások megjelenítéséhez";
|
||||
"poll_history_loading_text" = "Szavazások megjelenítése";
|
||||
|
||||
// MARK: - Launch loading
|
||||
|
||||
"launch_loading_migrating_data" = "Adatok migrálása\n%@ %%";
|
||||
"settings_labs_disable_crypto_sdk" = "Rust végpontok közötti titkosítás (kikapcsoláshoz kijelentkezés szükséges)";
|
||||
"settings_labs_confirm_crypto_sdk" = "Ez a funkció még kísérleti fázisban van. Lehet, hogy nem az elvártnak megfelelően fog működni és előre nem látható következménye lehet. A funkció kikapcsolásához egyszerű ki-, és bejelentkezés szükséges. Használata csak saját felelősségre.";
|
||||
"settings_labs_enable_crypto_sdk" = "Rust végpontok közötti titkosítás";
|
||||
|
||||
@@ -2856,12 +2856,7 @@
|
||||
"key_verification_alert_title" = "Anda punya sesi yang belum diverifikasi";
|
||||
"user_other_session_permanently_unverified_additional_info" = "Sesi ini tidak mendukung enkripsi jadi tidak dapat diverifikasi.";
|
||||
"voice_broadcast_time_left" = "Tersisa %@";
|
||||
"launch_loading_processing_response" = "Memroses data\n%@ %%";
|
||||
"launch_loading_server_syncing_nth_attempt" = "Menyinkron dengan server\n(%@ percobaan)";
|
||||
|
||||
// MARK: - Launch loading
|
||||
|
||||
"launch_loading_server_syncing" = "Menyinkron dengan server";
|
||||
"voice_broadcast_buffering" = "Memuat…";
|
||||
"voice_broadcast_stop_alert_agree_button" = "Ya, batalkan";
|
||||
"voice_broadcast_stop_alert_description" = "Apakah Anda ingin menghentikan siaran langsung Anda? Ini akan mengakhiri siarannya, dan rekamanan lengkap akan tersedia dalam ruangan.";
|
||||
@@ -2910,9 +2905,6 @@
|
||||
"voice_broadcast_recorder_connection_error" = "Kesalahan koneksi - Perekaman dijeda";
|
||||
"poll_timeline_reply_ended_poll" = "Pemungutan suara berakhir";
|
||||
|
||||
// MARK: - Launch loading
|
||||
|
||||
"launch_loading_migrating_data" = "Memigrasikan data\n%@ %%";
|
||||
"settings_labs_disable_crypto_sdk" = "Enkripsi ujung ke ujung Rust (keluar dari akun untuk menonaktifkan)";
|
||||
"settings_labs_confirm_crypto_sdk" = "Ketahui bahwa fitur ini masih dalam masa eksperimental, ini mungkin tidak berfungsi seperti yang diharapkan dan dapat memiliki konsekuensi yang tidak terduga. Untuk mengembalikan fitur, cukup keluar dari akun dan masuk kembali ke akun. Gunakan dengan pengetahuan dan risiko Anda.";
|
||||
"settings_labs_enable_crypto_sdk" = "Enkripsi ujung ke ujung Rust";
|
||||
|
||||
@@ -2630,12 +2630,7 @@
|
||||
"user_other_session_permanently_unverified_additional_info" = "Questa sessione non supporta la crittografia, perciò non può essere verificata.";
|
||||
"voice_broadcast_buffering" = "Buffer...";
|
||||
"voice_broadcast_time_left" = "%@ rimasti";
|
||||
"launch_loading_processing_response" = "Elaborazione dati\n%@ %%";
|
||||
"launch_loading_server_syncing_nth_attempt" = "Sincronizzazione con il server\n(%@ tentativo)";
|
||||
|
||||
// MARK: - Launch loading
|
||||
|
||||
"launch_loading_server_syncing" = "Sincronizzazione con il server";
|
||||
"voice_broadcast_stop_alert_agree_button" = "Sì, ferma";
|
||||
"voice_broadcast_stop_alert_description" = "Vuoi davvero fermare la tua trasmissione in diretta? Verrà terminata la trasmissione e la registrazione completa sarà disponibile nella stanza.";
|
||||
"voice_broadcast_stop_alert_title" = "Fermare la trasmissione in diretta?";
|
||||
@@ -2687,9 +2682,6 @@
|
||||
"poll_history_no_active_poll_period_text" = "Non ci sono sondaggi attivi negli ultimi %@ giorni. Carica più sondaggi per vedere quelli dei mesi precedenti";
|
||||
"poll_history_loading_text" = "Visualizzazione sondaggi";
|
||||
|
||||
// MARK: - Launch loading
|
||||
|
||||
"launch_loading_migrating_data" = "Migrazione dati\n%@ %%";
|
||||
"settings_labs_disable_crypto_sdk" = "Crittografia end-to-end Rust (disconnettiti per disattivarla)";
|
||||
"settings_labs_confirm_crypto_sdk" = "Si noti che questa funzione, essendo ancora in fase sperimentale, potrebbe non funzionare come previsto e potrebbe avere conseguenze indesiderate. Per disattivare la funzione, è sufficiente disconnettersi e riaccedere. Utilizzare a propria discrezione e con cautela.";
|
||||
"settings_labs_enable_crypto_sdk" = "Crittografia end-to-end Rust";
|
||||
|
||||
@@ -2591,8 +2591,6 @@
|
||||
"user_session_unverified_session_description" = "未認証のセッションは、認証情報でログインされていますが、クロス認証は行われていないセッションです。\n\nこれらのセッションは、アカウントの不正使用を示している可能性があるため、注意して確認してください。";
|
||||
"user_session_verified_session_description" = "認証済のセッションは、パスフレーズの入力、または他の認証済のセッションで本人確認を行ったセッションです。\n\n認証済のセッションには、暗号化されたメッセージを復号化する際に使用する全ての鍵が備わっています。また、他のユーザーに対しては、あなたがこのセッションを信頼していることが表示されます。";
|
||||
"user_session_push_notifications_message" = "有効にすると、このセッションはプッシュ通知を受信します。";
|
||||
"launch_loading_server_syncing" = "サーバーと同期しています";
|
||||
"launch_loading_processing_response" = "データを処理しています\n%@ %%";
|
||||
"wysiwyg_composer_format_action_link" = "リンクの装飾を適用";
|
||||
"wysiwyg_composer_format_action_inline_code" = "インラインコードの装飾を適用";
|
||||
"wysiwyg_composer_format_action_unordered_list" = "箇条書きリストの表示を切り替える";
|
||||
@@ -2603,9 +2601,6 @@
|
||||
"settings_labs_enable_crypto_sdk" = "Rust エンドツーエンド暗号化";
|
||||
"settings_labs_disable_crypto_sdk" = "Rust エンドツーエンド暗号化(無効にするにはログアウトしてください)";
|
||||
|
||||
// MARK: - Launch loading
|
||||
|
||||
"launch_loading_migrating_data" = "データを移行しています\n%@ %%";
|
||||
"poll_history_load_more" = "他のアンケートを読み込む";
|
||||
"key_backup_recover_from_private_key_progress" = "%@%%完了";
|
||||
"voice_broadcast_playback_unable_to_decrypt" = "この音声配信を復号化できません。";
|
||||
@@ -2624,7 +2619,6 @@
|
||||
"analytics_prompt_title" = "%@の改善を手伝う";
|
||||
"event_formatter_call_active_video" = "実施中のビデオ通話";
|
||||
"event_formatter_call_active_voice" = "実施中の音声通話";
|
||||
"launch_loading_server_syncing_nth_attempt" = "サーバーと同期しています\n(%@回試行)";
|
||||
"create_room_suggest_room_footer" = "おすすめのルームは、スペースのメンバーに対して参加候補として表示されます。";
|
||||
"create_room_section_footer_type_public" = "スペースの名前だけでなく、招待された人だけが検索し、参加できます。";
|
||||
"searchable_directory_x_network" = "%@ネットワーク";
|
||||
|
||||
@@ -2626,12 +2626,7 @@
|
||||
"user_session_got_it" = "Entendido";
|
||||
"user_other_session_permanently_unverified_additional_info" = "Esta sessão não suporta encriptação e assim não pode ser verificada.";
|
||||
"voice_broadcast_time_left" = "%@ restando";
|
||||
"launch_loading_processing_response" = "Processando dados\n%@ %%";
|
||||
"launch_loading_server_syncing_nth_attempt" = "Sincando com o servidor\n(%@ tentativa)";
|
||||
|
||||
// MARK: - Launch loading
|
||||
|
||||
"launch_loading_server_syncing" = "Sincando com o servidor";
|
||||
"key_verification_alert_body" = "Revise para assegurar que sua conta está segura.";
|
||||
|
||||
// Unverified sessions
|
||||
|
||||
@@ -2852,12 +2852,7 @@
|
||||
"key_verification_alert_title" = "Máte neoverené relácie";
|
||||
"user_other_session_permanently_unverified_additional_info" = "Táto relácia nepodporuje šifrovanie, a preto ju nemožno overiť.";
|
||||
"voice_broadcast_time_left" = "%@ ostáva";
|
||||
"launch_loading_processing_response" = "Spracovanie údajov\n%@ %%";
|
||||
"launch_loading_server_syncing_nth_attempt" = "Synchronizácia so serverom\n(%@ pokus)";
|
||||
|
||||
// MARK: - Launch loading
|
||||
|
||||
"launch_loading_server_syncing" = "Synchronizácia so serverom";
|
||||
"voice_broadcast_buffering" = "Načítavanie do vyrovnávacej pamäte…";
|
||||
"voice_broadcast_stop_alert_agree_button" = "Áno, zastaviť";
|
||||
"voice_broadcast_stop_alert_description" = "Určite chcete zastaviť vysielanie naživo? Tým sa vysielanie ukončí a v miestnosti bude k dispozícii celý záznam.";
|
||||
@@ -2906,9 +2901,6 @@
|
||||
"voice_broadcast_recorder_connection_error" = "Chyba pripojenia - nahrávanie pozastavené";
|
||||
"poll_timeline_reply_ended_poll" = "Ukončená anketa";
|
||||
|
||||
// MARK: - Launch loading
|
||||
|
||||
"launch_loading_migrating_data" = "Migrácia údajov\n%@ %%";
|
||||
"settings_labs_disable_crypto_sdk" = "Rust end-to-end šifrovanie (odhláste sa, aby ste ho vypli)";
|
||||
"settings_labs_confirm_crypto_sdk" = "Upozorňujeme, že táto funkcia je stále v experimentálnej fáze, preto nemusí fungovať podľa očakávaní a môže mať potenciálne nezamýšľané dôsledky. Ak chcete funkciu vrátiť späť, jednoducho sa odhláste a znova prihláste. Používajte ju podľa vlastného uváženia a s opatrnosťou.";
|
||||
"settings_labs_enable_crypto_sdk" = "Rust end-to-end šifrovanie";
|
||||
|
||||
@@ -2625,7 +2625,6 @@
|
||||
"user_session_inactive_session_description" = "Sesione jo aktive janë sesione që keni ca kohë që s’i keni përdorur, por që vazhdojnë të marrin kyçe fshehtëzimi.\n\nHeqja e sesioneve jo aktive përmirëson sigurinë dhe punimin dhe e bëjnë të lehtë për ju të identifikoni, nëse një sesion i ri është i dyshimtë.";
|
||||
"user_session_unverified_session_description" = "Sesione të paverifikuar janë sesione ku keni bërë hyrjen me kredencialet tuaja, por që nuk janë ndër-verifikuar.\n\nDuhet ta bëni veçanërisht të qartë se i njihni këto sesione, ngaqë mund të përfaqësojnë përdorim të paautorizuar të llogarisë tuaj.";
|
||||
"user_session_verified_session_description" = "Sesione të verifikuar janë ata kudo që përdorni Element-in pasi të keni dhënë frazëkalimin tuaj, ose pasi të keni ripohuar identitetin tuaj përmes një tjetër sesioni të verifikuar.\n\nKjo do të thotë se zotëroni krejt kyçet e nevojshëm për të shkyçur mesazhet tuaj të fshehtëzuar dhe ripohuar përdoruesve të tjerë se e besoni këtë sesion.";
|
||||
"launch_loading_server_syncing_nth_attempt" = "Po njëkohësohet me shërbyesin\n(Përpjekja e %@)";
|
||||
"user_session_rename_session_title" = "Riemërtim sesionesh";
|
||||
"user_session_inactive_session_title" = "Sesione jo aktive";
|
||||
"user_session_unverified_session_title" = "Sesione të paverifikuar";
|
||||
@@ -2636,11 +2635,7 @@
|
||||
"user_sessions_show_location_info" = "Shfaq adresë IP";
|
||||
"voice_broadcast_time_left" = "Edhe %@";
|
||||
"voice_broadcast_tile" = "Transmetim zanor";
|
||||
"launch_loading_processing_response" = "Po përpunohen të dhëna\n%@ %%";
|
||||
|
||||
// MARK: - Launch loading
|
||||
|
||||
"launch_loading_server_syncing" = "Po njëkohësohet me shërbyesin";
|
||||
"key_verification_alert_body" = "Shqyrtojini, që të siguroheni se llogaria juaj është e parrezik.";
|
||||
|
||||
// Unverified sessions
|
||||
@@ -2699,9 +2694,6 @@
|
||||
"voice_broadcast_connection_error_title" = "Gabim lidhjeje";
|
||||
"home_context_menu_mark_as_unread" = "Vëri shenjë si i palexuar";
|
||||
|
||||
// MARK: - Launch loading
|
||||
|
||||
"launch_loading_migrating_data" = "Po migrohen të dhëna\n%@ %%";
|
||||
"key_backup_recover_from_private_key_progress" = "Plotësuar %@%%";
|
||||
"room_details_polls" = "Historik pyetësorësh";
|
||||
"settings_labs_disable_crypto_sdk" = "Fshehtëzim skaj-më-skaj bazuar në Rust (që ta çaktivizoni, dilni)";
|
||||
|
||||
@@ -2409,12 +2409,7 @@
|
||||
"spaces_explore_rooms_format" = "Utforska %@";
|
||||
"spaces_create_subspace_title" = "Skapa ett underutrymme";
|
||||
"spaces_add_subspace_title" = "Skapa utrymme inuti %@";
|
||||
"launch_loading_processing_response" = "Hanterar data\n%@ %%";
|
||||
"launch_loading_server_syncing_nth_attempt" = "Synkar med servern\n(%@ försök)";
|
||||
|
||||
// MARK: - Launch loading
|
||||
|
||||
"launch_loading_server_syncing" = "Synkar med servern";
|
||||
"key_verification_alert_body" = "Granska för att försäkra att ditt konto är säkert.";
|
||||
|
||||
// Unverified sessions
|
||||
@@ -2653,9 +2648,6 @@
|
||||
"voice_broadcast_connection_error_title" = "Anslutningsfel";
|
||||
"voice_broadcast_playback_lock_screen_placeholder" = "Röstsändning";
|
||||
|
||||
// MARK: - Launch loading
|
||||
|
||||
"launch_loading_migrating_data" = "Migrerar data\n%@ %%";
|
||||
"room_details_polls" = "Omröstningshistorik";
|
||||
"settings_labs_disable_crypto_sdk" = "Totalsträckskryptering i Rust (logga ut för att stänga av)";
|
||||
"settings_labs_confirm_crypto_sdk" = "Vänligen observera att den här funktionen fortfarande ska anses vara experimentell, den kanske inte fungerar som förväntat eller kan leda till okända konsekvenser. För att återgå, logga ut och logga sedan in igen. Använd på egen risk.";
|
||||
|
||||
@@ -2854,12 +2854,7 @@
|
||||
"key_verification_alert_title" = "У вас є не звірені сеанси";
|
||||
"user_other_session_permanently_unverified_additional_info" = "Цей сеанс не підтримує шифрування, і його не можна звірити.";
|
||||
"voice_broadcast_time_left" = "Залишилося %@";
|
||||
"launch_loading_processing_response" = "Обробка даних\n%@ %%";
|
||||
"launch_loading_server_syncing_nth_attempt" = "Синхронізація з сервером\n(%@ спроба)";
|
||||
|
||||
// MARK: - Launch loading
|
||||
|
||||
"launch_loading_server_syncing" = "Синхронізація з сервером";
|
||||
"voice_broadcast_buffering" = "Буферизація...";
|
||||
"voice_broadcast_stop_alert_agree_button" = "Так, припинити";
|
||||
"voice_broadcast_stop_alert_description" = "Ви впевнені, що хочете припинити голосову трансляцію? На цьому трансляція завершиться, і повний запис буде доступний у кімнаті.";
|
||||
@@ -2908,9 +2903,6 @@
|
||||
"voice_broadcast_recorder_connection_error" = "Помилка з'єднання - Запис призупинено";
|
||||
"poll_timeline_reply_ended_poll" = "Завершене опитування";
|
||||
|
||||
// MARK: - Launch loading
|
||||
|
||||
"launch_loading_migrating_data" = "Перенесення даних\n%@ %%";
|
||||
"settings_labs_disable_crypto_sdk" = "Наскрізне шифрування Rust (вийдіть, щоб вимкнути)";
|
||||
"settings_labs_confirm_crypto_sdk" = "Зауважте, що оскільки ця функція досі перебуває на стадії експерименту, вона може працювати не так, як очікується, і може мати непередбачувані наслідки. Щоб вимкнути цю функцію, просто вийдіть з системи та увійдіть знову. Використовуйте на власний розсуд і з обережністю.";
|
||||
"settings_labs_enable_crypto_sdk" = "Наскрізне шифрування Rust";
|
||||
|
||||
@@ -3191,21 +3191,13 @@ public class VectorL10n: NSObject {
|
||||
public static var later: String {
|
||||
return VectorL10n.tr("Vector", "later")
|
||||
}
|
||||
/// Migrating data\n%@ %%
|
||||
public static func launchLoadingMigratingData(_ p1: String) -> String {
|
||||
return VectorL10n.tr("Vector", "launch_loading_migrating_data", p1)
|
||||
/// This may take a little longer.\nThanks for your patience.
|
||||
public static var launchLoadingDelayWarning: String {
|
||||
return VectorL10n.tr("Vector", "launch_loading_delay_warning")
|
||||
}
|
||||
/// Processing data\n%@ %%
|
||||
public static func launchLoadingProcessingResponse(_ p1: String) -> String {
|
||||
return VectorL10n.tr("Vector", "launch_loading_processing_response", p1)
|
||||
}
|
||||
/// Syncing with the server
|
||||
public static var launchLoadingServerSyncing: String {
|
||||
return VectorL10n.tr("Vector", "launch_loading_server_syncing")
|
||||
}
|
||||
/// Syncing with the server\n(%@ attempt)
|
||||
public static func launchLoadingServerSyncingNthAttempt(_ p1: String) -> String {
|
||||
return VectorL10n.tr("Vector", "launch_loading_server_syncing_nth_attempt", p1)
|
||||
/// Syncing your conversations
|
||||
public static var launchLoadingGeneric: String {
|
||||
return VectorL10n.tr("Vector", "launch_loading_generic")
|
||||
}
|
||||
/// Leave
|
||||
public static var leave: String {
|
||||
|
||||
@@ -30,6 +30,8 @@ final class LaunchLoadingView: UIView, NibLoadable, Themable {
|
||||
// MARK: - Properties
|
||||
|
||||
@IBOutlet private weak var animationView: ElementView!
|
||||
@IBOutlet private weak var progressContainer: UIStackView!
|
||||
@IBOutlet private weak var progressView: UIProgressView!
|
||||
@IBOutlet private weak var statusLabel: UILabel!
|
||||
|
||||
private var animationTimeline: Timeline_1!
|
||||
@@ -54,7 +56,7 @@ final class LaunchLoadingView: UIView, NibLoadable, Themable {
|
||||
animationTimeline.play()
|
||||
self.animationTimeline = animationTimeline
|
||||
|
||||
self.statusLabel.isHidden = !MXSDKOptions.sharedInstance().enableStartupProgress
|
||||
progressContainer.isHidden = true
|
||||
}
|
||||
|
||||
// MARK: - Public
|
||||
@@ -66,18 +68,18 @@ final class LaunchLoadingView: UIView, NibLoadable, Themable {
|
||||
}
|
||||
|
||||
extension LaunchLoadingView: MXSessionStartupProgressDelegate {
|
||||
func sessionDidUpdateStartupStage(_ stage: MXSessionStartupStage) {
|
||||
func sessionDidUpdateStartupProgress(state: MXSessionStartupProgress.State) {
|
||||
guard MXSDKOptions.sharedInstance().enableStartupProgress else {
|
||||
return
|
||||
}
|
||||
updateStatusText(for: stage)
|
||||
|
||||
update(with: state)
|
||||
|
||||
}
|
||||
|
||||
private func updateStatusText(for stage: MXSessionStartupStage) {
|
||||
private func update(with state: MXSessionStartupProgress.State) {
|
||||
guard Thread.isMainThread else {
|
||||
DispatchQueue.main.async { [weak self] in
|
||||
self?.updateStatusText(for: stage)
|
||||
self?.update(with: state)
|
||||
}
|
||||
return
|
||||
}
|
||||
@@ -85,24 +87,9 @@ extension LaunchLoadingView: MXSessionStartupProgressDelegate {
|
||||
// Sync may be doing a lot of heavy work on the main thread and the status text
|
||||
// does not update reliably enough without explicitly refreshing
|
||||
CATransaction.begin()
|
||||
statusLabel.text = statusText(for: stage)
|
||||
progressContainer.isHidden = false
|
||||
progressView.progress = Float(state.progress)
|
||||
statusLabel.text = state.showDelayWarning ? VectorL10n.launchLoadingDelayWarning : VectorL10n.launchLoadingGeneric
|
||||
CATransaction.commit()
|
||||
}
|
||||
|
||||
private func statusText(for stage: MXSessionStartupStage) -> String {
|
||||
switch stage {
|
||||
case .migratingData(let progress):
|
||||
let percent = Int(floor(progress * 100))
|
||||
return VectorL10n.launchLoadingMigratingData("\(percent)")
|
||||
case .serverSyncing(let attempts):
|
||||
if attempts > 1, let nth = numberFormatter.string(from: NSNumber(value: attempts)) {
|
||||
return VectorL10n.launchLoadingServerSyncingNthAttempt(nth)
|
||||
} else {
|
||||
return VectorL10n.launchLoadingServerSyncing
|
||||
}
|
||||
case .processingResponse(let progress):
|
||||
let percent = Int(floor(progress * 100))
|
||||
return VectorL10n.launchLoadingProcessingResponse("\(percent)")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,32 +14,52 @@
|
||||
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleAspectFit" insetsLayoutMarginsFromSafeArea="NO" translatesAutoresizingMaskIntoConstraints="NO" id="3KG-IR-FPV" customClass="ElementView" customModule="Element" customModuleProvider="target">
|
||||
<view contentMode="scaleAspectFit" placeholderIntrinsicWidth="130" placeholderIntrinsicHeight="130" insetsLayoutMarginsFromSafeArea="NO" translatesAutoresizingMaskIntoConstraints="NO" id="3KG-IR-FPV" customClass="ElementView" customModule="Element" customModuleProvider="target">
|
||||
<rect key="frame" x="95" y="219" width="130" height="130"/>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
</view>
|
||||
<label hidden="YES" opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="center" lineBreakMode="wordWrap" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="wzS-bN-Pht">
|
||||
<rect key="frame" x="20" y="528" width="280" height="0.0"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<color key="textColor" systemColor="systemGrayColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="15" translatesAutoresizingMaskIntoConstraints="NO" id="hme-ss-nFP">
|
||||
<rect key="frame" x="20" y="472" width="280" height="36"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Syncing" textAlignment="center" lineBreakMode="wordWrap" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="wzS-bN-Pht">
|
||||
<rect key="frame" x="0.0" y="0.0" width="280" height="17"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<color key="textColor" systemColor="systemGrayColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<progressView opaque="NO" contentMode="scaleToFill" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="DEk-Va-xdT">
|
||||
<rect key="frame" x="0.0" y="32" width="280" height="4"/>
|
||||
<color key="tintColor" red="0.050980392156862744" green="0.74117647058823533" blue="0.54509803921568623" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</progressView>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" priority="750" constant="350" id="hle-Py-f0J"/>
|
||||
</constraints>
|
||||
</stackView>
|
||||
</subviews>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="trailing" secondItem="wzS-bN-Pht" secondAttribute="trailing" constant="20" id="Naf-Cc-qLq"/>
|
||||
<constraint firstAttribute="bottom" secondItem="wzS-bN-Pht" secondAttribute="bottom" constant="40" id="cnE-Pn-Wb2"/>
|
||||
<constraint firstAttribute="bottom" secondItem="hme-ss-nFP" secondAttribute="bottom" constant="60" id="Ayr-Nh-R8M"/>
|
||||
<constraint firstItem="hme-ss-nFP" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" id="Ecw-cR-GaE"/>
|
||||
<constraint firstItem="hme-ss-nFP" firstAttribute="centerX" secondItem="iN0-l3-epB" secondAttribute="centerX" id="KSs-HF-BlI"/>
|
||||
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="hme-ss-nFP" secondAttribute="trailing" constant="20" id="U6l-o1-IL3"/>
|
||||
<constraint firstItem="3KG-IR-FPV" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="centerY" id="ig4-YX-FoT"/>
|
||||
<constraint firstItem="3KG-IR-FPV" firstAttribute="centerX" secondItem="iN0-l3-epB" secondAttribute="centerX" id="r9K-7c-fjh"/>
|
||||
<constraint firstItem="wzS-bN-Pht" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" id="uZP-JW-dVR"/>
|
||||
</constraints>
|
||||
<connections>
|
||||
<outlet property="animationView" destination="3KG-IR-FPV" id="Are-fn-laY"/>
|
||||
<outlet property="progressContainer" destination="hme-ss-nFP" id="XC1-4m-OD7"/>
|
||||
<outlet property="progressView" destination="DEk-Va-xdT" id="PCI-Vi-Zyg"/>
|
||||
<outlet property="statusLabel" destination="wzS-bN-Pht" id="Mj2-rn-i5x"/>
|
||||
</connections>
|
||||
<point key="canvasLocation" x="136.875" y="132.5"/>
|
||||
</view>
|
||||
</objects>
|
||||
<designables>
|
||||
<designable name="3KG-IR-FPV">
|
||||
<size key="intrinsicContentSize" width="130" height="130"/>
|
||||
</designable>
|
||||
</designables>
|
||||
<resources>
|
||||
<systemColor name="systemBackgroundColor">
|
||||
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
|
||||
@@ -38,7 +38,7 @@ class MXNotificationSettingsService: NotificationSettingsServiceType {
|
||||
let rulesUpdated = NotificationCenter.default.publisher(for: NSNotification.Name(rawValue: kMXNotificationCenterDidUpdateRules))
|
||||
|
||||
// Set initial value of the content rules
|
||||
if let contentRules = session.notificationCenter.rules.global.content as? [MXPushRule] {
|
||||
if let contentRules = session.notificationCenter.rules?.global.content as? [MXPushRule] {
|
||||
self.contentRules = contentRules
|
||||
}
|
||||
|
||||
|
||||
1
changelog.d/7417.change
Normal file
1
changelog.d/7417.change
Normal file
@@ -0,0 +1 @@
|
||||
Loading: Update startup progress UX
|
||||
Reference in New Issue
Block a user