diff --git a/CHANGES.md b/CHANGES.md index 698e941e66..90e1911414 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,11 @@ +## Changes in 1.11.22 (2024-12-10) + +🐛 Bugfixes + +- Fix a crash when restoring from a backup and a bug where you couldn't reset cross-signing. ([#7883](https://github.com/element-hq/element-ios/pull/7883)) +- Fix display of incoming call for group calls when receiving VOIP notification. ([#7858](https://github.com/element-hq/element-ios/issues/7858)) + + ## Changes in 1.11.21 (2024-11-14) No significant changes. diff --git a/Config/AppVersion.xcconfig b/Config/AppVersion.xcconfig index 16b10d8d8c..1f553c96a8 100644 --- a/Config/AppVersion.xcconfig +++ b/Config/AppVersion.xcconfig @@ -15,5 +15,5 @@ // // Version -MARKETING_VERSION = 1.11.21 -CURRENT_PROJECT_VERSION = 1.11.21 +MARKETING_VERSION = 1.11.22 +CURRENT_PROJECT_VERSION = 1.11.22 diff --git a/Podfile.lock b/Podfile.lock index 63e9f57b55..34baf860f3 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -39,16 +39,16 @@ PODS: - LoggerAPI (1.9.200): - Logging (~> 1.1) - Logging (1.4.0) - - MatrixSDK (0.27.15): - - MatrixSDK/Core (= 0.27.15) - - MatrixSDK/Core (0.27.15): + - MatrixSDK (0.27.16): + - MatrixSDK/Core (= 0.27.16) + - MatrixSDK/Core (0.27.16): - AFNetworking (~> 4.0.0) - GZIP (~> 1.3.0) - libbase58 (~> 0.1.4) - MatrixSDKCrypto (= 0.4.3) - Realm (= 10.27.0) - SwiftyBeaver (= 1.9.5) - - MatrixSDK/JingleCallStack (0.27.15): + - MatrixSDK/JingleCallStack (0.27.16): - JitsiMeetSDKLite (= 8.1.2-lite) - MatrixSDK/Core - MatrixSDKCrypto (0.4.3) @@ -179,7 +179,7 @@ SPEC CHECKSUMS: libPhoneNumber-iOS: 0a32a9525cf8744fe02c5206eb30d571e38f7d75 LoggerAPI: ad9c4a6f1e32f518fdb43a1347ac14d765ab5e3d Logging: beeb016c9c80cf77042d62e83495816847ef108b - MatrixSDK: 12b379749b84ab5b3662042acb1914b9f9bb692b + MatrixSDK: ce8f2cec670c2212144a129cc617d4144c89b97f MatrixSDKCrypto: 27bee960e0e8b3a3039f3f3e93dd2ec88299c77e ReadMoreTextView: 19147adf93abce6d7271e14031a00303fe28720d Realm: 9ca328bd7e700cc19703799785e37f77d1a130f2 @@ -198,6 +198,6 @@ SPEC CHECKSUMS: zxcvbn-ios: fef98b7c80f1512ff0eec47ac1fa399fc00f7e3c ZXingObjC: 8898711ab495761b2dbbdec76d90164a6d7e14c5 -PODFILE CHECKSUM: 484a1cdf04951cc82156f29de196efd76d3ad893 +PODFILE CHECKSUM: 9148246fffa2c32e3c9b29a51cae4bb037497056 COCOAPODS: 1.14.3 diff --git a/Riot/Assets/ka.lproj/InfoPlist.strings b/Riot/Assets/ka.lproj/InfoPlist.strings new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/Riot/Assets/ka.lproj/InfoPlist.strings @@ -0,0 +1 @@ + diff --git a/Riot/Assets/ka.lproj/Vector.strings b/Riot/Assets/ka.lproj/Vector.strings index 8c20e5dc3b..6b08101587 100644 --- a/Riot/Assets/ka.lproj/Vector.strings +++ b/Riot/Assets/ka.lproj/Vector.strings @@ -75,3 +75,336 @@ // Call Bar "callbar_only_single_active" = "შეეხეთ, რომ დაბრუნდეთ ზარში (%@)"; "callbar_only_multiple_paused" = "%@ შეჩერებული ზარები"; + +// Accessibility +"accessibility_checkbox_label" = "ღილაკი"; +"accessibility_button_label" = "ღილაკი"; +"accessibility_selected" = "შერჩეული"; +"onboarding_splash_login_button_title" = "მე უკვე მაქვს ანგარიში"; +"onboarding_splash_page_1_title" = "დაეუფლეთ თქვენს საუბრებს."; +"onboarding_splash_page_2_title" = "თქვენ აკონტროლებთ."; +"onboarding_splash_page_3_title" = "უსაფრთხო შეტყობინებები."; +"onboarding_splash_page_3_message" = "ბოლოს ბოლომდე დაშიფრული და ტელეფონის ნომერი არ არის საჭირო. რეკლამები და მონაცემთა მოპოვება არ ხდება."; +"onboarding_splash_page_4_title_no_pun" = "შეტყობინებები თქვენი გუნდისთვის."; +"onboarding_use_case_title" = "ვის ესაუბრებით ყველაზე მეტად?"; +"onboarding_use_case_message" = "ჩვენ დაგეხმარებით დაკავშირებაში"; +"onboarding_use_case_personal_messaging" = "მეგობრები და ოჯახი"; +"onboarding_use_case_work_messaging" = "გუნდები"; +"onboarding_use_case_community_messaging" = "თემები"; +"onboarding_use_case_skip_button" = "გამოტოვეთ ეს კითხვა"; +"onboarding_use_case_existing_server_message" = "გსურთ შეუერთდეთ არსებულ სერვერს?"; +"onboarding_use_case_existing_server_button" = "სერვერთან დაკავშირება"; +"onboarding_congratulations_title" = "გილოცავ!"; +"onboarding_congratulations_personalize_button" = "პროფილის პერსონალიზაცია"; +"onboarding_congratulations_home_button" = "სახლში წამიყვანე"; +"onboarding_personalization_save" = "შეინახეთ და გააგრძელეთ"; +"onboarding_personalization_skip" = "გამოტოვეთ ეს ნაბიჯი"; +"onboarding_display_name_message" = "ეს გამოჩნდება შეტყობინებების გაგზავნისას."; +"onboarding_display_name_placeholder" = "საჩვენებელი სახელი"; +"onboarding_avatar_title" = "დაამატეთ პროფილის სურათი"; +"onboarding_avatar_message" = "დროა სახელის დახატვა"; +"onboarding_avatar_accessibility_label" = "პროფილის სურათი"; +"onboarding_celebration_button" = "მოდით წავიდეთ"; + +// MARK: Authentication +"authentication_registration_title" = "შექმენით თქვენი ანგარიში"; +"authentication_registration_username" = "მომხმარებლის სახელი"; +"authentication_registration_username_footer" = "თქვენ არ შეგიძლიათ შეცვალოთ ეს მოგვიანებით"; +"authentication_registration_password_footer" = "უნდა იყოს 8 ან მეტი სიმბოლო"; +"authentication_server_info_title" = "სადაც თქვენი საუბრები იცხოვრებს"; +"authentication_login_title" = "კეთილი იყოს თქვენი მობრძანება!"; +"authentication_login_forgot_password" = "დაგავიწყდათ პაროლი"; +"authentication_server_info_title_login" = "სადაც თქვენი საუბრები ცხოვრობს"; +"authentication_login_with_qr" = "შედით QR კოდით"; +"authentication_server_selection_login_message" = "რა არის თქვენი სერვერის მისამართი?"; +"authentication_server_selection_server_url" = "სახლის სერვერის URL"; +"authentication_server_selection_generic_error" = "ამ URL-ზე სერვერის პოვნა ვერ ხერხდება, გთხოვთ, შეამოწმოთ, რომ ეს სწორია."; +"authentication_verify_email_input_title" = "შეიყვანეთ თქვენი ელფოსტა"; +/* The placeholder will show the homeserver's domain */ +"authentication_verify_email_input_message" = "%@ საჭიროებს თქვენი ანგარიშის დადასტურებას"; +"authentication_verify_email_text_field_placeholder" = "ელფოსტა"; +"authentication_verify_email_waiting_title" = "დაადასტურეთ თქვენი ელფოსტა."; +"authentication_verify_email_waiting_hint" = "ელ.წერილი არ მიგიღიათ?"; +"authentication_verify_email_waiting_button" = "ელფოსტის ხელახლა გაგზავნა"; +"authentication_forgot_password_input_title" = "შეიყვანეთ თქვენი ელფოსტა"; +"authentication_forgot_password_text_field_placeholder" = "ელფოსტა"; +"authentication_forgot_password_waiting_title" = "შეამოწმეთ თქვენი ელ.წერილი."; +/* The placeholder will show the email address that was entered. */ +"authentication_forgot_password_waiting_message" = "მიჰყევით %@-ზე გაგზავნილ ინსტრუქციას"; +"authentication_forgot_password_waiting_button" = "ელფოსტის ხელახლა გაგზავნა"; +"authentication_choose_password_input_title" = "აირჩიეთ ახალი პაროლი"; +"authentication_choose_password_signout_all_devices" = "გადით ყველა მოწყობილობიდან"; +"authentication_choose_password_submit_button" = "პაროლის აღდგენა"; +"authentication_choose_password_not_verified_message" = "შეამოწმეთ თქვენი შემომავალი"; +"authentication_verify_msisdn_input_title" = "შეიყვანეთ თქვენი ტელეფონის ნომერი"; +"authentication_verify_msisdn_text_field_placeholder" = "ტელეფონის ნომერი"; +"authentication_verify_msisdn_otp_text_field_placeholder" = "დადასტურების კოდი"; +"authentication_verify_msisdn_waiting_title" = "დაადასტურეთ თქვენი ტელეფონის ნომერი"; +/* The placeholder will show the phone number that was entered. */ +"authentication_verify_msisdn_waiting_message" = "კოდი გაიგზავნა %@-ზე"; +"authentication_verify_msisdn_waiting_button" = "კოდის ხელახლა გაგზავნა"; +"authentication_terms_title" = "კონფიდენციალურობის პოლიტიკა"; +"authentication_terms_policy_url_error" = "არჩეული წესების პოვნა შეუძლებელია. გთხოვთ, სცადოთ მოგვიანებით."; +"authentication_qr_login_start_title" = "QR კოდის სკანირება"; +"authentication_qr_login_start_step1" = "გახსენით ელემენტი თქვენს სხვა მოწყობილობაზე"; +"authentication_qr_login_start_step3" = "აირჩიეთ \"მოწყობილობის დაკავშირება\""; +"authentication_qr_login_start_step4" = "აირჩიეთ „ამ მოწყობილობაზე QR კოდის ჩვენება“"; +"authentication_qr_login_start_display_qr" = "QR კოდის ჩვენება ამ მოწყობილობაზე"; +"authentication_qr_login_display_title" = "მოწყობილობის მიბმა"; +"authentication_qr_login_display_step1" = "გახსენით ელემენტი თქვენს სხვა მოწყობილობაზე"; +"authentication_qr_login_display_step2" = "აირჩიეთ „შესვლა QR კოდით“"; +"authentication_qr_login_scan_title" = "QR კოდის სკანირება"; +"authentication_qr_login_confirm_title" = "დამყარდა უსაფრთხო კავშირი"; +"authentication_qr_login_loading_connecting_device" = "მოწყობილობასთან დაკავშირება"; +"authentication_qr_login_loading_waiting_signin" = "ელოდება მოწყობილობის შესვლას."; +"authentication_qr_login_loading_signed_in" = "ახლა შესული ხართ თქვენი სხვა მოწყობილობიდან."; +"authentication_qr_login_failure_title" = "დაკავშირება ვერ მოხერხდა"; +"authentication_qr_login_failure_device_not_supported" = "ამ მოწყობილობასთან დაკავშირება მხარდაჭერილი არ არის."; +"authentication_qr_login_failure_invalid_qr" = "QR კოდი არასწორია."; +"authentication_qr_login_failure_request_timed_out" = "დაკავშირება არ დასრულებულა საჭირო დროში."; +"authentication_qr_login_failure_retry" = "სცადეთ ხელახლა"; +"password_validation_error_header" = "მითითებული პაროლი არ აკმაყოფილებს ქვემოთ მოცემულ კრიტერიუმებს:"; +/* The placeholder will show a number */ +"password_validation_error_min_length" = "მინიმუმ %d სიმბოლო."; +"password_validation_error_contain_lowercase_letter" = "შეიცავდეს პატარა ასოს."; +"password_validation_error_contain_uppercase_letter" = "შეიტანეთ დიდი ასო."; +"password_validation_error_contain_number" = "შეიცავდეს რიცხვს."; +"password_validation_error_contain_symbol" = "შეიცავს სიმბოლოს."; +"password_policy_pwd_in_dict_error" = "ეს პაროლი ნაპოვნია ლექსიკონში და დაუშვებელია."; + +// MARK: Legacy Authentication +"auth_login" = "შესვლა"; +"auth_submit" = "გაგზავნა"; +"auth_skip" = "გამოტოვება"; +"auth_send_reset_email" = "გადატვირთვის ელფოსტის გაგზავნა"; +"auth_user_id_placeholder" = "ელ. ფოსტა ან მომხმარებლის სახელი"; +"auth_password_placeholder" = "პაროლი"; +"auth_new_password_placeholder" = "ახალი პაროლი"; +"auth_optional_email_placeholder" = "ელფოსტის მისამართი (არასავალდებულო)"; +"auth_email_placeholder" = "ელფოსტის მისამართი"; +"auth_phone_placeholder" = "ტელეფონის ნომერი"; +"auth_repeat_password_placeholder" = "გაიმეორეთ პაროლი"; +"auth_home_server_placeholder" = "URL (მაგ. https://matrix.org)"; +"auth_identity_server_placeholder" = "URL (მაგ. https://vector.im)"; +"auth_invalid_login_param" = "არასწორი მომხმარებლის სახელი და/ან პაროლი"; +"auth_invalid_password" = "პაროლი ძალიან მოკლეა (მინ. 6)"; +"auth_invalid_email" = "ეს არ ჰგავს მოქმედ ელფოსტის მისამართს"; +"auth_missing_password" = "პაროლი აკლია"; +"auth_add_phone_message_2" = "დააყენეთ ტელეფონი და მოგვიანებით იქნება სურვილისამებრ აღმოაჩინოს ადამიანები, რომლებიც გიცნობენ."; +"auth_missing_email" = "ელფოსტის მისამართი აკლია"; +"auth_missing_phone" = "დაკარგული ტელეფონის ნომერი"; +"auth_missing_email_or_phone" = "აკლია ელფოსტის მისამართი ან ტელეფონის ნომერი"; +"auth_phone_in_use" = "ეს ტელეფონის ნომერი უკვე გამოიყენება"; +"auth_untrusted_id_server" = "პირადობის სერვერი არ არის სანდო"; +"auth_username_in_use" = "მომხმარებლის სახელი გამოიყენება"; +"auth_forgot_password" = "დაგავიწყდათ Matrix ანგარიშის პაროლი?"; +"auth_email_not_found" = "ელფოსტის გაგზავნა ვერ მოხერხდა: ელფოსტის ეს მისამართი ვერ მოიძებნა"; +"auth_email_validation_message" = "გთხოვთ, შეამოწმოთ თქვენი ელ.წერილი რეგისტრაციის გასაგრძელებლად"; +"auth_msisdn_validation_error" = "ტელეფონის ნომრის დადასტურება შეუძლებელია."; +"auth_recaptcha_message" = "ამ სახლის სერვერს სურს დარწმუნდეს, რომ თქვენ არ ხართ რობოტი"; +"auth_reset_password_missing_email" = "თქვენს ანგარიშთან დაკავშირებული ელ.ფოსტის მისამართი უნდა შეიყვანოთ."; +"auth_reset_password_missing_password" = "ახალი პაროლი უნდა შეიყვანოთ."; +"auth_reset_password_next_step_button" = "მე დავადასტურე ჩემი ელფოსტის მისამართი"; +"auth_reset_password_error_not_found" = "როგორც ჩანს, თქვენი ელფოსტის მისამართი არ ასოცირდება Matrix ID-თან ამ სახლის სერვერზე."; +"auth_accept_policies" = "გთხოვთ, გადახედოთ და დაეთანხმოთ ამ სახლის სერვერის პოლიტიკას:"; +"auth_autodiscover_invalid_response" = "სახლის სერვერის აღმოჩენის არასწორი პასუხი"; +"auth_softlogout_signed_out" = "თქვენ გასული ხართ"; +"auth_softlogout_clear_data" = "პირადი მონაცემების გასუფთავება"; +"auth_softlogout_clear_data_message_1" = "გაფრთხილება: თქვენი პერსონალური მონაცემები (მათ შორის დაშიფვრის გასაღებები) კვლავ ინახება ამ მოწყობილობაზე."; +"auth_softlogout_clear_data_button" = "ყველა მონაცემის გასუფთავება"; +"auth_softlogout_clear_data_sign_out_title" = "დარწმუნებული ხარ?"; +"auth_softlogout_clear_data_sign_out" = "გასვლა"; + +// Social login + +"social_login_list_title_continue" = "გააგრძელე"; +"social_login_list_title_sign_in" = "ან"; +"social_login_list_title_sign_up" = "ან"; +"social_login_button_title_continue" = "განაგრძეთ %@-ით"; +"social_login_button_title_sign_in" = "შედით %@-ით"; +"social_login_button_title_sign_up" = "დარეგისტრირდით %@-ით"; + +// Errors +"error_user_already_logged_in" = "როგორც ჩანს, თქვენ ცდილობთ სხვა სახლის სერვერთან დაკავშირებას. გსურთ გასვლა?"; + +// Chat creation +"room_creation_title" = "ახალი ჩატი"; +"room_creation_account" = "ანგარიში"; +"room_creation_appearance" = "გარეგნობა"; +"room_creation_appearance_name" = "სახელი"; +"room_creation_privacy" = "კონფიდენციალურობა"; +"room_creation_private_room" = "ეს ჩატი პირადია"; +"room_creation_public_room" = "ეს ჩატი საჯაროა"; +"room_creation_make_public_prompt_title" = "გახადოს ეს ჩატი საჯარო?"; +"room_creation_keep_private" = "შეინახეთ პირადი"; +"room_creation_make_private" = "პირადი"; +"room_creation_dm_error" = "ჩვენ ვერ შევქმენით თქვენი DM. გთხოვთ, შეამოწმოთ მომხმარებლები, რომელთა მოწვევაც გსურთ და ხელახლა სცადოთ."; +"room_creation_only_one_email_invite" = "თქვენ შეგიძლიათ მოიწვიოთ მხოლოდ ერთი ელ.წერილი ერთდროულად"; +"room_creation_user_not_found_prompt_title" = "დადასტურება"; +"room_creation_user_not_found_prompt_invite_action" = "მაინც დაიწყე DM"; + +// Room recents +"room_recents_directory_section" = "ოთახის დირექტორია"; +"room_recents_favourites_section" = "რჩეულები"; +"room_recents_people_section" = "ხალხი"; +"room_recents_conversations_section" = "ოთახები"; +"room_recents_no_conversation" = "ოთახები არ არის"; +"room_recents_server_notice_section" = "სისტემის გაფრთხილებები"; +"room_recents_invites_section" = "იწვევს"; +"room_recents_suggested_rooms_section" = "შემოთავაზებული ოთახები"; +"room_recents_create_empty_room" = "შექმენით ოთახი"; +"room_recents_join_room" = "შეუერთდი ოთახს"; +"room_recents_join_room_title" = "შეუერთდი ოთახს"; +"room_recents_unknown_room_error_message" = "ამ ოთახს ვერ ვპოულობ. დარწმუნდით, რომ ის არსებობს"; + +// People tab +"people_invites_section" = "იწვევს"; +"people_conversation_section" = "საუბრები"; +"people_empty_view_title" = "ხალხი"; + +// Rooms tab +"room_directory_no_public_room" = "არ არის ხელმისაწვდომი საჯარო ოთახები"; +"rooms_empty_view_title" = "ოთახები"; + +// Groups tab +"group_invite_section" = "იწვევს"; +"group_section" = "თემები"; + +// Search +"search_rooms" = "ოთახები"; +"search_messages" = "შეტყობინებები"; +"search_people" = "ხალხი"; +"search_files" = "ფაილები"; +"search_default_placeholder" = "ძიება"; +"search_no_result" = "არანაირი შედეგი"; +"search_in_progress" = "ძიება…"; + +// Directory +"directory_cell_title" = "დაათვალიერეთ დირექტორია"; +"directory_cell_description" = "%tu ოთახი"; +"directory_search_results_title" = "დაათვალიერეთ დირექტორია შედეგები"; +/* The placeholder %1$tu will be replaced with a number and %2$@ with the user's search terms. Note the > at the start indicates "more than 20 results". */ +"directory_search_results_more_than" = ">%1$tu შედეგი მოიძებნა %2$@-ისთვის"; +"directory_searching_title" = "დირექტორიაში ძიება…"; +"directory_search_fail" = "მონაცემების მიღება ვერ მოხერხდა"; +"contacts_address_book_matrix_users_toggle" = "მხოლოდ მატრიქსის მომხმარებლები"; +"contacts_address_book_no_contact" = "ადგილობრივი კონტაქტები არ არის"; +"contacts_address_book_permission_required" = "ადგილობრივ კონტაქტებზე წვდომისთვის საჭიროა ნებართვა"; +"contacts_address_book_permission_denied_alert_title" = "კონტაქტები გამორთულია"; +"contacts_user_directory_section" = "მომხმარებლის დირექტორია"; +"contacts_user_directory_offline_section" = "მომხმარებლის დირექტორია (ხაზგარეშე)"; +"find_your_contacts_title" = "დაიწყეთ თქვენი კონტაქტების ჩამოთვლით"; +"find_your_contacts_button_title" = "იპოვეთ თქვენი კონტაქტები"; +"find_your_contacts_footer" = "ეს შეიძლება ნებისმიერ დროს გამორთოთ პარამეტრებიდან."; + +// Chat participants +"room_participants_title" = "მონაწილეები"; +"room_participants_add_participant" = "დაამატეთ მონაწილე"; +"store_full_description" = "ელემენტი ახალი ტიპის მესენჯერი და თანამშრომლობის აპლიკაციაა, რომელიც:\n\nგაძლევთ კონტროლს თქვენი კონფიდენციალურობის დასაცავად.\nგაძლევთ შესაძლებლობას, იურთიერთოთ Matrix ქსელში მყოფ ნებისმიერ ადამიანთან და სხვა აპლიკაციებთან, როგორიცაა Slack.\nგიცავთ რეკლამისგან, მონაცემების მოპოვებისგან, უკანა კარიებიდან და დახურული ეკოსისტემებისგან.\nუზრუნველყოფს თქვენს უსაფრთხოებას ბოლოს ბოლომდე დაშიფვრით და მოწყობილობების დადასტურების მექანიზმით (cross-signing).\nელემენტი სრულიად განსხვავდება სხვა მესენჯერებისა და თანამშრომლობის აპლიკაციებისგან, რადგან არის დეცენტრალიზებული და ღია კოდის.\n\nრატომ ელემენტი?\nმონაცემების მფლობელობა\nთქვენ წყვეტთ, სად შეინახოთ თქვენი მონაცემები და შეტყობინებები. თქვენ ხართ მათი მფლობელი და მართავთ, არანაირი მეგაკორპორაცია ან მესამე მხარე.\n\nღია შეტყობინებები და თანამშრომლობა\nშეგიძლიათ საუბარი Matrix ქსელში ნებისმიერ მომხმარებელთან, მიუხედავად იმისა, იყენებენ ისინი ელემენტს, სხვა Matrix აპლიკაციას თუ სხვა მესენჯერს (Slack, IRC, XMPP).\n\nსუპერ უსაფრთხოება\nბოლოს ბოლომდე დაშიფვრა, სადაც მხოლოდ საუბრის მონაწილეებს შეუძლიათ შეტყობინებების გაშიფვრა, და მოწყობილობების დადასტურება მონაწილეების უსაფრთხოებისთვის.\n\nსრული კომუნიკაცია\nშეტყობინებები, ხმის და ვიდეო ზარები, ფაილების გაზიარება, ეკრანის გაზიარება, ინტეგრაციები, ბოტები და ვიჯეტები. შექმენით ოთახები და საზოგადოებები, შეინარჩუნეთ კავშირი და მიაღწიეთ მიზნებს.\n\nთქვენ ყველგან\nიყავით კავშირზე ნებისმიერი მოწყობილობიდან და იხილეთ შეტყობინებების ისტორია სინქრონიზაციის გზით. ვებზე: https://element.io/app"; +"callbar_only_single_active_group" = "დაკლიკეთ ჯგუფურ ზარში შესასვლელად (%@)"; + +// MARK: Onboarding +"onboarding_splash_register_button_title" = "ანგარიშის შექმნა"; +"onboarding_splash_page_1_message" = "უსაფრთხო და დამოუკიდებელი კომუნიკაცია, რომელიც გთავაზობთ იმავე კონფიდენციალურობის დონეს, როგორიც სახლში პირისპირ საუბრისას გაქვთ."; +"onboarding_splash_page_2_message" = "აირჩიეთ, სად ინახება თქვენი საუბრები, რათა მიიღოთ კონტროლი და დამოუკიდებლობა. დაკავშირებულია Matrix-ის მეშვეობით."; +"onboarding_splash_page_4_message" = "Element ასევე შესანიშნავია სამუშაო გარემოსთვის. მას ენდობიან მსოფლიოს ყველაზე უსაფრთხო ორგანიზაციები."; +/* The placeholder string contains onboarding_use_case_skip_button as a tappable action */ +"onboarding_use_case_not_sure_yet" = "ჯერ არ ხართ დარწმუნებული? %@"; +/* The placeholder string contains the user's matrix ID */ +"onboarding_congratulations_message" = "თქვენი ანგარიში %@ შეიქმნა"; +"onboarding_display_name_title" = "აირჩიეთ საჩვენებელი სახელი"; +"onboarding_display_name_hint" = "თქვენ შეგიძლიათ შეცვალოთ ეს მოგვიანებით"; +"onboarding_display_name_max_length" = "თქვენი საჩვენებელი სახელი უნდა იყოს 256 სიმბოლოზე ნაკლები"; +"onboarding_celebration_title" = "კარგად გამოიყურება!"; +"onboarding_celebration_message" = "გადადით პარამეტრებში ნებისმიერ დროს, რათა განაახლოთ თქვენი პროფილი"; +/* The placeholder will show the full Matrix ID that has been entered. */ +"authentication_registration_username_footer_available" = "სხვებს შეუძლიათ შენი აღმოჩენა %@"; +"authentication_login_username" = "მომხმარებლის სახელი / ელ.ფოსტა / ტელეფონი"; +"authentication_server_selection_login_title" = "დაუკავშირდით სახლის სერვერს"; +"authentication_server_selection_register_title" = "აირჩიეთ თქვენი სახლის სერვერი"; +"authentication_server_selection_register_message" = "როგორია თქვენი სერვერის მისამართი? ეს არის თქვენი მონაცემების საცავი"; +"authentication_cancel_flow_confirmation_message" = "თქვენი ანგარიში ჯერ არ არის შექმნილი. შეწყვიტოთ რეგისტრაციის პროცესი?"; +/* The placeholder will show the email address that was entered. */ +"authentication_verify_email_waiting_message" = "მიჰყევით %@-ზე გაგზავნილ ინსტრუქციას"; +/* The placeholder will show the homeserver's domain */ +"authentication_forgot_password_input_message" = "%@ გამოგიგზავნით დამადასტურებელ ბმულს"; +"authentication_choose_password_input_message" = "დარწმუნდით, რომ ეს არის 8 ან მეტი სიმბოლო"; +"authentication_choose_password_text_field_placeholder" = "ახალი პაროლი"; +"authentication_choose_password_not_verified_title" = "ელფოსტა არ არის დადასტურებული"; +/* The placeholder will show the homeserver's domain */ +"authentication_verify_msisdn_input_message" = "%@ საჭიროებს თქვენი ანგარიშის დადასტურებას"; +"authentication_verify_msisdn_invalid_phone_number" = "ტელეფონის ნომერი არასწორია"; +/* The placeholder will show the homeserver's domain */ +"authentication_terms_message" = "გთხოვთ, წაიკითხოთ %@-ის პირობები და წესები"; +"authentication_recaptcha_title" = "ადამიანი ხარ?"; +"authentication_qr_login_start_subtitle" = "გამოიყენეთ ამ მოწყობილობის კამერა, რომ დაასკანეროთ QR კოდი, რომელიც ნაჩვენებია თქვენს სხვა მოწყობილობაზე:"; +"authentication_qr_login_start_step2" = "გადადით პარამეტრები -> უსაფრთხოება და კონფიდენციალურობა"; +"authentication_qr_login_start_need_alternative" = "გჭირდებათ ალტერნატიული მეთოდი?"; +"authentication_qr_login_display_subtitle" = "დაასკანერეთ ქვემოთ მოცემული QR კოდი თქვენი მოწყობილობით, რომელიც გამოუსვლელია."; +"authentication_qr_login_scan_subtitle" = "განათავსეთ QR კოდი ქვემოთ მოცემულ კვადრატში"; +"authentication_qr_login_confirm_subtitle" = "დაადასტურეთ, რომ ქვემოთ მოცემული კოდი ემთხვევა თქვენს სხვა მოწყობილობას:"; +"authentication_qr_login_confirm_alert" = "გთხოვთ, დარწმუნდით, რომ იცით ამ კოდის წარმოშობა. მოწყობილობების მიბმით, თქვენ მიაწვდით ვინმეს სრულ წვდომას თქვენს ანგარიშზე."; +"authentication_qr_login_failure_request_denied" = "მოთხოვნა უარყოფილი იქნა სხვა მოწყობილობაზე."; + +// MARK: Password Validation +"password_validation_info_header" = "თქვენი პაროლი უნდა აკმაყოფილებდეს ქვემოთ მოცემულ კრიტერიუმებს:"; +/* The placeholder will show a number */ +"password_validation_error_max_length" = "არ აღემატებოდეს %d სიმბოლოს."; + +// MARK: Password policy errors +"password_policy_too_short_pwd_error" = "ძალიან მოკლე პაროლი"; +"password_policy_weak_pwd_error" = "ეს პაროლი ძალიან სუსტია. იგი უნდა შეიცავდეს მინიმუმ 8 სიმბოლოს, მათ შორის თითოეულ ტიპს: დიდი ასო, პატარა ასო, ციფრი და სპეციალური სიმბოლო."; +"auth_register" = "რეგისტრაცია"; +"auth_login_single_sign_on" = "შესვლა"; +"auth_return_to_login" = "დაბრუნება შესვლის ეკრანზე"; +"auth_user_name_placeholder" = "მომხმარებლის სახელი"; +"auth_optional_phone_placeholder" = "ტელეფონის ნომერი (სურვილისამებრ)"; +"auth_repeat_new_password_placeholder" = "დაადასტურეთ თქვენი ახალი Matrix ანგარიშის პაროლი"; +"auth_invalid_user_name" = "მომხმარებლის სახელები შეიძლება შეიცავდეს მხოლოდ ასოებს, რიცხვებს, წერტილებს, დეფისებს და ქვედა ხაზებს"; +"auth_invalid_phone" = "ეს არ ჰგავს მოქმედ ტელეფონის ნომერს"; +"auth_add_email_message_2" = "დააყენეთ ელფოსტა ანგარიშის აღსადგენად და მოგვიანებით, რათა სურვილისამებრ აღმოაჩინონ ის ადამიანები, ვინც გიცნობთ."; +"auth_add_email_phone_message_2" = "დააყენეთ ელფოსტა ანგარიშის აღდგენისთვის. გამოიყენეთ მოგვიანებით ელფოსტა ან ტელეფონი, რათა სურვილისამებრ აღმოჩნდეთ თქვენი ნაცნობი ადამიანების მიერ."; +"auth_email_in_use" = "ეს ელფოსტის მისამართი უკვე გამოიყენება"; +"auth_email_is_required" = "საიდენტიფიკაციო სერვერი არ არის კონფიგურირებული, ასე რომ თქვენ არ შეგიძლიათ დაამატოთ ელფოსტის მისამართი, რათა მომავალში განაახლოთ თქვენი Matrix ანგარიშის პაროლი."; +"auth_phone_is_required" = "არ არის კონფიგურირებული საიდენტიფიკაციო სერვერი, ასე რომ თქვენ არ შეგიძლიათ ტელეფონის ნომრის დამატება მომავალში თქვენი Matrix ანგარიშის პაროლის გადატვირთვისთვის."; +"auth_password_dont_match" = "პაროლები არ ემთხვევა"; +"auth_forgot_password_error_no_configured_identity_server" = "საიდენტიფიკაციო სერვერი არ არის კონფიგურირებული: დაამატეთ ერთი თქვენი Matrix ანგარიშის პაროლის აღსადგენად."; +"auth_use_server_options" = "გამოიყენეთ მორგებული სერვერის პარამეტრები (მოწინავე)"; +"auth_msisdn_validation_title" = "დადასტურება მოლოდინშია"; +"auth_msisdn_validation_message" = "ჩვენ გავგზავნეთ SMS აქტივაციის კოდით. გთხოვთ, შეიყვანოთ ეს კოდი ქვემოთ."; +"auth_reset_password_message" = "თქვენი Matrix ანგარიშის პაროლის აღსადგენად, შეიყვანეთ თქვენს ანგარიშთან მიბმული ელ.ფოსტის მისამართი:"; +"auth_reset_password_email_validation_message" = "ელფოსტა გაიგზავნა %@-ზე. მას შემდეგ რაც მიჰყვებით მასში არსებულ ბმულს, დააწკაპუნეთ ქვემოთ."; +"auth_reset_password_error_unauthorized" = "ელფოსტის მისამართის დადასტურება ვერ მოხერხდა: დარწმუნდით, რომ დააწკაპუნეთ ბმულზე ელფოსტაში"; +"auth_reset_password_error_is_required" = "საიდენტიფიკაციო სერვერი არ არის კონფიგურირებული: დაამატეთ ერთი სერვერის ვარიანტებში თქვენი Matrix ანგარიშის პაროლის აღსადგენად."; +"auth_reset_password_success_message" = "თქვენი Matrix ანგარიშის პაროლი გადაყენებულია.\n\nთქვენ გამოხვედით ყველა სესიიდან და აღარ მიიღებთ push-შეტყობინებებს. შეტყობინებების ხელახლა ჩასართავად, ხელახლა შედით თითოეულ მოწყობილობაზე."; +"auth_add_email_and_phone_warning" = "რეგისტრაცია ერთდროულად ელფოსტისა და ტელეფონის ნომრით ჯერ არ არის მხარდაჭერილი, სანამ API არ შეიქმნება. მხოლოდ ტელეფონის ნომერი იქნება გათვალისწინებული. შეგიძლიათ დაამატოთ თქვენი ელფოსტა პროფილში პარამეტრებიდან."; +"auth_softlogout_sign_in" = "შესვლა"; +"auth_softlogout_reason" = "თქვენმა სახლის სერვერის (%1$@) ადმინისტრატორმა გამოხვედით თქვენი ანგარიშიდან %2$@ (%3$@)."; +"auth_softlogout_recover_encryption_keys" = "შედით, რომ აღადგინოთ დაშიფვრის გასაღებები, რომლებიც ინახება ექსკლუზიურად ამ მოწყობილობაზე. თქვენ გჭირდებათ ისინი, რომ წაიკითხოთ ყველა თქვენი უსაფრთხო შეტყობინება ნებისმიერ მოწყობილობაზე."; +"auth_softlogout_clear_data_message_2" = "გაასუფთავეთ, თუ დაასრულეთ ამ მოწყობილობის გამოყენება ან გსურთ სხვა ანგარიშში შესვლა."; +"auth_softlogout_clear_data_sign_out_msg" = "დარწმუნებული ხართ, რომ გსურთ ამ მოწყობილობაზე ამჟამად შენახული ყველა მონაცემის გასუფთავება? ხელახლა შედით თქვენი ანგარიშის მონაცემებსა და შეტყობინებებზე წვდომისთვის."; +"room_creation_appearance_picture" = "ჩეთის სურათი (სურვილისამებრ)"; +"room_creation_make_public" = "გახადეთ საჯარო"; +"room_creation_make_public_prompt_msg" = "დარწმუნებული ხართ, რომ გსურთ ეს ჩატი საჯარო გახადოთ? ნებისმიერს შეუძლია წაიკითხოს თქვენი შეტყობინებები და შეუერთდეს ჩატში."; +"room_creation_wait_for_creation" = "ოთახი უკვე იქმნება. გთხოვთ დაელოდოთ."; +"room_creation_invite_another_user" = "მომხმარებლის ID, სახელი ან ელფოსტა"; +"room_creation_error_invite_user_by_email_without_identity_server" = "არ არის კონფიგურირებული საიდენტიფიკაციო სერვერი, ასე რომ თქვენ არ შეგიძლიათ დაამატოთ მონაწილე ელფოსტით."; +"room_creation_user_not_found_prompt_message" = "ამ Matrix ID-ის პროფილების პოვნა შეუძლებელია. მაინც გსურთ DM-ის დაწყება?"; +"room_recents_low_priority_section" = "დაბალი პრიორიტეტი"; +"room_recents_start_chat_with" = "დაიწყეთ ჩატი"; +"room_recents_join_room_prompt" = "აკრიფეთ ოთახის ID ან ოთახის მეტსახელი"; +"people_no_conversation" = "არანაირი საუბრები"; +"people_empty_view_information" = "უსაფრთხოდ ესაუბრეთ ნებისმიერს. შეეხეთ +-ს ხალხის დამატების დასაწყებად."; +"rooms_empty_view_information" = "ოთახები შესანიშნავია ნებისმიერი ჯგუფური ჩეთისთვის, კერძო თუ საჯარო. შეეხეთ +-ს არსებული ოთახების საპოვნელად ან ახლის შესაქმნელად."; +"search_filter_placeholder" = "ფილტრი"; +"search_people_placeholder" = "მოძებნეთ მომხმარებლის ID, სახელი ან ელექტრონული ფოსტით"; +/* The placeholder %1$tu will be replaced with a number and %2$@ with the user's search terms. */ +"directory_search_results" = "ნაპოვნია %1$tu შედეგი %2$@-ისთვის"; + +// Contacts +"contacts_address_book_section" = "ლოკალური კონტაქტები"; +"contacts_address_book_no_identity_server" = "პირადობის სერვერი არ არის კონფიგურირებული"; +"contacts_address_book_permission_denied" = "თქვენ არ მისცემდით %@-ს თქვენს ადგილობრივ კონტაქტებზე წვდომის უფლებას"; +"contacts_address_book_permission_denied_alert_message" = "კონტაქტების ჩასართავად გადადით თქვენი მოწყობილობის პარამეტრებში."; +"find_your_contacts_message" = "მიეცით საშუალება %@-ს აჩვენოს თქვენი კონტაქტები, რათა სწრაფად დაიწყოთ საუბარი მათთან, ვინც უკეთ იცნობთ."; +"find_your_contacts_identity_service_error" = "პირადობის სერვერთან დაკავშირება შეუძლებელია."; diff --git a/Riot/Assets/ro.lproj/Vector.strings b/Riot/Assets/ro.lproj/Vector.strings index 8d9ff42212..39d2aba8e4 100644 --- a/Riot/Assets/ro.lproj/Vector.strings +++ b/Riot/Assets/ro.lproj/Vector.strings @@ -1,7 +1,7 @@ // String for App Store "store_short_description" = "// String pe App Store"; "title_favourites" = "Favorite"; -"title_people" = "Oamei"; +"title_people" = "Oameni"; "title_rooms" = "Camere"; "title_groups" = "Comunități"; "warning" = "Greșeală"; @@ -9,3 +9,6 @@ "view" = "Văzut"; "next" = "Următorul"; "back" = "Înapoi"; + +// Titles +"title_home" = "Acasă"; diff --git a/Riot/Assets/ru.lproj/Vector.strings b/Riot/Assets/ru.lproj/Vector.strings index 3e96f0ad34..d8ff3cf4bf 100644 --- a/Riot/Assets/ru.lproj/Vector.strings +++ b/Riot/Assets/ru.lproj/Vector.strings @@ -228,12 +228,12 @@ // Settings "settings_title" = "Настройки"; "account_logout_all" = "Выйти из всех аккаунтов"; -"settings_mark_all_as_read" = "Пометить все сообщения как прочитанные"; +"settings_mark_all_as_read" = "Пометить все сообщения прочитанными"; "settings_report_bug" = "Сообщить об ошибке"; "settings_config_home_server" = "Домашний сервер: %@"; "settings_config_identity_server" = "Сервер идентификации: %@"; "settings_config_user_id" = "Идентификатор пользователя: %@"; -"settings_user_settings" = "ПОЛЬЗОВАТЕЛЬСКИЕ НАСТРОЙКИ"; +"settings_user_settings" = "ПАРАМЕТРЫ ПОЛЬЗОВАТЕЛЯ"; "settings_notifications_settings" = "НАСТРОЙКИ УВЕДОМЛЕНИЙ"; "settings_user_interface" = "ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС"; "settings_ignored_users" = "ИГНОРИРУЕМЫЕ ПОЛЬЗОВАТЕЛИ"; @@ -391,7 +391,7 @@ "contacts_user_directory_section" = "КАТАЛОГ ПОЛЬЗОВАТЕЛЕЙ"; "contacts_user_directory_offline_section" = "КАТАЛОГ ПОЛЬЗОВАТЕЛЕЙ (offline)"; "room_participants_unknown" = "Неизвестно"; -"room_participants_idle" = "Свободен"; +"room_participants_idle" = "Неактивен"; "room_participants_action_ban" = "Забанить в этой комнате"; "room_participants_action_unban" = "Разбанить"; "room_warning_about_encryption" = "Сквозное шифрование является экспериментальным и может быть ненадежным.\n\nПока еще не стоит доверять ему для защиты важных данных.\n\nУстройства не смогут расшифровать историю чатов которые велись до их входа в комнату.\n\nЗашифрованные сообщения не будут видны на клиентах, которые еще не применяют шифрование."; @@ -832,7 +832,7 @@ "media_type_accessibility_image" = "Изображение"; "media_type_accessibility_audio" = "Аудио"; "media_type_accessibility_video" = "Видео"; -"media_type_accessibility_location" = "Местонахождение"; +"media_type_accessibility_location" = "Местоположение"; "media_type_accessibility_file" = "Файл"; "media_type_accessibility_sticker" = "Стикер"; "settings_discovery_settings" = "ПОИСК"; @@ -1319,7 +1319,7 @@ // Call Bar "callbar_only_single_active" = "Нажмите для возврата к вызову (%@)"; "room_details_integrations" = "Интеграции"; -"room_details_search" = "Искать комнату"; +"room_details_search" = "Поиск в комнате"; "room_multiple_typing_notification" = "%@ и другие"; "room_accessibility_video_call" = "Видео вызов"; "room_message_replying_to" = "В ответ %@"; @@ -1983,7 +1983,7 @@ "stop" = "Остановить"; "joining" = "Соединение"; "enable" = "Включить"; -"authentication_verify_email_waiting_title" = "Подтвердите свою электронную почту"; +"authentication_verify_email_waiting_title" = "Подтвердите свою электронную почту."; "authentication_verify_email_text_field_placeholder" = "Электронная почта"; "authentication_verify_email_input_title" = "Введите электронную почту"; "authentication_login_forgot_password" = "Забыл(а) пароль"; @@ -1997,29 +1997,29 @@ "authentication_registration_title" = "Создать аккаунт"; "settings_presence_offline_mode" = "Режим офлайн"; "settings_analytics_and_crash_data" = "Отправлять данные о сбоях и аналитике"; -"settings_labs_enable_live_location_sharing" = "Трансляция геопозиции - делиться текущей геопозицией (активная разработка и, временно, сохраняющиеся в истории комнаты локации)"; +"settings_labs_enable_live_location_sharing" = "Трансляция геопозиции в реальном времени - поделиться текущей геопозицией (функция находится в разработке, геопозиции временно сохраняются в истории комнаты)"; "settings_labs_use_only_latest_user_avatar_and_name" = "Показывать последний аватар и имя пользователей в истории сообщений"; -"settings_labs_enable_threads" = "Потоковый обмен сообщениями"; +"settings_labs_enable_threads" = "Обсуждения сообщений"; "settings_labs_enabled_polls" = "Опросы"; "settings_ui_show_redactions_in_room_history" = "Показать место хранения удалённых сообщений"; -"settings_about" = "О"; +"settings_about" = "О приложении"; "room_preview_decline_invitation_options" = "Вы хотите отклонить приглашение или проигнорировать пользователя?"; -"threads_discourage_information_2" = "\n\nХотите всё равно включить потоки?"; -"threads_discourage_information_1" = "Ваш домашний сервер в настоящее время не поддерживает потоки, поэтому эта функция может быть ненадежной. Некоторые потоковые сообщения могут быть недоступны. "; +"threads_discourage_information_2" = "\n\nВсё равно хотите включить обсуждения?"; +"threads_discourage_information_1" = "Ваш домашний сервер в настоящее время не поддерживает обсуждения, поэтому эта функция может работать ненадёжно. Некоторые сообщения в обсуждениях могут быть недоступны. "; "threads_beta_cancel" = "Не сейчас"; -"threads_beta_enable" = "Попробуйте"; -"threads_beta_information_link" = "Больше информации"; -"threads_beta_title" = "Потоки"; +"threads_beta_enable" = "Попробовать"; +"threads_beta_information_link" = "Подробнее"; +"threads_beta_title" = "Обсуждения"; "message_from_a_thread" = "Из потока"; -"threads_empty_show_all_threads" = "Показать все потоки"; -"threads_action_my_threads" = "Мои потоки"; -"threads_action_all_threads" = "Все потоки"; -"threads_title" = "Потоки"; +"threads_empty_show_all_threads" = "Показать все обсуждения"; +"threads_action_my_threads" = "Мои обсуждения"; +"threads_action_all_threads" = "Все обсуждения"; +"threads_title" = "Обсуждения"; "thread_copy_link_to_thread" = "Скопировать ссылку потока"; // MARK: Threads "room_thread_title" = "Поток"; -"room_accessibility_threads" = "Потоки"; +"room_accessibility_threads" = "Обсуждения"; "message_reply_to_sender_sent_their_live_location" = "Трансляция геопозиции в реальном времени."; // Mark: - Space Creation @@ -2053,7 +2053,7 @@ "room_event_copy_link_info" = "Ссылка скопирована в буфер обмена."; "room_event_action_reply_in_thread" = "Нить"; "room_event_action_view_in_room" = "Посмотреть в комнате"; -"room_event_action_end_poll" = "Закончить опрос"; +"room_event_action_end_poll" = "Завершить опрос"; "room_event_action_remove_poll" = "Удалить опрос"; "room_participants_invite_prompt_to_msg" = "Вы уверены что хотите пригласить %@ в %@?"; "room_participants_leave_success" = "Левая комната"; @@ -2157,7 +2157,7 @@ "user_other_session_verified_additional_info" = "Эта сессия готова к безопасному обмену сообщениями."; "user_other_session_current_session_details" = "Текущая сессия"; "user_other_session_filter_menu_all" = "Все сессии"; -"wysiwyg_composer_start_action_stickers" = "Наклейки"; +"wysiwyg_composer_start_action_stickers" = "Наклейка"; "authentication_login_with_qr" = "Войти при помощи QR-кода"; "onboarding_avatar_message" = "Время добавить лицо к имени"; "onboarding_congratulations_home_button" = "На главную"; @@ -2170,7 +2170,7 @@ "authentication_terms_policy_url_error" = "Не получилось найти выбранные правила. Пожалуйста, попробуйте снова позже."; "threads_empty_tip" = "Подсказка: Нажмите на сообщение и используйте «Поток», чтобы начать переписку."; "threads_empty_info_my" = "Ответьте в действующий поток, или нажмите на «Поток», чтобы начать новый."; -"threads_empty_info_all" = "Потоки помогают придерживаться темы разговора и легко отслеживаются."; +"threads_empty_info_all" = "Обсуждения помогают придерживаться темы разговора и легко отслеживаются."; "threads_empty_title" = "Организуйте свои обсуждения при помощи потоков"; "room_first_message_placeholder" = "Отправьте своё первое сообщение…"; "room_participants_leave_processing" = "Выход"; @@ -2204,7 +2204,7 @@ "notice_voice_broadcast_ended_by_you" = "Вы закончили голосовую трансляцию."; "room_displayname_more_than_two_members" = "%@ и %@ другие"; "room_details_access_row_title" = "Доступ"; -"room_details_polls" = "История опроса"; +"room_details_polls" = "Опросы"; // User sessions management "user_sessions_settings" = "Управление сеансами"; "manage_session_sign_out_other_sessions" = "Выйти из всех остальных сеансов"; @@ -2212,16 +2212,16 @@ "settings_presence_offline_mode_description" = "Если включено, вы будете всегда оффлайн для остальных пользователей, даже при использовании приложения."; "settings_presence" = "Присутствие"; "settings_discovery_accept_terms" = "Примите Правила Идентификации Сервера"; -"settings_labs_enable_voice_broadcast" = "Голосовая трансляция"; -"settings_labs_enable_wysiwyg_composer" = "Попробуйте редактор текста"; +"settings_labs_enable_voice_broadcast" = "Голосовые трансляции"; +"settings_labs_enable_wysiwyg_composer" = "Наглядный текстовый редактор"; "settings_labs_enable_new_app_layout" = "Новый Слой Приложения"; -"settings_labs_enable_new_session_manager" = "Новый менеджер сессии"; -"settings_labs_enable_auto_report_decryption_errors" = "Авто Отчет Ошибок Расшифровки"; +"settings_labs_enable_new_session_manager" = "Новый менеджер сеансов"; +"settings_labs_enable_auto_report_decryption_errors" = "Автоматически сообщать об ошибках расшифровки"; "settings_push_rules_error" = "Произошла ошибка при обновлении настроек уведомлений. Пожалуйста, попробуйте переключить свой вариант еще раз."; -"threads_beta_information" = "Держите обсуждения организованными с помощью потоков.\n\nПотоки помогают вести ваши разговоры по теме и их легко отслеживать. "; +"threads_beta_information" = "Поддерживайте ваши чаты упорядоченными благодаря обсуждениям.\n\nОбсуждения помогают вести разговоры по теме и легко их отслеживать. "; "room_creation_only_one_email_invite" = "Вы можете пригласить только один адрес email за раз"; -"threads_notice_title" = "Потоки больше не экспериментальная функция 🎉"; -"threads_notice_information" = "Все потоки созданные во время экспериментального периода теперь отображаются как обычные ответы.

Это разовый переход, так как потоки теперь часть спецификации Matrix."; +"threads_notice_title" = "Обсуждения — это теперь не экспериментальная функция 🎉"; +"threads_notice_information" = "Все обсуждения, созданные во время экспериментального периода, теперь отображаются как обычные ответы.

Это разовый переход, так как обсуждения — теперь часть спецификации Matrix."; "authentication_qr_login_failure_device_not_supported" = "Связь с этим устройством не поддерживается."; "accessibility_selected" = "выбранный"; "room_access_settings_screen_message" = "Решите, кто может найти и присоединиться к %@."; @@ -2353,3 +2353,376 @@ "key_verification_scan_qr_code_information_new_session" = "Наведите камеру на QR-код, отображенном на другом вашем устройстве для подтверждения вашей новой сессии"; "create_room_section_footer_type_restricted" = "Все в пространстве могут искать и вступать."; "launch_loading_delay_warning" = "Это может занимать больше времени.\nСпасибо за терпение."; +"poll_history_no_past_poll_text" = "В комнате нет завершённых опросов"; +"poll_history_past_segment_title" = "Завершённые опросы"; +"all_chats_edit_layout_show_filters" = "Фильтры"; +"poll_timeline_total_votes_not_voted" = "%lu проголосовал(о). Проголосуйте, чтобы увидеть результаты"; +"all_chats_user_menu_accessibility_label" = "Меню пользователя"; +"poll_history_no_active_poll_period_text" = "Нет активных опросов за прошедшие %@ дней. Подгрузите ещё, чтобы просмотреть опросы за предыдущие месяцы"; +"poll_edit_form_poll_type" = "Тип опроса"; +"poll_edit_form_poll_type_closed_description" = "Результаты отобразятся только после завершения опроса"; +"all_chats_edit_layout_recents" = "Недавние"; +"poll_timeline_total_no_votes" = "Нет голосов"; +"poll_timeline_loading" = "Загрузка…"; +"wysiwyg_composer_start_action_location" = "Местоположение"; +"all_chats_edit_layout_alphabetical_order" = "Сортировать по алфавиту"; +"poll_history_no_past_poll_period_text" = "Нет завершённых опросов за прошедшие %@ дней. Подгрузите ещё, чтобы просмотреть опросы за предыдущие месяцы"; +"poll_history_load_more" = "Загрузить ещё"; + +// MARK: - Polls + +"poll_edit_form_create_poll" = "Создать опрос"; +"poll_timeline_decryption_error" = "Из-за ошибок расшифровки некоторые голоса могут быть не учтены"; +"wysiwyg_composer_start_action_text_formatting" = "Форматирование текста"; +"all_chats_edit_layout_unreads" = "Непрочитанные"; +"poll_timeline_total_final_results_one_vote" = "Окончательный результат на основании 1 голоса"; +"all_chats_nothing_found_placeholder_message" = "Попробуйте скорректировать ваш поисковый запрос."; +"poll_edit_form_poll_type_open_description" = "Проголосовавшие увидят результаты сразу после голосования"; +"poll_edit_form_poll_type_closed" = "Закрытый опрос"; +"poll_timeline_total_votes" = "%lu проголосовало"; +"poll_timeline_vote_not_registered_subtitle" = "Извините, ваш голос не был учтён, пожалуйста, попробуйте ещё раз"; +"poll_history_fetching_error" = "Ошибка при загрузке опросов."; +"poll_timeline_total_final_results" = "Окончательный результат на основании %lu голосa(ов)"; +"poll_timeline_vote_not_registered_title" = "Голос не учтён"; +"poll_timeline_total_one_vote_not_voted" = "1 проголосовал. Проголосуйте, чтобы увидеть результаты"; +"poll_history_detail_view_in_timeline" = "Просмотреть в чате"; +"all_chats_edit_menu_space_settings" = "Настройки пространства"; +"poll_timeline_reply_ended_poll" = "Опрос завершён"; +"wysiwyg_composer_start_action_attachments" = "Вложение"; +"all_chats_section_title" = "Беседы"; +"all_chats_edit_layout" = "Настройки вида"; +"room_recents_recently_viewed_section" = "Недавно просмотренные"; +"wysiwyg_composer_start_action_voice_broadcast" = "Голосовая трансляция"; +"poll_timeline_total_one_vote" = "1 проголосовал"; + +// MARK: - All Chats + +"all_chats_title" = "Все беседы"; +"all_chats_edit_layout_show_recents" = "Недавние"; +"all_chats_edit_layout_activity_order" = "Сортировать по активности"; +"all_chats_empty_list_placeholder_title" = "Нечего отображать."; +"all_chats_empty_unreads_placeholder_message" = "Здесь будут отображаться непрочитанные сообщения, когда таковые появятся."; + +// MARK: - Polls history + +"poll_history_title" = "История опросов"; +"poll_history_loading_text" = "Опросы загружаются"; +"poll_edit_form_poll_type_open" = "Открытый опрос"; +"poll_timeline_ended_text" = "Опрос завершён"; +"all_chats_edit_layout_sorting_options_title" = "Сортировать сообщения по"; +"all_chats_nothing_found_placeholder_title" = "Ничего не найдено."; +"all_chats_user_menu_settings" = "Настройки пользователя"; +"all_chats_edit_menu_leave_space" = "Покинуть %@"; +"poll_history_active_segment_title" = "Активные опросы"; +"poll_history_no_active_poll_text" = "В комнате нет активных опросов"; +"poll_timeline_one_vote" = "1 голос"; +"poll_timeline_votes_count" = "%lu голоса(ов)"; +"poll_timeline_not_closed_title" = "Не получается завершить опрос"; +"poll_timeline_not_closed_subtitle" = "Попробуйте ещё раз"; + +// Send Media Actions +"wysiwyg_composer_start_action_media_picker" = "Фото"; +"wysiwyg_composer_start_action_camera" = "Снимок с камеры"; +"wysiwyg_composer_start_action_polls" = "Опрос"; +"call_unsupported_matrix_rtc_call" = "Вызов не поддерживается. Для подключения к этому вызову требуется новое приложение Element X."; +"room_action_report" = "Сообщить о комнате"; +"room_action_report_prompt_reason" = "Причина сообщения/жалобы на комнату"; +"spaces_creation_new_rooms_general" = "Главная"; +"spaces_creation_new_rooms_random" = "Разное"; +"spaces_creation_address_already_exists" = "%@\nуже существует"; +"side_menu_coach_message" = "Чтобы увидеть все комнаты, смахните вправо или коснитесь экрана"; +"spaces_add_space" = "Добавить пространство"; +"leave_space_and_one_room" = "Выйти из пространства и 1 комнаты"; +"spaces_subspace_creation_visibility_title" = "Какой вид подпространства вы хотите создать?"; +"spaces_creation_address" = "Адрес"; +"voice_broadcast_playback_loading_error" = "Не удается воспроизвести эту голосовую трансляцию."; +"spaces_creation_private_space_title" = "Ваше приватное пространство"; +"spaces_add_subspace_title" = "Создать пространство внутри %@"; +"space_settings_access_section" = "Кто может получать доступ к этому пространству?"; +"space_settings_update_failed_message" = "Не удалось обновить настройки пространства. Повторить попытку?"; +"voice_broadcast_permission_denied_message" = "У вас нет необходимых разрешений для запуска голосовой трансляции в этой комнате. Обратитесь к администратору комнаты, чтобы он выдал вам разрешение."; +"spaces_create_subspace_title" = "Создать подпространство"; +"spaces_subspace_creation_visibility_message" = "Созданное пространство будет добавлено в %@."; +"spaces_creation_address_invalid_characters" = "%@\nсодержит недопустимые символы"; +"leave_space_selection_title" = "ВЫБЕРИТЕ КОМНАТЫ"; +"spaces_creation_empty_room_name_error" = "Необходимо указать имя"; +"spaces_creation_new_rooms_support" = "Помощь"; + +// MARK: Leave space + +"leave_space_action" = "Выйти из пространства"; +"spaces_explore_rooms_format" = "Просмотреть %@"; + +// MARK: - Voice Broadcast +"voice_broadcast_unauthorized_title" = "Не удается запустить голосовую трансляцию"; +"voice_broadcast_tile" = "Голосовая трансляция"; +"spaces_creation_footer" = "Вы сможете изменить это в будущем"; +"spaces_creation_cancel_message" = "Введённые вами данные будут утеряны."; +"leave_space_and_more_rooms" = "Выйти из пространства и %@ комнат(ы)"; +"voice_broadcast_already_in_progress_message" = "Вы уже ведёте голосовую трансляцию. Пожалуйста, завершите текущую голосовую трансляцию и начните новую."; +"spaces_create_space_title" = "Создать пространство"; +"spaces_creation_visibility_title" = "Какой вид пространства вы хотите создать?"; +"room_creation_user_not_found_prompt_message" = "Не удается найти профили по этому Matrix ID. Всё равно начать личную переписку?"; +"room_creation_user_not_found_prompt_invite_action" = "Всё равно начать переписку"; +"room_participants_invite_unknown_participant_prompt_to_msg" = "Не удается найти профили по этому Matrix ID. Вы уверены, что хотите пригласить %@ в %@?"; +"room_participants_invite_anyway" = "Всё равно пригласить"; +"voice_message_broadcast_in_progress_message" = "Вы не можете записывать голосовые сообщения во время прямой трансляции. Пожалуйста, завершите прямую трансляцию, чтобы начать запись голосового сообщения"; +"spaces_creation_cancel_title" = "Отменить создание пространства?"; +"settings_manage_account_title" = "Учётная запись"; +"spaces_creation_settings_message" = "Добавьте детали, которые помогут ему выделиться. Вы сможете изменить их в любой момент."; +"voice_broadcast_playback_lock_screen_placeholder" = "Голосовая трансляция"; +"space_settings_current_address_message" = "Ваше пространство доступно для просмотра по адресу\n%@"; +"spaces_creation_visibility_message" = "Чтобы присоединиться к существующему пространству, вам нужно приглашение."; +"spaces_creation_address_default_message" = "Ваше пространство будет доступно для просмотра по адресу\n%@"; +"spaces_creation_public_space_title" = "Ваше публичное пространство"; +"spaces_creation_new_rooms_room_name_title" = "Имя комнаты"; +"leave_space_selection_all_rooms" = "Выбрать все комнаты"; +"leave_space_selection_no_rooms" = "Не выбирать комнаты"; +"voice_message_broadcast_in_progress_title" = "Невозможно начать запись голосового сообщения"; +"voice_broadcast_blocked_by_someone_else_message" = "Кто-то другой уже ведёт голосовую трансляцию. Дождитесь окончания текущей голосовой трансляции, чтобы начать свою."; +"voice_broadcast_live" = "В эфире"; +"voice_broadcast_voip_cannot_start_description" = "Невозможно позвонить, так как в данный момент ведется прямая трансляция. Пожалуйста, завершите прямую трансляцию, чтобы позвонить."; +"voice_broadcast_stop_alert_agree_button" = "Да, остановить"; +"voice_broadcast_connection_error_title" = "Ошибка соединения"; +"voice_broadcast_buffering" = "Буферизация…"; +"voice_broadcast_stop_alert_description" = "Вы уверены, что хотите остановить прямую трансляцию? После этого в комнате будет доступна полная запись трансляции."; +"all_chats_edit_layout_add_section_title" = "Добавить раздел на главную"; +"voice_broadcast_recorder_connection_error" = "Ошибка соединения — запись приостановлена"; +"all_chats_empty_view_title" = "В пространстве %@\nпусто."; +"all_chats_empty_space_information" = "Пространства — это новый способ группировать комнаты и людей. Добавьте существующую комнату или создайте новую, используя кнопку снизу справа."; +"voice_broadcast_time_left" = "%@ осталось"; +"voice_broadcast_playback_unable_to_decrypt" = "Не удается расшифровать эту голосовую трансляцию."; +"voice_broadcast_voip_cannot_start_title" = "Не удается начать вызов"; +"all_chats_empty_view_information" = "Универсальное приложение для безопасного общения команд, друзей и организаций. Для начала создайте чат или присоединитесь к уже созданной комнате."; +"voice_broadcast_stop_alert_title" = "Остановить прямую трансляцию?"; +"voice_broadcast_connection_error_message" = "К сожалению, сейчас не удаётся запустить трансляцию. Пожалуйста, повторите попытку позже."; +"spaces_creation_in_many_spaces" = "в %@ пространствах"; +"spaces_creation_email_invites_title" = "Пригласите людей из вашей команды"; +"spaces_creation_post_process_inviting_users" = "Приглашение %@ пользователей(я)"; +"spaces_add_room_missing_permission_message" = "У вас нет прав на добавление комнат в это пространство."; +"location_sharing_allow_background_location_message" = "Если вы хотите поделиться своей геопозицией в режиме реального времени, приложению необходим доступ к местоположению, когда оно работает в фоновом режиме. Чтобы разрешить доступ, зайдите в Настройки > Местоположение и выберите \"Разрешать всегда\""; +"spaces_creation_email_invites_message" = "Также вы можете пригласить их позже."; +"location_sharing_static_share_title" = "Отправить текущее местоположение"; +"spaces_creation_in_spacename" = "в %@"; + +// MARK: - Space Selector + +"space_selector_title" = "Мои пространства"; +"spaces_creation_in_spacename_plus_one" = "в %@ + 1 пространстве"; +"spaces_creation_sharing_type_me_and_teammates_title" = "Я и товарищи по команде"; +"live_location_sharing_banner_stop" = "Завершить"; +"spaces_creation_sharing_type_me_and_teammates_detail" = "Личное пространство для вас и ваших товарищей по команде"; +"spaces_creation_post_process_adding_rooms" = "Добавление %@ комнат(ы)"; +"spaces_creation_new_rooms_message" = "Мы создадим для каждой из них отдельную комнату."; +"location_sharing_live_list_item_last_update_invalid" = "Время последнего обновления неизвестно"; +"live_location_sharing_banner_title" = "Трансляция геопозиции включена"; +"location_sharing_live_list_item_last_update" = "Обновлено %@ назад"; +"location_sharing_live_list_item_current_user_display_name" = "Вы"; +"location_sharing_live_lab_promotion_text" = "Обратите внимание: это экспериментальная функция, опирающаяся на временную реализацию, которая позволяет пользователям из комнаты постоянно видеть историю вашего местоположения."; +"spaces_creation_new_rooms_title" = "Какие беседы у вас будут?"; +"spaces_creation_invite_by_username_title" = "Пригласите людей из вашей команды"; +"spaces_creation_invite_by_username_message" = "Также вы можете пригласить их позже."; +"spaces_creation_post_process_creating_room" = "Создание %@"; +"spaces_creation_in_spacename_plus_many" = "в %@ + %@ пространствах"; +"location_sharing_live_list_item_time_left" = "%@ осталось"; +"location_sharing_live_list_item_sharing_expired" = "Срок действия общего доступа истек"; +"location_sharing_live_viewer_title" = "Местоположение"; +"spaces_creation_post_process_creating_space_task" = "Создание %@"; +"location_sharing_live_map_callout_title" = "Поделиться геопозицией"; +"spaces_creation_invite_by_username" = "Пригласить по имени пользователя"; + +// MARK: Live location sharing + +"location_sharing_live_share_title" = "Делиться геопозицией в реальном времени"; +"location_sharing_live_list_item_stop_sharing_action" = "Завершить"; +"spaces_creation_sharing_type_just_me_detail" = "Личное пространство для обустройства ваших комнат"; +"location_sharing_invalid_power_level_message" = "У вас должны быть соответствующие разрешения, чтобы делиться своей геопозицией в реальном времени в этой комнате."; +"live_location_sharing_ended" = "Трансляция геопозиции завершена"; +"spaces_creation_sharing_type_title" = "С кем вы работаете?"; +"spaces_creation_sharing_type_message" = "Убедитесь, что у нужных людей есть доступ %@. Вы можете изменить это позже."; +"spaces_creation_sharing_type_just_me_title" = "Только я"; +"spaces_creation_add_rooms_message" = "Поскольку это место предназначено только для вас, никто об этом не узнает. В будущем вы сможете добавить больше комнат."; +"spaces_creation_post_process_creating_space" = "Пространство создаётся"; +"location_sharing_invalid_power_level_title" = "У вас нет разрешения делиться геопозицией"; +"spaces_creation_add_rooms_title" = "Какие комнаты вы хотите добавить в пространство?"; +"spaces_creation_post_process_uploading_avatar" = "Загрузка аватара"; +"spaces_creation_in_one_space" = "в 1 пространстве"; +"location_sharing_live_loading" = "Загрузка местоположения в реальном времени…"; +"location_sharing_live_timer_selector_long" = "8 часов"; +"user_sessions_hide_location_info" = "Скрыть IP-адрес"; +"user_session_verify_action" = "Заверить сеанс"; +"user_session_push_notifications" = "Push-уведомления"; +// First item is client name and second item is session display name +"user_session_name" = "%@: %@"; +"user_inactive_session_item" = "Неактивен более 90 дней"; +"user_session_details_device_ip_location" = "Местоположение (по IP)"; +"user_session_got_it" = "Понятно"; +"poll_edit_form_post_failure_title" = "Не удалось опубликовать опрос"; +"location_sharing_post_failure_title" = "Не удалось отправить ваше местоположение"; +"user_sessions_show_location_info" = "Показать IP-адрес"; +"manage_session_redirect_error" = "Эта функциональность в настоящее время недоступна. Пожалуйста, свяжитесь с администратором вашего домашнего сервера"; +"user_session_verified_session_description" = "Заверенный сеанс — это когда вы используете Element и ввели парольную фразу или подтвердили вашу личность с использованием другого заверенного сеанса.\n\nЭтот значит, что у клиента есть все ключи, необходимые для расшифровки ваших зашифрованных сообщений, а также он свидетельствует другим пользователям о том, что вы доверяете этому сеансу."; +"user_inactive_session_item_with_date" = "Неактивен более 90 дней (%@)"; +"user_session_details_title" = "Информация о сеансе"; +"location_sharing_live_timer_selector_short" = "15 минут"; +"user_session_verified_session_title" = "Заверенные сеансы"; +"user_other_session_filter_menu_verified" = "Заверенные"; +"poll_edit_form_create_options" = "Варианты ответа"; +"poll_edit_form_update_failure_subtitle" = "Попробуйте ещё раз"; +"device_name_desktop" = "%@ Desktop"; +"location_sharing_settings_toggle_title" = "Включить трансляцию геопозиции"; +"location_sharing_live_lab_promotion_activation" = "Включить трансляцию геопозиции в реальном времени"; +"user_other_session_filter" = "Фильтр"; +"location_sharing_loading_map_error_title" = "%@ не удалось загрузить карту. Пожалуйста, повторите попытку позже."; +"location_sharing_settings_header" = "Трансляция геопозиции"; +"location_sharing_pin_drop_share_title" = "Отправить эту точку"; +"location_sharing_map_loading_error" = "Не удается загрузить карту\nЭтот домашний сервер не настроен для отображения карт"; +"user_other_session_unverified_additional_info" = "Заверьте или выйдите из этого сеанса для обеспечения максимальной безопасности и надежности."; +"poll_edit_form_input_placeholder" = "Напишите что-нибудь"; +"location_sharing_post_failure_subtitle" = "%@ не удалось отправить ваше местоположение. Пожалуйста, повторите попытку позже."; +"location_sharing_locating_user_error_title" = "%@ не удалось получить доступ к вашему местоположению. Пожалуйста, повторите попытку позже."; +"location_sharing_live_no_user_locations_error_title" = "Нет доступных геопозиций пользователей"; +"location_sharing_live_stop_sharing_progress" = "Завершить трансляцию геопозиции"; +"user_session_verified" = "Заверенный сеанс"; +"user_session_unverified_short" = "Не заверено"; +"user_other_session_clear_filter" = "Сбросить фильтр"; +"user_session_details_device_ip_address" = "IP-адрес"; +"poll_edit_form_post_failure_subtitle" = "Попробуйте ещё раз"; +"location_sharing_allow_background_location_cancel_action" = "Не сейчас"; +"user_session_verified_short" = "Заверено"; +"user_session_inactive_session_description" = "Неактивные сеансы — это сеансы, не используемые вами в течение некоторого времени, но при этом которые продолжают получать ключи шифрования.\n\nУдаление неактивных сеансов улучшает безопасность и производительность, а также облегчает выявление подозрительных сеансов."; +"user_session_details_session_section_header" = "Сеанс"; +"user_session_details_session_section_footer" = "Скопировать любые данные можно путём нажатия на них и удержания."; +"room_access_space_chooser_known_spaces_section" = "Известные вам пространства, в которых есть %@"; +"location_sharing_close_action" = "Закрыть"; +"user_session_verified_additional_info" = "Ваш текущий сеанс готов к безопасному обмену сообщениями."; +"poll_edit_form_question_or_topic" = "Вопрос или тема"; +"location_sharing_live_error" = "Ошибка трансляции местоположения"; +"user_session_item_details_last_activity" = "Был активен %@"; +"user_session_details_device_model" = "Модель устройства"; +"poll_edit_form_add_option" = "Добавить вариант"; +"user_sessions_overview_current_session_section_title" = "Текущий сеанс"; +"user_sessions_overview_link_device" = "Подключить устройство"; +"user_session_verification_unknown" = "Состояние заверенности неизвестно"; +"space_selector_empty_view_information" = "Пространства — это способ сгруппировать комнаты и людей. Для начала создайте пространство."; +"user_other_session_filter_menu_unverified" = "Незаверенные"; +"user_other_session_no_verified_sessions" = "Нет заверенных сеансов."; +"location_sharing_allow_background_location_title" = "Разрешить доступ"; +"location_sharing_live_lab_promotion_title" = "Трансляция геопозиции в реальном времени"; +"user_session_view_details" = "Подробности"; +"user_other_session_no_inactive_sessions" = "Нет неактивных сеансов."; +"device_type_name_desktop" = "Desktop"; +"device_type_name_unknown" = "Неизвестный"; +"user_session_details_application_section_header" = "Приложение"; +"spaces_creation_email_invites_email_title" = "E-Mail"; +"location_sharing_live_stop_sharing_error" = "Не удается остановить трансляцию геопозиции"; +"device_type_name_mobile" = ""; +"user_session_details_session_id" = "ID сеанса"; +"user_session_details_device_os" = "Операционная система"; +"location_sharing_map_credits_title" = "© Copyright"; +"user_session_unverified_session_title" = "Незаверенный сеанс"; +"user_other_session_filter_menu_inactive" = "Неактивные"; +"user_sessions_view_all_action" = "Просмотреть все (%d)"; +"room_invites_empty_view_information" = "Здесь появятся ваши приглашения."; +"location_sharing_open_open_street_maps" = "Открыть в OpenStreetMap"; +"user_other_session_security_recommendation_title" = "Другие сеансы"; +"device_name_unknown" = "Неизвестный клиент"; +"user_session_details_application_name" = "Название приложения"; +"user_session_details_application_version" = "Версия"; +"user_session_overview_session_title" = "Сеанс"; +"location_sharing_live_timer_selector_title" = "Выберите, как долго другие пользователи будут видеть ваше точное местоположение."; +"device_type_name_web" = "Web"; +"user_session_details_last_activity" = "Последняя активность"; +"user_session_unverified" = "Незаверенный сеанс"; +"user_session_details_device_browser" = "Браузер"; +"user_session_push_notifications_message" = "При включении этот сеанс будет получать push-уведомления."; +"device_name_mobile" = "%@ Mobile"; + +// MARK: - Location sharing + +"location_sharing_title" = "Местоположение"; +"location_sharing_open_apple_maps" = "Открыть в Apple Maps"; +"user_session_details_application_url" = "URL-адрес"; +"user_session_overview_session_details_button_title" = "Информация о сеансе"; +"space_selector_create_space" = "Создать пространство"; +"location_sharing_live_timer_selector_medium" = "1 час"; +"user_other_session_menu_select_sessions" = "Выбрать сеансы"; +"room_creation_user_not_found_prompt_title" = "Подтверждение"; +"user_session_verification_unknown_additional_info" = "Заверьте свой текущий сеанс, чтобы узнать состояние заверенности этого сеанса."; + +/* %1$@ will be the verification state and %2$@ will be user_session_item_details_verification_unknown or user_other_session_current_session_details */ +"user_session_item_details" = "%1$@ · %2$@"; +"user_session_rename_session_title" = "Переименование сеансов"; +"device_name_web" = "%@ Web"; +"space_selector_empty_view_title" = "Пространств пока нет."; +"poll_edit_form_option_number" = "Вариант %lu"; +"poll_edit_form_update_failure_title" = "Не удалось обновить опрос"; +"location_sharing_invalid_authorization_settings" = "Настройки"; +"location_sharing_open_google_maps" = "Открыть в Google Картах"; +"user_session_unverified_session_description" = "Незаверенные сеансы — это сеансы, при входе в которые использовались ваши учетные данные, но не была проведена перекрестная проверка.\n\nВам следует особенно убедиться, что вы узнаёте эти сеансы, поскольку они могут являться следствием несанкционированных входов в вашу учетную запись."; +"user_session_rename_session_description" = "Другие пользователи в личных сообщениях и комнатах, к которым вы присоединились, могут просматривать полный список ваших сеансов.\n\nЭто дает им уверенность в том, что они действительно разговаривают с вами, но при этом они могут видеть введенное вами название сеанса."; +"user_session_details_device_section_header" = "Устройство"; +"user_session_details_session_name" = "Имя сеанса"; + +// MARK: - Room invites + +"room_invites_empty_view_title" = "Ничего нового."; +"room_waiting_other_participants_title" = "Ожидание присоединения пользователей к %@"; +"room_waiting_other_participants_message" = "Как только приглашенные пользователи присоединятся к %@, вы сможете общаться; комната будет зашифрована сквозным шифрованием"; +"poll_edit_form_poll_question_or_topic" = "Вопрос или тема опроса"; +"location_sharing_invalid_authorization_error_title" = "У %@ нет разрешения на доступ к вашему местоположению. Вы можете дать доступ в разделе Настройки > Местоположение"; +"location_sharing_invalid_authorization_not_now" = "Не сейчас"; +"location_sharing_allow_background_location_validate_action" = "Настройки"; +"user_session_verification_unknown_short" = "Неизвестно"; +"user_session_learn_more" = "Подробнее"; +"user_session_unverified_additional_info" = "Заверьте свой текущий сеанс для обеспечения лучшей защищённости сообщений."; +"user_other_session_permanently_unverified_additional_info" = "Этот сеанс не поддерживает шифрование и, следовательно, не может быть заверен."; +"user_session_permanently_unverified_session_description" = "Этот сеанс не поддерживает шифрование, поэтому его невозможно заверить.\n\nЧерез него вы не сможете общаться в комнатах, где включено сквозное шифрование.\n\nДля обеспечения максимальной безопасности и конфиденциальности рекомендуется использовать клиенты Matrix, поддерживающие шифрование."; +"user_session_inactive_session_title" = "Неактивные сеансы"; +"user_other_session_unverified_sessions_header_subtitle" = "Заверьте свои сеансы для обеспечения лучшей защиты сообщений или выйдите из тех, которые вы не узнаете или не пользуетесь."; +"user_other_session_verified_sessions_header_subtitle" = "Для обеспечения максимальной безопасности выйдите из любого сеанса, который вы не узнаёте или не пользуетесь."; +"user_other_session_no_unverified_sessions" = "Нет незаверенных сеансов."; +"user_other_session_selected_count" = "%@ выбрано"; +"user_other_session_menu_sign_out_sessions" = "Выйти из %@ сеансов"; +"user_session_overview_current_session_title" = "Текущий сеанс"; +"notice_voice_broadcast_live" = "Прямая трансляция"; +"user_sessions_overview_security_recommendations_unverified_title" = "Незаверенные сеансы"; +"manage_session_redirect" = "Вы будете перенаправлены к поставщику услуг аутентификации вашего сервера для совершения выхода."; +"user_sessions_overview_other_sessions_section_title" = "Другие сеансы"; +"all_chats_edit_layout_add_filters_title" = "Фильтруйте свои сообщения"; +"user_sessions_overview_title" = "Сеансы"; +"notice_display_name_changed_to" = "%@ изменил(а) своё имя на %@"; +"user_sessions_overview_security_recommendations_inactive_title" = "Неактивные сеансы"; +"wysiwyg_composer_format_action_inline_code" = "Код"; +"wysiwyg_composer_format_action_italic" = "Курсив"; +"wysiwyg_composer_format_action_un_indent" = "Убрать отступ"; +"wysiwyg_composer_format_action_quote" = "Цитировать"; +"wysiwyg_composer_format_action_indent" = "Вставить отступ"; +"user_sessions_overview_other_sessions_section_info" = "Для обеспечения максимальной безопасности заверьте свои сеансы, а также выйдите из каждого сеанса, который вы не узнаёте или не пользуетесь им."; +"wysiwyg_composer_link_action_link" = "Ссылка"; +"deselect_all" = "Отменить все"; +"notice_error_unformattable_event" = "* Не удается отобразить сообщение. Пожалуйста, создайте отчёт об ошибке"; +"user_sessions_overview_security_recommendations_section_title" = "Рекомендации по обеспечению безопасности"; +"all_chats_edit_layout_add_filters_message" = "Автоматически фильтруйте свои сообщения по выбранным категориям"; +"room_event_encryption_info_key_authenticity_not_guaranteed" = "Подлинность этого зашифрованного сообщения не может быть гарантирована на данном устройстве."; +"user_sessions_overview_security_recommendations_unverified_info" = "Заверьте или выйдите из незаверенных сеансов."; +"user_sessions_overview_security_recommendations_section_info" = "Повысьте безопасность своей учетной записи, следуя этим рекомендациям."; +"wysiwyg_composer_format_action_strikethrough" = "Перечёркнутый"; +"wysiwyg_composer_link_action_edit_title" = "Изменить ссылку"; +"user_sessions_overview_security_recommendations_inactive_info" = "Рассмотрите возможность выхода из старых сеансов (90 дней или старше), которыми вы больше не пользуетесь."; +"all_chats_all_filter" = "Все"; +"settings_manage_account_action" = "Управлять учётной записью"; +"settings_manage_account_description" = "Управляйте вашей учётной записью на %@"; +"wysiwyg_composer_format_action_link" = "Вставить ссылку"; +"wysiwyg_composer_format_action_underline" = "Подчёркнутый"; + +// Links +"wysiwyg_composer_link_action_text" = "Текст"; +"wysiwyg_composer_link_action_create_title" = "Создать ссылку"; +"ignore_user" = "Игнорировать пользователя"; + +// Formatting Actions +"wysiwyg_composer_format_action_bold" = "Жирный"; +"wysiwyg_composer_format_action_unordered_list" = "Маркированный список"; +"wysiwyg_composer_format_action_ordered_list" = "Нумерованный список"; +"wysiwyg_composer_format_action_code_block" = "Блок кода"; diff --git a/Riot/Assets/sk.lproj/Localizable.strings b/Riot/Assets/sk.lproj/Localizable.strings index 02c0860658..284ddc77c5 100644 --- a/Riot/Assets/sk.lproj/Localizable.strings +++ b/Riot/Assets/sk.lproj/Localizable.strings @@ -171,3 +171,4 @@ /* New voice broadcast from a specific person, not referencing a room. */ "VOICE_BROADCAST_FROM_USER" = "%@ začal/a hlasové vysielanie"; +"UNSUPPORTED_CALL" = "Nepodporovaný hovor"; diff --git a/Riot/Assets/sk.lproj/Vector.strings b/Riot/Assets/sk.lproj/Vector.strings index 5ad14f43f2..86f3d5bc18 100644 --- a/Riot/Assets/sk.lproj/Vector.strings +++ b/Riot/Assets/sk.lproj/Vector.strings @@ -2977,3 +2977,4 @@ // MARK: - WYSIWYG Composer "wysiwyg_composer_action_minimise_action" = "Zmenšiť editor"; +"call_unsupported_matrix_rtc_call" = "Nepodporovaný hovor. Na pripojenie k tomuto hovoru je potrebná nová aplikácia Element X."; diff --git a/Riot/Assets/sv.lproj/Localizable.strings b/Riot/Assets/sv.lproj/Localizable.strings index fc7c18b9ea..1dd69bcd01 100644 --- a/Riot/Assets/sv.lproj/Localizable.strings +++ b/Riot/Assets/sv.lproj/Localizable.strings @@ -121,3 +121,4 @@ /* New voice broadcast from a specific person, not referencing a room. */ "VOICE_BROADCAST_FROM_USER" = "%@ påbörjade en röstsändning"; +"UNSUPPORTED_CALL" = "Samtal stöds inte"; diff --git a/Riot/Assets/sv.lproj/Vector.strings b/Riot/Assets/sv.lproj/Vector.strings index 4ba032603a..5254ec7363 100644 --- a/Riot/Assets/sv.lproj/Vector.strings +++ b/Riot/Assets/sv.lproj/Vector.strings @@ -2721,3 +2721,4 @@ // MARK: - WYSIWYG Composer "wysiwyg_composer_action_minimise_action" = "Krymp redigerare"; +"call_unsupported_matrix_rtc_call" = "Samtal stöds inte. Nya Element X-appen behövs för att gå med i det här samtalet."; diff --git a/Riot/Assets/uk.lproj/Localizable.strings b/Riot/Assets/uk.lproj/Localizable.strings index 90e0de28ed..9c092e3495 100644 --- a/Riot/Assets/uk.lproj/Localizable.strings +++ b/Riot/Assets/uk.lproj/Localizable.strings @@ -121,3 +121,4 @@ /* New voice broadcast from a specific person, not referencing a room. */ "VOICE_BROADCAST_FROM_USER" = "%@ розпочинає голосову трансляцію"; +"UNSUPPORTED_CALL" = "Непідтримуваний виклик"; diff --git a/Riot/Assets/uk.lproj/Vector.strings b/Riot/Assets/uk.lproj/Vector.strings index 0119a6575d..eec0e81d68 100644 --- a/Riot/Assets/uk.lproj/Vector.strings +++ b/Riot/Assets/uk.lproj/Vector.strings @@ -2979,3 +2979,4 @@ // MARK: - WYSIWYG Composer "wysiwyg_composer_action_minimise_action" = "Зменшити редактор"; +"call_unsupported_matrix_rtc_call" = "Непідтримуваний виклик. Потрібен застосунок Element X, щоб приєднатися до цього виклику."; diff --git a/Riot/Assets/zh_Hans.lproj/Vector.strings b/Riot/Assets/zh_Hans.lproj/Vector.strings index 50d43aed9a..89bd82d8b5 100644 --- a/Riot/Assets/zh_Hans.lproj/Vector.strings +++ b/Riot/Assets/zh_Hans.lproj/Vector.strings @@ -2227,7 +2227,7 @@ "authentication_qr_login_start_subtitle" = "用此设备的相机扫描显示在你的其他设备上的QR码:"; "authentication_qr_login_start_title" = "扫描QR码"; "authentication_choose_password_signout_all_devices" = "登出全部设备"; -"authentication_login_with_qr" = "用QR码登录"; +"authentication_login_with_qr" = "使用二维码登录"; "onboarding_congratulations_home_button" = "带我到主页"; "onboarding_use_case_message" = "我们将帮助你连接"; "invite_to" = "邀请到%@"; @@ -2426,3 +2426,5 @@ "network_offline_message" = "您已离线,请检查您的网络链接。"; "key_verification_alert_body" = "重新检查以确保您的账户安全。"; "key_verification_scan_qr_code_title" = "扫描 QR Code"; +"room_action_report" = "举报房间"; +"pill_message_from" = "来自 %@ 的消息"; diff --git a/Riot/Managers/Call/CallPresenter.swift b/Riot/Managers/Call/CallPresenter.swift index cdec8328b3..42626cb164 100644 --- a/Riot/Managers/Call/CallPresenter.swift +++ b/Riot/Managers/Call/CallPresenter.swift @@ -309,8 +309,11 @@ class CallPresenter: NSObject { return } let user = session.user(withUserId: event.sender) - let displayName = NSString.localizedUserNotificationString(forKey: "GROUP_CALL_FROM_USER", - arguments: [user?.displayname as Any]) + let displayNameUNLocalizedString = NSString.localizedUserNotificationString(forKey: "GROUP_CALL_FROM_USER", + arguments: [user?.displayname as Any]) + + // will fix app crash when CXCallUpdate accesses the localizedCallerName property because list of allowed classes for com.apple.callkit.callsourcehost service contains only NSString + let displayName = NSString(string: displayNameUNLocalizedString) as String MXLog.debug("[CallPresenter] processWidgetEvent: Report new incoming call with id: \(newUUID.uuidString)") diff --git a/Riot/Modules/CrossSigning/Setup/CrossSigningSetupCoordinator.swift b/Riot/Modules/CrossSigning/Setup/CrossSigningSetupCoordinator.swift index 2877de09d7..74b7f967ea 100644 --- a/Riot/Modules/CrossSigning/Setup/CrossSigningSetupCoordinator.swift +++ b/Riot/Modules/CrossSigning/Setup/CrossSigningSetupCoordinator.swift @@ -45,7 +45,7 @@ final class CrossSigningSetupCoordinator: CrossSigningSetupCoordinatorType { // MARK: - Public methods func start() { - self.showReauthentication() + setupCrossSigning() } func toPresentable() -> UIViewController { @@ -53,16 +53,33 @@ final class CrossSigningSetupCoordinator: CrossSigningSetupCoordinatorType { } // MARK: - Private methods - - private func showReauthentication() { + + private func setupCrossSigning(with authenticationParameters: [String: Any] = [:]) { + guard let crossSigning = parameters.session.crypto?.crossSigning else { return } + crossSigning.setup(withAuthParams: authenticationParameters) { [weak self] in + guard let self else { return } + delegate?.crossSigningSetupCoordinatorDidComplete(self) + } failure: { [weak self] error in + guard let self else { return } + + if let responseData = (error as NSError).userInfo[MXHTTPClientErrorResponseDataKey] as? [AnyHashable: Any], + let authenticationSession = MXAuthenticationSession(fromJSON: responseData) { + showReauthentication(authenticationSession: authenticationSession) + } else { + delegate?.crossSigningSetupCoordinator(self, didFailWithError: error) + } + } + } + + private func showReauthentication(authenticationSession: MXAuthenticationSession) { let setupCrossSigningRequest = self.crossSigningService.setupCrossSigningRequest() let reauthenticationParameters = ReauthenticationCoordinatorParameters(session: parameters.session, presenter: parameters.presenter, title: parameters.title, message: parameters.message, - authenticatedEndpointRequest: setupCrossSigningRequest) + authenticationSession: authenticationSession) let coordinator = ReauthenticationCoordinator(parameters: reauthenticationParameters) coordinator.delegate = self @@ -70,24 +87,6 @@ final class CrossSigningSetupCoordinator: CrossSigningSetupCoordinatorType { coordinator.start() } - - private func setupCrossSigning(with authenticationParameters: [String: Any]) { - guard let crossSigning = self.parameters.session.crypto?.crossSigning else { - return - } - - crossSigning.setup(withAuthParams: authenticationParameters) { [weak self] in - guard let self = self else { - return - } - self.delegate?.crossSigningSetupCoordinatorDidComplete(self) - } failure: { [weak self] error in - guard let self = self else { - return - } - self.delegate?.crossSigningSetupCoordinator(self, didFailWithError: error) - } - } } // MARK: - ReauthenticationCoordinatorDelegate diff --git a/matrix-ios-sdk b/matrix-ios-sdk index 07aa62ed1a..2529e7feb9 160000 --- a/matrix-ios-sdk +++ b/matrix-ios-sdk @@ -1 +1 @@ -Subproject commit 07aa62ed1acc9f91507c709471f0e1656de0b4fd +Subproject commit 2529e7feb9ef4b76c5b7cfdc0a3aa617197762b0