diff --git a/CHANGES.rst b/CHANGES.rst index 983a22187..5a8caf3e2 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -1,3 +1,14 @@ +Changes in MatrixKit in 0.11.4 (2019-xx-xx) +========================================== + + +Changes in MatrixKit in 0.11.3 (2019-12-05) +========================================== + +Improvements: + * Upgrade MatrixSDK version ([v0.15.2](https://github.com/matrix-org/matrix-ios-sdk/releases/tag/v0.15.2)). + * MXKRoomBubbleTableViewCell: Improve link gesture recognition. + Changes in MatrixKit in 0.11.2 (2019-11-06) ========================================== diff --git a/MatrixKit.podspec b/MatrixKit.podspec index eb09ddedd..2468d499f 100644 --- a/MatrixKit.podspec +++ b/MatrixKit.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = "MatrixKit" - s.version = "0.11.2" + s.version = "0.11.3" s.summary = "The Matrix reusable UI library for iOS based on MatrixSDK." s.description = <<-DESC @@ -23,7 +23,7 @@ Pod::Spec.new do |s| s.swift_version = '5.0' - s.dependency 'MatrixSDK', '0.15.0' + s.dependency 'MatrixSDK', '0.15.2' s.dependency 'HPGrowingTextView', '~> 1.1' s.dependency 'libPhoneNumber-iOS', '~> 0.9.13' s.dependency 'DTCoreText', '~> 1.6.21' diff --git a/MatrixKit.xcodeproj/project.pbxproj b/MatrixKit.xcodeproj/project.pbxproj index 1d74b56c4..f6f99389a 100644 --- a/MatrixKit.xcodeproj/project.pbxproj +++ b/MatrixKit.xcodeproj/project.pbxproj @@ -66,6 +66,7 @@ B12C470C20BECAF8004FBF96 /* MXKErrorViewModel.m in Sources */ = {isa = PBXBuildFile; fileRef = B12C470920BECAF7004FBF96 /* MXKErrorViewModel.m */; }; B12C470D20BECAF8004FBF96 /* MXKErrorAlertPresentation.m in Sources */ = {isa = PBXBuildFile; fileRef = B12C470A20BECAF7004FBF96 /* MXKErrorAlertPresentation.m */; }; B12C471020BED312004FBF96 /* MXKErrorPresentableBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = B12C470F20BED312004FBF96 /* MXKErrorPresentableBuilder.m */; }; + B12C56F22396D75500FAC6DE /* UITextView+MatrixKit.m in Sources */ = {isa = PBXBuildFile; fileRef = B12C56F12396D75500FAC6DE /* UITextView+MatrixKit.m */; }; B13652F8221E9E7A00313B09 /* MXKMessageTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = B13652F7221E9E7A00313B09 /* MXKMessageTextView.m */; }; B164380C210603CD00DBB3FD /* MXKSendReplyEventStringLocalizations.m in Sources */ = {isa = PBXBuildFile; fileRef = B164380B210603CD00DBB3FD /* MXKSendReplyEventStringLocalizations.m */; }; B1668AC021072F93002B14F1 /* MXKSlashCommands.m in Sources */ = {isa = PBXBuildFile; fileRef = B1668ABF21072F93002B14F1 /* MXKSlashCommands.m */; }; @@ -370,6 +371,8 @@ B12C470B20BECAF7004FBF96 /* MXKErrorPresentable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MXKErrorPresentable.h; sourceTree = ""; }; B12C470E20BED312004FBF96 /* MXKErrorPresentableBuilder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MXKErrorPresentableBuilder.h; sourceTree = ""; }; B12C470F20BED312004FBF96 /* MXKErrorPresentableBuilder.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MXKErrorPresentableBuilder.m; sourceTree = ""; }; + B12C56F02396D75500FAC6DE /* UITextView+MatrixKit.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UITextView+MatrixKit.h"; sourceTree = ""; }; + B12C56F12396D75500FAC6DE /* UITextView+MatrixKit.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UITextView+MatrixKit.m"; sourceTree = ""; }; B13652F6221E9E7A00313B09 /* MXKMessageTextView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MXKMessageTextView.h; sourceTree = ""; }; B13652F7221E9E7A00313B09 /* MXKMessageTextView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MXKMessageTextView.m; sourceTree = ""; }; B164380A210603CD00DBB3FD /* MXKSendReplyEventStringLocalizations.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MXKSendReplyEventStringLocalizations.h; sourceTree = ""; }; @@ -1270,6 +1273,8 @@ F07E18131ABC563900DE3766 /* MXEvent+MatrixKit.m */, 32B046702101EB5E002A24A1 /* MXRoom+Sync.h */, 32B046712101EB5E002A24A1 /* MXRoom+Sync.m */, + B12C56F02396D75500FAC6DE /* UITextView+MatrixKit.h */, + B12C56F12396D75500FAC6DE /* UITextView+MatrixKit.m */, ); path = Categories; sourceTree = ""; @@ -1895,6 +1900,7 @@ F0026B661C91EED1001D2C04 /* MXKWebViewViewController.m in Sources */, F0B0ECC41B14B16C005EB20D /* MXKRoomTitleView.m in Sources */, F09A66641FD8061D004B13B5 /* MXKSessionGroupsDataSource.m in Sources */, + B12C56F22396D75500FAC6DE /* UITextView+MatrixKit.m in Sources */, F0A8955E1F7A55DF00BD6C2A /* UIScrollView+MatrixKit.m in Sources */, F095E50F1B25899F009606CE /* MXKContactManager.m in Sources */, F09617C31DE881D800093E9D /* MXKEncryptionInfoView.m in Sources */, diff --git a/MatrixKit/Assets/MatrixKitAssets.bundle/cy.lproj/MatrixKit.strings b/MatrixKit/Assets/MatrixKitAssets.bundle/cy.lproj/MatrixKit.strings new file mode 100644 index 000000000..ca06f5f38 --- /dev/null +++ b/MatrixKit/Assets/MatrixKitAssets.bundle/cy.lproj/MatrixKit.strings @@ -0,0 +1,381 @@ +"matrix" = "Matrix"; +// Login Screen +"login_create_account" = "Creu cyfrif:"; +"login_server_url_placeholder" = "URL (e.e. https://matrix.org)"; +"login_home_server_title" = "URL Hafanweinydd:"; +"login_home_server_info" = "Mae'ch hafanweinydd yn cadw'ch holl sgyrsiau a gwybodaeth cyfrif"; +"login_identity_server_title" = "URL Gweinydd Adnabod:"; +"login_identity_server_info" = "Mae Matrix yn darparu gweinyddwyr adnabod i olrhain pa e-byst ac ati sy'n perthyn i IDau Matrix. Dim ond https://matrix.org sy'n bodoli ar hyn o bryd."; +"login_user_id_placeholder" = "ID Matrix (e.g. @bob:matrix.org neu bob)"; +"login_password_placeholder" = "Cyfrinair"; +"login_optional_field" = "dewisol"; +"login_display_name_placeholder" = "Enw arddangos (e.e. Jac y Jwc)"; +"login_email_info" = "Mae nodi cyfeiriad e-bost yn caniatáu i ddefnyddwyr eraill ddod o hyd i chi ar Matrix yn haws, a bydd yn rhoi ffordd i chi ailosod eich cyfrinair yn y dyfodol."; +"login_email_placeholder" = "Cyfeiriad E-bost"; +"login_prompt_email_token" = "Rhowch eich tocyn gwirio e-bost:"; +"login_error_title" = "Methwyd Mewngofnodi"; +"login_error_no_login_flow" = "Methom ni â chasglu gwybodaeth gwirio gan y Hafanweinydd hwn"; +"login_error_do_not_support_login_flows" = "Ar hyn o bryd nid ydym yn cefnogi unrhyw lif mewngofnodi, neu'rrhan ohono, a ddiffinnir gan y Hafanweinydd hwn"; +"login_error_registration_is_not_supported" = "Ni chefnogir cofrestru ar hyn o bryd"; +"login_error_forbidden" = "Enw defnyddiwr/cyfrinair annilys"; +"login_error_unknown_token" = "Ni chydnabuwyd y tocyn mynediad a nodwyd"; +"login_error_bad_json" = "JSON camffurfiedig"; +"login_error_not_json" = "Nid oedd yn cynnwys JSON dilys"; +"login_error_limit_exceeded" = "Mae gormod o geisiadau wedi'u hanfon"; +"login_error_user_in_use" = "Defnyddir yr enw defnyddiwr hwn eisoes"; +"login_error_login_email_not_yet" = "Nid yw'r ddolen e-bost wedi'i chlicio eto"; +"login_use_fallback" = "Defnyddiwch dudalen wrth gefn"; +"login_leave_fallback" = "Canslo"; +"login_invalid_param" = "Paramadr Annilys"; +"register_error_title" = "Methwyd Cofrestri"; +"login_error_forgot_password_is_not_supported" = "Ni chefnogir cyfrinair anghofedig ar hyn o bryd"; +"login_mobile_device" = "Ffôn Symudol"; +"login_tablet_device" = "Llechen"; +"login_desktop_device" = "Cyfrifiadur"; +"login_error_resource_limit_exceeded_title" = "Ty hwnt i'r Terfyn Adnoddau"; +"login_error_resource_limit_exceeded_message_default" = "Mae'r hafanweinydd hwn wedi rhagori ar un o'i derfynau adnoddau."; +"login_error_resource_limit_exceeded_message_monthly_active_user" = "Mae'r hafanweinydd hwn wedi cyrraedd ei derfyn Defnyddiwr Gweithredol Misol."; +"login_error_resource_limit_exceeded_message_contact" = "\n\nCysylltwch â'ch gweinyddwr gwasanaeth i barhau i ddefnyddio'r gwasanaeth hwn."; +"login_error_resource_limit_exceeded_contact_button" = "Cysylltu â Gweinyddwr"; +// Action +"no" = "Na"; +"yes" = "Ie"; +"abort" = "Cefnu"; +"back" = "Yn ôl"; +"close" = "Cau"; +"continue" = "Parhau"; +"discard" = "Taflu"; +"dismiss" = "Wfftio"; +"retry" = "Ailgynnig"; +"sign_up" = "Cofrestri"; +"submit" = "Anfon"; +"submit_code" = "Anfon côd"; +"set_power_level" = "Gosod Lefel Pŵer"; +"set_default_power_level" = "Ail-osod Lefel Pŵer"; +"set_moderator" = "Gosod Cymredolwr"; +"set_admin" = "Gosod Gweinyddwr"; +"start_chat" = "Dechrau Sgwrs"; +"start_voice_call" = "Dechrau Galwad Llais"; +"start_video_call" = "Dechrau Galwad Fideo"; +"mention" = "Crybwyll"; +"select_account" = "Dewis cyfrif"; +"attach_media" = "Ategu Cyfryngau o'r Llyfrgell"; +"capture_media" = "Tynnu Llun/Fideo"; +"invite_user" = "Gwahodd Defnyddiwr Matrix"; +"reset_to_default" = "Ailosod i'r diofyn"; +"resend_message" = "Ail-anfon y neges"; +"select_all" = "Dewis y cyfan"; +"cancel_upload" = "Canslo Uwchlwytho"; +"cancel_download" = "Canslo Lawrlwytho"; +"show_details" = "Dangos Manylion"; +"answer_call" = "Ateb Galwad"; +"reject_call" = "Gwrthod Galwad"; +"end_call" = "Gorffen Galwad"; +"ignore" = "Anwybyddu"; +"unignore" = "Dad-anwybyddu"; +// Events formatter +"notice_avatar_changed_too" = "(newidiwyd cynrychlun hefyd)"; +"notice_room_name_removed" = "Tynnodd %@ enw'r ystafell"; +"notice_room_topic_removed" = "Fe wnaeth %@ ddileu'r pwnc"; +"notice_event_redacted" = ""; +"notice_event_redacted_by" = " gan %@"; +"notice_event_redacted_reason" = " [rheswm: %@]"; +"notice_profile_change_redacted" = "Diweddarodd %@ eu proffil %@"; +"notice_room_created" = "Creodd %@ yr ystafell"; +"notice_room_join_rule" = "Y rheol ymuno yw: %@"; +"notice_room_power_level_intro" = "Lefel pŵer aelodau'r ystafell yw:"; +"notice_room_power_level_acting_requirement" = "Y lefelau pŵer lleiaf y mae'n rhaid i ddefnyddiwr eu cael cyn gweithredu yw:"; +"notice_room_power_level_event_requirement" = "Isafswm y lefelau pŵer sy'n gysylltiedig â digwyddiadau yw:"; +"notice_room_aliases" = "Arallenwau'r ystafell yw: %@"; +"notice_room_related_groups" = "Y grwpiau sy'n gysylltiedig â'r ystafell hon yw: %@"; +"notice_encrypted_message" = "Neges amgryptiedig"; +"notice_encryption_enabled" = "Trodd %@ ar amgryptio o'r dechrau i'r diwedd (algorithm %@)"; +"notice_image_attachment" = "atodiad llun"; +"notice_audio_attachment" = "atodiad sain"; +"notice_video_attachment" = "atodiad fideo"; +"notice_location_attachment" = "atodiad lleoliad"; +"notice_file_attachment" = "atodiad ffeil"; +"notice_invalid_attachment" = "atodiad annilys"; +"notice_unsupported_attachment" = "Atodiad heb gefnogaeth: %@"; +"notice_feedback" = "Digwyddiad adborth (id: %@): %@"; +"notice_redaction" = "Golygodd %@ ddigwyddiad (id: %@)"; +"notice_error_unsupported_event" = "Digwyddiad heb gefnogaeth"; +"notice_error_unexpected_event" = "Digwyddiad annisgwyl"; +"notice_error_unknown_event_type" = "Math digwyddiad anhysbys"; +"notice_room_history_visible_to_anyone" = "Gwnaeth %@ hanes ystafell y dyfodol yn weladwy i unrhyw un."; +"notice_room_history_visible_to_members" = "Gwnaeth %@ hanes ystafell y dyfodol yn weladwy i holl aelodau'r ystafell."; +"notice_room_history_visible_to_members_from_invited_point" = "Gwnaeth %@ hanes ystafell y dyfodol yn weladwy i holl aelodau'r ystafell, o'r pwynt y cawsant eu gwahodd."; +"notice_room_history_visible_to_members_from_joined_point" = "Gwnaeth %@ hanes ystafell y dyfodol yn weladwy i holl aelodau'r ystafell, o'r pwynt yr ymunon nhw ag ef."; +"notice_crypto_unable_to_decrypt" = "** Methu dadgryptio: %@ **"; +"notice_crypto_error_unknown_inbound_session_id" = "Nid yw dyfais yr anfonwr wedi anfon yr allweddi ar gyfer y neges hon atom."; +"notice_sticker" = "sticer"; +"notice_in_reply_to" = "Mewn ateb i"; +// room display name +"room_displayname_empty_room" = "Ystafell gwag"; +"room_displayname_two_members" = "%@ a %@"; +"room_displayname_more_than_two_members" = "%@ a %@ eraill"; +// Settings +"settings" = "Gosodiadau"; +"settings_enable_inapp_notifications" = "Galluogi hysbysiadau Mewn-App"; +"settings_enable_push_notifications" = "Galluogi gwth-hysbysiadau"; +"settings_enter_validation_token_for" = "Rhowch docyn dilysu ar gyfer %@:"; +"notification_settings_room_rule_title" = "Ystafell: '%@'"; +// Devices +"device_details_title" = "Gwybodaeth dyfais\n"; +"device_details_name" = "Enw Cyhoeddus\n"; +"device_details_identifier" = "ID\n"; +"device_details_last_seen" = "Gwelwyd ddiweddaf\n"; +"device_details_last_seen_format" = "%@ @ %@\n"; +"device_details_rename_prompt_title" = "Enw Dyfais"; +"device_details_rename_prompt_message" = "Mae enw cyhoeddus dyfais yn weladwy i'r bobl rydych chi'n cyfathrebu â nhw"; +"device_details_delete_prompt_title" = "Dilysu"; +"device_details_delete_prompt_message" = "Mae angen dilysu ychwanegol ar gyfer y gweithgaredd hon.\nI barhau, nodwch eich cyfrinair."; +// Encryption information +"room_event_encryption_info_title" = "Gwybodaeth amgryptio dechrau i'r diwedd\n\n"; +"room_event_encryption_info_event" = "Gwybodaeth digwyddiad\n"; +"room_event_encryption_info_event_user_id" = "ID Defnyddiwr\n"; +"room_event_encryption_info_event_identity_key" = "Allwedd adnabod Curve25519\n"; +"room_event_encryption_info_event_fingerprint_key" = "Allwedd llofnod Ed25519 â hawliedig\n"; +"room_event_encryption_info_event_algorithm" = "Algorithm\n"; +"room_event_encryption_info_event_session_id" = "ID Sesiwn\n"; +"room_event_encryption_info_event_decryption_error" = "Gwall Dadgryptio\n"; +"room_event_encryption_info_event_unencrypted" = "digryptiedig"; +"room_event_encryption_info_event_none" = "dim"; +"room_event_encryption_info_device" = "\nGwybodaeth am ddyfais yr anfonwr\n"; +"room_event_encryption_info_device_unknown" = "dyfais anhysbys\n"; +"room_event_encryption_info_device_name" = "Enw Cyhoeddus\n"; +"room_event_encryption_info_device_id" = "ID\n"; +"room_event_encryption_info_device_verification" = "Gwirio\n"; +"room_event_encryption_info_device_fingerprint" = "Llofnod Ed25519\n"; +"room_event_encryption_info_device_verified" = "Wedi Gwirio"; +"room_event_encryption_info_device_not_verified" = "HEB ei wirio"; +"room_event_encryption_info_device_blocked" = "Gwaharddiedig"; +"room_event_encryption_info_verify" = "Gwirio…"; +"room_event_encryption_info_unverify" = "Dad-wirio"; +"room_event_encryption_info_block" = "Gwahardd"; +"room_event_encryption_info_unblock" = "Dad-wahardd"; +"room_event_encryption_verify_title" = "Gwirio dyfais\n\n"; +"room_event_encryption_verify_message" = "I wirio y gellir ymddiried yn y ddyfais hon, cysylltwch â'i pherchennog gan ddefnyddio rhyw fodd arall (e.e. yn bersonol neu alwad ffôn) a gofynnwch iddynt a yw'r allwedd a welant yn eu Gosodiadau Defnyddiwr ar gyfer y ddyfais hon yn cyfateb i'r allwedd isod:\n\nEnw'r ddyfais: %@\nID y ddyfais: %@\nAllwedd y ddyfais: %@\n\nOs yw'n cyd-fynd, pwyswch y botwm gwirio isod. Os nad yw'n gwneud hynny, yna mae rhywun arall yn rhyng-gipio'r ddyfais hon ac mae'n debyg eich y dylech wasgu'r botwm gwahardd yn lle.\n\nYn y dyfodol bydd y broses gwirio hon yn fwy soffistigedig."; +"room_event_encryption_verify_ok" = "Gwirio"; +// Account +"account_save_changes" = "Cadw newidiadau"; +"account_link_email" = "Dolen E-bost"; +"account_linked_emails" = "E-byst cysylltiedig"; +"account_email_validation_title" = "Aros am wirio"; +"account_email_validation_message" = "Gwiriwch eich e-bost a chliciwch ar y ddolen sydd ynddo. Ar ôl gwneud hyn, cliciwch parhau."; +"account_email_validation_error" = "Methu gwirio cyfeiriad e-bost. Gwiriwch eich e-bost a chliciwch ar y ddolen sydd ynddo. Ar ôl gwneud hyn, cliciwch parhau"; +"account_msisdn_validation_title" = "Aros am wirio"; +"account_msisdn_validation_message" = "Rydyn ni wedi anfon neges testyn gyda chod actifadu. Rhowch y cod hwn isod."; +"account_msisdn_validation_error" = "Methu gwirio rhif ffôn."; +"account_error_display_name_change_failed" = "Methwyd newid enw arddangos"; +"account_error_picture_change_failed" = "Methwyd newid llun"; +"account_error_matrix_session_is_not_opened" = "Nid yw 'r sesiwn Matrix yn agored"; +"account_error_email_wrong_title" = "Cyfeiriad E-bost Annilys"; +"account_error_email_wrong_description" = "Nid yw hwn yn edrych fel cyfeiriad e-bost dilys"; +"account_error_msisdn_wrong_title" = "Rhif Ffôn Annilys"; +"account_error_msisdn_wrong_description" = "Nid yw hwn yn edrych fel rhif ffôn dilys"; +"account_error_push_not_allowed" = "Ni chaniateir hysbysiadau"; +// Room creation +"room_creation_name_title" = "Enw ystafell:"; +"room_creation_name_placeholder" = "(e.e. criwCinio)"; +"room_creation_alias_title" = "Arallenw ystafell:"; +"room_creation_alias_placeholder" = "(e.e. #foo:example.org)"; +"room_creation_alias_placeholder_with_homeserver" = "(e.e. #foo%@)"; +"room_creation_participants_title" = "Cyfranogwyr:"; +"room_creation_participants_placeholder" = "(e.e. @daf:hafanweinydd1; @gwil:hafanweinydd2...)"; +// Room +"room_please_select" = "Dewisiwch ystafell"; +"room_error_join_failed_title" = "Methwyd ymuno â'r ystafell"; +"room_error_join_failed_empty_room" = "Ar hyn o bryd nid yw'n bosibl ail-ymuno ag ystafell wag."; +"room_error_name_edition_not_authorized" = "Nid oes gennych awdurdod i olygu enw'r ystafell hon"; +"room_error_topic_edition_not_authorized" = "Nid oes gennych awdurdod i olygu pwnc yr ystafell hon"; +"room_error_cannot_load_timeline" = "Methwyd llwytho llinell amser"; +"room_error_timeline_event_not_found_title" = "Methwyd llwytho safle llinell amser"; +"room_error_timeline_event_not_found" = "Roedd y rhaglen yn ceisio llwytho pwynt penodol yn llinell amser yr ystafell hon ond nid oedd yn gallu dod o hyd iddo"; +"room_left" = "Gadawsoch yr ystafell"; +"room_no_power_to_create_conference_call" = "Mae angen caniatâd arnoch i wahodd i ddechrau cynhadledd yn yr ystafell hon"; +"room_no_conference_call_in_encrypted_rooms" = "Ni chefnogir galwadau cynhadledd mewn ystafelloedd wedi'u hamgryptio"; +// Reply to message +"message_reply_to_sender_sent_an_image" = "anfonwyd llun."; +"message_reply_to_sender_sent_a_video" = "anfonwyd fideo."; +"message_reply_to_sender_sent_an_audio_file" = "anfonwyd ffeil sain."; +"message_reply_to_sender_sent_a_file" = "anfonwyd ffeil."; +"message_reply_to_message_to_reply_to_prefix" = "Mewn ateb i"; +// Room members +"room_member_ignore_prompt" = "Ydych chi'n siŵr eich bod chi eisiau cuddio pob neges oddi wrth y defnyddiwr hwn?"; +"room_member_power_level_prompt" = "Ni fyddwch yn gallu dadwneud y newid hwn gan eich bod yn hyrwyddo'r defnyddiwr i gael yr un lefel pŵer â chi'ch hun.\nYdych chi'n siwr?"; +// Attachment +"attachment_size_prompt" = "Ydych chi am anfon fel:"; +"attachment_original" = "Maint Gwirioneddol: %@"; +"attachment_small" = "Bach: %@"; +"attachment_medium" = "Canolig: %@"; +"attachment_large" = "Mawr: %@"; +"attachment_cancel_download" = "Canslo y lawrlwythiad?"; +"attachment_cancel_upload" = "Canslo yr uwchlwythiad?"; +"attachment_multiselection_size_prompt" = "Hoffech chi anfon llun fel:"; +"attachment_multiselection_original" = "Maint Gwirioneddol"; +"attachment_e2e_keys_file_prompt" = "Mae'r ffeil hon yn cynnwys allweddi amgryptio a allfudwyd o gleient Matrix.\nYdych chi eisiau gweld cynnwys y ffeil neu fewnfudo'r allweddi sydd ynddo?"; +"attachment_e2e_keys_import" = "Mewnfudo..."; +// Contacts +"contact_mx_users" = "Defnyddwyr Matrix"; +"contact_local_contacts" = "Cysylltiadau Lleol"; +// Groups +"group_invite_section" = "Gwahoddiadau"; +"group_section" = "Grwpiau"; +// Search +"search_no_results" = "Dum Canluniadau"; +"search_searching" = "Chwilio ar y gweill..."; +// Time +"format_time_s" = "e"; +"format_time_m" = "m"; +"format_time_h" = "a"; +"format_time_d" = "d"; +// E2E import +"e2e_import_room_keys" = "Mewnfudo allweddi ystafell"; +"e2e_import_prompt" = "Mae'r broses hon yn caniatáu ichi fewnfudo allweddi amgryptio yr oeddech wedi'u hallfudo o'r blaen o gleient Matrix arall. Yna byddwch yn gallu dadgryptio unrhyw negeseuon y gallai'r cleient arall eu dadgryptio.\nMae'r ffeil allfudo wedi'i gwarchod gyda chyfrinair. Dylech nodi'r cyfrinair yma, i ddadgryptio'r ffeil."; +"e2e_import" = "Mewnfudo"; +"e2e_passphrase_enter" = "Rhowch cyfrinair"; +// E2E export +"e2e_export_room_keys" = "Allfudo allweddi ystafell"; +"e2e_export_prompt" = "Mae'r broses hon yn caniatáu ichi allfudo i ffeil leol yr allweddi ar gyfer negeseuon rydych wedi'u derbyn mewn ystafelloedd amgryptiedig. Yna byddwch chi'n gallu mewnfudo'r ffeil i gleient Matrix arall yn y dyfodol, fel y bydd y cleient hwnnw hefyd yn gallu dadgryptio'r negeseuon hyn.\nBydd y ffeil a allfudir yn caniatáu i unrhyw un sy'n gallu ei darllen ddadgryptio unrhyw negeseuon amgryptiedig y gallwch eu gweld, felly dylech fod yn ofalus i'w cadw'n ddiogel."; +"e2e_export" = "Allfudo"; +"e2e_passphrase_confirm" = "Cadarnhau cyfrinair"; +"e2e_passphrase_empty" = "Ni chaniateir cyfrinair gwag"; +"e2e_passphrase_not_match" = "Rhaid i'r cyfrineiriau gyfateb"; +"e2e_passphrase_create" = "Creu cyfrinair"; +// Others +"user_id_title" = "ID Defnyddiwr:"; +"offline" = "all-lein"; +"unsent" = "Heb eu danfon"; +"error" = "Gwall"; +"error_common_message" = "Digwyddodd gwall. Rhowch gynning eto nes ymlaen."; +"not_supported_yet" = "Heb ei gefnogi eto"; +"default" = "diofyn"; +"private" = "Preifat"; +"public" = "Cyhoeddus"; +"power_level" = "Lefel Pŵer"; +"network_error_not_reachable" = "Gwiriwch eich cysylltedd rhwydwaith"; +"user_id_placeholder" = "eng: @gwil:hafanweinydd"; +"ssl_homeserver_url" = "URL Hafanweinydd: %@"; +// Permissions +"camera_access_not_granted_for_call" = "Mae galwadau fideo angen mynediad i'r Camera ond nid oes gan %@ ganiatâd i'w ddefnyddio"; +"microphone_access_not_granted_for_call" = "Mae galwadau fideo angen mynediad i'r Meicroffon ond nid oes gan %@ ganiatâd i'w ddefnyddio"; +"local_contacts_access_not_granted" = "Mae darganfyddiad defnyddwyr o gysylltiadau lleol angen mynediad i'ch cysylltiadau ond nid oes gan %@ ganiatâd i'w ddefnyddio"; +"local_contacts_access_discovery_warning_title" = "Darganfod defnyddwyr"; +"local_contacts_access_discovery_warning" = "I ddarganfod cysylltiadau sydd eisoes yn defnyddio Matrix, gall %@ anfon cyfeiriadau e-bost a rhifau ffôn yn eich llyfr cyfeiriadau at y gweinydd adnabod Matrix o'ch dewis. Pan gânt eu cefnogi, mae data personol yn cael ei amgodio cyn ei anfon - gwiriwch bolisi preifatrwydd eich gweinydd adnabod i gael mwy o fanylion."; +// Country picker +"country_picker_title" = "Dewiswch wlad"; +// Language picker +"language_picker_title" = "Dewiswch iaith"; +"language_picker_default_language" = "Diofyn (%@)"; +"notice_room_invite" = "Mae %@ wedi gwahodd %@"; +"notice_room_third_party_invite" = "Anfonodd %@ wahoddiad i %@ i ymuno â'r ystafell"; +"notice_room_third_party_registered_invite" = "Derbyniodd %@ y gwahoddiad am %@"; +"notice_room_third_party_revoked_invite" = "Tynnodd %@ y gwahoddiad i %@ ymuno â'r ystafell"; +"notice_room_join" = "Ymunodd %@"; +"notice_room_leave" = "Gadawodd %@"; +"notice_room_reject" = "Gwrthododd %@ y gwahoddiad"; +"notice_room_kick" = "Ciciodd %@ %@"; +"notice_room_unban" = "Dad-waharddodd %@ %@"; +"notice_room_ban" = "Gwaharddod %@ %@"; +"notice_room_withdraw" = "Tynnodd %@ wahoddiad %@ yn ôl"; +"notice_room_reason" = ". Rheswm: %@"; +"notice_avatar_url_changed" = "Newidiodd %@ eu cynrychlun"; +"notice_display_name_set" = "Gosododd %@ eu henw arddangos i %@"; +"notice_display_name_changed_from" = "Newidiodd %@ eu henw arddangos o %@ i %@"; +"notice_display_name_removed" = "Tynnodd %@ eu henw arddangos"; +"notice_topic_changed" = "Newidiodd %@ y pwnc i: %@"; +"notice_room_name_changed" = "Newidiodd %@ enw'r ystafell i: %@"; +"notice_placed_voice_call" = "Gosododd %@ alwad llais"; +"notice_placed_video_call" = "Gosododd %@ alwad fideo"; +"notice_answered_video_call" = "Atebodd %@ y galwad"; +"notice_ended_video_call" = "Gorffenodd %@ y galwad"; +"notice_conference_call_request" = "Gofynnodd %@ am gynhadledd VoIP"; +"notice_conference_call_started" = "Dechreuwyd cynhadledd VoIP"; +"notice_conference_call_finished" = "Gorffenwyd cynhadledd VoIP"; +// button names +"ok" = "Iawn"; +"cancel" = "Canslo"; +"save" = "Cadw"; +"leave" = "Gadael"; +"send" = "Anfon"; +"copy" = "Copi"; +"resend" = "Ail-anfon"; +"redact" = "Tynnu"; +"share" = "Rhannu"; +"delete" = "Dileu"; +"view" = "Gweld"; +// actions +"action_logout" = "Allgofnodi"; +"create_room" = "Creu Ystafell"; +"login" = "Mewngofnodi"; +"create_account" = "Creu Cyfrif"; +"membership_invite" = "Gwahoddwyd"; +"membership_leave" = "Gadawodd"; +"membership_ban" = "Gwaharddedig"; +"num_members_one" = "%@ defnyddiwr"; +"num_members_other" = "%@ defnyddiwr"; +"invite" = "Gwahodd"; +"kick" = "Cic"; +"ban" = "Gwahardd"; +"unban" = "Dad-wahardd"; +"message_unsaved_changes" = "Mae yna newidiadau heb eu cadw. Bydd gadael yn golygu eu colli."; +// Login Screen +"login_error_already_logged_in" = "Wedi mewngofnodi eisoes"; +"login_error_must_start_http" = "Rhaid i URL ddechrau â http[s]://"; +// room details dialog screen +"room_details_title" = "Manylion Ystafell"; +// contacts list screen +"invitation_message" = "Hoffwn sgwrsio â chi gyda Matrix. Os gwelwch yn dda, ewch i'r wefan https://matrix.org i gael mwy o wybodaeth."; +// Settings screen +"settings_title_config" = "Gosodiadau"; +"settings_title_notifications" = "Hysbysebiadau"; +// Notification settings screen +"notification_settings_disable_all" = "Analluogi pob hysbysiad"; +"notification_settings_enable_notifications" = "Galluogi hysbysiadau"; +"notification_settings_enable_notifications_warning" = "Ar hyn o bryd mae pob hysbysiad wedi eu hanalluogi ar gyfer pob dyfais."; +"notification_settings_global_info" = "Mae gosodiadau hysbysiadau yn cael eu cadw i'ch cyfrif defnyddiwr ac yn cael eu rhannu rhwng yr holl gleientiaid sy'n eu cefnogi (gan gynnwys hysbysiadau cyfrifiadur).\n\nCymhwysir rheolau mewn trefn; mae'r rheol gyntaf sy'n cyfateb yn diffinio canlyniad y neges.\nFelly: Mae hysbysiadau fesul gair yn bwysicach na hysbysiadau fesul ystafell sy'n bwysicach na hysbysiadau fesul anfonwr.\nAr gyfer rheolau lluosog o'r un math, mae'r un gyntaf yn y rhestr sy'n cyfateb yn cael blaenoriaeth."; +"notification_settings_per_word_notifications" = "Hysbysiadau fesul gair"; +"notification_settings_per_word_info" = "Mae geiriau'n cyfateb priflythrennau a rhai bach, a gallant gynnwys * cerdyn gwyllt. Felly:\nmae foo yn cyd-fynd â'r testyn foo wedi'i amgylchynu gan amffinyddion geiriau (e.e. atalnodi a gofod gwyn neu ddechrau / diwedd llinell).\nmae foo* yn cyfateb i unrhyw air o'r fath sy'n dechrau foo.\nmae *foo* yn cyfateb i unrhyw air o'r fath sy'n cynnwys y 3 llythyren foo."; +"notification_settings_always_notify" = "Rhowch wybod bob amser"; +"notification_settings_never_notify" = "Peidiwch byth â hysbysu"; +"notification_settings_word_to_match" = "gair yw gyfateb"; +"notification_settings_highlight" = "Amlygiad"; +"notification_settings_custom_sound" = "Sain addasol"; +"notification_settings_per_room_notifications" = "Hysbysiadau fesul ystafell"; +"notification_settings_per_sender_notifications" = "Hysbysiadau fesul anfonwr"; +"notification_settings_sender_hint" = "@defnyddiwr:parth.com"; +"notification_settings_select_room" = "Dewisiwch ystafell"; +"notification_settings_other_alerts" = "Rhybuddion Eraill"; +"notification_settings_contain_my_user_name" = "Rhowch wybod i mi gyda sain am negeseuon sy'n cynnwys fy enw defnyddiwr"; +"notification_settings_contain_my_display_name" = "Rhowch wybod i mi gyda sain am negeseuon sy'n cynnwys fy enw arddangos"; +"notification_settings_just_sent_to_me" = "Rhowch wybod i mi gyda sain am negeseuon â anfonwyd ataf yn unig"; +"notification_settings_invite_to_a_new_room" = "Rhowch wybod i mi pan gaf wahoddiad i ystafell newydd"; +"notification_settings_people_join_leave_rooms" = "Rhowch wybod i mi pan fydd pobl yn ymuno neu'n gadael ystafelloedd"; +"notification_settings_receive_a_call" = "Rhowch wybod i mi pan fyddaf yn derbyn galwad"; +"notification_settings_suppress_from_bots" = "Atal hysbysiadau o botiau"; +"notification_settings_by_default" = "Yn ddiofyn..."; +"notification_settings_notify_all_other" = "Hysbysu am yr holl negeseuon / ystafelloedd eraill"; +// gcm section +"settings_config_home_server" = "Hafanweinydd: %@"; +"settings_config_identity_server" = "Gweinydd adnabod: %@"; +"settings_config_user_id" = "ID Defnyddiwr: %@"; +// call string +"call_waiting" = "Aros..."; +"call_connecting" = "Cysylltu galwad..."; +"call_ended" = "Gorffenwyd y galwad"; +"call_ring" = "Yn galw..."; +"incoming_video_call" = "Galwad Fideo sy'n dod i mewn"; +"incoming_voice_call" = "Galwad Llais sy'n dod i mewn"; +"call_invite_expired" = "Gwahoddiad Galwad wedi dod i ben"; +// unrecognized SSL certificate +"ssl_trust" = "Ymddiried"; +"ssl_logout_account" = "Allgofnodi"; +"ssl_remain_offline" = "Anwybyddu"; +"ssl_fingerprint_hash" = "Llofnod (%@):"; +"ssl_could_not_verify" = "Methwyd gwirio gweinyddwr adnabod pell."; +"ssl_cert_not_trust" = "Gallai hyn olygu bod rhywun yn rhyng-gipio eich traffig yn faleisus, neu nad yw'ch ffôn yn ymddiried yn y dystysgrif a ddarperir gan y gweinydd pell."; +"ssl_cert_new_account_expl" = "Os yw gweinyddwr y gweinydd wedi dweud bod disgwyl hyn, sicrhewch fod yr llofnod isod yn cyfateb i'r llofnod a ddarperir ganddynt."; +"ssl_unexpected_existing_expl" = "Mae'r dystysgrif wedi newid o un yr oedd eich ffôn yn ymddiried ynddo. Mae hyn yn ANNISGWYL IAWN. Argymhellir i chi BEIDIO Â DERBYN y dystysgrif newydd hon."; +"ssl_expected_existing_expl" = "Mae'r dystysgrif wedi newid o un yr ymddiriedwyd ynddo o'r blaen i un nad oes ymddiried ynddo. Efallai bod y gweinydd wedi adnewyddu ei dystysgrif. Cysylltwch â gweinyddwr y gweinydd i gael y llofnod disgwyliedig."; +"ssl_only_accept" = "Peidiwch a derbyn y dystysgrif ONIBAI bod gweinyddwr y gweinydd wedi cyhoeddi llofnod sy'n cyfateb i'r un uchod."; diff --git a/MatrixKit/Assets/MatrixKitAssets.bundle/it.lproj/MatrixKit.strings b/MatrixKit/Assets/MatrixKitAssets.bundle/it.lproj/MatrixKit.strings new file mode 100644 index 000000000..7a63cc492 --- /dev/null +++ b/MatrixKit/Assets/MatrixKitAssets.bundle/it.lproj/MatrixKit.strings @@ -0,0 +1,381 @@ +"matrix" = "Matrix"; +// Login Screen +"login_create_account" = "Nuovo utente:"; +"login_server_url_placeholder" = "URL (es. https://matrix.org)"; +"login_home_server_title" = "URL homeserver:"; +"login_home_server_info" = "Lo storico delle conversazioni e i dati utente sono salvati sul tuo homeserver"; +"login_identity_server_title" = "URL del server d'identità:"; +"login_identity_server_info" = "Matrix fornisce dei server d'identità per associare i tuoi recapiti (es. l'indirizzo email) al tuo ID Matrix. Attualmente esiste solo il server https://matrix.org."; +"login_user_id_placeholder" = "ID Matrix (es. @gianni:matrix.org o gianni)"; +"login_password_placeholder" = "Password"; +"login_optional_field" = "opzionale"; +"login_display_name_placeholder" = "Nome completo (es. Gianni Rossi)"; +"login_email_info" = "Indicare un indirizzo email consente ad altri utenti di trovarti facilmente in Matrix, e ti da modo di resettare la password in caso di necessità."; +"login_email_placeholder" = "Indirizzo email"; +"login_prompt_email_token" = "Inserisci il token di validazione della tua email:"; +"login_error_title" = "Accesso fallito"; +"login_error_no_login_flow" = "Impossibile ottenere i dati di autenticazione da questo Home Server"; +"login_error_do_not_support_login_flows" = "Al momento non è supportato alcuno dei flussi di accesso definiti da questo Home Server"; +"login_error_registration_is_not_supported" = "La registrazione non è consentita al momento"; +"login_error_forbidden" = "Nome utente o password errati"; +"login_error_unknown_token" = "Il token di accesso inserito non è stato riconosciuto"; +"login_error_bad_json" = "JSON malformato"; +"login_error_not_json" = "Contenuto JSON non valido"; +"login_error_limit_exceeded" = "Limite di richieste superato"; +"login_error_user_in_use" = "Questo nome utente è già in uso"; +"login_error_login_email_not_yet" = "Il link inviato via email che non è stata ancora visitato"; +"login_use_fallback" = "Usa la pagina alternativa"; +"login_leave_fallback" = "Annulla"; +"login_invalid_param" = "Parametro non valido"; +"register_error_title" = "Registrazione fallita"; +"login_error_forgot_password_is_not_supported" = "Le password dimenticate non sono supportate"; +"notice_room_join_rule" = "Regole per accedere: %@"; +// contacts list screen +"invitation_message" = "Vorrei comunicare con te usando Matrix. Visita il sito web http://matrix.org per avere maggiori informazioni."; +"login_mobile_device" = "Mobile"; +"login_tablet_device" = "Tablet"; +"login_desktop_device" = "Desktop"; +"login_error_resource_limit_exceeded_title" = "Superato il limite delle risorse"; +"login_error_resource_limit_exceeded_message_default" = "Questo homeserver ha superato uno dei suoi limiti di risorsa."; +"login_error_resource_limit_exceeded_message_monthly_active_user" = "Questo homeserver ha raggiunto il limite massimo di utenti attivi in un mese."; +"login_error_resource_limit_exceeded_message_contact" = "\n\nContatta l’amministratore del sistema per continuare a usare questo servizio."; +"login_error_resource_limit_exceeded_contact_button" = "Contatta l’amministratore"; +// Action +"no" = "No"; +"yes" = "Si"; +"abort" = "Annulla"; +"back" = "Indietro"; +"close" = "Chiudi"; +"continue" = "Continua"; +"discard" = "Annulla"; +"dismiss" = "Annulla"; +"retry" = "Riprova"; +"sign_up" = "Registrati"; +"submit" = "Invia"; +"submit_code" = "Invia codice"; +"set_power_level" = "Imposta livello di accesso"; +"set_default_power_level" = "Ripristina livello di accesso"; +"set_moderator" = "Imposta moderatore"; +"set_admin" = "Imposta amministratore"; +"start_chat" = "Nuova chat"; +"start_voice_call" = "Nuova telefonata"; +"start_video_call" = "Nuova videochiamata"; +"mention" = "Menziona"; +"select_account" = "Seleziona un utente"; +"attach_media" = "Allega contenuto multimediale"; +"capture_media" = "Riprendi foto/video"; +"invite_user" = "Invita un utente Matrix"; +"reset_to_default" = "Ripristina predefinito"; +"resend_message" = "Reinvia messaggio"; +"select_all" = "Seleziona tutto"; +"cancel_upload" = "Annulla caricamento"; +"cancel_download" = "Annulla scaricamento"; +"show_details" = "Mostra dettagli"; +"answer_call" = "Rispondi a chiamata"; +"reject_call" = "Rifiuta chiamata"; +"end_call" = "Chiudi chiamata"; +"ignore" = "Ignora"; +"unignore" = "Non ignorare"; +// Events formatter +"notice_avatar_changed_too" = "(anche l’avatar è cambiato)"; +"notice_room_name_removed" = "%@ ha cancellato il nome del canale"; +"notice_room_topic_removed" = "%@ ha cancellato il titolo"; +"notice_event_redacted" = ""; +"notice_event_redacted_by" = " da %@"; +"notice_event_redacted_reason" = " [motivo: %@]"; +"notice_profile_change_redacted" = "%@ ha aggiornato il suo profilo %@"; +"notice_room_created" = "%@ ha creato il canale"; +"notice_room_power_level_intro" = "Il livello di accesso dei partecipanti è:"; +"notice_room_power_level_acting_requirement" = "Il livello minimo di accesso per partecipare è:"; +"notice_room_power_level_event_requirement" = "Il livello minimo di accesso per visualizzare eventi è:"; +"notice_room_aliases" = "Gli alias di questo canale sono: %@"; +"notice_room_related_groups" = "I gruppi associati a questo canale sono: %@"; +"notice_encrypted_message" = "Messaggio criptato"; +"notice_encryption_enabled" = "%@ ha attivato la crittografia end-to-end (algoritmo %@)"; +"notice_image_attachment" = "allegato immagine"; +"notice_audio_attachment" = "allegato audio"; +"notice_video_attachment" = "allegato video"; +"notice_location_attachment" = "allegato posizione"; +"notice_file_attachment" = "allegato file"; +"notice_invalid_attachment" = "allegato non valido"; +"notice_unsupported_attachment" = "Allegato non supportato: %@"; +"notice_feedback" = "Evento di feedback (id: %@): %@"; +"notice_redaction" = "%@ ha modificato un evento (id: %@)"; +"notice_error_unsupported_event" = "Evento non supportato"; +"notice_error_unexpected_event" = "Evento inatteso"; +"notice_error_unknown_event_type" = "Tipo di evento sconosciuto"; +"notice_room_history_visible_to_anyone" = "%@ ha permesso a chiunque di visualizzare lo storico della conversazione."; +"notice_room_history_visible_to_members" = "%@ ha permesso di visualizzare lo storico della conversazione solo ai partecipanti."; +"notice_room_history_visible_to_members_from_invited_point" = "%@ ha permesso di visualizzare lo storico della conversazione solo ai partecipanti, dal momento del loro invito."; +"notice_room_history_visible_to_members_from_joined_point" = "%@ ha permesso di visualizzare lo storico della conversazione solo ai partecipanti, dal momento della loro entrata."; +"notice_crypto_unable_to_decrypt" = "** Impossibile decriptare: %@ **"; +"notice_crypto_error_unknown_inbound_session_id" = "Il dispositivo del mittente non ha inviato le chiavi per aprire questo messaggio."; +"notice_sticker" = "etichetta"; +"notice_in_reply_to" = "In risposta a"; +// room display name +"room_displayname_empty_room" = "Canale senza partecipanti"; +"room_displayname_two_members" = "%@ e %@"; +"room_displayname_more_than_two_members" = "%@ e %@ altri"; +// Settings +"settings" = "Impostazioni"; +"settings_enable_inapp_notifications" = "Abilita notifiche In-App"; +"settings_enable_push_notifications" = "Abilita notifiche push"; +"settings_enter_validation_token_for" = "Inserisci token di validazione per %@:"; +"notification_settings_room_rule_title" = "Canale: '%@'"; +// Devices +"device_details_title" = "Informazioni dispositivo\n"; +"device_details_name" = "Nome pubblico\n"; +"device_details_identifier" = "ID\n"; +"device_details_last_seen" = "Ultimo contatto\n"; +"device_details_last_seen_format" = "%@ @ %@\n"; +"device_details_rename_prompt_title" = "Nome dispositivo"; +"device_details_rename_prompt_message" = "Il nome pubblico del dispositivo è visibile alle persone con cui comunichi"; +"device_details_delete_prompt_title" = "Autenticazione"; +"device_details_delete_prompt_message" = "Questa operazione necessita di ulteriore autenticazione.\nInserisci la tua password per procedere."; +// Encryption information +"room_event_encryption_info_title" = "Informazioni crittografia End-to-end\n\n"; +"room_event_encryption_info_event" = "Informazioni evento\n"; +"room_event_encryption_info_event_user_id" = "ID utente:\n"; +"room_event_encryption_info_event_identity_key" = "Chiave di identificazione Curve25519\n"; +"room_event_encryption_info_event_fingerprint_key" = "Richiamata chiave per l’impronta Ed25519\n"; +"room_event_encryption_info_event_algorithm" = "Algoritmo\n"; +"room_event_encryption_info_event_session_id" = "ID sessione\n"; +"room_event_encryption_info_event_decryption_error" = "Errore decrittazione\n"; +"room_event_encryption_info_event_unencrypted" = "non criptato"; +"room_event_encryption_info_event_none" = "nessuna"; +"room_event_encryption_info_device" = "\nInformazioni dispositivo mittente\n"; +"room_event_encryption_info_device_unknown" = "dispositivo sconosciuto\n"; +"room_event_encryption_info_device_name" = "Nome pubblico\n"; +"room_event_encryption_info_device_id" = "ID\n"; +"room_event_encryption_info_device_verification" = "Verifica\n"; +"room_event_encryption_info_device_fingerprint" = "Impronta Ed25519\n"; +"room_event_encryption_info_device_verified" = "Verificato"; +"room_event_encryption_info_device_not_verified" = "NON verificato"; +"room_event_encryption_info_device_blocked" = "Bloccato"; +"room_event_encryption_info_verify" = "Verifica..."; +"room_event_encryption_info_unverify" = "Annulla verifica"; +"room_event_encryption_info_block" = "Bloccato"; +"room_event_encryption_info_unblock" = "Sbloccato"; +"room_event_encryption_verify_title" = "Verifica dispositivo\n\n"; +"room_event_encryption_verify_message" = "Per verificare che questo dispositivo possa essere fidato, si prega di contattare il suo proprietario in altro modo (es. di persona o via telefonica) e chiedergli se la chiave che lui vede nelle Impostazioni Utente per il dispositivo sia uguale a questa:\n\n\tNome dispositivo: %@\n\tID dispositivo: %@\n\tChiave dispositivo: %@\n\nSe le chiavi sono identiche, premere il pulsante di verifica qui sotto. Se non lo sono, allora quancun altro sta intercettando questo dispositivo e probabilmente dovresti bloccarlo.\n\nIn futuro questo processo di verifica sarà più sofisticato."; +"room_event_encryption_verify_ok" = "Verifica"; +// Account +"account_save_changes" = "Salva cambiamenti"; +"account_link_email" = "Collegamento email"; +"account_linked_emails" = "Indirizzi email collegati"; +"account_email_validation_title" = "Verifica in corso"; +"account_email_validation_message" = "Controlla l'email e clicca sul collegamento che contiene. Dopo averlo fatto, clicca su continua."; +"account_email_validation_error" = "Impossibile verificare l'indirizzo email. Controlla l'email e clicca sul collegamento che contiene. Dopo averlo fatto, clicca su continua"; +"account_msisdn_validation_title" = "Verifica in corso"; +"account_msisdn_validation_message" = "Abbiamo inviato un SMS con un codice di attivazione. Inserisci il codice qui sotto."; +"account_msisdn_validation_error" = "Impossibile verificare il numero di telefono."; +"account_error_display_name_change_failed" = "Cambio del nome completo fallito"; +"account_error_picture_change_failed" = "Cambio dell'immagine fallito"; +"account_error_matrix_session_is_not_opened" = "La sessione Matrix non è attiva"; +"account_error_email_wrong_title" = "Indirizzo email non valido"; +"account_error_email_wrong_description" = "Questo non sembra essere un indirizzo email valido"; +"account_error_msisdn_wrong_title" = "Numero di telefono non valido"; +"account_error_msisdn_wrong_description" = "Questo non sembra essere un numero telefonico valido"; +"account_error_push_not_allowed" = "Notifiche non permesse"; +// Room creation +"room_creation_name_title" = "Nome canale:"; +"room_creation_name_placeholder" = "(es. gruppoPranzo)"; +"room_creation_alias_title" = "Alias canale:"; +"room_creation_alias_placeholder" = "(es. #blah:dominio.it)"; +"room_creation_alias_placeholder_with_homeserver" = "(es. #blah%@)"; +"room_creation_participants_title" = "Partecipanti:"; +"room_creation_participants_placeholder" = "(e.g. @gianni:homeserver1; @alice:homeserver2...)"; +// Room +"room_please_select" = "Seleziona un canale"; +"room_error_join_failed_title" = "Accesso al canale fallito"; +"room_error_join_failed_empty_room" = "Non è possibile al momento rientrare in un canale senza partecipanti."; +"room_error_name_edition_not_authorized" = "Non sei autorizzato a modificare il nome di questo canale"; +"room_error_topic_edition_not_authorized" = "Non sei autorizzato a modificare l'argomento di questo canale"; +"room_error_cannot_load_timeline" = "Caricamento storico dei messaggi fallito"; +"room_error_timeline_event_not_found_title" = "Caricamento della posizione nello storico fallito"; +"room_error_timeline_event_not_found" = "L'applicazione ha cercato di caricare un punto specifico dello storico dei messaggi in questo canale, ma non è riuscita a trovarlo"; +"room_left" = "Sei uscito dal canale"; +"room_no_power_to_create_conference_call" = "Hai bisogno del permesso per invitare a iniziare una conferenza in questo canale"; +"room_no_conference_call_in_encrypted_rooms" = "Le chiamate in conferenza non sono supportate nei canali criptati"; +// Reply to message +"message_reply_to_sender_sent_an_image" = "immagine inviata."; +"message_reply_to_sender_sent_a_video" = "video inviato."; +"message_reply_to_sender_sent_an_audio_file" = "file audio inviato."; +"message_reply_to_sender_sent_a_file" = "file inviato."; +"message_reply_to_message_to_reply_to_prefix" = "In risposta a"; +// Room members +"room_member_ignore_prompt" = "Sei sicuro di voler nascondere tutti i messaggi da questo utente?"; +"room_member_power_level_prompt" = "Non potrai annullare questa modifica perché stai innalzando i permessi dell'utente al tuo stesso livello di accesso.\nSei sicuro?"; +// Attachment +"attachment_size_prompt" = "Vuoi inviare come:"; +"attachment_original" = "Originale: %@"; +"attachment_small" = "Piccolo: %@"; +"attachment_medium" = "Medio: %@"; +"attachment_large" = "Grande: %@"; +"attachment_cancel_download" = "Interrompi scaricamento?"; +"attachment_cancel_upload" = "Interrompi caricamento?"; +"attachment_multiselection_size_prompt" = "Vuoi inviare le immagini come:"; +"attachment_multiselection_original" = "Originali"; +"attachment_e2e_keys_file_prompt" = "Questo file contiene le chiavi crittografiche esportate da un client Matrix.\nVuoi visualizzarlo o importare le chiavi che contiene?"; +"attachment_e2e_keys_import" = "Importa..."; +// Contacts +"contact_mx_users" = "Utenti Matrix"; +"contact_local_contacts" = "Contatti locali"; +// Groups +"group_invite_section" = "Inviti"; +"group_section" = "Gruppi"; +// Search +"search_no_results" = "Nessun risultato"; +"search_searching" = "Ricerca in corso..."; +// Time +"format_time_s" = "s"; +"format_time_m" = "m"; +"format_time_h" = "h"; +"format_time_d" = "d"; +// E2E import +"e2e_import_room_keys" = "Importa le chiavi del canale"; +"e2e_import_prompt" = "Questo processo ti consente di importare le chiavi di crittografia che hai precedentemente esportato da un altro client Matrix. Sarai quindi in grado di decriptare gli stessi messaggi leggibili dall'altro client."; +"e2e_import" = "Importa"; +"e2e_passphrase_enter" = "Inserisci password"; +// E2E export +"e2e_export_room_keys" = "Esporta chiavi del canale"; +"e2e_export_prompt" = "Questo processo consente di esportare in un file locale le chiavi per leggere i messaggi ricevuti in canali criptati. Sarai quindi in grado di importare il file in un altro client Matrix, in modo da rendergli possibile decriptare quei messaggi in futuro.\nIl file esportato consentirà a chiunque di decriptare tutti i messaggi che puoi leggere, quindi dovresti tenerlo al sicuro."; +"e2e_export" = "Esporta"; +"e2e_passphrase_confirm" = "Conferma password di accesso"; +"e2e_passphrase_empty" = "La password di accesso non può essere vuota"; +"e2e_passphrase_not_match" = "Le password di accesso devono corrispondere"; +"e2e_passphrase_create" = "Crea password di accesso"; +// Others +"user_id_title" = "ID utente:"; +"offline" = "non in linea"; +"unsent" = "Non inviato"; +"error" = "Errore"; +"error_common_message" = "Si è verificato un errore. Riprova più tardi."; +"not_supported_yet" = "Non ancora supportato"; +"default" = "predefinito"; +"private" = "Privato"; +"public" = "Pubblico"; +"power_level" = "Livello di accesso"; +"network_error_not_reachable" = "Verifica di essere connesso alla rete"; +"user_id_placeholder" = "es.: @gianni@homeserver"; +"ssl_homeserver_url" = "URL homeserver: %@"; +// Permissions +"camera_access_not_granted_for_call" = "Le video chiamate necessitano di accesso alla videocamera ma %@ non ha il permesso di usarla"; +"microphone_access_not_granted_for_call" = "Le telefonate necessitano l'accesso al microfono, ma %@ non ha il permesso di usarlo"; +"local_contacts_access_not_granted" = "La ricerca degli utenti fra i contatti locali necessita l'accesso alla rubrica, ma %@ non ha il permesso di usarla"; +"local_contacts_access_discovery_warning_title" = "Ricerca utenti"; +"local_contacts_access_discovery_warning" = "Per scoprire chi fra i tuoi contatti sta già usando Matrix, %@ può inviare gli indirizzi email e i numeri telefonici della tua rubrica al tuo server d'identità Matrix. Se possibile, i dati personali vengono codificati prima di essere inviati - controlla la politica di riservatezza del tuo server d'identità per maggiori dettagli."; +// Country picker +"country_picker_title" = "Scegli un paese"; +// Language picker +"language_picker_title" = "Scegli una lingua"; +"language_picker_default_language" = "Predefinito (%@)"; +"notice_room_invite" = "%@ invitato %@"; +"notice_room_third_party_invite" = "%@ ha invitato %@ a unirsi al canale"; +"notice_room_third_party_registered_invite" = "%@ ha accettato l'invito per %@"; +"notice_room_third_party_revoked_invite" = "%@ ha ritirato l'invito per %@ a unirsi al canale"; +"notice_room_join" = "%@ si è unito al canale"; +"notice_room_leave" = "%@ ha lasciato il canale"; +"notice_room_reject" = "%@ ha rifiutato l'invito"; +"notice_room_kick" = "%@ ha espulso %@"; +"notice_room_unban" = "%@ ha revocato il divieto di accesso a %@"; +"notice_room_ban" = "%@ ha vietato l'accesso a %@"; +"notice_room_withdraw" = "%@ ha ritirato l'invito di %@"; +"notice_room_reason" = ". Motivo: %@"; +"notice_avatar_url_changed" = "%@ ha modificato la sua immagine"; +"notice_display_name_set" = "%@ ha impostato il suo nome in %@"; +"notice_display_name_changed_from" = "%@ ha cambiato il suo nome da %@ a %@"; +"notice_display_name_removed" = "%@ ha rimosso il suo nome"; +"notice_topic_changed" = "%@ ha cambiato l'argomento in: %@"; +"notice_room_name_changed" = "%@ ha cambiato il nome del canale in: %@"; +"notice_placed_voice_call" = "%@ ha effettuato una telefonata"; +"notice_placed_video_call" = "%@ ha effettuato una videochiamata"; +"notice_answered_video_call" = "%@ ha risposto alla chiamata"; +"notice_ended_video_call" = "%@ ha terminato la chiamata"; +"notice_conference_call_request" = "%@ ha richiesto una conferenza VoIP"; +"notice_conference_call_started" = "Conferenza VoIP iniziata"; +"notice_conference_call_finished" = "Conferenza VoIP terminata"; +// button names +"ok" = "OK"; +"cancel" = "Annulla"; +"save" = "Salva"; +"leave" = "Esci"; +"send" = "Invia"; +"copy" = "Copia"; +"resend" = "Invia di nuovo"; +"redact" = "Cancella"; +"share" = "Condividi"; +"delete" = "Elimina"; +"view" = "Visualizza"; +// actions +"action_logout" = "Esci"; +"create_room" = "Crea un canale"; +"login" = "Entra"; +"create_account" = "Crea utente"; +"membership_invite" = "Invitati"; +"membership_leave" = "Uscito"; +"membership_ban" = "Espulso"; +"num_members_one" = "%@ utente"; +"num_members_other" = "%@ utenti"; +"invite" = "Invita"; +"kick" = "Espelli"; +"ban" = "Vieta accesso"; +"unban" = "Consenti accesso"; +"message_unsaved_changes" = "Ci sono modifiche non salvate. Uscendo saranno perse."; +// Login Screen +"login_error_already_logged_in" = "Accesso già effettuato"; +"login_error_must_start_http" = "l'URL deve iniziare con http[s]://"; +// room details dialog screen +"room_details_title" = "Dettagli canale"; +// Settings screen +"settings_title_config" = "Configurazione"; +"settings_title_notifications" = "Notifiche"; +// Notification settings screen +"notification_settings_disable_all" = "Disabilita tutte le notifiche"; +"notification_settings_enable_notifications" = "Abilita le notifiche"; +"notification_settings_enable_notifications_warning" = "Le notifiche sono al momento disabilitate per tutti i dispositivi."; +"notification_settings_global_info" = "Le impostazioni di notifica sono salvate nel tuo account e condivise fra i client che le supportano (incluse le notifiche del desktop)\n\nLe regole si applicano in ordine; la prima regola che corrisponde definisce l'esito del messaggio.\nQuindi: Le notifiche per-parola hanno la precedenza sulle notifiche per-canale, che precedono quelle per-mittente.\nSe esistono diverse regole dello stesso tipo, viene applicata la prima della lista."; +"notification_settings_per_word_notifications" = "Notifiche per-parola"; +"notification_settings_per_word_info" = "Le parole sono confrontate senza tenere conto dei caratteri maiuscoli/minuscoli, e possono includere asterischi. Quindi:\nblah corrisponde alla stringa blah con qualsiasi delimitatore di parola (es. segni di punteggiatura e spazi o segni di accapo).\nblah* corrisponde a qualsiasi parola inizi con blah.\n*blah* corrisponde a qualsiasi parola contenga le 4 lettere blah."; +"notification_settings_always_notify" = "Notifica sempre"; +"notification_settings_never_notify" = "Non notificare mai"; +"notification_settings_word_to_match" = "parola da cercare"; +"notification_settings_highlight" = "Evidenziare"; +"notification_settings_custom_sound" = "Suono personalizzato"; +"notification_settings_per_room_notifications" = "Notifiche per-canale"; +"notification_settings_per_sender_notifications" = "Notifiche per-mittente"; +"notification_settings_sender_hint" = "@utente:dominio.it"; +"notification_settings_select_room" = "Seleziona un canale"; +"notification_settings_other_alerts" = "Altri avvisi"; +"notification_settings_contain_my_user_name" = "Notifica con un suono i messaggi che contengono il mio nome utente"; +"notification_settings_contain_my_display_name" = "Notifica con un suono i messaggi che contengono il mio nome completo"; +"notification_settings_just_sent_to_me" = "Notifica con un suono i messaggi inviati solo a me"; +"notification_settings_invite_to_a_new_room" = "Notifica quando sono invitato in un nuovo canale"; +"notification_settings_people_join_leave_rooms" = "Notifica quando gli utenti entrano o escono dai canali"; +"notification_settings_receive_a_call" = "Notifica quando ricevo una chiamata"; +"notification_settings_suppress_from_bots" = "Sopprimi le notifiche dai bot"; +"notification_settings_by_default" = "Come predefinito..."; +"notification_settings_notify_all_other" = "Notifica tutti gli altri messaggi/canali"; +// gcm section +"settings_config_home_server" = "Homeserver: %@"; +"settings_config_identity_server" = "Server d'identità: %@"; +"settings_config_user_id" = "ID utente: %@"; +// call string +"call_waiting" = "Attendere..."; +"call_connecting" = "In connessione..."; +"call_ended" = "Chiamata terminata"; +"call_ring" = "Chiamata in corso..."; +"incoming_video_call" = "Video chiamata in arrivo"; +"incoming_voice_call" = "Telefonata in arrivo"; +"call_invite_expired" = "Tempo di chiamata scaduto"; +// unrecognized SSL certificate +"ssl_trust" = "Fidati"; +"ssl_logout_account" = "Esci"; +"ssl_remain_offline" = "Ignora"; +"ssl_fingerprint_hash" = "Impronta (%@):"; +"ssl_could_not_verify" = "Impossibile verificare l'identità del server remoto."; +"ssl_cert_not_trust" = "Potrebbe voler dire che qualcuno sta intercettando il tuo traffico, o che il tuo telefono non si fida del certificato offerto dal server remoto."; +"ssl_cert_new_account_expl" = "Se l'amministratore del server ti ha detto che questo sarebbe successo, accertati che l'impronta qui sotto corrisponda a quella che lui ti ha fornito."; +"ssl_unexpected_existing_expl" = "Il certificato è diverso da quello di cui il tuo telefono si fidava. Questo è un COMPORTAMENTO ANOMALO. Si consiglia di NON ACCETTARE questo nuovo certificato."; +"ssl_expected_existing_expl" = "Il certificato è cambiato da uno precedentemente accettato a uno che non è fidato. Il server potrebbe averlo rinnovato. Contatta l'amministratore del server per verificarne l'impronta."; +"ssl_only_accept" = "Accetta il certificato SOLAMENTE se l'amministratore del server ha pubblicato un'impronta che corrisponde a quella qui sopra."; diff --git a/MatrixKit/Assets/MatrixKitAssets.bundle/ko.lproj/MatrixKit.strings b/MatrixKit/Assets/MatrixKitAssets.bundle/ko.lproj/MatrixKit.strings index f387dad91..841fd0c9d 100644 --- a/MatrixKit/Assets/MatrixKitAssets.bundle/ko.lproj/MatrixKit.strings +++ b/MatrixKit/Assets/MatrixKitAssets.bundle/ko.lproj/MatrixKit.strings @@ -152,7 +152,7 @@ "notice_room_history_visible_to_members" = "%@님이 이후 방 기록을 모든 방 구성원이 볼 수 있게 했습니다."; "notice_room_history_visible_to_members_from_invited_point" = "%@님이 이후 방 기록을 초대된 시점부터 모든 방 구성원이 볼 수 있게 했습니다."; "notice_room_history_visible_to_members_from_joined_point" = "%@님이 이후 방 기록을 참가한 시점부터 모든 방 구성원이 볼 수 있게 했습니다."; -"notice_crypto_unable_to_decrypt" = "** 암호 해독할 수 없음: %@ **"; +"notice_crypto_unable_to_decrypt" = "** 암호를 복호화할 수 없음: %@ **"; "notice_crypto_error_unknown_inbound_session_id" = "발신자의 기기에서 이 메시지의 키를 보내지 않았습니다."; "notice_in_reply_to" = "관련 대화"; "room_displayname_more_than_two_members" = "%@님 외 %@명"; @@ -165,7 +165,7 @@ "room_event_encryption_info_event_identity_key" = "Curve25519 ID 키\n"; "room_event_encryption_info_event_fingerprint_key" = "Ed25519 핑거프린트 키가 필요함\n"; "room_event_encryption_info_event_session_id" = "세션 ID\n"; -"room_event_encryption_info_event_decryption_error" = "암호 해독 오류\n"; +"room_event_encryption_info_event_decryption_error" = "암호 복호화 오류\n"; "room_event_encryption_info_event_none" = "없음"; "room_event_encryption_info_device_blocked" = "블랙리스트 대상"; "room_event_encryption_info_verify" = "확인 중..."; @@ -248,12 +248,12 @@ "format_time_d" = "일"; // E2E import "e2e_import_room_keys" = "방 키 가져오기"; -"e2e_import_prompt" = "이 과정으로 다른 Matrix 클라이언트에서 이전에 내보낸 암호화 키를 가져올 수 있습니다. 이 키로 다른 클라이언트에서 해독할 수 있는 모든 메시지를 해독할 수 있게 됩니다.\n내보낸 파일은 암호로 보호됩니다. 파일을 해독하려면 여기에 암호를 입력해야 합니다."; +"e2e_import_prompt" = "이 과정으로 다른 Matrix 클라이언트에서 이전에 내보낸 암호화 키를 가져올 수 있습니다. 이 키로 다른 클라이언트에서 복호화할 수 있는 모든 메시지를 복호화할 수 있게 됩니다.\n내보낸 파일은 암호로 보호됩니다. 파일을 복호화하려면 여기에 암호를 입력해야 합니다."; "e2e_import" = "가져오기"; "e2e_passphrase_enter" = "암호 입력"; // E2E export "e2e_export_room_keys" = "방 키 내보내기"; -"e2e_export_prompt" = "이 과정으로 암호화된 방에서 받은 메시지의 키를 로컬 파일로 내보낼 수 있습니다. 그런 다음 이후 다른 Matrix 클라이언트에 파일을 가져올 수 있습니다, 이 키로 메시지를 해독할 수 있게 됩니다.\n파일을 읽을 수 있는 모든 사용자는 내보낸 파일로 볼 수 있는 암호화된 메시지를 해독할 수 있으므로, 안전하게 보관해야 합니다."; +"e2e_export_prompt" = "이 과정으로 암호화된 방에서 받은 메시지의 키를 로컬 파일로 내보낼 수 있습니다. 그런 다음 이후 다른 Matrix 클라이언트에 파일을 가져올 수 있습니다, 이 키로 메시지를 복호화할 수 있게 됩니다.\n파일을 읽을 수 있는 모든 사용자는 내보낸 파일로 볼 수 있는 암호화된 메시지를 복호화할 수 있으므로, 안전하게 보관해야 합니다."; "e2e_export" = "내보내기"; "e2e_passphrase_confirm" = "암호 확인"; "e2e_passphrase_empty" = "암호를 입력해주세요"; diff --git a/MatrixKit/Categories/UITextView+MatrixKit.h b/MatrixKit/Categories/UITextView+MatrixKit.h new file mode 100644 index 000000000..775aa9f8b --- /dev/null +++ b/MatrixKit/Categories/UITextView+MatrixKit.h @@ -0,0 +1,33 @@ +/* + Copyright 2019 New Vector Ltd + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + */ + +@import UIKit; + +NS_ASSUME_NONNULL_BEGIN + +@interface UITextView(MatrixKit) + +/** + Determine if there is a link near a location point in UITextView bounds. + + @param point The point inside the UITextView bounds + @return YES to indicate that a link has been detected near the location point. + */ +- (BOOL)isThereALinkNearPoint:(CGPoint)point; + +@end + +NS_ASSUME_NONNULL_END diff --git a/MatrixKit/Categories/UITextView+MatrixKit.m b/MatrixKit/Categories/UITextView+MatrixKit.m new file mode 100644 index 000000000..b22817f60 --- /dev/null +++ b/MatrixKit/Categories/UITextView+MatrixKit.m @@ -0,0 +1,54 @@ +/* + Copyright 2019 New Vector Ltd + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + */ + +#import "UITextView+MatrixKit.h" + +@implementation UITextView(MatrixKit) + +- (BOOL)isThereALinkNearPoint:(CGPoint)point +{ + if (!CGRectContainsPoint(self.bounds, point)) + { + return NO; + } + + UITextPosition *textPosition = [self closestPositionToPoint:point]; + + if (!textPosition) + { + return NO; + } + + UITextRange *textRange = [self.tokenizer rangeEnclosingPosition:textPosition + withGranularity:UITextGranularityCharacter + inDirection:UITextLayoutDirectionLeft]; + + if (!textRange) + { + return NO; + } + + NSInteger startIndex = [self offsetFromPosition:self.beginningOfDocument toPosition:textRange.start]; + + if (startIndex < 0) + { + return NO; + } + + return [self.attributedText attribute:NSLinkAttributeName atIndex:startIndex effectiveRange:NULL] != nil; +} + +@end diff --git a/MatrixKit/Controllers/MXKAccountDetailsViewController.m b/MatrixKit/Controllers/MXKAccountDetailsViewController.m index ec87513cc..9b666a880 100644 --- a/MatrixKit/Controllers/MXKAccountDetailsViewController.m +++ b/MatrixKit/Controllers/MXKAccountDetailsViewController.m @@ -18,10 +18,9 @@ #import "MXKAccountDetailsViewController.h" -#import "MXMediaLoader.h" +@import MatrixSDK; #import "MXK3PID.h" -#import "MXMediaManager.h" #import "MXKTools.h" #import "MXKTableViewCellWithButton.h" diff --git a/MatrixKit/Controllers/MXKAttachmentsViewController.m b/MatrixKit/Controllers/MXKAttachmentsViewController.m index 24bb3290a..76b20c37b 100644 --- a/MatrixKit/Controllers/MXKAttachmentsViewController.m +++ b/MatrixKit/Controllers/MXKAttachmentsViewController.m @@ -18,9 +18,9 @@ #import "MXKAttachmentsViewController.h" -#import "MXKMediaCollectionViewCell.h" +@import MatrixSDK.MXMediaManager; -#import "MXMediaManager.h" +#import "MXKMediaCollectionViewCell.h" #import "MXKPieChartView.h" diff --git a/MatrixKit/Controllers/MXKCallViewController.m b/MatrixKit/Controllers/MXKCallViewController.m index 9d27bb92f..e92840955 100644 --- a/MatrixKit/Controllers/MXKCallViewController.m +++ b/MatrixKit/Controllers/MXKCallViewController.m @@ -17,8 +17,9 @@ #import "MXKCallViewController.h" +@import MatrixSDK.MXMediaManager; + #import "MXKAppSettings.h" -#import "MXMediaManager.h" #import "MXKSoundPlayer.h" #import "MXKTools.h" #import "NSBundle+MatrixKit.h" diff --git a/MatrixKit/Controllers/MXKCountryPickerViewController.m b/MatrixKit/Controllers/MXKCountryPickerViewController.m index 5b0f9521e..d0ef2da9e 100644 --- a/MatrixKit/Controllers/MXKCountryPickerViewController.m +++ b/MatrixKit/Controllers/MXKCountryPickerViewController.m @@ -16,9 +16,10 @@ #import "MXKCountryPickerViewController.h" +@import libPhoneNumber_iOS; + #import "NSBundle+MatrixKit.h" -#import "NBPhoneNumberUtil.h" NSString* const kMXKCountryPickerViewControllerCountryCellId = @"kMXKCountryPickerViewControllerCountryCellId"; diff --git a/MatrixKit/Controllers/MXKLanguagePickerViewController.m b/MatrixKit/Controllers/MXKLanguagePickerViewController.m index 554d043d3..6a6c55688 100644 --- a/MatrixKit/Controllers/MXKLanguagePickerViewController.m +++ b/MatrixKit/Controllers/MXKLanguagePickerViewController.m @@ -16,9 +16,9 @@ #import "MXKLanguagePickerViewController.h" -#import "NSBundle+MatrixKit.h" +@import libPhoneNumber_iOS; -#import "NBPhoneNumberUtil.h" +#import "NSBundle+MatrixKit.h" NSString* const kMXKLanguagePickerViewControllerCellId = @"kMXKLanguagePickerViewControllerCellId"; diff --git a/MatrixKit/Controllers/MXKRoomMemberDetailsViewController.m b/MatrixKit/Controllers/MXKRoomMemberDetailsViewController.m index db6eda7c4..2d8e138d6 100644 --- a/MatrixKit/Controllers/MXKRoomMemberDetailsViewController.m +++ b/MatrixKit/Controllers/MXKRoomMemberDetailsViewController.m @@ -18,9 +18,9 @@ #import "MXKRoomMemberDetailsViewController.h" -#import "MXKTableViewCellWithButtons.h" +@import MatrixSDK.MXMediaManager; -#import "MXMediaManager.h" +#import "MXKTableViewCellWithButtons.h" #import "NSBundle+MatrixKit.h" diff --git a/MatrixKit/Models/Contact/MXKContactField.m b/MatrixKit/Models/Contact/MXKContactField.m index a11bb7816..b1850878e 100644 --- a/MatrixKit/Models/Contact/MXKContactField.m +++ b/MatrixKit/Models/Contact/MXKContactField.m @@ -18,7 +18,8 @@ #import "MXKContactField.h" -#import "MXMediaManager.h" +@import MatrixSDK.MXMediaManager; + #import "MXKContactManager.h" @interface MXKContactField() diff --git a/MatrixKit/Models/Contact/MXKPhoneNumber.m b/MatrixKit/Models/Contact/MXKPhoneNumber.m index c3b73b06c..5e4779926 100644 --- a/MatrixKit/Models/Contact/MXKPhoneNumber.m +++ b/MatrixKit/Models/Contact/MXKPhoneNumber.m @@ -17,7 +17,7 @@ #import "MXKPhoneNumber.h" -#import "NBPhoneNumberUtil.h" +@import libPhoneNumber_iOS; @implementation MXKPhoneNumber diff --git a/MatrixKit/Models/MXK3PID.m b/MatrixKit/Models/MXK3PID.m index 943f9a49d..7368a3162 100644 --- a/MatrixKit/Models/MXK3PID.m +++ b/MatrixKit/Models/MXK3PID.m @@ -17,7 +17,7 @@ #import "MXK3PID.h" -#import "NBPhoneNumberUtil.h" +@import libPhoneNumber_iOS; @interface MXK3PID () { diff --git a/MatrixKit/Models/Room/MXKAttachment.m b/MatrixKit/Models/Room/MXKAttachment.m index e17f369b7..f6946dd70 100644 --- a/MatrixKit/Models/Room/MXKAttachment.m +++ b/MatrixKit/Models/Room/MXKAttachment.m @@ -17,11 +17,10 @@ #import "MXKAttachment.h" -#import "MXMediaManager.h" -#import "MXKTools.h" -#import "MXEncryptedAttachments.h" +@import MatrixSDK; +@import MobileCoreServices; -#import +#import "MXKTools.h" // The size of thumbnail we request from the server // Note that this is smaller than the ones we upload: when sending, one size diff --git a/MatrixKit/Models/Room/MXKRoomBubbleCellData.m b/MatrixKit/Models/Room/MXKRoomBubbleCellData.m index 56f062d54..747aadcd5 100644 --- a/MatrixKit/Models/Room/MXKRoomBubbleCellData.m +++ b/MatrixKit/Models/Room/MXKRoomBubbleCellData.m @@ -20,11 +20,11 @@ #define MXKROOMBUBBLECELLDATA_DEFAULT_MAX_TEXTVIEW_WIDTH 200 +@import MatrixSDK; + #import "MXKRoomBubbleCellData.h" #import "MXKTools.h" -#import "MXMediaManager.h" -#import "MXEventScan.h" @implementation MXKRoomBubbleCellData @synthesize senderId, roomId, senderDisplayName, senderAvatarUrl, senderAvatarPlaceholder, isEncryptedRoom, isPaginationFirstBubble, shouldHideSenderInformation, date, isIncoming, isAttachmentWithThumbnail, isAttachmentWithIcon, attachment, senderFlair; diff --git a/MatrixKit/Models/Room/MXKRoomDataSource.m b/MatrixKit/Models/Room/MXKRoomDataSource.m index 7ec08fe75..0324434ee 100644 --- a/MatrixKit/Models/Room/MXKRoomDataSource.m +++ b/MatrixKit/Models/Room/MXKRoomDataSource.m @@ -19,6 +19,8 @@ #import "MXKRoomDataSource.h" +@import MatrixSDK; + #import "MXKQueuedEvent.h" #import "MXKRoomBubbleTableViewCell.h" @@ -29,14 +31,9 @@ #import "MXKAppSettings.h" -#import "MXEncryptedAttachments.h" - #import "MXKSendReplyEventStringLocalizations.h" #import "MXKSlashCommands.h" -#import "MXEventScan.h" - -#import "MXEventReplace.h" #pragma mark - Constant definitions diff --git a/MatrixKit/Models/RoomList/MXKRecentsDataSource.m b/MatrixKit/Models/RoomList/MXKRecentsDataSource.m index 669402183..d1cb4f98e 100644 --- a/MatrixKit/Models/RoomList/MXKRecentsDataSource.m +++ b/MatrixKit/Models/RoomList/MXKRecentsDataSource.m @@ -18,12 +18,12 @@ #import "MXKRecentsDataSource.h" +@import MatrixSDK.MXMediaManager; + #import "NSBundle+MatrixKit.h" #import "MXKConstants.h" -#import "MXMediaManager.h" - @interface MXKRecentsDataSource () { /** diff --git a/MatrixKit/Models/RoomMemberList/MXKRoomMemberListDataSource.m b/MatrixKit/Models/RoomMemberList/MXKRoomMemberListDataSource.m index b053a725b..ac0722212 100644 --- a/MatrixKit/Models/RoomMemberList/MXKRoomMemberListDataSource.m +++ b/MatrixKit/Models/RoomMemberList/MXKRoomMemberListDataSource.m @@ -16,9 +16,10 @@ #import "MXKRoomMemberListDataSource.h" +@import MatrixSDK.MXCallManager; + #import "MXKRoomMemberCellData.h" -#import "MXCallManager.h" #pragma mark - Constant definitions NSString *const kMXKRoomMemberCellIdentifier = @"kMXKRoomMemberCellIdentifier"; diff --git a/MatrixKit/Utils/EventFormatter/MXKEventFormatter.m b/MatrixKit/Utils/EventFormatter/MXKEventFormatter.m index b0110e43c..50b6a9982 100644 --- a/MatrixKit/Utils/EventFormatter/MXKEventFormatter.m +++ b/MatrixKit/Utils/EventFormatter/MXKEventFormatter.m @@ -18,19 +18,17 @@ #import "MXKEventFormatter.h" +@import MatrixSDK; +@import DTCoreText; +@import cmark; + #import "MXEvent+MatrixKit.h" #import "NSBundle+MatrixKit.h" -#import "MXRoomSummaryUpdater.h" -#import "MXKRoomNameStringLocalizations.h" - #import "MXKTools.h" #import "MXRoom+Sync.h" -#import "DTCoreText.h" -#import "cmark.h" - -#import "MXDecryptionResult.h" +#import "MXKRoomNameStringLocalizations.h" static NSString *const kHTMLATagRegexPattern = @"([^<]*)"; diff --git a/MatrixKit/Utils/MXKConstants.m b/MatrixKit/Utils/MXKConstants.m index 676e394a6..e806d707f 100644 --- a/MatrixKit/Utils/MXKConstants.m +++ b/MatrixKit/Utils/MXKConstants.m @@ -18,7 +18,7 @@ #import "MXKConstants.h" -NSString *const MatrixKitVersion = @"0.11.2"; +NSString *const MatrixKitVersion = @"0.11.3"; NSString *const kMXKErrorNotification = @"kMXKErrorNotification"; diff --git a/MatrixKit/Utils/MXKTools.m b/MatrixKit/Utils/MXKTools.m index 0eff1d948..f490c2030 100644 --- a/MatrixKit/Utils/MXKTools.m +++ b/MatrixKit/Utils/MXKTools.m @@ -17,16 +17,13 @@ #import "MXKTools.h" -#import +@import MatrixSDK; +@import AddressBook; +@import libPhoneNumber_iOS; +@import DTCoreText; #import "NSBundle+MatrixKit.h" -#import "NBPhoneNumberUtil.h" - -#import "MXCall.h" - -#import "DTCoreText.h" - #pragma mark - Constants definitions // Temporary background color used to identify blockquote blocks with DTCoreText. diff --git a/MatrixKit/Views/Account/MXKAccountTableViewCell.m b/MatrixKit/Views/Account/MXKAccountTableViewCell.m index 1d718c503..c47f5e4e5 100644 --- a/MatrixKit/Views/Account/MXKAccountTableViewCell.m +++ b/MatrixKit/Views/Account/MXKAccountTableViewCell.m @@ -18,7 +18,7 @@ #import "MXKAccountTableViewCell.h" -#import "MXMediaManager.h" +@import MatrixSDK.MXMediaManager; #import "NSBundle+MatrixKit.h" diff --git a/MatrixKit/Views/Contact/MXKContactTableCell.m b/MatrixKit/Views/Contact/MXKContactTableCell.m index 734250ccd..471c8f5af 100644 --- a/MatrixKit/Views/Contact/MXKContactTableCell.m +++ b/MatrixKit/Views/Contact/MXKContactTableCell.m @@ -17,9 +17,10 @@ #import "MXKContactTableCell.h" +@import MatrixSDK.MXTools; + #import "MXKContactManager.h" #import "MXKAppSettings.h" -#import "MXTools.h" #import "NSBundle+MatrixKit.h" diff --git a/MatrixKit/Views/MXKMessageTextView.h b/MatrixKit/Views/MXKMessageTextView.h index 5987fb562..12adffc9f 100644 --- a/MatrixKit/Views/MXKMessageTextView.h +++ b/MatrixKit/Views/MXKMessageTextView.h @@ -23,6 +23,9 @@ NS_ASSUME_NONNULL_BEGIN */ @interface MXKMessageTextView : UITextView +// The last hit test location received by the view. +@property (nonatomic, readonly) CGPoint lastHitTestLocation; + @end NS_ASSUME_NONNULL_END diff --git a/MatrixKit/Views/MXKMessageTextView.m b/MatrixKit/Views/MXKMessageTextView.m index e7d20ee59..d68ff2cba 100644 --- a/MatrixKit/Views/MXKMessageTextView.m +++ b/MatrixKit/Views/MXKMessageTextView.m @@ -15,6 +15,14 @@ */ #import "MXKMessageTextView.h" +#import "UITextView+MatrixKit.h" + +@interface MXKMessageTextView() + +@property (nonatomic, readwrite) CGPoint lastHitTestLocation; + +@end + @implementation MXKMessageTextView @@ -28,6 +36,12 @@ - (BOOL)canPerformAction:(SEL)action withSender:(id)sender return NO; } +- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event +{ + self.lastHitTestLocation = point; + return [super hitTest:point withEvent:event]; +} + // Indicate to receive a touch event only if a link is hitted. // Otherwise it means that the touch event will pass through and could be received by a view below. - (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event @@ -37,30 +51,7 @@ - (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event return NO; } - UITextPosition *textPosition = [self closestPositionToPoint:point]; - - if (!textPosition) - { - return NO; - } - - UITextRange *textRange = [self.tokenizer rangeEnclosingPosition:textPosition - withGranularity:UITextGranularityCharacter - inDirection:UITextLayoutDirectionLeft]; - - if (!textRange) - { - return NO; - } - - NSInteger startIndex = [self offsetFromPosition:self.beginningOfDocument toPosition:textRange.start]; - - if (startIndex < 0) - { - return NO; - } - - return [self.attributedText attribute:NSLinkAttributeName atIndex:startIndex effectiveRange:NULL] != nil; + return [self isThereALinkNearPoint:point]; } @end diff --git a/MatrixKit/Views/RoomBubbleList/MXKRoomBubbleTableViewCell.m b/MatrixKit/Views/RoomBubbleList/MXKRoomBubbleTableViewCell.m index e1d25c776..9b96977b6 100644 --- a/MatrixKit/Views/RoomBubbleList/MXKRoomBubbleTableViewCell.m +++ b/MatrixKit/Views/RoomBubbleList/MXKRoomBubbleTableViewCell.m @@ -28,6 +28,7 @@ #import "NSBundle+MatrixKit.h" #import "MXRoom+Sync.h" #import "MXKMessageTextView.h" +#import "UITextView+MatrixKit.h" #pragma mark - Constant definitions NSString *const kMXKRoomBubbleCellTapOnMessageTextView = @"kMXKRoomBubbleCellTapOnMessageTextView"; @@ -1063,17 +1064,22 @@ - (void)didEndDisplay [self resetConstraintsConstantToDefault]; } -- (BOOL)shouldInteractWithURL:(NSURL *)URL urlItemInteraction:(UITextItemInteraction)urlItemInteraction +- (BOOL)shouldInteractWithURL:(NSURL *)URL urlItemInteraction:(UITextItemInteraction)urlItemInteraction associatedEvent:(MXEvent*)associatedEvent API_AVAILABLE(ios(10.0)) { - return [self shouldInteractWithURL:URL urlItemInteractionValue:@(urlItemInteraction)]; + return [self shouldInteractWithURL:URL urlItemInteractionValue:@(urlItemInteraction) associatedEvent:associatedEvent]; } -- (BOOL)shouldInteractWithURL:(NSURL *)URL urlItemInteractionValue:(NSNumber*)urlItemInteractionValue -{ - NSDictionary *userInfo = @{ +- (BOOL)shouldInteractWithURL:(NSURL *)URL urlItemInteractionValue:(NSNumber*)urlItemInteractionValue associatedEvent:(MXEvent*)associatedEvent +{ + NSMutableDictionary *userInfo = [@{ kMXKRoomBubbleCellUrl:URL, kMXKRoomBubbleCellUrlItemInteraction:urlItemInteractionValue - }; + } mutableCopy]; + + if (associatedEvent) + { + userInfo[kMXKRoomBubbleCellEventKey] = associatedEvent; + } return [delegate cell:self shouldDoAction:kMXKRoomBubbleCellShouldInteractWithURL userInfo:userInfo defaultValue:YES]; } @@ -1323,25 +1329,25 @@ - (IBAction)onMessageTap:(UITapGestureRecognizer*)sender } } + MXKRoomBubbleComponent *tappedComponent = [self closestBubbleComponentForGestureRecognizer:sender locationInView:sender.view]; + MXEvent *tappedEvent = tappedComponent.event; + // If a link has been touched warn delegate immediately. if (tappedUrl) { // Send default URL interaction `UITextItemInteractionInvokeDefaultAction` for a quick tap as received by UITextViewDelegate method `- (BOOL)textView:shouldInteractWithURL:inRange:interaction:` for a tap. if (@available(iOS 10.0, *)) { - [self shouldInteractWithURL:tappedUrl urlItemInteraction:UITextItemInteractionInvokeDefaultAction]; + [self shouldInteractWithURL:tappedUrl urlItemInteraction:UITextItemInteractionInvokeDefaultAction associatedEvent:tappedEvent]; } else { // Use UITextItemInteractionInvokeDefaultAction raw value for iOS 9 - [self shouldInteractWithURL:tappedUrl urlItemInteractionValue:@(0)]; + [self shouldInteractWithURL:tappedUrl urlItemInteractionValue:@(0) associatedEvent:tappedEvent]; } } else { - MXKRoomBubbleComponent *tappedComponent = [self closestBubbleComponentForGestureRecognizer:sender locationInView:sender.view]; - MXEvent *tappedEvent = tappedComponent.event; - [delegate cell:self didRecognizeAction:kMXKRoomBubbleCellTapOnMessageTextView userInfo:(tappedEvent ? @{kMXKRoomBubbleCellEventKey:tappedEvent} : nil)]; } } @@ -1471,22 +1477,23 @@ - (IBAction)onLongPressGesture:(UILongPressGestureRecognizer*)longPressGestureRe #pragma mark - UITextView delegate -// On iOS 10 to iOS 13.0: Hyperlink quick tap in `messageTextView` are intercepted by `-(void)onMessageTap:` method. Otherwise longer tap, long press and force touch on a link are still catched here. -// On iOS 13.1+: The inner tap gesture of `messageTextView` is called before the tap gesture manually added by `MXKRoomBubbleTableViewCell`. Hyperlink quick tap and long press are intercepted here. - (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRange:(NSRange)characterRange interaction:(UITextItemInteraction)interaction API_AVAILABLE(ios(10.0)) { - // Do not interact with hyperlink on quick tap (default action). Let `-(void)onMessageTap:` method handle hyperlink quick tap. - if (interaction == UITextItemInteractionInvokeDefaultAction) - { - return NO; - } - BOOL shouldInteractWithURL = YES; if (delegate && URL) { + MXEvent *associatedEvent; + + if ([textView isMemberOfClass:[MXKMessageTextView class]]) + { + MXKMessageTextView *mxkMessageTextView = (MXKMessageTextView *)textView; + MXKRoomBubbleComponent *bubbleComponent = [self closestBubbleComponentAtPosition:mxkMessageTextView.lastHitTestLocation]; + associatedEvent = bubbleComponent.event; + } + // Ask the delegate if iOS can open the link - shouldInteractWithURL = [self shouldInteractWithURL:URL urlItemInteraction:interaction]; + shouldInteractWithURL = [self shouldInteractWithURL:URL urlItemInteraction:interaction associatedEvent:associatedEvent]; } return shouldInteractWithURL; @@ -1499,8 +1506,17 @@ - (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRan if (delegate && URL) { + MXEvent *associatedEvent; + + if ([textView isMemberOfClass:[MXKMessageTextView class]]) + { + MXKMessageTextView *mxkMessageTextView = (MXKMessageTextView *)textView; + MXKRoomBubbleComponent *bubbleComponent = [self closestBubbleComponentAtPosition:mxkMessageTextView.lastHitTestLocation]; + associatedEvent = bubbleComponent.event; + } + // Ask the delegate if iOS can open the link - shouldInteractWithURL = [self shouldInteractWithURL:URL urlItemInteractionValue:@(0)]; + shouldInteractWithURL = [self shouldInteractWithURL:URL urlItemInteractionValue:@(0) associatedEvent:associatedEvent]; } return shouldInteractWithURL; @@ -1520,24 +1536,13 @@ - (void)webViewDidFinishLoad:(UIWebView *)webView #pragma mark - UIGestureRecognizerDelegate -- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer -{ - // Recognize simultaneously the `messageTextView` UITextView built-in UILongPressGestureRecognizer with other UILongPressGestureRecognizer - // to allows long touch on hyperlinks in UITextView and trigger `-[cell:didRecognizeAction:userInfo:]` delegate method at the same time. - if (otherGestureRecognizer.view == self.messageTextView && [otherGestureRecognizer isMemberOfClass:[UILongPressGestureRecognizer class]] && [gestureRecognizer isMemberOfClass:[UILongPressGestureRecognizer class]]) - { - return YES; - } - return NO; -} - -// Prevent gesture recognizer to be recognized by a custom view added to the cell contentView and with user interaction enabled - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch { UIView *recognizerView = gestureRecognizer.view; if ([recognizerView isDescendantOfView:self.contentView]) { + // Prevent gesture recognizer to be recognized by a custom view added to the cell contentView and with user interaction enabled for (UIView *tmpSubview in self.tmpSubviews) { if (tmpSubview.isUserInteractionEnabled && [tmpSubview isDescendantOfView:self.contentView]) @@ -1550,6 +1555,15 @@ - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceive } } } + + // Prevent gesture recognizer to be recognized when user hits a link in a UITextView, let UITextViewDelegate handle links. + if ([touch.view isKindOfClass:[UITextView class]]) + { + UITextView *textView = (UITextView*)touch.view; + CGPoint touchLocation = [touch locationInView:textView]; + + return [textView isThereALinkNearPoint:touchLocation] == NO; + } } return YES; diff --git a/MatrixKit/Views/RoomInputToolbar/MXKRoomInputToolbarView.m b/MatrixKit/Views/RoomInputToolbar/MXKRoomInputToolbarView.m index 5f31c2196..42fbaddce 100644 --- a/MatrixKit/Views/RoomInputToolbar/MXKRoomInputToolbarView.m +++ b/MatrixKit/Views/RoomInputToolbar/MXKRoomInputToolbarView.m @@ -18,14 +18,13 @@ #import "MXKRoomInputToolbarView.h" -#import -#import - -#import +@import MatrixSDK.MXMediaManager; +@import MediaPlayer; +@import MobileCoreServices; +@import Photos; #import "MXKImageView.h" -#import "MXMediaManager.h" #import "MXKTools.h" #import "NSBundle+MatrixKit.h" diff --git a/MatrixKit/Views/RoomMemberList/MXKRoomMemberTableViewCell.m b/MatrixKit/Views/RoomMemberList/MXKRoomMemberTableViewCell.m index e587b3089..c6709d071 100644 --- a/MatrixKit/Views/RoomMemberList/MXKRoomMemberTableViewCell.m +++ b/MatrixKit/Views/RoomMemberList/MXKRoomMemberTableViewCell.m @@ -18,9 +18,10 @@ #import "MXKRoomMemberTableViewCell.h" +@import MatrixSDK; + #import "MXKAccount.h" #import "MXKImageView.h" -#import "MXMediaManager.h" #import "MXKPieChartView.h" #import "MXKRoomMemberCellDataStoring.h" #import "MXKRoomMemberListDataSource.h" @@ -28,8 +29,6 @@ #import "NSBundle+MatrixKit.h" -#import - @interface MXKRoomMemberTableViewCell () { NSRange lastSeenRange; diff --git a/MatrixKit/Views/Search/MXKSearchTableViewCell.m b/MatrixKit/Views/Search/MXKSearchTableViewCell.m index 357da3a6c..0c5617acd 100644 --- a/MatrixKit/Views/Search/MXKSearchTableViewCell.m +++ b/MatrixKit/Views/Search/MXKSearchTableViewCell.m @@ -17,7 +17,7 @@ #import "MXKSearchTableViewCell.h" -#import "MXMediaManager.h" +@import MatrixSDK.MXMediaManager; #import "MXKSearchCellDataStoring.h" diff --git a/Podfile b/Podfile index f82a3c41e..7b0a72258 100644 --- a/Podfile +++ b/Podfile @@ -8,7 +8,7 @@ abstract_target 'MatrixKitSamplePods' do # Different flavours of pods to Matrix SDK # The tagged version on which this version of MatrixKit has been built - pod 'MatrixSDK', '0.15.0' + pod 'MatrixSDK', '0.15.2' # The lastest release available on the CocoaPods repository #pod 'MatrixSDK' diff --git a/Podfile.lock b/Podfile.lock index 9fc9f87c5..94dfbfc7d 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -39,9 +39,9 @@ PODS: - JSQSystemSoundPlayer (2.0.1) - libbase58 (0.1.4) - libPhoneNumber-iOS (0.9.15) - - MatrixSDK (0.15.0): - - MatrixSDK/Core (= 0.15.0) - - MatrixSDK/Core (0.15.0): + - MatrixSDK (0.15.2): + - MatrixSDK/Core (= 0.15.2) + - MatrixSDK/Core (0.15.2): - AFNetworking (~> 3.2.0) - GZIP (~> 1.2.2) - libbase58 (~> 0.1.4) @@ -63,7 +63,7 @@ DEPENDENCIES: - HPGrowingTextView (~> 1.1) - JSQMessagesViewController (~> 7.2.0) - libPhoneNumber-iOS (~> 0.9.13) - - MatrixSDK (= 0.15.0) + - MatrixSDK (= 0.15.2) - SwiftUTI (from `https://github.com/speramusinc/SwiftUTI.git`, branch `master`) SPEC REPOS: @@ -103,11 +103,11 @@ SPEC CHECKSUMS: JSQSystemSoundPlayer: c5850e77a4363ffd374cd851154b9af93264ed8d libbase58: 7c040313537b8c44b6e2d15586af8e21f7354efd libPhoneNumber-iOS: 0a32a9525cf8744fe02c5206eb30d571e38f7d75 - MatrixSDK: 342384d62bac5d95a31a7dab79e5f687bd87ddca + MatrixSDK: f83bd3c5519c1cb9ac3998f6423574cf528f0250 OLMKit: 4ee0159d63feeb86d836fdcfefe418e163511639 Realm: 5a1d9d47bfc101dd597668b1a8af4288a2557f6d SwiftUTI: 917993c124f8eac25e88ced0202fc58d7eb50fa8 -PODFILE CHECKSUM: 32fb4e07ca2d3bea60009cc8495aa3e01a7795bf +PODFILE CHECKSUM: 5856db438bc5c3de4b39b48163542c87c3b67246 COCOAPODS: 1.8.4