diff --git a/Session.xcodeproj/project.pbxproj b/Session.xcodeproj/project.pbxproj index 48ee04b36..9ba235460 100644 --- a/Session.xcodeproj/project.pbxproj +++ b/Session.xcodeproj/project.pbxproj @@ -12,7 +12,6 @@ 34661FB820C1C0D60056EDD6 /* message_sent.aiff in Resources */ = {isa = PBXBuildFile; fileRef = 34661FB720C1C0D60056EDD6 /* message_sent.aiff */; }; 346B66311F4E29B200E5122F /* CropScaleImageViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 346B66301F4E29B200E5122F /* CropScaleImageViewController.swift */; }; 3478504C1FD7496D007B8332 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = B66DBF4919D5BBC8006EA940 /* Images.xcassets */; }; - 347850551FD749C0007B8332 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = B6F509951AA53F760068F56A /* Localizable.strings */; }; 3488F9362191CC4000E524CC /* MediaView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3488F9352191CC4000E524CC /* MediaView.swift */; }; 3496955C219B605E00DCFE74 /* ImagePickerController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34969559219B605E00DCFE74 /* ImagePickerController.swift */; }; 3496955E219B605E00DCFE74 /* PhotoLibrary.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3496955B219B605E00DCFE74 /* PhotoLibrary.swift */; }; @@ -156,7 +155,6 @@ 7BCD116C27016062006330F1 /* WebRTCSession+DataChannel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7BCD116B27016062006330F1 /* WebRTCSession+DataChannel.swift */; }; 7BD477A827EC39F5004E2822 /* Atomic.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7BD477A727EC39F5004E2822 /* Atomic.swift */; }; 7BDCFC08242186E700641C39 /* NotificationServiceExtensionContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7BDCFC07242186E700641C39 /* NotificationServiceExtensionContext.swift */; }; - 7BDCFC0B2421EB7600641C39 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = B6F509951AA53F760068F56A /* Localizable.strings */; }; 7BFA8AE32831D0D4001876F3 /* ContextMenuVC+EmojiReactsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7BFA8AE22831D0D4001876F3 /* ContextMenuVC+EmojiReactsView.swift */; }; 7BFD1A8A2745C4F000FB91B9 /* Permissions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7BFD1A892745C4F000FB91B9 /* Permissions.swift */; }; 7BFD1A8C2747150E00FB91B9 /* TurnServerInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7BFD1A8B2747150E00FB91B9 /* TurnServerInfo.swift */; }; @@ -170,7 +168,6 @@ B66DBF4A19D5BBC8006EA940 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = B66DBF4919D5BBC8006EA940 /* Images.xcassets */; }; B67EBF5D19194AC60084CCFD /* Settings.bundle in Resources */ = {isa = PBXBuildFile; fileRef = B67EBF5C19194AC60084CCFD /* Settings.bundle */; }; B6B226971BE4B7D200860F4D /* ContactsUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6B226961BE4B7D200860F4D /* ContactsUI.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; - B6F509971AA53F760068F56A /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = B6F509951AA53F760068F56A /* Localizable.strings */; }; B6FE7EB71ADD62FA00A6D22F /* PushKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6FE7EB61ADD62FA00A6D22F /* PushKit.framework */; }; B7ED5A721C85869B379140C0 /* Pods_GlobalDependencies_Session.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1677131E9189A0043FF97ACB /* Pods_GlobalDependencies_Session.framework */; }; B8041A9525C8FA1D003C2166 /* MediaLoaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8041A9425C8FA1D003C2166 /* MediaLoaderView.swift */; }; @@ -736,6 +733,7 @@ FD9004142818AD0B00ABAAF6 /* _002_SetupStandardJobs.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD9004132818AD0B00ABAAF6 /* _002_SetupStandardJobs.swift */; }; FD9004152818B46300ABAAF6 /* JobRunner.swift in Sources */ = {isa = PBXBuildFile; fileRef = FDF0B7432804EF1B004C14C5 /* JobRunner.swift */; }; FD9004162818B46700ABAAF6 /* JobRunnerError.swift in Sources */ = {isa = PBXBuildFile; fileRef = FDE77F68280F9EDA002CFC5D /* JobRunnerError.swift */; }; + FD9401D12ABD04AC003A4834 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = FD9401A32ABD04AC003A4834 /* Localizable.strings */; }; FD96F3A529DBC3DC00401309 /* MessageSendJobSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD96F3A429DBC3DC00401309 /* MessageSendJobSpec.swift */; }; FD96F3A729DBD43D00401309 /* MockJobRunner.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD96F3A629DBD43D00401309 /* MockJobRunner.swift */; }; FD97B2402A3FEB050027DD57 /* ARC4RandomNumberGenerator.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD97B23F2A3FEB050027DD57 /* ARC4RandomNumberGenerator.swift */; }; @@ -1184,7 +1182,6 @@ 45F32C1D205718B000A300D5 /* MediaPageViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MediaPageViewController.swift; path = "Session/Media Viewing & Editing/MediaPageViewController.swift"; sourceTree = SOURCE_ROOT; }; 4C090A1A210FD9C7001FD7F9 /* HapticFeedback.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HapticFeedback.swift; sourceTree = ""; }; 4C1885D1218F8E1C00B67051 /* PhotoGridViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PhotoGridViewCell.swift; sourceTree = ""; }; - 4C1D2337218B6BA000A0598F /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; 4C21D5D7223AC60F00EF8A77 /* PhotoCapture.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PhotoCapture.swift; sourceTree = ""; }; 4C4AE69F224AF21900D4AF6F /* SendMediaNavigationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SendMediaNavigationController.swift; sourceTree = ""; }; 4C586924224FAB83003FD070 /* AVAudioSession+OWS.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "AVAudioSession+OWS.h"; sourceTree = ""; }; @@ -1218,7 +1215,6 @@ 7B1D74AF27C365960030B423 /* Timer+MainThread.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Timer+MainThread.swift"; sourceTree = ""; }; 7B2561C12978B307005C086C /* MediaInfoVC+MediaInfoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "MediaInfoVC+MediaInfoView.swift"; sourceTree = ""; }; 7B2561C329874851005C086C /* SessionCarouselView+Info.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "SessionCarouselView+Info.swift"; sourceTree = ""; }; - 7B2DB2AD26F1B0FF0035B509 /* si */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = si; path = si.lproj/Localizable.strings; sourceTree = ""; }; 7B3A392D2977791E002FE4AC /* MediaInfoVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MediaInfoVC.swift; sourceTree = ""; }; 7B3A392F297A3919002FE4AC /* MediaInfoVC+MediaPreviewView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "MediaInfoVC+MediaPreviewView.swift"; sourceTree = ""; }; 7B3A39312980D02B002FE4AC /* SessionCarouselView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SessionCarouselView.swift; sourceTree = ""; }; @@ -1291,15 +1287,9 @@ B1910A32EB2AD01913629646 /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionShareExtension.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionShareExtension.debug.xcconfig"; path = "Target Support Files/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionShareExtension/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionShareExtension.debug.xcconfig"; sourceTree = ""; }; B4F9FCBDA07F07CB48220D4C /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SignalUtilitiesKit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SignalUtilitiesKit.debug.xcconfig"; path = "Target Support Files/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SignalUtilitiesKit/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SignalUtilitiesKit.debug.xcconfig"; sourceTree = ""; }; B60EDE031A05A01700D73516 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; - B646D10E1AA5461A004133BA /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; B657DDC91911A40500F45B0C /* Signal.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Signal.entitlements; sourceTree = ""; }; B66DBF4919D5BBC8006EA940 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; - B676BCEF1AA544E7009637B8 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; - B676BCF11AA5451E009637B8 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; B67EBF5C19194AC60084CCFD /* Settings.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = Settings.bundle; path = Session/Meta/Settings.bundle; sourceTree = SOURCE_ROOT; }; - B68CB7DC1AA547100065AC3F /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt_BR; path = pt_BR.lproj/Localizable.strings; sourceTree = ""; }; - B68CB7E01AA548420065AC3F /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; - B68CB7E61AA548870065AC3F /* zh_CN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = zh_CN; path = zh_CN.lproj/Localizable.strings; sourceTree = ""; }; B6B226961BE4B7D200860F4D /* ContactsUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ContactsUI.framework; path = System/Library/Frameworks/ContactsUI.framework; sourceTree = SDKROOT; }; B6FE7EB61ADD62FA00A6D22F /* PushKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PushKit.framework; path = System/Library/Frameworks/PushKit.framework; sourceTree = SDKROOT; }; B8041A9425C8FA1D003C2166 /* MediaLoaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MediaLoaderView.swift; sourceTree = ""; }; @@ -1317,7 +1307,6 @@ B82B408B239A068800A248E7 /* RegisterVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RegisterVC.swift; sourceTree = ""; }; B82B408D239DC00D00A248E7 /* DisplayNameVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DisplayNameVC.swift; sourceTree = ""; }; B82B408F239DD75000A248E7 /* RestoreVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RestoreVC.swift; sourceTree = ""; }; - B834C6DD26533AE5001091B2 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Localizable.strings"; sourceTree = ""; }; B835246D25C38ABF0089A44F /* ConversationVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConversationVC.swift; sourceTree = ""; }; B835247825C38D880089A44F /* MessageCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageCell.swift; sourceTree = ""; }; B835249A25C3AB650089A44F /* VisibleMessageCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VisibleMessageCell.swift; sourceTree = ""; }; @@ -1333,7 +1322,6 @@ B8569AE225CBB19A00DBA3DB /* DocumentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DocumentView.swift; sourceTree = ""; }; B86BD08323399ACF000F5AE3 /* Modal.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Modal.swift; sourceTree = ""; }; B86BD08523399CEF000F5AE3 /* SeedModal.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SeedModal.swift; sourceTree = ""; }; - B87588582644CA9D000E60D0 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; B877E24126CA12910007970A /* CallVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CallVC.swift; sourceTree = ""; }; B877E24526CA13BA0007970A /* CallVC+Camera.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CallVC+Camera.swift"; sourceTree = ""; }; B8783E9D23EB948D00404FB8 /* UILabel+Interaction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UILabel+Interaction.swift"; sourceTree = ""; }; @@ -1354,9 +1342,6 @@ B8B558F026C4BB0600693325 /* CameraManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CameraManager.swift; sourceTree = ""; }; B8B558FE26C4E05E00693325 /* WebRTCSession+MessageHandling.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "WebRTCSession+MessageHandling.swift"; sourceTree = ""; }; B8B5BCEB2394D869003823C9 /* SessionButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SessionButton.swift; sourceTree = ""; }; - B8BAC75B2695645400EA1759 /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/Localizable.strings; sourceTree = ""; }; - B8BAC75C2695648500EA1759 /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/Localizable.strings; sourceTree = ""; }; - B8BAC75D2695649000EA1759 /* th */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = th; path = th.lproj/Localizable.strings; sourceTree = ""; }; B8BB82A1238F356100BA5194 /* Values.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Values.swift; sourceTree = ""; }; B8BB82A4238F627000BA5194 /* HomeVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeVC.swift; sourceTree = ""; }; B8BB82AA238F669C00BA5194 /* FullConversationCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FullConversationCell.swift; sourceTree = ""; }; @@ -1379,7 +1364,6 @@ B8D84ECE25E3108A005A043E /* ExpandingAttachmentsButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExpandingAttachmentsButton.swift; sourceTree = ""; }; B8DE1FB326C22F2F0079C9CE /* WebRTCSession.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WebRTCSession.swift; sourceTree = ""; }; B8DE1FB526C22FCB0079C9CE /* CallMessage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CallMessage.swift; sourceTree = ""; }; - B8EB20E6263F7E4B00773E52 /* sk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sk; path = sk.lproj/Localizable.strings; sourceTree = ""; }; B8EB20ED2640F28000773E52 /* VisibleMessage+OpenGroupInvitation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "VisibleMessage+OpenGroupInvitation.swift"; sourceTree = ""; }; B8EB20EF2640F7F000773E52 /* OpenGroupInvitationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OpenGroupInvitationView.swift; sourceTree = ""; }; B8F5F58225EC94A6003BF8D4 /* Collection+Utilities.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Collection+Utilities.swift"; sourceTree = ""; }; @@ -1543,20 +1527,13 @@ C38EF3E9255B6DF6007E1867 /* Toast.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Toast.swift; path = "SignalUtilitiesKit/Shared Views/Toast.swift"; sourceTree = SOURCE_ROOT; }; C38EF3ED255B6DF6007E1867 /* TappableStackView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = TappableStackView.swift; path = "SignalUtilitiesKit/Shared Views/TappableStackView.swift"; sourceTree = SOURCE_ROOT; }; C38EF3EE255B6DF6007E1867 /* GradientView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = GradientView.swift; path = SessionUIKit/Components/GradientView.swift; sourceTree = SOURCE_ROOT; }; - C396469C2509D3ED00B0B9F5 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/Localizable.strings; sourceTree = ""; }; - C396469D2509D3F400B0B9F5 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Localizable.strings; sourceTree = ""; }; - C396469E2509D40400B0B9F5 /* vi-VN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "vi-VN"; path = "vi-VN.lproj/Localizable.strings"; sourceTree = ""; }; - C396469F2509D41100B0B9F5 /* id-ID */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "id-ID"; path = "id-ID.lproj/Localizable.strings"; sourceTree = ""; }; C3A3A170256E1D25004D228D /* SSKReachabilityManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SSKReachabilityManager.swift; sourceTree = ""; }; C3A71D0A2558989C0043A11F /* MessageWrapper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageWrapper.swift; sourceTree = ""; }; C3A71D1C25589AC30043A11F /* WebSocketProto.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WebSocketProto.swift; sourceTree = ""; }; C3A71D1D25589AC30043A11F /* WebSocketResources.pb.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WebSocketResources.pb.swift; sourceTree = ""; }; C3A71F882558BA9F0043A11F /* Mnemonic.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Mnemonic.swift; sourceTree = ""; }; - C3A8AF752665B03900A467FE /* hi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hi; path = hi.lproj/Localizable.strings; sourceTree = ""; }; - C3A8AF762665F97A00A467FE /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/Localizable.strings; sourceTree = ""; }; C3AAFFF125AE99710089E6DD /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; C3ADC66026426688005F1414 /* ShareNavController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShareNavController.swift; sourceTree = ""; }; - C3AECBEA24EF5244005743DE /* fa */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fa; path = fa.lproj/Localizable.strings; sourceTree = ""; }; C3BBE0C62554F1570050F1E3 /* FixedWidthInteger+BigEndian.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FixedWidthInteger+BigEndian.swift"; sourceTree = ""; }; C3C2A59F255385C100C340D1 /* SessionSnodeKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SessionSnodeKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; C3C2A5A1255385C100C340D1 /* SessionSnodeKit.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SessionSnodeKit.h; sourceTree = ""; }; @@ -1598,7 +1575,6 @@ C3E5C2F9251DBABB0040DFFC /* EditClosedGroupVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EditClosedGroupVC.swift; sourceTree = ""; }; C3ECBF7A257056B700EA7FCE /* Threading.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Threading.swift; sourceTree = ""; }; C3F0A52F255C80BC007BE2A3 /* NoopNotificationsManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NoopNotificationsManager.swift; sourceTree = ""; }; - C3F0A5B2255C915C007BE2A3 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; D2179CFB16BB0B3A0006F3AB /* CoreTelephony.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreTelephony.framework; path = System/Library/Frameworks/CoreTelephony.framework; sourceTree = SDKROOT; }; D2179CFD16BB0B480006F3AB /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; }; D221A089169C9E5E00537ABF /* Session.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Session.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -1853,6 +1829,50 @@ FD8ECF912938552800C0D1BB /* Threading.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Threading.swift; sourceTree = ""; }; FD8ECF93293856AF00C0D1BB /* Randomness.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Randomness.swift; sourceTree = ""; }; FD9004132818AD0B00ABAAF6 /* _002_SetupStandardJobs.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = _002_SetupStandardJobs.swift; sourceTree = ""; }; + FD9401A42ABD04AC003A4834 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; + FD9401A52ABD04AC003A4834 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/Localizable.strings; sourceTree = ""; }; + FD9401A62ABD04AC003A4834 /* el */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = el; path = el.lproj/Localizable.strings; sourceTree = ""; }; + FD9401A72ABD04AC003A4834 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Localizable.strings; sourceTree = ""; }; + FD9401A82ABD04AC003A4834 /* fa */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fa; path = fa.lproj/Localizable.strings; sourceTree = ""; }; + FD9401A92ABD04AC003A4834 /* zh-TW */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-TW"; path = "zh-TW.lproj/Localizable.strings"; sourceTree = ""; }; + FD9401AA2ABD04AC003A4834 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; + FD9401AB2ABD04AC003A4834 /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = uk.lproj/Localizable.strings; sourceTree = ""; }; + FD9401AC2ABD04AC003A4834 /* ku */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ku; path = ku.lproj/Localizable.strings; sourceTree = ""; }; + FD9401AD2ABD04AC003A4834 /* sl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sl; path = sl.lproj/Localizable.strings; sourceTree = ""; }; + FD9401AE2ABD04AC003A4834 /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/Localizable.strings; sourceTree = ""; }; + FD9401AF2ABD04AC003A4834 /* eo */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = eo; path = eo.lproj/Localizable.strings; sourceTree = ""; }; + FD9401B02ABD04AC003A4834 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; + FD9401B12ABD04AC003A4834 /* bg */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bg; path = bg.lproj/Localizable.strings; sourceTree = ""; }; + FD9401B22ABD04AC003A4834 /* sk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sk; path = sk.lproj/Localizable.strings; sourceTree = ""; }; + FD9401B32ABD04AC003A4834 /* es-ES */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-ES"; path = "es-ES.lproj/Localizable.strings"; sourceTree = ""; }; + FD9401B42ABD04AC003A4834 /* be */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = be; path = be.lproj/Localizable.strings; sourceTree = ""; }; + FD9401B52ABD04AC003A4834 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/Localizable.strings; sourceTree = ""; }; + FD9401B62ABD04AC003A4834 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/Localizable.strings; sourceTree = ""; }; + FD9401B72ABD04AC003A4834 /* fil */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fil; path = fil.lproj/Localizable.strings; sourceTree = ""; }; + FD9401B82ABD04AC003A4834 /* ne-NP */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ne-NP"; path = "ne-NP.lproj/Localizable.strings"; sourceTree = ""; }; + FD9401B92ABD04AC003A4834 /* no */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = no; path = no.lproj/Localizable.strings; sourceTree = ""; }; + FD9401BA2ABD04AC003A4834 /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/Localizable.strings; sourceTree = ""; }; + FD9401BB2ABD04AC003A4834 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Localizable.strings; sourceTree = ""; }; + FD9401BC2ABD04AC003A4834 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/Localizable.strings; sourceTree = ""; }; + FD9401BD2ABD04AC003A4834 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/Localizable.strings"; sourceTree = ""; }; + FD9401BE2ABD04AC003A4834 /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/Localizable.strings; sourceTree = ""; }; + FD9401BF2ABD04AC003A4834 /* lv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = lv; path = lv.lproj/Localizable.strings; sourceTree = ""; }; + FD9401C02ABD04AC003A4834 /* lt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = lt; path = lt.lproj/Localizable.strings; sourceTree = ""; }; + FD9401C12ABD04AC003A4834 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; + FD9401C22ABD04AC003A4834 /* zh-CN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-CN"; path = "zh-CN.lproj/Localizable.strings"; sourceTree = ""; }; + FD9401C32ABD04AC003A4834 /* si-LK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "si-LK"; path = "si-LK.lproj/Localizable.strings"; sourceTree = ""; }; + FD9401C42ABD04AC003A4834 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; + FD9401C52ABD04AC003A4834 /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/Localizable.strings; sourceTree = ""; }; + FD9401C62ABD04AC003A4834 /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/Localizable.strings; sourceTree = ""; }; + FD9401C72ABD04AC003A4834 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; + FD9401C82ABD04AC003A4834 /* th */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = th; path = th.lproj/Localizable.strings; sourceTree = ""; }; + FD9401C92ABD04AC003A4834 /* sv-SE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sv-SE"; path = "sv-SE.lproj/Localizable.strings"; sourceTree = ""; }; + FD9401CA2ABD04AC003A4834 /* bn */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bn; path = bn.lproj/Localizable.strings; sourceTree = ""; }; + FD9401CB2ABD04AC003A4834 /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/Localizable.strings"; sourceTree = ""; }; + FD9401CC2ABD04AC003A4834 /* ro */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ro; path = ro.lproj/Localizable.strings; sourceTree = ""; }; + FD9401CE2ABD04AC003A4834 /* TRANSLATIONS.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = TRANSLATIONS.md; sourceTree = ""; }; + FD9401CF2ABD04AC003A4834 /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/Localizable.strings; sourceTree = ""; }; + FD9401D02ABD04AC003A4834 /* hi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hi; path = hi.lproj/Localizable.strings; sourceTree = ""; }; FD96F3A429DBC3DC00401309 /* MessageSendJobSpec.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageSendJobSpec.swift; sourceTree = ""; }; FD96F3A629DBD43D00401309 /* MockJobRunner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockJobRunner.swift; sourceTree = ""; }; FD97B23F2A3FEB050027DD57 /* ARC4RandomNumberGenerator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ARC4RandomNumberGenerator.swift; sourceTree = ""; }; @@ -2426,15 +2446,6 @@ path = TurnServers; sourceTree = ""; }; - B6B6C3C419193F5B00C0B76B /* Translations */ = { - isa = PBXGroup; - children = ( - B6F509951AA53F760068F56A /* Localizable.strings */, - ); - name = Translations; - path = ..; - sourceTree = ""; - }; B8041A7325C8F758003C2166 /* Content Views */ = { isa = PBXGroup; children = ( @@ -3430,8 +3441,8 @@ D221A095169C9E5E00537ABF /* Session-Info.plist */, 4C63CBFF210A620B003AE45C /* SignalTSan.supp */, 4C6F527B20FFE8400097DEEE /* SignalUBSan.supp */, + FD9401A22ABD04AC003A4834 /* Translations */, 34074F54203D0722004596AE /* Sounds */, - B6B6C3C419193F5B00C0B76B /* Translations */, ); path = Meta; sourceTree = ""; @@ -4123,6 +4134,15 @@ path = JobRunner; sourceTree = ""; }; + FD9401A22ABD04AC003A4834 /* Translations */ = { + isa = PBXGroup; + children = ( + FD9401CE2ABD04AC003A4834 /* TRANSLATIONS.md */, + FD9401A32ABD04AC003A4834 /* Localizable.strings */, + ); + path = Translations; + sourceTree = ""; + }; FD96F3A229DBC3BA00401309 /* Jobs */ = { isa = PBXGroup; children = ( @@ -4897,6 +4917,36 @@ sv, th, si, + ar, + uk, + be, + el, + "zh-TW", + ku, + sl, + da, + eo, + bg, + "es-ES", + cs, + ko, + fil, + "ne-NP", + no, + nb, + hu, + tr, + "pt-BR", + vi, + lv, + lt, + "zh-CN", + "si-LK", + id, + "sv-SE", + bn, + "pt-PT", + ro, ); mainGroup = D221A07E169C9E5E00537ABF; productRefGroup = D221A08A169C9E5E00537ABF /* Products */; @@ -4925,7 +4975,6 @@ buildActionMask = 2147483647; files = ( 4535186E1FC635DD00210559 /* MainInterface.storyboard in Resources */, - 347850551FD749C0007B8332 /* Localizable.strings in Resources */, B8D07406265C683A00F77E07 /* ElegantIcons.ttf in Resources */, 3478504C1FD7496D007B8332 /* Images.xcassets in Resources */, ); @@ -4935,7 +4984,6 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 7BDCFC0B2421EB7600641C39 /* Localizable.strings in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -4982,7 +5030,6 @@ 4C6F527C20FFE8400097DEEE /* SignalUBSan.supp in Resources */, 34CF078A203E6B78005C4D61 /* end_call_tone_cept.caf in Resources */, C3CA3AA2255CDADA00F4C6D4 /* english.txt in Resources */, - B6F509971AA53F760068F56A /* Localizable.strings in Resources */, B66DBF4A19D5BBC8006EA940 /* Images.xcassets in Resources */, 34CF0788203E6B78005C4D61 /* ringback_tone_ansi.caf in Resources */, 7BFD1A972747689000FB91B9 /* Session-Turn-Server in Resources */, @@ -4995,6 +5042,7 @@ B67EBF5D19194AC60084CCFD /* Settings.bundle in Resources */, 34CF0787203E6B78005C4D61 /* busy_tone_ansi.caf in Resources */, 45A2F005204473A3002E978A /* NewMessage.aifc in Resources */, + FD9401D12ABD04AC003A4834 /* Localizable.strings in Resources */, 45B74A882044AAB600CD42F8 /* aurora.aifc in Resources */, 45B74A742044AAB600CD42F8 /* aurora-quiet.aifc in Resources */, 7B0EFDF4275490EA00FFAAE7 /* ringing.mp3 in Resources */, @@ -6395,34 +6443,54 @@ name = MainInterface.storyboard; sourceTree = ""; }; - B6F509951AA53F760068F56A /* Localizable.strings */ = { + FD9401A32ABD04AC003A4834 /* Localizable.strings */ = { isa = PBXVariantGroup; children = ( - B676BCEF1AA544E7009637B8 /* de */, - B676BCF11AA5451E009637B8 /* es */, - B646D10E1AA5461A004133BA /* fr */, - B68CB7DC1AA547100065AC3F /* pt_BR */, - B68CB7E01AA548420065AC3F /* ru */, - B68CB7E61AA548870065AC3F /* zh_CN */, - 4C1D2337218B6BA000A0598F /* it */, - C3AECBEA24EF5244005743DE /* fa */, - C396469C2509D3ED00B0B9F5 /* pl */, - C396469D2509D3F400B0B9F5 /* ja */, - C396469E2509D40400B0B9F5 /* vi-VN */, - C396469F2509D41100B0B9F5 /* id-ID */, - C3F0A5B2255C915C007BE2A3 /* en */, - B8EB20E6263F7E4B00773E52 /* sk */, - B87588582644CA9D000E60D0 /* nl */, - B834C6DD26533AE5001091B2 /* zh-Hant */, - C3A8AF752665B03900A467FE /* hi */, - C3A8AF762665F97A00A467FE /* fi */, - B8BAC75B2695645400EA1759 /* hr */, - B8BAC75C2695648500EA1759 /* sv */, - B8BAC75D2695649000EA1759 /* th */, - 7B2DB2AD26F1B0FF0035B509 /* si */, + FD9401A42ABD04AC003A4834 /* de */, + FD9401A52ABD04AC003A4834 /* ar */, + FD9401A62ABD04AC003A4834 /* el */, + FD9401A72ABD04AC003A4834 /* ja */, + FD9401A82ABD04AC003A4834 /* fa */, + FD9401A92ABD04AC003A4834 /* zh-TW */, + FD9401AA2ABD04AC003A4834 /* en */, + FD9401AB2ABD04AC003A4834 /* uk */, + FD9401AC2ABD04AC003A4834 /* ku */, + FD9401AD2ABD04AC003A4834 /* sl */, + FD9401AE2ABD04AC003A4834 /* da */, + FD9401AF2ABD04AC003A4834 /* eo */, + FD9401B02ABD04AC003A4834 /* it */, + FD9401B12ABD04AC003A4834 /* bg */, + FD9401B22ABD04AC003A4834 /* sk */, + FD9401B32ABD04AC003A4834 /* es-ES */, + FD9401B42ABD04AC003A4834 /* be */, + FD9401B52ABD04AC003A4834 /* cs */, + FD9401B62ABD04AC003A4834 /* ko */, + FD9401B72ABD04AC003A4834 /* fil */, + FD9401B82ABD04AC003A4834 /* ne-NP */, + FD9401B92ABD04AC003A4834 /* no */, + FD9401BA2ABD04AC003A4834 /* hu */, + FD9401BB2ABD04AC003A4834 /* tr */, + FD9401BC2ABD04AC003A4834 /* pl */, + FD9401BD2ABD04AC003A4834 /* pt-BR */, + FD9401BE2ABD04AC003A4834 /* vi */, + FD9401BF2ABD04AC003A4834 /* lv */, + FD9401C02ABD04AC003A4834 /* lt */, + FD9401C12ABD04AC003A4834 /* ru */, + FD9401C22ABD04AC003A4834 /* zh-CN */, + FD9401C32ABD04AC003A4834 /* si-LK */, + FD9401C42ABD04AC003A4834 /* fr */, + FD9401C52ABD04AC003A4834 /* fi */, + FD9401C62ABD04AC003A4834 /* id */, + FD9401C72ABD04AC003A4834 /* nl */, + FD9401C82ABD04AC003A4834 /* th */, + FD9401C92ABD04AC003A4834 /* sv-SE */, + FD9401CA2ABD04AC003A4834 /* bn */, + FD9401CB2ABD04AC003A4834 /* pt-PT */, + FD9401CC2ABD04AC003A4834 /* ro */, + FD9401CF2ABD04AC003A4834 /* hr */, + FD9401D02ABD04AC003A4834 /* hi */, ); name = Localizable.strings; - path = Meta/Translations; sourceTree = ""; }; /* End PBXVariantGroup section */ diff --git a/Session/Conversations/Input View/ExpandingAttachmentsButton.swift b/Session/Conversations/Input View/ExpandingAttachmentsButton.swift index 85757803b..d77ede7a0 100644 --- a/Session/Conversations/Input View/ExpandingAttachmentsButton.swift +++ b/Session/Conversations/Input View/ExpandingAttachmentsButton.swift @@ -34,6 +34,7 @@ final class ExpandingAttachmentsButton: UIView, InputViewButtonDelegate { lazy var documentButton: InputViewButton = { let result = InputViewButton(icon: #imageLiteral(resourceName: "actionsheet_document_black"), delegate: self, hasOpaqueBackground: true) result.accessibilityIdentifier = "Documents folder" + result.accessibilityLabel = "accessibility_document_button".localized() result.isAccessibilityElement = true return result @@ -42,6 +43,7 @@ final class ExpandingAttachmentsButton: UIView, InputViewButtonDelegate { lazy var libraryButton: InputViewButton = { let result = InputViewButton(icon: #imageLiteral(resourceName: "actionsheet_camera_roll_black"), delegate: self, hasOpaqueBackground: true) result.accessibilityIdentifier = "Images folder" + result.accessibilityLabel = "accessibility_library_button".localized() result.isAccessibilityElement = true return result @@ -50,6 +52,7 @@ final class ExpandingAttachmentsButton: UIView, InputViewButtonDelegate { lazy var cameraButton: InputViewButton = { let result = InputViewButton(icon: #imageLiteral(resourceName: "actionsheet_camera_black"), delegate: self, hasOpaqueBackground: true) result.accessibilityIdentifier = "Select camera button" + result.accessibilityLabel = "accessibility_camera_button".localized() result.isAccessibilityElement = true return result diff --git a/Session/Meta/Translations/ar.lproj/Localizable.strings b/Session/Meta/Translations/ar.lproj/Localizable.strings new file mode 100644 index 000000000..cb4148379 --- /dev/null +++ b/Session/Meta/Translations/ar.lproj/Localizable.strings @@ -0,0 +1,782 @@ +/* No comment provided by engineer. */ +"ATTACHMENT" = "ملف مرفق"; +/* Title for 'caption' mode of the attachment approval view. */ +"ATTACHMENT_APPROVAL_CAPTION_TITLE" = "تعليق"; +/* Format string for file extension label in call interstitial view */ +"ATTACHMENT_APPROVAL_FILE_EXTENSION_FORMAT" = "نوع الملف: %@"; +/* Format string for file size label in call interstitial view. Embeds: {{file size as 'N mb' or 'N kb'}}. */ +"ATTACHMENT_APPROVAL_FILE_SIZE_FORMAT" = "الحجم: %@"; +/* One-line label indicating the user can add no more text to the media message field. */ +"ATTACHMENT_APPROVAL_MESSAGE_LENGTH_LIMIT_REACHED" = "تم بلوغ حد الرسالة"; +/* Label for 'send' button in the 'attachment approval' dialog. */ +"ATTACHMENT_APPROVAL_SEND_BUTTON" = "أرسل"; +/* Generic filename for an attachment with no known name */ +"ATTACHMENT_DEFAULT_FILENAME" = "ملف مرفق"; +/* The title of the 'attachment error' alert. */ +"ATTACHMENT_ERROR_ALERT_TITLE" = "خطأ في إرسال المرفق"; +/* Attachment error message for image attachments which could not be converted to JPEG */ +"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_JPEG" = "غير قادر على تحويل الصوره."; +/* Attachment error message for video attachments which could not be converted to MP4 */ +"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_MP4" = "غير قادر على معالجة الفديو."; +/* Attachment error message for image attachments which cannot be parsed */ +"ATTACHMENT_ERROR_COULD_NOT_PARSE_IMAGE" = "غير قار على تحليل الصورة."; +/* Attachment error message for image attachments in which metadata could not be removed */ +"ATTACHMENT_ERROR_COULD_NOT_REMOVE_METADATA" = "غير قادر على حذف البيانات الوصفية من الصوره."; +/* Attachment error message for image attachments which could not be resized */ +"ATTACHMENT_ERROR_COULD_NOT_RESIZE_IMAGE" = "غير قادر على تعديل الصورة."; +/* Attachment error message for attachments whose data exceed file size limits */ +"ATTACHMENT_ERROR_FILE_SIZE_TOO_LARGE" = "حجم المرفق عالي."; +/* Attachment error message for attachments with invalid data */ +"ATTACHMENT_ERROR_INVALID_DATA" = "المرفق يحتوي على بيانات غير صحيحة."; +/* Attachment error message for attachments with an invalid file format */ +"ATTACHMENT_ERROR_INVALID_FILE_FORMAT" = "صيغة المرفق غير صالحة."; +/* Attachment error message for attachments without any data */ +"ATTACHMENT_ERROR_MISSING_DATA" = "المرفق فارغ."; +/* Alert title when picking a document fails for an unknown reason */ +"ATTACHMENT_PICKER_DOCUMENTS_FAILED_ALERT_TITLE" = "لقد فشل اختيار الوثيقة."; +/* Alert body when picking a document fails because user picked a directory/bundle */ +"ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_BODY" = "الرجاء إنشاء أرشيف مضغوط لهذا الملف أو المجلد ومحاولة إرسال ذلك بدلاً من ذلك."; +/* Alert title when picking a document fails because user picked a directory/bundle */ +"ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_TITLE" = "ملف غير مدعوم"; +/* Short text label for a voice message attachment, used for thread preview and on the lock screen */ +"ATTACHMENT_TYPE_VOICE_MESSAGE" = "رسالة صوتية"; +/* Button label for the 'block' button */ +"BLOCK_LIST_BLOCK_BUTTON" = "حظر"; +/* A format for the 'block user' action sheet title. Embeds {{the blocked user's name or phone number}}. */ +"BLOCK_LIST_BLOCK_USER_TITLE_FORMAT" = "منع٪؜@؟"; +/* A format for the 'unblock user' action sheet title. Embeds {{the unblocked user's name or phone number}}. */ +"BLOCK_LIST_UNBLOCK_TITLE_FORMAT" = "فتح المنع٪؜@؟"; +/* Button label for the 'unblock' button */ +"BLOCK_LIST_UNBLOCK_BUTTON" = "إلغاء الحظر"; +/* The message format of the 'conversation blocked' alert. Embeds the {{conversation title}}. */ +"BLOCK_LIST_VIEW_BLOCKED_ALERT_MESSAGE_FORMAT" = "%@ تم حظره"; +/* The title of the 'user blocked' alert. */ +"BLOCK_LIST_VIEW_BLOCKED_ALERT_TITLE" = "تم حظر المستخدم"; +/* Alert title after unblocking a group or 1:1 chat. Embeds the {{conversation title}}. */ +"BLOCK_LIST_VIEW_UNBLOCKED_ALERT_TITLE_FORMAT" = "تم حظر المستخدم %@."; +/* An explanation of the consequences of blocking another user. */ +"BLOCK_USER_BEHAVIOR_EXPLANATION" = "لن يتمكن المستخدمين المحظورين من الاتصال بك أو إرسال رسائل إليك."; +/* Label for generic done button. */ +"BUTTON_DONE" = "تم"; +/* Button text to enable batch selection mode */ +"BUTTON_SELECT" = "حدد"; +/* keyboard toolbar label when starting to search with no current results */ +"CONVERSATION_SEARCH_SEARCHING" = "جاري البحث..."; +/* keyboard toolbar label when no messages match the search string */ +"CONVERSATION_SEARCH_NO_RESULTS" = "لا يوجد تطابق"; +/* keyboard toolbar label when exactly 1 message matches the search string */ +"CONVERSATION_SEARCH_ONE_RESULT" = "مطابقة واحدة"; +/* keyboard toolbar label when more than 1 message matches the search string. Embeds {{number/position of the 'currently viewed' result}} and the {{total number of results}} */ +"CONVERSATION_SEARCH_RESULTS_FORMAT" = "%d من %d مطابقة"; +/* table cell label in conversation settings */ +"CONVERSATION_SETTINGS_BLOCK_THIS_USER" = "حظر هذا المستخدم"; +/* label for 'mute thread' cell in conversation settings */ +"CONVERSATION_SETTINGS_MUTE_LABEL" = "اكتم المحادثة"; +/* Table cell label in conversation settings which returns the user to the conversation with 'search mode' activated */ +"CONVERSATION_SETTINGS_SEARCH" = "بحث عن محادثة"; +/* Title for the 'crop/scale image' dialog. */ +"CROP_SCALE_IMAGE_VIEW_TITLE" = "تحريك وتعديل"; +/* Subtitle shown while the app is updating its database. */ +"DATABASE_VIEW_OVERLAY_SUBTITLE" = "قد يستغرق ذلك بضع دقائق."; +/* Title shown while the app is updating its database. */ +"DATABASE_VIEW_OVERLAY_TITLE" = "تحسين قاعدة البيانات"; +/* The present; the current time. */ +"DATE_NOW" = "الآن"; +/* table cell label in conversation settings */ +"DISAPPEARING_MESSAGES" = "الرسائل المؤقتة"; +/* table cell label in conversation settings */ +"EDIT_GROUP_ACTION" = "تعديل المجموعة"; +/* Label indicating media gallery is empty */ +"GALLERY_TILES_EMPTY_GALLERY" = "ليس لديك أي وسائط في هذه المحادثة."; +/* Label indicating loading is in progress */ +"GALLERY_TILES_LOADING_MORE_RECENT_LABEL" = "جارٍ تحميل الوسائط الأحدث…"; +/* Label indicating loading is in progress */ +"GALLERY_TILES_LOADING_OLDER_LABEL" = "جارٍ تحميل الوسائط الأقدم…"; +/* Error displayed when there is a failure fetching a GIF from the remote service. */ +"GIF_PICKER_ERROR_FETCH_FAILURE" = "فشل في جلب GIF. الرجاء التحقق من أنك متصل بالإنترنت."; +/* Generic error displayed when picking a GIF */ +"GIF_PICKER_ERROR_GENERIC" = "حدث خطأ غير معروف."; +/* Shown when selected GIF couldn't be fetched */ +"GIF_PICKER_FAILURE_ALERT_TITLE" = "تعذر اختيار GIF"; +/* Alert message shown when user tries to search for GIFs without entering any search terms. */ +"GIF_PICKER_VIEW_MISSING_QUERY" = "الرجاء إدخال الكلمة الأساسية للبحث."; +/* Indicates that an error occurred while searching. */ +"GIF_VIEW_SEARCH_ERROR" = "خطأ. اضغط لإعادة المحاولة."; +/* Indicates that the user's search had no results. */ +"GIF_VIEW_SEARCH_NO_RESULTS" = "لا توجد نتائج."; +/* No comment provided by engineer. */ +"GROUP_CREATED" = "تم إنشاء المجموعة"; +/* No comment provided by engineer. */ +"GROUP_MEMBER_JOINED" = "%@ انضم إلى المجموعة. "; +/* No comment provided by engineer. */ +"GROUP_MEMBER_LEFT" = "%@ غادر المجموعة. "; +/* No comment provided by engineer. */ +"GROUP_MEMBER_REMOVED" = "تمت إزالة %@ من المجموعة. "; +/* No comment provided by engineer. */ +"GROUP_MEMBERS_REMOVED" = "تمت إزالة %@ من المجموعة. "; +/* No comment provided by engineer. */ +"GROUP_TITLE_CHANGED" = "تم تغيير العنوان إلى '%@'. "; +/* No comment provided by engineer. */ +"GROUP_UPDATED" = "تم تحديث المجموعة."; +/* No comment provided by engineer. */ +"GROUP_YOU_LEFT" = "لقد غادرت المجموعة."; +/* No comment provided by engineer. */ +"YOU_WERE_REMOVED" = " تمت إزالتك من المجموعة. "; +/* Momentarily shown to the user when attempting to select more images than is allowed. Embeds {{max number of items}} that can be shared. */ +"IMAGE_PICKER_CAN_SELECT_NO_MORE_TOAST_FORMAT" = "لا يمكنك مشاركة اكثر من %@ عنصر."; +/* alert title */ +"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "فشل في تحديد المرفق."; +/* Message for the alert indicating that an audio file is invalid. */ +"INVALID_AUDIO_FILE_ALERT_ERROR_MESSAGE" = "الملف الصوتي غير صالح."; +/* Confirmation button within contextual alert */ +"LEAVE_BUTTON_TITLE" = "مغادرة"; +/* table cell label in conversation settings */ +"LEAVE_GROUP_ACTION" = "مغادرة المجموعة"; +/* nav bar button item */ +"MEDIA_DETAIL_VIEW_ALL_MEDIA_BUTTON" = "جميع الوسائط"; +/* Confirmation button text to delete selected media from the gallery, embeds {{number of messages}} */ +"MEDIA_GALLERY_DELETE_MULTIPLE_MESSAGES_FORMAT" = "حذف %d رسالة"; +/* Confirmation button text to delete selected media message from the gallery */ +"MEDIA_GALLERY_DELETE_SINGLE_MESSAGE" = "حذف الرسالة"; +/* embeds {{sender name}} and {{sent datetime}}, e.g. 'Sarah on 10/30/18, 3:29' */ +"MEDIA_GALLERY_LANDSCAPE_TITLE_FORMAT" = "%@ في %@"; +/* Format for the 'more items' indicator for media galleries. Embeds {{the number of additional items}}. */ +"MEDIA_GALLERY_MORE_ITEMS_FORMAT" = "+%@"; +/* Short sender label for media sent by you */ +"MEDIA_GALLERY_SENDER_NAME_YOU" = "أنت"; +/* Section header in media gallery collection view */ +"MEDIA_GALLERY_THIS_MONTH_HEADER" = "هذا الشهر"; +/* status message for failed messages */ +"MESSAGE_STATUS_FAILED" = "فشل الإرسال."; +/* status message for read messages */ +"MESSAGE_STATUS_READ" = "مقروءة"; +/* message status while message is sending. */ +"MESSAGE_STATUS_SENDING" = "جاري الإرسال…"; +/* status message for sent messages */ +"MESSAGE_STATUS_SENT" = "مُرسل"; +/* status message while attachment is uploading */ +"MESSAGE_STATUS_UPLOADING" = "يُرسل ملف…"; +/* notification title. Embeds {{author name}} and {{group name}} */ +"NEW_GROUP_MESSAGE_NOTIFICATION_TITLE" = "%@ إلى %@"; +/* Label for 1:1 conversation with yourself. */ +"NOTE_TO_SELF" = "ملاحظة شخصية"; +/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */ +"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "ربما تلقيت رسائل أثناء إعادة تشغيل %@ الخاص بك."; +/* No comment provided by engineer. */ +"BUTTON_OK" = "حسناً"; +/* Info Message when {{other user}} disables or doesn't support disappearing messages */ +"OTHER_DISABLED_DISAPPEARING_MESSAGES_CONFIGURATION" = "عطّل %@ خاصية إختفاء الرسائل التلقائي."; +/* Info Message when {{other user}} updates message expiration to {{time amount}}, see the *_TIME_AMOUNT strings for context. */ +"OTHER_UPDATED_DISAPPEARING_MESSAGES_CONFIGURATION" = "%@ حدد وقت اختفاء الرسالة إلى %@"; +/* alert title, generic error preventing user from capturing a photo */ +"PHOTO_CAPTURE_GENERIC_ERROR" = "غير قادر على إلتقاط الصورة."; +/* alert title */ +"PHOTO_CAPTURE_UNABLE_TO_CAPTURE_IMAGE" = "غير قادر على إلتقاط الصورة."; +/* alert title */ +"PHOTO_CAPTURE_UNABLE_TO_INITIALIZE_CAMERA" = "فشل في تهيئة الكاميرا."; +/* label for system photo collections which have no name. */ +"PHOTO_PICKER_UNNAMED_COLLECTION" = "ألبوم بدون إسم"; +/* Notification action button title */ +"PUSH_MANAGER_MARKREAD" = "اعتبارها مقروءة"; +/* Notification action button title */ +"PUSH_MANAGER_REPLY" = "رد"; +/* Description of how and why Session iOS uses Touch ID/Face ID/Phone Passcode to unlock 'screen lock'. */ +"SCREEN_LOCK_REASON_UNLOCK_SCREEN_LOCK" = "يرجى المصادقة لفتح التطبيق."; +/* Title for alert indicating that screen lock could not be unlocked. */ +"SCREEN_LOCK_UNLOCK_FAILED" = "فشل التحقق"; +/* alert title when user attempts to leave the send media flow when they have an in-progress album */ +"SEND_MEDIA_ABANDON_TITLE" = "حذف الوسائط؟"; +/* alert action, confirming the user wants to exit the media flow and abandon any photos they've taken */ +"SEND_MEDIA_CONFIRM_ABANDON_ALBUM" = "تم تجاهل الوسائط"; +/* Format string for the default 'Note' sound. Embeds the system {{sound name}}. */ +"SETTINGS_AUDIO_DEFAULT_TONE_LABEL_FORMAT" = "%@(الافتراضي)"; +/* Label for settings view that allows user to change the notification sound. */ +"SETTINGS_ITEM_NOTIFICATION_SOUND" = "صوت الرسالة"; +/* Label for the 'no sound' option that allows users to disable sounds for notifications, etc. */ +"SOUNDS_NONE" = "لا شيء "; +/* {{number of days}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 days}}'. See other *_TIME_AMOUNT strings */ +"TIME_AMOUNT_DAYS" = "%@ أيام"; +/* Label text below navbar button, embeds {{number of days}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5d' not '5 d'. See other *_TIME_AMOUNT strings */ +"TIME_AMOUNT_DAYS_SHORT_FORMAT" = "%@يوم"; +/* {{number of hours}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 hours}}'. See other *_TIME_AMOUNT strings */ +"TIME_AMOUNT_HOURS" = "%@ ساعات"; +/* Label text below navbar button, embeds {{number of hours}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5h' not '5 h'. See other *_TIME_AMOUNT strings */ +"TIME_AMOUNT_HOURS_SHORT_FORMAT" = "%@ساعة"; +/* {{number of minutes}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 minutes}}'. See other *_TIME_AMOUNT strings */ +"TIME_AMOUNT_MINUTES" = "%@ دقائق"; +/* Label text below navbar button, embeds {{number of minutes}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5m' not '5 m'. See other *_TIME_AMOUNT strings */ +"TIME_AMOUNT_MINUTES_SHORT_FORMAT" = "%@دقيقة"; +/* {{number of seconds}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 seconds}}'. See other *_TIME_AMOUNT strings */ +"TIME_AMOUNT_SECONDS" = "%@ ثواني"; +/* Label text below navbar button, embeds {{number of seconds}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5s' not '5 s'. See other *_TIME_AMOUNT strings */ +"TIME_AMOUNT_SECONDS_SHORT_FORMAT" = "%@ثانية"; +/* {{1 day}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{1 day}}'. See other *_TIME_AMOUNT strings */ +"TIME_AMOUNT_SINGLE_DAY" = "%@ يوم"; +/* {{1 hour}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{1 hour}}'. See other *_TIME_AMOUNT strings */ +"TIME_AMOUNT_SINGLE_HOUR" = "%@ ساعة"; +/* {{1 minute}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{1 minute}}'. See other *_TIME_AMOUNT strings */ +"TIME_AMOUNT_SINGLE_MINUTE" = "%@ دقيقة"; +/* {{1 week}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{1 week}}'. See other *_TIME_AMOUNT strings */ +"TIME_AMOUNT_SINGLE_WEEK" = "%@ أسبوع"; +/* {{number of weeks}}, embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 weeks}}'. See other *_TIME_AMOUNT strings */ +"TIME_AMOUNT_WEEKS" = "%@ أسابيع"; +/* Label text below navbar button, embeds {{number of weeks}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5w' not '5 w'. See other *_TIME_AMOUNT strings */ +"TIME_AMOUNT_WEEKS_SHORT_FORMAT" = "%@اسبوع"; +/* Label for the cancel button in an alert or action sheet. */ +"TXT_CANCEL_TITLE" = "إلغاء"; +/* No comment provided by engineer. */ +"TXT_DELETE_TITLE" = "حذف"; +/* Filename for voice messages. */ +"VOICE_MESSAGE_FILE_NAME" = "رسالة صوتية"; +/* Message for the alert indicating the 'voice message' needs to be held to be held down to record. */ +"VOICE_MESSAGE_TOO_SHORT_ALERT_MESSAGE" = "اضغط باستمرار لتسجيل رسالة صوتية."; +/* Title for the alert indicating the 'voice message' needs to be held to be held down to record. */ +"VOICE_MESSAGE_TOO_SHORT_ALERT_TITLE" = "رسالة صوتية"; +/* Info Message when you disable disappearing messages */ +"YOU_DISABLED_DISAPPEARING_MESSAGES_CONFIGURATION" = "لقد قمت بتعطيل خاصية الرسائل المؤقتة."; +/* Info message embedding a {{time amount}}, see the *_TIME_AMOUNT strings for context. */ +"YOU_UPDATED_DISAPPEARING_MESSAGES_CONFIGURATION" = "قمت بتعيين وقت اختفاء الرسالة إلى %@"; +// MARK: - Session +"continue_2" = "التالي"; +"copy" = "نسخ"; +"invalid_url" = "عنوان URL غير صحيح"; +"next" = "التالي"; +"share" = "مشاركة"; +"invalid_session_id" = "معرف سيشن غير صحيح"; +"cancel" = "إلغاء"; +"your_session_id" = "معرف سيشن الخاص بك"; +"vc_landing_title_2" = "تبدأ جلستك هنا..."; +"vc_landing_register_button_title" = "إنشاء معرف سيشن"; +"vc_landing_restore_button_title" = "استئناف الجَلسة"; +"vc_landing_link_button_title" = "ربط جهاز"; +"view_fake_chat_bubble_1" = "ما (Session)؟"; +"view_fake_chat_bubble_2" = "هو تطبيق مراسلة مشفر, لامركزي"; +"view_fake_chat_bubble_3" = "إذن لا يجمع معلوماتي الشخصية ولا المعلومات حول محادثاتي؟ كيف يعمل؟"; +"view_fake_chat_bubble_4" = "باِستخدام مدمج من تقنيات التشفير من الطرفين و توجيه مجهول المسار للمعلومات."; +"view_fake_chat_bubble_5" = "الأصدقاء لا يتركون أصدقائهم يستعملون تطبيق مراسلة مكشوف. مرحبا بك."; +"vc_register_title" = "رحب بعنوان تعريفك"; +"vc_register_explanation" = "عنوان تعريفك هو عنوان وحيد خاص بك, يمكن للناس الاتصال بك عن طريقه. دون معرفة هويتك الحقيقية, هذا العنوان مصمم ليكون خاص و مجهول."; +"vc_restore_title" = "استرجع حسابك"; +"vc_restore_explanation" = "أدخل عبارة الاسترجاع التي أُعطيت لك عندما سجلت الدخول لاِسترجاع حسابك."; +"vc_restore_seed_text_field_hint" = "أدخل عبارة الاسترجاع"; +"vc_link_device_title" = "ربط جهاز"; +"vc_link_device_scan_qr_code_tab_title" = "امسح رمز الاستجابة السريع"; +"vc_display_name_title_2" = "اختر اسم العرض الخاص بك"; +"vc_display_name_explanation" = "هذا سيكون اِسمك عندما تستخدم Session. قد يكون اِسمك الحقيقي, اِسم مستعار أو اي شئ آخر تريده."; +"vc_display_name_text_field_hint" = "أدخل اسم العرض"; +"vc_display_name_display_name_missing_error" = "الرجاء اختيار اسم العرض"; +"vc_display_name_display_name_too_long_error" = "الرجاء اختيار اسم عرض أقصر"; +"vc_pn_mode_recommended_option_tag" = "مستحسن"; +"vc_pn_mode_no_option_picked_modal_title" = "اِختر"; +"vc_home_empty_state_message" = "ليس لديك أي جهة اتصال بعد"; +"vc_home_empty_state_button_title" = "ابدأ Session"; +"vc_seed_title" = "عبارة الاسترجاع الخاصة بك"; +"vc_seed_title_2" = "هذه هي عبارة الاسترجاع الخاصة بك"; +"vc_seed_explanation" = "عبارة الاسترجاع هي مفتاح لحسابك - يمكنك استخدامها لاسترجاع حسابك إذا فقدت الوصول لجهازك. احفظها في مكان آمن و لا تعطها أي أحد."; +"vc_seed_reveal_button_title" = "انقر مطولاً للكشف"; +"view_seed_reminder_subtitle_1" = "أمّن حسابك بحفظ عبارة استرجاع الحساب"; +"view_seed_reminder_subtitle_2" = "اضغط مع الاستمرار على الكلمات المخفاة للكشف عن عبارة الاسترداد الخاصة بم، ثم خزنها بأمان لحماية حسابك."; +"view_seed_reminder_subtitle_3" = "تأكد من الإحتفاظ بكلمات الإسترجاع الخاصة بك في مكان آمن"; +"vc_path_title" = "مسار"; +"vc_path_explanation" = "يقوم session بإخفاء عنوانIP الخاص بك بتمرير الرسائل عبر عدة خوادم في شبكة Session اللامركزية. هذه هي الدول التي يمر عبرها اتصالك:"; +"vc_path_device_row_title" = "أنت"; +"vc_path_guard_node_row_title" = "نقطة الدخول"; +"vc_path_service_node_row_title" = "نقطة الخدمة"; +"vc_path_destination_row_title" = "الوجهة"; +"vc_path_learn_more_button_title" = "معرفة المزيد"; +"vc_create_private_chat_title" = "رسالة جديدة"; +"vc_create_private_chat_enter_session_id_tab_title" = "أدخِل عنوان التعريف"; +"vc_create_private_chat_scan_qr_code_tab_title" = "امسح رمز الاستجابة السريع"; +"vc_enter_public_key_explanation" = "ابدأ محادثة جديدة بإدخال معرف جلسة شخص ما أو مشاركة معرفك معهم."; +"vc_scan_qr_code_camera_access_explanation" = "تطبيق\"الجلسة\"يحتاج الوصول إلى الكاميرا لمسح رموز الاستجابة السريعة"; +"vc_scan_qr_code_grant_camera_access_button_title" = "منح صلاحية الكاميرا"; +"vc_create_closed_group_title" = "انشئ مجموعة"; +"vc_create_closed_group_text_field_hint" = "أدخل إسم المجموعة"; +"vc_create_closed_group_empty_state_message" = "ليست لديك أية جهات اتصال حتى الآن"; +"vc_create_closed_group_group_name_missing_error" = "الرجاء إدخال إسم للمجموعة"; +"vc_create_closed_group_group_name_too_long_error" = "الرجاء إدخال إسم مجموعة أقصر"; +"vc_create_closed_group_too_many_group_members_error" = "المجموعة المغلقة لا يمكن ان تحتوي على أكثر من ١٠٠ مستخدم"; +"vc_join_public_chat_title" = "انضم إلى مجتمع"; +"vc_join_public_chat_enter_group_url_tab_title" = "رابط المجتمع"; +"vc_join_public_chat_scan_qr_code_tab_title" = "مسح رمز QR"; +"vc_enter_chat_url_text_field_hint" = "أدخل رابط المجتمع"; +"vc_settings_title" = "الإعدادات"; +"vc_group_settings_title" = "إعدادات المجموعة"; +"vc_settings_display_name_missing_error" = "الرجاء إختيار إسم العرض"; +"vc_settings_display_name_too_long_error" = "الرجاء إختيار اسم عرض أقصر"; +"vc_settings_privacy_button_title" = "الخصوصية"; +"vc_settings_notifications_button_title" = "الإشعارات"; +"vc_settings_recovery_phrase_button_title" = "عبارة الاسترجاع"; +"vc_settings_clear_all_data_button_title" = "مسح البيانات"; +"vc_qr_code_title" = "رمز الاستجابة السريع"; +"vc_qr_code_view_my_qr_code_tab_title" = "اظهر لي\"رمز الاستجابة السريع\" الخاص بي"; +"vc_qr_code_view_scan_qr_code_tab_title" = "مسح رمز QR"; +"vc_qr_code_view_scan_qr_code_explanation" = "امسح رمز QR لشخص ما لبدء محادثة معهم"; +"vc_view_my_qr_code_explanation" = "هذا هو رمز QR الخاص بك. يمكن للمستخدمين الآخرين فحصه لبدء جلسة معك."; +// MARK: - Not Yet Translated +"fast_mode_explanation" = "You’ll be notified of new messages reliably and immediately using Apple’s notification servers."; +"fast_mode" = "الوضع السريع"; +"slow_mode_explanation" = "Session will occasionally check for new messages in the background."; +"slow_mode" = "الوضع البطيئ"; +"vc_pn_mode_title" = "Message Notifications"; +"vc_link_device_recovery_phrase_tab_title" = "Recovery Phrase"; +"vc_link_device_scan_qr_code_explanation" = "Navigate to Settings → Recovery Phrase on your other device to show your QR code."; +"vc_enter_recovery_phrase_title" = "Recovery Phrase"; +"vc_enter_recovery_phrase_explanation" = "To link your device, enter the recovery phrase that was given to you when you signed up."; +"vc_enter_public_key_text_field_hint" = "Enter Session ID or ONS name"; +"admin_group_leave_warning" = "Because you are the creator of this group it will be deleted for everyone. This cannot be undone."; +"vc_join_open_group_suggestions_title" = "Or join one of these..."; +"vc_settings_invite_a_friend_button_title" = "Invite a Friend"; +"copied" = "Copied"; +"vc_conversation_settings_copy_session_id_button_title" = "Copy Session ID"; +"vc_conversation_input_prompt" = "Message"; +"vc_conversation_voice_message_cancel_message" = "Slide to Cancel"; +"modal_download_attachment_title" = "Trust %@?"; +"modal_download_attachment_explanation" = "Are you sure you want to download media sent by %@?"; +"modal_download_button_title" = "Download"; +"modal_open_url_title" = "Open URL?"; +"modal_open_url_explanation" = "Are you sure you want to open %@?"; +"modal_open_url_button_title" = "Open"; +"modal_copy_url_button_title" = "Copy Link"; +"modal_blocked_title" = "Unblock %@?"; +"modal_blocked_explanation" = "Are you sure you want to unblock %@?"; +"modal_blocked_button_title" = "Unblock"; +"modal_link_previews_title" = "Enable Link Previews?"; +"modal_link_previews_explanation" = "Enabling link previews will show previews for URLs you send and receive. This can be useful, but Session will need to contact linked websites to generate previews. You can always disable link previews in Session's settings."; +"modal_link_previews_button_title" = "Enable"; +"vc_share_title" = "Share to Session"; +"vc_share_loading_message" = "Preparing attachments..."; +"vc_share_sending_message" = "Sending..."; +"vc_share_link_previews_unsecure" = "Preview not loaded for unsecure link"; +"vc_share_link_previews_error" = "Unable to load preview"; +"vc_share_link_previews_disabled_title" = "Link Previews Disabled"; +"vc_share_link_previews_disabled_explanation" = "Enabling link previews will show previews for URLs you share. This can be useful, but Session will need to contact linked websites to generate previews.\n\nYou can enable link previews in Session's settings."; +"view_open_group_invitation_description" = "Open group invitation"; +"vc_conversation_settings_invite_button_title" = "إضافة أعضاء"; +"modal_send_seed_title" = "تحذير"; +"modal_send_seed_explanation" = "This is your recovery phrase. If you send it to someone they'll have full access to your account."; +"modal_send_seed_send_button_title" = "إرسل"; +"vc_conversation_settings_notify_for_mentions_only_title" = "إشعار للإشارات فقط"; +"vc_conversation_settings_notify_for_mentions_only_explanation" = "When enabled, you'll only be notified for messages mentioning you."; +"view_conversation_title_notify_for_mentions_only" = "Notifying for Mentions Only"; +"message_deleted" = "This message has been deleted"; +"delete_message_for_me" = "حذف لي فقط"; +"delete_message_for_everyone" = "حذف للجميع"; +"delete_message_for_me_and_recipient" = "Delete for me and %@"; +"context_menu_reply" = "رد"; +"context_menu_save" = "حفظ"; +"context_menu_ban_user" = "حظر المستخدم"; +"context_menu_ban_and_delete_all" = "حظر وحذف الكل"; +"context_menu_ban_user_error_alert_message" = "Unable to ban user"; +"accessibility_expanding_attachments_button" = "أضافه مرفقات"; +"accessibility_gif_button" = "Gif"; +"accessibility_document_button" = "مستند"; +"accessibility_library_button" = "مكتبة الصور"; +"accessibility_camera_button" = "الكاميرا"; +"accessibility_main_button_collapse" = "إغلاق خيارات المرفق"; +"invalid_recovery_phrase" = "Invalid Recovery Phrase"; +"DISMISS_BUTTON_TEXT" = "تجاهل"; +/* Button text which opens the settings app */ +"OPEN_SETTINGS_BUTTON" = "الإعدادات"; +"call_outgoing" = "You called %@"; +"call_incoming" = "%@ called you"; +"call_missed" = "مكالمة فائتة من %@"; +"APN_Message" = "لديك رسالة جديدة."; +"APN_Collapsed_Messages" = "لديك %@ رسائل جديدة."; +"PIN_BUTTON_TEXT" = "Pin"; +"UNPIN_BUTTON_TEXT" = "Unpin"; +"modal_call_missed_tips_title" = "Call missed"; +"modal_call_missed_tips_explanation" = "Call missed from '%@' because you needed to enable the 'Voice and video calls' permission in the Privacy Settings."; +"media_saved" = "Media saved by %@."; +"screenshot_taken" = "%@ took a screenshot."; +"SEARCH_SECTION_CONTACTS" = "Contacts & Groups"; +"SEARCH_SECTION_MESSAGES" = "Messages"; +"MESSAGE_REQUESTS_TITLE" = "Message Requests"; +"MESSAGE_REQUESTS_EMPTY_TEXT" = "No pending message requests"; +"MESSAGE_REQUESTS_CLEAR_ALL" = "Clear All"; +"MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_TITLE" = "Are you sure you want to clear all message requests?"; +"MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_ACTON" = "Clear"; +"MESSAGE_REQUESTS_DELETE_CONFIRMATION_ACTON" = "Are you sure you want to delete this message request?"; +"MESSAGE_REQUESTS_BLOCK_CONFIRMATION_ACTON" = "Are you sure you want to block this contact?"; +"MESSAGE_REQUESTS_INFO" = "Sending a message to this user will automatically accept their message request and reveal your Session ID."; +"MESSAGE_REQUESTS_ACCEPTED" = "Your message request has been accepted."; +"MESSAGE_REQUESTS_NOTIFICATION" = "You have a new message request"; +"TXT_HIDE_TITLE" = "Hide"; +"TXT_DELETE_ACCEPT" = "Accept"; +"TXT_BLOCK_USER_TITLE" = "Block User"; +"ALERT_ERROR_TITLE" = "Error"; +"modal_call_permission_request_title" = "Call Permissions Required"; +"modal_call_permission_request_explanation" = "You can enable the 'Voice and video calls' permission in the Privacy Settings."; +"DEFAULT_OPEN_GROUP_LOAD_ERROR_TITLE" = "Oops, an error occurred"; +"DEFAULT_OPEN_GROUP_LOAD_ERROR_SUBTITLE" = "Please try again later"; +"LOADING_CONVERSATIONS" = "Loading Conversations..."; +"DATABASE_MIGRATION_FAILED" = "An error occurred when optimising the database\n\nYou can export your application logs to be able to share for troubleshooting or you can restore your device\n\nWarning: Restoring your device will result in loss of any data older than two weeks"; +"RECOVERY_PHASE_ERROR_GENERIC" = "Something went wrong. Please check your recovery phrase and try again."; +"RECOVERY_PHASE_ERROR_LENGTH" = "Looks like you didn't enter enough words. Please check your recovery phrase and try again."; +"RECOVERY_PHASE_ERROR_LAST_WORD" = "You seem to be missing the last word of your recovery phrase. Please check what you entered and try again."; +"RECOVERY_PHASE_ERROR_INVALID_WORD" = "There appears to be an invalid word in your recovery phrase. Please check what you entered and try again."; +"RECOVERY_PHASE_ERROR_FAILED" = "Your recovery phrase couldn't be verified. Please check what you entered and try again."; +/* Indicates that an unknown error occurred while using Touch ID/Face ID/Phone Passcode. */ +"SCREEN_LOCK_ENABLE_UNKNOWN_ERROR" = "Authentication could not be accessed."; +/* Indicates that Touch ID/Face ID/Phone Passcode authentication failed. */ +"SCREEN_LOCK_ERROR_LOCAL_AUTHENTICATION_FAILED" = "Authentication failed."; +/* Indicates that Touch ID/Face ID/Phone Passcode is 'locked out' on this device due to authentication failures. */ +"SCREEN_LOCK_ERROR_LOCAL_AUTHENTICATION_LOCKOUT" = "Too many failed authentication attempts. Please try again later."; +/* Indicates that Touch ID/Face ID/Phone Passcode are not available on this device. */ +"SCREEN_LOCK_ERROR_LOCAL_AUTHENTICATION_NOT_AVAILABLE" = "You must enable a passcode in your iOS Settings in order to use Screen Lock."; +/* Indicates that Touch ID/Face ID/Phone Passcode is not configured on this device. */ +"SCREEN_LOCK_ERROR_LOCAL_AUTHENTICATION_NOT_ENROLLED" = "You must enable a passcode in your iOS Settings in order to use Screen Lock."; +/* Indicates that Touch ID/Face ID/Phone Passcode passcode is not set. */ +"SCREEN_LOCK_ERROR_LOCAL_AUTHENTICATION_PASSCODE_NOT_SET" = "You must enable a passcode in your iOS Settings in order to use Screen Lock."; +/* Label for the button to send a message */ +"SEND_BUTTON_TITLE" = "Send"; +/* Generic text for button that retries whatever the last action was. */ +"RETRY_BUTTON_TEXT" = "Retry"; +/* notification action */ +"SHOW_THREAD_BUTTON_TITLE" = "Show Chat"; +/* notification body */ +"SEND_FAILED_NOTIFICATION_BODY" = "Your message failed to send."; +"INVALID_SESSION_ID_MESSAGE" = "Please check the Session ID and try again."; +"INVALID_RECOVERY_PHRASE_MESSAGE" = "Please check the Recovery Phrase and try again."; +"MEDIA_TAB_TITLE" = "Media"; +"DOCUMENT_TAB_TITLE" = "Documents"; +"DOCUMENT_TILES_EMPTY_DOCUMENT" = "You don't have any document in this conversation."; +"DOCUMENT_TILES_LOADING_MORE_RECENT_LABEL" = "Loading Newer Document…"; +"DOCUMENT_TILES_LOADING_OLDER_LABEL" = "Loading Older Document…"; +/* The name for the emoji category 'Activities' */ +"EMOJI_CATEGORY_ACTIVITIES_NAME" = "Activities"; +/* The name for the emoji category 'Animals & Nature' */ +"EMOJI_CATEGORY_ANIMALS_NAME" = "Animals & Nature"; +/* The name for the emoji category 'Flags' */ +"EMOJI_CATEGORY_FLAGS_NAME" = "Flags"; +/* The name for the emoji category 'Food & Drink' */ +"EMOJI_CATEGORY_FOOD_NAME" = "Food & Drink"; +/* The name for the emoji category 'Objects' */ +"EMOJI_CATEGORY_OBJECTS_NAME" = "Objects"; +/* The name for the emoji category 'Recents' */ +"EMOJI_CATEGORY_RECENTS_NAME" = "Recently Used"; +/* The name for the emoji category 'Smileys & People' */ +"EMOJI_CATEGORY_SMILEYSANDPEOPLE_NAME" = "Smileys & People"; +/* The name for the emoji category 'Symbols' */ +"EMOJI_CATEGORY_SYMBOLS_NAME" = "Symbols"; +/* The name for the emoji category 'Travel & Places' */ +"EMOJI_CATEGORY_TRAVEL_NAME" = "Travel & Places"; +"EMOJI_REACTS_NOTIFICATION" = "%@ reacts to a message with %@."; +"EMOJI_REACTS_MORE_REACTORS_ONE" = "And 1 other has reacted %@ to this message."; +"EMOJI_REACTS_MORE_REACTORS_MUTIPLE" = "And %@ others have reacted %@ to this message."; +"EMOJI_REACTS_RATE_LIMIT_TOAST" = "Slow down! You've sent too many emoji reacts. Try again soon."; +/* New conversation screen*/ +"vc_new_conversation_title" = "New Conversation"; +"CREATE_GROUP_BUTTON_TITLE" = "Create"; +"JOIN_COMMUNITY_BUTTON_TITLE" = "Join"; +"PRIVACY_TITLE" = "Privacy"; +"PRIVACY_SECTION_SCREEN_SECURITY" = "Screen Security"; +"PRIVACY_SCREEN_SECURITY_LOCK_SESSION_TITLE" = "Lock Session"; +"PRIVACY_SCREEN_SECURITY_LOCK_SESSION_DESCRIPTION" = "Require Touch ID, Face ID or your passcode to unlock Session."; +"PRIVACY_SECTION_READ_RECEIPTS" = "Read Receipts"; +"PRIVACY_READ_RECEIPTS_TITLE" = "Read Receipts"; +"PRIVACY_READ_RECEIPTS_DESCRIPTION" = "Send read receipts in one-to-one chats."; +"PRIVACY_SECTION_TYPING_INDICATORS" = "Typing Indicators"; +"PRIVACY_TYPING_INDICATORS_TITLE" = "Typing Indicators"; +"PRIVACY_TYPING_INDICATORS_DESCRIPTION" = "See and share typing indicators in one-to-one conversations."; +"PRIVACY_SECTION_LINK_PREVIEWS" = "Link Previews"; +"PRIVACY_LINK_PREVIEWS_TITLE" = "Send Link Previews"; +"PRIVACY_LINK_PREVIEWS_DESCRIPTION" = "Generate link previews for supported URLs."; +"PRIVACY_SECTION_CALLS" = "Calls (Beta)"; +"PRIVACY_CALLS_TITLE" = "Voice and Video Calls"; +"PRIVACY_CALLS_DESCRIPTION" = "Enables voice and video calls to and from other users."; +"PRIVACY_CALLS_WARNING_TITLE" = "Voice and Video Calls (Beta)"; +"PRIVACY_CALLS_WARNING_DESCRIPTION" = "Your IP address is visible to your call partner and an Oxen Foundation server while using beta calls. Are you sure you want to enable Voice and Video Calls?"; +"NOTIFICATIONS_TITLE" = "Notifications"; +"NOTIFICATIONS_SECTION_STRATEGY" = "Notification Strategy"; +"NOTIFICATIONS_STRATEGY_FAST_MODE_TITLE" = "Use Fast Mode"; +"NOTIFICATIONS_STRATEGY_FAST_MODE_DESCRIPTION" = "You'll be notified of new message reliably and immediately using Apple's notification servers."; +"NOTIFICATIONS_STRATEGY_FAST_MODE_ACTION" = "Go to device notification settings"; +"NOTIFICATIONS_SECTION_STYLE" = "Notification Style"; +"NOTIFICATIONS_STYLE_SOUND_TITLE" = "Sound"; +"NOTIFICATIONS_STYLE_SOUND_WHEN_OPEN_TITLE" = "Sound When App is Open"; +"NOTIFICATIONS_STYLE_CONTENT_TITLE" = "Notification Content"; +"NOTIFICATIONS_STYLE_CONTENT_DESCRIPTION" = "The information shown in notifications."; +"NOTIFICATIONS_STYLE_CONTENT_OPTION_NAME_AND_CONTENT" = "Name & Content"; +"NOTIFICATIONS_STYLE_CONTENT_OPTION_NAME_ONLY" = "Name Only"; +"NOTIFICATIONS_STYLE_CONTENT_OPTION_NO_NAME_OR_CONTENT" = "No Name or Content"; +"CONVERSATION_SETTINGS_TITLE" = "Conversations"; +"CONVERSATION_SETTINGS_SECTION_MESSAGE_TRIMMING" = "Message Trimming"; +"CONVERSATION_SETTINGS_MESSAGE_TRIMMING_TITLE" = "Trim Communities"; +"CONVERSATION_SETTINGS_MESSAGE_TRIMMING_DESCRIPTION" = "Delete messages older than 6 months from Communities that have over 2,000 messages."; +"CONVERSATION_SETTINGS_SECTION_AUDIO_MESSAGES" = "Audio Messages"; +"CONVERSATION_SETTINGS_AUDIO_MESSAGES_AUTOPLAY_TITLE" = "Autoplay Audio Messages"; +"CONVERSATION_SETTINGS_AUDIO_MESSAGES_AUTOPLAY_DESCRIPTION" = "Autoplay consecutive audio messages."; +"CONVERSATION_SETTINGS_BLOCKED_CONTACTS_TITLE" = "Blocked Contacts"; +"CONVERSATION_SETTINGS_BLOCKED_CONTACTS_EMPTY_STATE" = "You have no blocked contacts."; +"CONVERSATION_SETTINGS_BLOCKED_CONTACTS_UNBLOCK" = "Unblock"; +"CONVERSATION_SETTINGS_BLOCKED_CONTACTS_UNBLOCK_CONFIRMATION_TITLE_SINGLE" = "Are you sure you want to unblock %@?"; +"CONVERSATION_SETTINGS_BLOCKED_CONTACTS_UNBLOCK_CONFIRMATION_TITLE_FALLBACK" = "this contact"; +"CONVERSATION_SETTINGS_BLOCKED_CONTACTS_UNBLOCK_CONFIRMATION_TITLE_MULTIPLE_1" = "Are you sure you want to unblock %@"; +"CONVERSATION_SETTINGS_BLOCKED_CONTACTS_UNBLOCK_CONFIRMATION_TITLE_MULTIPLE_2_SINGLE" = "and %@?"; +"CONVERSATION_SETTINGS_BLOCKED_CONTACTS_UNBLOCK_CONFIRMATION_TITLE_MULTIPLE_3" = "and %d others?"; +"CONVERSATION_SETTINGS_BLOCKED_CONTACTS_UNBLOCK_CONFIRMATION_ACTON" = "Unblock"; +"APPEARANCE_TITLE" = "Appearance"; +"APPEARANCE_THEMES_TITLE" = "Themes"; +"APPEARANCE_PRIMARY_COLOR_TITLE" = "Primary colour"; +"APPEARANCE_PRIMARY_COLOR_PREVIEW_INC_QUOTE" = "How are you?"; +"APPEARANCE_PRIMARY_COLOR_PREVIEW_INC_MESSAGE" = "I'm good thanks, you?"; +"APPEARANCE_PRIMARY_COLOR_PREVIEW_OUT_MESSAGE" = "I'm doing great, thanks."; +"APPEARANCE_NIGHT_MODE_TITLE" = "Auto night-mode"; +"APPEARANCE_NIGHT_MODE_TOGGLE" = "Match system settings"; +"HELP_TITLE" = "Help"; +"HELP_REPORT_BUG_TITLE" = "Report a Bug"; +"HELP_REPORT_BUG_DESCRIPTION" = "Export your logs, then upload the file though Session's Help Desk."; +"HELP_REPORT_BUG_ACTION_TITLE" = "Export Logs"; +"HELP_TRANSLATE_TITLE" = "Translate Session"; +"HELP_FEEDBACK_TITLE" = "We'd love your Feedback"; +"HELP_FAQ_TITLE" = "FAQ"; +"HELP_SUPPORT_TITLE" = "Support"; +"modal_clear_all_data_title" = "Clear All Data"; +"modal_clear_all_data_explanation" = "This will permanently delete your messages and contacts. Would you like to clear this device only, or delete your data from the network as well?"; +"modal_clear_all_data_explanation_2" = "Are you sure you want to delete your data from the network? If you continue, you will not be able to restore your messages or contacts."; +"modal_clear_all_data_device_only_button_title" = "Clear Device Only"; +"modal_clear_all_data_entire_account_button_title" = "Clear Device and Network"; +"dialog_clear_all_data_deletion_failed_1" = "Data not deleted by 1 Service Node. Service Node ID: %@."; +"dialog_clear_all_data_deletion_failed_2" = "Data not deleted by %@ Service Nodes. Service Node IDs: %@."; +"modal_clear_all_data_confirm" = "Clear"; +"modal_seed_title" = "Your Recovery Phrase"; +"modal_seed_explanation" = "You can use your recovery phrase to restore your account or link a device."; +"modal_permission_explanation" = "Session needs %@ access to continue. You can enable access in the iOS settings."; +"modal_permission_settings_title" = "Settings"; +"modal_permission_camera" = "camera"; +"modal_permission_microphone" = "microphone"; +"modal_permission_library" = "library"; +"DISAPPEARING_MESSAGES_OFF" = "Off"; +"DISAPPEARING_MESSAGES_SUBTITLE_OFF" = "Off"; +"DISAPPEARING_MESSAGES_SUBTITLE_DISAPPEAR_AFTER" = "Disappear After: %@"; +"COPY_GROUP_URL" = "Copy Group URL"; +"NEW_CONVERSATION_CONTACTS_SECTION_TITLE" = "Contacts"; +"GROUP_ERROR_NO_MEMBER_SELECTION" = "Please pick at least 1 group member"; +"GROUP_CREATION_PLEASE_WAIT" = "Please wait while the group is created..."; +"GROUP_CREATION_ERROR_TITLE" = "Couldn't Create Group"; +"GROUP_CREATION_ERROR_MESSAGE" = "Please check your internet connection and try again."; +"GROUP_UPDATE_ERROR_TITLE" = "Couldn't Update Group"; +"GROUP_UPDATE_ERROR_MESSAGE" = "Can't leave while adding or removing other members."; +"GROUP_ACTION_REMOVE" = "Remove"; +"GROUP_TITLE_MEMBERS" = "Members"; +"GROUP_TITLE_FALLBACK" = "Group"; +"DM_ERROR_DIRECT_BLINDED_ID" = "You can only send messages to Blinded IDs from within a Community"; +"DM_ERROR_INVALID" = "Please check the Session ID or ONS name and try again"; +"COMMUNITY_ERROR_INVALID_URL" = "Please check the URL you entered and try again."; +"COMMUNITY_ERROR_GENERIC" = "Couldn't Join"; +"DISAPPERING_MESSAGES_TITLE" = "Disappearing Messages"; +"DISAPPERING_MESSAGES_TYPE_TITLE" = "Delete Type"; +"DISAPPERING_MESSAGES_TYPE_AFTER_READ_TITLE" = "Disappear After Read"; +"DISAPPERING_MESSAGES_TYPE_AFTER_READ_DESCRIPTION" = "Messages delete after they have been read."; +"DISAPPERING_MESSAGES_TYPE_AFTER_SEND_TITLE" = "Disappear After Send"; +"DISAPPERING_MESSAGES_TYPE_AFTER_SEND_DESCRIPTION" = "Messages delete after they have been sent."; +"DISAPPERING_MESSAGES_TIMER_TITLE" = "Timer"; +"DISAPPERING_MESSAGES_SAVE_TITLE" = "Set"; +"DISAPPERING_MESSAGES_GROUP_WARNING" = "This setting applies to everyone in this conversation."; +"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to everyone in this conversation. Only group admins can change this setting."; +"DISAPPERING_MESSAGES_SUMMARY" = "Disappear After %@ - %@"; +"DISAPPERING_MESSAGES_INFO_ENABLE" = "%@ has set messages to disappear %@ after they have been %@"; +"DISAPPERING_MESSAGES_INFO_UPDATE" = "%@ has changed messages to disappear %@ after they have been %@"; +"DISAPPERING_MESSAGES_INFO_DISABLE" = "%@ has turned off disappearing messages"; + +/* context_menu_info */ +"context_menu_info" = "Info"; + +/* An error that is displayed when the application fails for create it's initial connection to the database */ +"DATABASE_STARTUP_FAILED" = "An error occurred when opening the database\n\nYou can export your application logs to share for troubleshooting or you can try to restore your device\n\nWarning: Restoring your device will result in loss of any data older than two weeks"; + +/* A warning displayed to the user when the application takes too long to launch */ +"APP_STARTUP_TIMEOUT" = "The app is taking a long time to start\n\nYou can continue to wait for the app to start, export your application logs to share for troubleshooting or you can try to open the app again"; + +/* The title of a button on a modal shown when the application fails to start, pressing the button closes the application */ +"APP_STARTUP_EXIT" = "Exit"; + +/* An error which occurs if the user tries to restore the database after an initial failure and it fails to restore */ +"DATABASE_RESTORE_FAILED" = "An error occurred when opening the restored database\n\nYou can export your application logs to share for troubleshooting but to continue to use Session you may need to reinstall"; + +/* Text displayed in place of a quoted message when the original message is not on the device */ +"QUOTED_MESSAGE_NOT_FOUND" = "Original message not found."; + +/* EMOJI_REACTS_SHOW_LESS */ +"EMOJI_REACTS_SHOW_LESS" = "Show less"; + +/* PRIVACY_SECTION_MESSAGE_REQUESTS */ +"PRIVACY_SECTION_MESSAGE_REQUESTS" = "Message Requests"; + +/* PRIVACY_SCREEN_MESSAGE_REQUESTS_COMMUNITY_TITLE */ +"PRIVACY_SCREEN_MESSAGE_REQUESTS_COMMUNITY_TITLE" = "Community Message Requests"; + +/* PRIVACY_SCREEN_MESSAGE_REQUESTS_COMMUNITY_DESCRIPTION */ +"PRIVACY_SCREEN_MESSAGE_REQUESTS_COMMUNITY_DESCRIPTION" = "Allow message requests from Community conversations."; + +/* Information displayed above the input when sending a message to a new user for the first time explaining limitations around the types of messages which can be sent before being approved */ +"MESSAGE_REQUEST_PENDING_APPROVAL_INFO" = "You will be able to send voice messages and attachments once the recipient has approved this message request"; + +/* State of a message while it's still in the process of being sent */ +"MESSAGE_DELIVERY_STATUS_SENDING" = "Sending"; + +/* State of a message once it has been sent */ +"MESSAGE_DELIVERY_STATUS_SENT" = "Sent"; + +/* State of a message after the recipient has read the message */ +"MESSAGE_DELIVERY_STATUS_READ" = "Read"; + +/* State of a message if it failed to be sent */ +"MESSAGE_DELIVERY_STATUS_FAILED" = "Failed to send"; + +/* Title of the message information screen describing the date/time a message was sent */ +"MESSAGE_INFO_SENT" = "Sent"; + +/* Title of the message information screen describing the date/time a message was received on a specific device */ +"MESSAGE_INFO_RECEIVED" = "Received"; + +/* Title of the message information screen describing the sender of the message */ +"MESSAGE_INFO_FROM" = "From"; + +/* Title of the message information screen describing the identifier of the attachment */ +"ATTACHMENT_INFO_FILE_ID" = "File ID"; + +/* Title of the message information screen describing the file type of the attachment */ +"ATTACHMENT_INFO_FILE_TYPE" = "File Type"; + +/* Title of the message information screen describing the size of the attachment */ +"ATTACHMENT_INFO_FILE_SIZE" = "File Size"; + +/* Title on the message information screen describing the resolution of a media attachment */ +"ATTACHMENT_INFO_RESOLUTION" = "Resolution"; + +/* Title on the message information screen describing the duration of a media attachment */ +"ATTACHMENT_INFO_DURATION" = "Duration"; + +/* State of a message after it failed to sync to the current users other devices */ +"MESSAGE_DELIVERY_STATUS_FAILED_SYNC" = "Failed to sync"; + +/* State of a message while it's in the process of being synced to the users other devices */ +"MESSAGE_DELIVERY_STATUS_SYNCING" = "Syncing"; + +/* Title of the modal that appears after a user taps on the state of a message which failed to send */ +"MESSAGE_DELIVERY_FAILED_TITLE" = "Failed to send message"; + +/* Title of the modal that appears after a user taps on the state of a message which failed to sync to the users other devices */ +"MESSAGE_DELIVERY_FAILED_SYNC_TITLE" = "Failed to sync message to your other devices"; + +/* Action for the modal shown when asking the user whether they want to delete from all of their devices */ +"delete_message_for_me_and_my_devices" = "Delete from all of my devices"; + +/* Action in the long-press menu to trigger a message to be sent again after it has failed */ +"context_menu_resend" = "Resend"; + +/* Action in the long-press menu to trigger a message to be synced again after it has failed */ +"context_menu_resync" = "Resync"; + +/* Title of a modal show the first time a user tries to search for GIFs */ +"GIPHY_PERMISSION_TITLE" = "Search GIFs?"; + +/* Message of a modal show the first time a user tries to search for GIFs */ +"GIPHY_PERMISSION_MESSAGE" = "Session will connect to Giphy to provide search results. You will not have full metadata protection when sending GIFs."; + +/* Action in the long-press menu to view more information about a specific message */ +"message_info_title" = "Message Info"; + +/* Action to mute a conversation in the swipe menu */ +"mute_button_text" = "Mute"; + +/* Action in the swipe menu to unmute a conversation */ +"unmute_button_text" = "Unmute"; + +/* Action in the swipe menu to mark a conversation as read */ +"MARK_AS_READ" = "Mark read"; + +/* Action in the swipe menu to mark a conversation as unread */ +"MARK_AS_UNREAD" = "Mark unread"; + +/* Title of the confirmation modal show when attempting to leave a group conversation */ +"leave_group_confirmation_alert_title" = "Leave Group"; + +/* Title of the confirmation modal show when attempting to leave a community conversation */ +"leave_community_confirmation_alert_title" = "Leave Community"; + +/* Message in the confirmation modal when leaving a community conversation */ +"leave_community_confirmation_alert_message" = "Are you sure you want to leave %@?"; + +/* Conversation subtitle while the user in the process of leaving */ +"group_you_leaving" = "Leaving..."; + +/* Conversation subtitle if the user in the failed to leave */ +"group_leave_error" = "Failed to leave Group!"; + +/* Message within a conversation indicating the device was unable to leave a group conversation */ +"group_unable_to_leave" = "Unable to leave the Group, please try again"; + +/* Title in the confirmation modal to delete a group */ +"delete_group_confirmation_alert_title" = "Delete Group"; + +/* Message in the confirmation modal to delete a group */ +"delete_group_confirmation_alert_message" = "Are you sure you want to delete %@?"; + +/* Title in the confirmation modal when the user tries to delete a one-to-one conversation */ +"delete_conversation_confirmation_alert_title" = "Delete Conversation"; + +/* Message in the confirmation modal when the user tries to delete a one-to-one conversation */ +"delete_conversation_confirmation_alert_message" = "Are you sure you want to delete your conversation with %@?"; + +/* Title in the confirmation modal when the user tries to hide the 'Note to Self' conversation */ +"hide_note_to_self_confirmation_alert_title" = "Hide Note to Self"; + +/* Message in the confirmation modal when the user tries to hide the 'Note to Self' conversation */ +"hide_note_to_self_confirmation_alert_message" = "Are you sure you want to hide %@?"; + +/* Title in the modal for updating the users profile display picture */ +"update_profile_modal_title" = "Set Display Picture"; + +/* Save action in the modal for updating the users profile display picture */ +"update_profile_modal_save" = "Save"; + +/* Remove action in the modal for updating the users profile display picture */ +"update_profile_modal_remove" = "Remove"; + +/* Title for the error when failing to remove the users profile display picture */ +"update_profile_modal_remove_error_title" = "Unable to remove avatar image"; + +/* Title for the error when the user selects a profile display picture that is too large */ +"update_profile_modal_max_size_error_title" = "Maximum File Size Exceeded"; + +/* Message for the error when the user selects a profile display picture that is too large */ +"update_profile_modal_max_size_error_message" = "Please select a smaller photo and try again"; + +/* Title for the error when the user fails to update their profile display picture */ +"update_profile_modal_error_title" = "Couldn't Update Profile"; + +/* Message for the error when the user fails to update their profile display picture */ +"update_profile_modal_error_message" = "Please check your internet connection and try again"; + +/* Placeholder when entering a nickname for a contact */ +"CONTACT_NICKNAME_PLACEHOLDER" = "Enter a name"; + +/* The separator within a conversation indicating that following messages are unread */ +"UNREAD_MESSAGES" = "Unread Messages"; + +/* Empty state for a conversation */ +"CONVERSATION_EMPTY_STATE" = "You have no messages from %@. Send a message to start the conversation!"; + +/* Empty state for a read-only conversation */ +"CONVERSATION_EMPTY_STATE_READ_ONLY" = "There are no messages in %@."; + +/* Empty state for the 'Note to Self' conversation */ +"CONVERSATION_EMPTY_STATE_NOTE_TO_SELF" = "You have no messages in %@."; + +/* Message to indicate a user has Community Message Requests disabled */ +"COMMUNITY_MESSAGE_REQUEST_DISABLED_EMPTY_STATE" = "%@ has message requests from Community conversations turned off, so you cannot send them a message."; + +/* Warning to indicate one of the users devices is running an old version of Session */ +"USER_CONFIG_OUTDATED_WARNING" = "Some of your devices are using outdated versions. Syncing may be unreliable until they are updated."; + +/* Ann error displayed if the device is unable to retrieve the users recovery password */ +"LOAD_RECOVERY_PASSWORD_ERROR" = "An error occurred when trying to load your recovery password.\n\nPlease export your logs, then upload the file though Session's Help Desk to help resolve this issue."; + +/* An error displayed when trying to send a message if the device is unable to save it to the database */ +"FAILED_TO_STORE_OUTGOING_MESSAGE" = "An error occurred when trying to store the outgoing message for sending, you may need to restart the app before you can send messages."; + +/* An error indicating that the device was unable to access the database for some reason */ +"database_inaccessible_error" = "There is an issue opening the database. Please restart the app and try again."; diff --git a/Session/Meta/Translations/be.lproj/Localizable.strings b/Session/Meta/Translations/be.lproj/Localizable.strings new file mode 100644 index 000000000..f377c4606 --- /dev/null +++ b/Session/Meta/Translations/be.lproj/Localizable.strings @@ -0,0 +1,782 @@ +/* No comment provided by engineer. */ +"ATTACHMENT" = "Прыкладанне"; +/* Title for 'caption' mode of the attachment approval view. */ +"ATTACHMENT_APPROVAL_CAPTION_TITLE" = "Загаловак"; +/* Format string for file extension label in call interstitial view */ +"ATTACHMENT_APPROVAL_FILE_EXTENSION_FORMAT" = "Тып файла:% type%"; +/* Format string for file size label in call interstitial view. Embeds: {{file size as 'N mb' or 'N kb'}}. */ +"ATTACHMENT_APPROVAL_FILE_SIZE_FORMAT" = "Памер: %@"; +/* One-line label indicating the user can add no more text to the media message field. */ +"ATTACHMENT_APPROVAL_MESSAGE_LENGTH_LIMIT_REACHED" = "Ліміт паведамленняў дасягнуты"; +/* Label for 'send' button in the 'attachment approval' dialog. */ +"ATTACHMENT_APPROVAL_SEND_BUTTON" = "Адправіць"; +/* Generic filename for an attachment with no known name */ +"ATTACHMENT_DEFAULT_FILENAME" = "Прыкладанне"; +/* The title of the 'attachment error' alert. */ +"ATTACHMENT_ERROR_ALERT_TITLE" = "Памылка адпраўкі ўкладання"; +/* Attachment error message for image attachments which could not be converted to JPEG */ +"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_JPEG" = "Немагчыма канвертаваць малюнак."; +/* Attachment error message for video attachments which could not be converted to MP4 */ +"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_MP4" = "Немагчыма апрацаваць відэа."; +/* Attachment error message for image attachments which cannot be parsed */ +"ATTACHMENT_ERROR_COULD_NOT_PARSE_IMAGE" = "Немагчыма прааналізаваць малюнак."; +/* Attachment error message for image attachments in which metadata could not be removed */ +"ATTACHMENT_ERROR_COULD_NOT_REMOVE_METADATA" = "Немагчыма выдаліць метададзеныя з малюнку."; +/* Attachment error message for image attachments which could not be resized */ +"ATTACHMENT_ERROR_COULD_NOT_RESIZE_IMAGE" = "Немагчыма змяніць памер малюнка."; +/* Attachment error message for attachments whose data exceed file size limits */ +"ATTACHMENT_ERROR_FILE_SIZE_TOO_LARGE" = "Укладанне занадта вялікае."; +/* Attachment error message for attachments with invalid data */ +"ATTACHMENT_ERROR_INVALID_DATA" = "Далучэнне змяшчае несапраўдны кантэнт."; +/* Attachment error message for attachments with an invalid file format */ +"ATTACHMENT_ERROR_INVALID_FILE_FORMAT" = "Далучэнне мае няправільны фармат файла."; +/* Attachment error message for attachments without any data */ +"ATTACHMENT_ERROR_MISSING_DATA" = "Attachment is empty."; +/* Alert title when picking a document fails for an unknown reason */ +"ATTACHMENT_PICKER_DOCUMENTS_FAILED_ALERT_TITLE" = "Failed to choose document."; +/* Alert body when picking a document fails because user picked a directory/bundle */ +"ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_BODY" = "Please create a compressed archive of this file or directory and try sending that instead."; +/* Alert title when picking a document fails because user picked a directory/bundle */ +"ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_TITLE" = "Unsupported File"; +/* Short text label for a voice message attachment, used for thread preview and on the lock screen */ +"ATTACHMENT_TYPE_VOICE_MESSAGE" = "Voice Message"; +/* Button label for the 'block' button */ +"BLOCK_LIST_BLOCK_BUTTON" = "Блакаваць"; +/* A format for the 'block user' action sheet title. Embeds {{the blocked user's name or phone number}}. */ +"BLOCK_LIST_BLOCK_USER_TITLE_FORMAT" = "Block %@?"; +/* A format for the 'unblock user' action sheet title. Embeds {{the unblocked user's name or phone number}}. */ +"BLOCK_LIST_UNBLOCK_TITLE_FORMAT" = "Unblock %@?"; +/* Button label for the 'unblock' button */ +"BLOCK_LIST_UNBLOCK_BUTTON" = "Разблакіраваць"; +/* The message format of the 'conversation blocked' alert. Embeds the {{conversation title}}. */ +"BLOCK_LIST_VIEW_BLOCKED_ALERT_MESSAGE_FORMAT" = "%@ has been blocked."; +/* The title of the 'user blocked' alert. */ +"BLOCK_LIST_VIEW_BLOCKED_ALERT_TITLE" = "Карыстальнік заблакіраваны"; +/* Alert title after unblocking a group or 1:1 chat. Embeds the {{conversation title}}. */ +"BLOCK_LIST_VIEW_UNBLOCKED_ALERT_TITLE_FORMAT" = "%@ has been unblocked."; +/* An explanation of the consequences of blocking another user. */ +"BLOCK_USER_BEHAVIOR_EXPLANATION" = "Заблакіраваныя карыстальнікі не змогуць тэлефанаваць вам або адпраўляць вам паведамленні."; +/* Label for generic done button. */ +"BUTTON_DONE" = "Зроблена"; +/* Button text to enable batch selection mode */ +"BUTTON_SELECT" = "Выбраць"; +/* keyboard toolbar label when starting to search with no current results */ +"CONVERSATION_SEARCH_SEARCHING" = "Searching..."; +/* keyboard toolbar label when no messages match the search string */ +"CONVERSATION_SEARCH_NO_RESULTS" = "No matches"; +/* keyboard toolbar label when exactly 1 message matches the search string */ +"CONVERSATION_SEARCH_ONE_RESULT" = "1 матч"; +/* keyboard toolbar label when more than 1 message matches the search string. Embeds {{number/position of the 'currently viewed' result}} and the {{total number of results}} */ +"CONVERSATION_SEARCH_RESULTS_FORMAT" = "%d of %d matches"; +/* table cell label in conversation settings */ +"CONVERSATION_SETTINGS_BLOCK_THIS_USER" = "Заблакіраваць гэтага карыстальніка"; +/* label for 'mute thread' cell in conversation settings */ +"CONVERSATION_SETTINGS_MUTE_LABEL" = "Без гуку"; +/* Table cell label in conversation settings which returns the user to the conversation with 'search mode' activated */ +"CONVERSATION_SETTINGS_SEARCH" = "Search Conversation"; +/* Title for the 'crop/scale image' dialog. */ +"CROP_SCALE_IMAGE_VIEW_TITLE" = "Move and Scale"; +/* Subtitle shown while the app is updating its database. */ +"DATABASE_VIEW_OVERLAY_SUBTITLE" = "This can take a few minutes."; +/* Title shown while the app is updating its database. */ +"DATABASE_VIEW_OVERLAY_TITLE" = "Optimizing Database"; +/* The present; the current time. */ +"DATE_NOW" = "Цяпер"; +/* table cell label in conversation settings */ +"DISAPPEARING_MESSAGES" = "Знікаючыя паведамленні"; +/* table cell label in conversation settings */ +"EDIT_GROUP_ACTION" = "Рэдагаваць групу"; +/* Label indicating media gallery is empty */ +"GALLERY_TILES_EMPTY_GALLERY" = "Вы не маеце ніякай інфармацыі ў гэтай тэме."; +/* Label indicating loading is in progress */ +"GALLERY_TILES_LOADING_MORE_RECENT_LABEL" = "Загрузка новых медыя…"; +/* Label indicating loading is in progress */ +"GALLERY_TILES_LOADING_OLDER_LABEL" = "Загрузка старых медыя…"; +/* Error displayed when there is a failure fetching a GIF from the remote service. */ +"GIF_PICKER_ERROR_FETCH_FAILURE" = "Не атрымалася атрымаць запытаны GIF. Упэўніцеся, што вы знаходзіцеся ў Інтэрнэце."; +/* Generic error displayed when picking a GIF */ +"GIF_PICKER_ERROR_GENERIC" = "Адбылася невядомая памылка."; +/* Shown when selected GIF couldn't be fetched */ +"GIF_PICKER_FAILURE_ALERT_TITLE" = "Немагчыма выбраць GIF"; +/* Alert message shown when user tries to search for GIFs without entering any search terms. */ +"GIF_PICKER_VIEW_MISSING_QUERY" = "Калі ласка, увядзіце пошук."; +/* Indicates that an error occurred while searching. */ +"GIF_VIEW_SEARCH_ERROR" = "Памылка. Націсніце, каб паўтарыць спробу."; +/* Indicates that the user's search had no results. */ +"GIF_VIEW_SEARCH_NO_RESULTS" = "Нічога не знойдзена."; +/* No comment provided by engineer. */ +"GROUP_CREATED" = "Група створана"; +/* No comment provided by engineer. */ +"GROUP_MEMBER_JOINED" = "%@ joined the group. "; +/* No comment provided by engineer. */ +"GROUP_MEMBER_LEFT" = "%@ left the group. "; +/* No comment provided by engineer. */ +"GROUP_MEMBER_REMOVED" = "%@ was removed from the group. "; +/* No comment provided by engineer. */ +"GROUP_MEMBERS_REMOVED" = "%@ were removed from the group. "; +/* No comment provided by engineer. */ +"GROUP_TITLE_CHANGED" = "Title is now '%@'. "; +/* No comment provided by engineer. */ +"GROUP_UPDATED" = "Group updated."; +/* No comment provided by engineer. */ +"GROUP_YOU_LEFT" = "You have left the group."; +/* No comment provided by engineer. */ +"YOU_WERE_REMOVED" = " You were removed from the group. "; +/* Momentarily shown to the user when attempting to select more images than is allowed. Embeds {{max number of items}} that can be shared. */ +"IMAGE_PICKER_CAN_SELECT_NO_MORE_TOAST_FORMAT" = "You can't share more than %@ items."; +/* alert title */ +"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Failed to select attachment."; +/* Message for the alert indicating that an audio file is invalid. */ +"INVALID_AUDIO_FILE_ALERT_ERROR_MESSAGE" = "Invalid audio file."; +/* Confirmation button within contextual alert */ +"LEAVE_BUTTON_TITLE" = "Пакінуць"; +/* table cell label in conversation settings */ +"LEAVE_GROUP_ACTION" = "Пакінуць групу"; +/* nav bar button item */ +"MEDIA_DETAIL_VIEW_ALL_MEDIA_BUTTON" = "Усе медыя"; +/* Confirmation button text to delete selected media from the gallery, embeds {{number of messages}} */ +"MEDIA_GALLERY_DELETE_MULTIPLE_MESSAGES_FORMAT" = "Выдаліць %d паведамленняў"; +/* Confirmation button text to delete selected media message from the gallery */ +"MEDIA_GALLERY_DELETE_SINGLE_MESSAGE" = "Выдаліць паведамленне"; +/* embeds {{sender name}} and {{sent datetime}}, e.g. 'Sarah on 10/30/18, 3:29' */ +"MEDIA_GALLERY_LANDSCAPE_TITLE_FORMAT" = "%@ на %@"; +/* Format for the 'more items' indicator for media galleries. Embeds {{the number of additional items}}. */ +"MEDIA_GALLERY_MORE_ITEMS_FORMAT" = "+%@"; +/* Short sender label for media sent by you */ +"MEDIA_GALLERY_SENDER_NAME_YOU" = "You"; +/* Section header in media gallery collection view */ +"MEDIA_GALLERY_THIS_MONTH_HEADER" = "This Month"; +/* status message for failed messages */ +"MESSAGE_STATUS_FAILED" = "Sending failed."; +/* status message for read messages */ +"MESSAGE_STATUS_READ" = "Read"; +/* message status while message is sending. */ +"MESSAGE_STATUS_SENDING" = "Адпраўка…"; +/* status message for sent messages */ +"MESSAGE_STATUS_SENT" = "Адпраўлена"; +/* status message while attachment is uploading */ +"MESSAGE_STATUS_UPLOADING" = "Загрузка…"; +/* notification title. Embeds {{author name}} and {{group name}} */ +"NEW_GROUP_MESSAGE_NOTIFICATION_TITLE" = "%@ да %@"; +/* Label for 1:1 conversation with yourself. */ +"NOTE_TO_SELF" = "Нататка для сябе"; +/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */ +"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "Заданне можа быць адноўлена з паведамленнямі пасля перазапуску."; +/* No comment provided by engineer. */ +"BUTTON_OK" = "Добра"; +/* Info Message when {{other user}} disables or doesn't support disappearing messages */ +"OTHER_DISABLED_DISAPPEARING_MESSAGES_CONFIGURATION" = "%@ disabled disappearing messages."; +/* Info Message when {{other user}} updates message expiration to {{time amount}}, see the *_TIME_AMOUNT strings for context. */ +"OTHER_UPDATED_DISAPPEARING_MESSAGES_CONFIGURATION" = "%@ set disappearing message time to %@"; +/* alert title, generic error preventing user from capturing a photo */ +"PHOTO_CAPTURE_GENERIC_ERROR" = "Unable to capture image."; +/* alert title */ +"PHOTO_CAPTURE_UNABLE_TO_CAPTURE_IMAGE" = "Unable to capture image."; +/* alert title */ +"PHOTO_CAPTURE_UNABLE_TO_INITIALIZE_CAMERA" = "Failed to configure camera."; +/* label for system photo collections which have no name. */ +"PHOTO_PICKER_UNNAMED_COLLECTION" = "Unnamed Album"; +/* Notification action button title */ +"PUSH_MANAGER_MARKREAD" = "Mark as Read"; +/* Notification action button title */ +"PUSH_MANAGER_REPLY" = "Reply"; +/* Description of how and why Session iOS uses Touch ID/Face ID/Phone Passcode to unlock 'screen lock'. */ +"SCREEN_LOCK_REASON_UNLOCK_SCREEN_LOCK" = "Authenticate to open Session."; +/* Title for alert indicating that screen lock could not be unlocked. */ +"SCREEN_LOCK_UNLOCK_FAILED" = "Authentication Failed"; +/* alert title when user attempts to leave the send media flow when they have an in-progress album */ +"SEND_MEDIA_ABANDON_TITLE" = "Discard Media?"; +/* alert action, confirming the user wants to exit the media flow and abandon any photos they've taken */ +"SEND_MEDIA_CONFIRM_ABANDON_ALBUM" = "Discard Media"; +/* Format string for the default 'Note' sound. Embeds the system {{sound name}}. */ +"SETTINGS_AUDIO_DEFAULT_TONE_LABEL_FORMAT" = "%@ (default)"; +/* Label for settings view that allows user to change the notification sound. */ +"SETTINGS_ITEM_NOTIFICATION_SOUND" = "Message Sound"; +/* Label for the 'no sound' option that allows users to disable sounds for notifications, etc. */ +"SOUNDS_NONE" = "None"; +/* {{number of days}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 days}}'. See other *_TIME_AMOUNT strings */ +"TIME_AMOUNT_DAYS" = "%@ days"; +/* Label text below navbar button, embeds {{number of days}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5d' not '5 d'. See other *_TIME_AMOUNT strings */ +"TIME_AMOUNT_DAYS_SHORT_FORMAT" = "%@d"; +/* {{number of hours}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 hours}}'. See other *_TIME_AMOUNT strings */ +"TIME_AMOUNT_HOURS" = "%@ hours"; +/* Label text below navbar button, embeds {{number of hours}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5h' not '5 h'. See other *_TIME_AMOUNT strings */ +"TIME_AMOUNT_HOURS_SHORT_FORMAT" = "%@h"; +/* {{number of minutes}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 minutes}}'. See other *_TIME_AMOUNT strings */ +"TIME_AMOUNT_MINUTES" = "%@ minutes"; +/* Label text below navbar button, embeds {{number of minutes}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5m' not '5 m'. See other *_TIME_AMOUNT strings */ +"TIME_AMOUNT_MINUTES_SHORT_FORMAT" = "%@m"; +/* {{number of seconds}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 seconds}}'. See other *_TIME_AMOUNT strings */ +"TIME_AMOUNT_SECONDS" = "%@ seconds"; +/* Label text below navbar button, embeds {{number of seconds}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5s' not '5 s'. See other *_TIME_AMOUNT strings */ +"TIME_AMOUNT_SECONDS_SHORT_FORMAT" = "%@s"; +/* {{1 day}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{1 day}}'. See other *_TIME_AMOUNT strings */ +"TIME_AMOUNT_SINGLE_DAY" = "%@ day"; +/* {{1 hour}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{1 hour}}'. See other *_TIME_AMOUNT strings */ +"TIME_AMOUNT_SINGLE_HOUR" = "%@ hour"; +/* {{1 minute}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{1 minute}}'. See other *_TIME_AMOUNT strings */ +"TIME_AMOUNT_SINGLE_MINUTE" = "%@ minute"; +/* {{1 week}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{1 week}}'. See other *_TIME_AMOUNT strings */ +"TIME_AMOUNT_SINGLE_WEEK" = "%@ week"; +/* {{number of weeks}}, embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 weeks}}'. See other *_TIME_AMOUNT strings */ +"TIME_AMOUNT_WEEKS" = "%@ weeks"; +/* Label text below navbar button, embeds {{number of weeks}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5w' not '5 w'. See other *_TIME_AMOUNT strings */ +"TIME_AMOUNT_WEEKS_SHORT_FORMAT" = "%@w"; +/* Label for the cancel button in an alert or action sheet. */ +"TXT_CANCEL_TITLE" = "Cancel"; +/* No comment provided by engineer. */ +"TXT_DELETE_TITLE" = "Delete"; +/* Filename for voice messages. */ +"VOICE_MESSAGE_FILE_NAME" = "Voice Message"; +/* Message for the alert indicating the 'voice message' needs to be held to be held down to record. */ +"VOICE_MESSAGE_TOO_SHORT_ALERT_MESSAGE" = "Tap and hold to record a voice message."; +/* Title for the alert indicating the 'voice message' needs to be held to be held down to record. */ +"VOICE_MESSAGE_TOO_SHORT_ALERT_TITLE" = "Voice Message"; +/* Info Message when you disable disappearing messages */ +"YOU_DISABLED_DISAPPEARING_MESSAGES_CONFIGURATION" = "You disabled disappearing messages."; +/* Info message embedding a {{time amount}}, see the *_TIME_AMOUNT strings for context. */ +"YOU_UPDATED_DISAPPEARING_MESSAGES_CONFIGURATION" = "You set disappearing message time to %@"; +// MARK: - Session +"continue_2" = "Continue"; +"copy" = "Copy"; +"invalid_url" = "Invalid URL"; +"next" = "Next"; +"share" = "Share"; +"invalid_session_id" = "Invalid Session ID"; +"cancel" = "Cancel"; +"your_session_id" = "Your Session ID"; +"vc_landing_title_2" = "Your Session begins here..."; +"vc_landing_register_button_title" = "Create Session ID"; +"vc_landing_restore_button_title" = "Continue Your Session"; +"vc_landing_link_button_title" = "Link a Device"; +"view_fake_chat_bubble_1" = "What's Session?"; +"view_fake_chat_bubble_2" = "It's a decentralized, encrypted messaging app"; +"view_fake_chat_bubble_3" = "So it doesn't collect my personal information or my conversation metadata? How does it work?"; +"view_fake_chat_bubble_4" = "Using a combination of advanced anonymous routing and end-to-end encryption technologies."; +"view_fake_chat_bubble_5" = "Friends don't let friends use compromised messengers. You're welcome."; +"vc_register_title" = "Say hello to your Session ID"; +"vc_register_explanation" = "Your Session ID is the unique address people can use to contact you on Session. With no connection to your real identity, your Session ID is totally anonymous and private by design."; +"vc_restore_title" = "Restore your account"; +"vc_restore_explanation" = "Enter the recovery phrase that was given to you when you signed up to restore your account."; +"vc_restore_seed_text_field_hint" = "Enter your recovery phrase"; +"vc_link_device_title" = "Link a Device"; +"vc_link_device_scan_qr_code_tab_title" = "Scan QR Code"; +"vc_display_name_title_2" = "Pick your display name"; +"vc_display_name_explanation" = "This will be your name when you use Session. It can be your real name, an alias, or anything else you like."; +"vc_display_name_text_field_hint" = "Enter a display name"; +"vc_display_name_display_name_missing_error" = "Please pick a display name"; +"vc_display_name_display_name_too_long_error" = "Please pick a shorter display name"; +"vc_pn_mode_recommended_option_tag" = "Recommended"; +"vc_pn_mode_no_option_picked_modal_title" = "Please Pick an Option"; +"vc_home_empty_state_message" = "You don't have any contacts yet"; +"vc_home_empty_state_button_title" = "Start a Session"; +"vc_seed_title" = "Your Recovery Phrase"; +"vc_seed_title_2" = "Meet your recovery phrase"; +"vc_seed_explanation" = "Your recovery phrase is the master key to your Session ID — you can use it to restore your Session ID if you lose access to your device. Store your recovery phrase in a safe place, and don’t give it to anyone."; +"vc_seed_reveal_button_title" = "Hold to reveal"; +"view_seed_reminder_subtitle_1" = "Secure your account by saving your recovery phrase"; +"view_seed_reminder_subtitle_2" = "Tap and hold the redacted words to reveal your recovery phrase, then store it safely to secure your Session ID."; +"view_seed_reminder_subtitle_3" = "Make sure to store your recovery phrase in a safe place"; +"vc_path_title" = "Path"; +"vc_path_explanation" = "Session hides your IP by routing your messages through multiple Service Nodes in Session's decentralized network. These are the countries your connection is currently being routed through:"; +"vc_path_device_row_title" = "You"; +"vc_path_guard_node_row_title" = "Entry Node"; +"vc_path_service_node_row_title" = "Service Node"; +"vc_path_destination_row_title" = "Destination"; +"vc_path_learn_more_button_title" = "Learn More"; +"vc_create_private_chat_title" = "New Message"; +"vc_create_private_chat_enter_session_id_tab_title" = "Enter Session ID"; +"vc_create_private_chat_scan_qr_code_tab_title" = "Scan QR Code"; +"vc_enter_public_key_explanation" = "Start a new conversation by entering someone's Session ID or share your Session ID with them."; +"vc_scan_qr_code_camera_access_explanation" = "Session needs camera access to scan QR codes"; +"vc_scan_qr_code_grant_camera_access_button_title" = "Grant Camera Access"; +"vc_create_closed_group_title" = "Create Group"; +"vc_create_closed_group_text_field_hint" = "Enter a group name"; +"vc_create_closed_group_empty_state_message" = "You don't have any contacts yet"; +"vc_create_closed_group_group_name_missing_error" = "Please enter a group name"; +"vc_create_closed_group_group_name_too_long_error" = "Please enter a shorter group name"; +"vc_create_closed_group_too_many_group_members_error" = "A closed group cannot have more than 100 members"; +"vc_join_public_chat_title" = "Join Community"; +"vc_join_public_chat_enter_group_url_tab_title" = "Community URL"; +"vc_join_public_chat_scan_qr_code_tab_title" = "Scan QR Code"; +"vc_enter_chat_url_text_field_hint" = "Enter Community URL"; +"vc_settings_title" = "Settings"; +"vc_group_settings_title" = "Group Settings"; +"vc_settings_display_name_missing_error" = "Please pick a display name"; +"vc_settings_display_name_too_long_error" = "Please pick a shorter display name"; +"vc_settings_privacy_button_title" = "Privacy"; +"vc_settings_notifications_button_title" = "Notifications"; +"vc_settings_recovery_phrase_button_title" = "Recovery Phrase"; +"vc_settings_clear_all_data_button_title" = "Clear Data"; +"vc_qr_code_title" = "QR Code"; +"vc_qr_code_view_my_qr_code_tab_title" = "View My QR Code"; +"vc_qr_code_view_scan_qr_code_tab_title" = "Scan QR Code"; +"vc_qr_code_view_scan_qr_code_explanation" = "Scan someone's QR code to start a conversation with them"; +"vc_view_my_qr_code_explanation" = "This is your QR code. Other users can scan it to start a session with you."; +// MARK: - Not Yet Translated +"fast_mode_explanation" = "You’ll be notified of new messages reliably and immediately using Apple’s notification servers."; +"fast_mode" = "Fast Mode"; +"slow_mode_explanation" = "Session will occasionally check for new messages in the background."; +"slow_mode" = "Slow Mode"; +"vc_pn_mode_title" = "Message Notifications"; +"vc_link_device_recovery_phrase_tab_title" = "Recovery Phrase"; +"vc_link_device_scan_qr_code_explanation" = "Navigate to Settings → Recovery Phrase on your other device to show your QR code."; +"vc_enter_recovery_phrase_title" = "Recovery Phrase"; +"vc_enter_recovery_phrase_explanation" = "To link your device, enter the recovery phrase that was given to you when you signed up."; +"vc_enter_public_key_text_field_hint" = "Enter Session ID or ONS name"; +"admin_group_leave_warning" = "Because you are the creator of this group it will be deleted for everyone. This cannot be undone."; +"vc_join_open_group_suggestions_title" = "Or join one of these..."; +"vc_settings_invite_a_friend_button_title" = "Invite a Friend"; +"copied" = "Copied"; +"vc_conversation_settings_copy_session_id_button_title" = "Copy Session ID"; +"vc_conversation_input_prompt" = "Message"; +"vc_conversation_voice_message_cancel_message" = "Slide to Cancel"; +"modal_download_attachment_title" = "Trust %@?"; +"modal_download_attachment_explanation" = "Are you sure you want to download media sent by %@?"; +"modal_download_button_title" = "Download"; +"modal_open_url_title" = "Open URL?"; +"modal_open_url_explanation" = "Are you sure you want to open %@?"; +"modal_open_url_button_title" = "Open"; +"modal_copy_url_button_title" = "Copy Link"; +"modal_blocked_title" = "Unblock %@?"; +"modal_blocked_explanation" = "Are you sure you want to unblock %@?"; +"modal_blocked_button_title" = "Unblock"; +"modal_link_previews_title" = "Enable Link Previews?"; +"modal_link_previews_explanation" = "Enabling link previews will show previews for URLs you send and receive. This can be useful, but Session will need to contact linked websites to generate previews. You can always disable link previews in Session's settings."; +"modal_link_previews_button_title" = "Enable"; +"vc_share_title" = "Share to Session"; +"vc_share_loading_message" = "Preparing attachments..."; +"vc_share_sending_message" = "Sending..."; +"vc_share_link_previews_unsecure" = "Preview not loaded for unsecure link"; +"vc_share_link_previews_error" = "Unable to load preview"; +"vc_share_link_previews_disabled_title" = "Link Previews Disabled"; +"vc_share_link_previews_disabled_explanation" = "Enabling link previews will show previews for URLs you share. This can be useful, but Session will need to contact linked websites to generate previews.\n\nYou can enable link previews in Session's settings."; +"view_open_group_invitation_description" = "Open group invitation"; +"vc_conversation_settings_invite_button_title" = "Add Members"; +"modal_send_seed_title" = "Warning"; +"modal_send_seed_explanation" = "This is your recovery phrase. If you send it to someone they'll have full access to your account."; +"modal_send_seed_send_button_title" = "Send"; +"vc_conversation_settings_notify_for_mentions_only_title" = "Notify for Mentions Only"; +"vc_conversation_settings_notify_for_mentions_only_explanation" = "When enabled, you'll only be notified for messages mentioning you."; +"view_conversation_title_notify_for_mentions_only" = "Апавяшчэнне толькі для згадак"; +"message_deleted" = "Гэта паведамленне было выдалена"; +"delete_message_for_me" = "Выдаліць толькі для мяне"; +"delete_message_for_everyone" = "Выдаліць для ўсіх"; +"delete_message_for_me_and_recipient" = "Выдаліць для мяне і %@"; +"context_menu_reply" = "Адказаць"; +"context_menu_save" = "Захаваць"; +"context_menu_ban_user" = "Забараніць карыстальніка"; +"context_menu_ban_and_delete_all" = "Забараніць і выдаліць усе"; +"context_menu_ban_user_error_alert_message" = "Unable to ban user"; +"accessibility_expanding_attachments_button" = "Дадайце ўкладанні"; +"accessibility_gif_button" = "Gif"; +"accessibility_document_button" = "Дакумент"; +"accessibility_library_button" = "Фотагалерэя"; +"accessibility_camera_button" = "Камера"; +"accessibility_main_button_collapse" = "Згарнуць параметры далучэння"; +"invalid_recovery_phrase" = "Няправільная фраза аднаўлення"; +"DISMISS_BUTTON_TEXT" = "Адхіліць"; +/* Button text which opens the settings app */ +"OPEN_SETTINGS_BUTTON" = "Налады"; +"call_outgoing" = "Вы патэлефанавалі"; +"call_incoming" = "%@ тэлефанаваў(ла) Вам"; +"call_missed" = "Missed Call from %@"; +"APN_Message" = "You've got a new message."; +"APN_Collapsed_Messages" = "You've got %@ new messages."; +"PIN_BUTTON_TEXT" = "Pin"; +"UNPIN_BUTTON_TEXT" = "Unpin"; +"modal_call_missed_tips_title" = "Call missed"; +"modal_call_missed_tips_explanation" = "Call missed from '%@' because you needed to enable the 'Voice and video calls' permission in the Privacy Settings."; +"media_saved" = "Media saved by %@."; +"screenshot_taken" = "%@ took a screenshot."; +"SEARCH_SECTION_CONTACTS" = "Contacts & Groups"; +"SEARCH_SECTION_MESSAGES" = "Паведамленне"; +"MESSAGE_REQUESTS_TITLE" = "Запыты паведамленняў"; +"MESSAGE_REQUESTS_EMPTY_TEXT" = "Няма чаканых запытаў паведамленняў"; +"MESSAGE_REQUESTS_CLEAR_ALL" = "Ачысціць усё"; +"MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_TITLE" = "Вы ўпэўнены, што хочаце ачысціць усе запыты паведамленняў?"; +"MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_ACTON" = "Ачысьціць"; +"MESSAGE_REQUESTS_DELETE_CONFIRMATION_ACTON" = "Вы ўпэўнены, што жадаеце выдаліць гэты запыт на паведамленне?"; +"MESSAGE_REQUESTS_BLOCK_CONFIRMATION_ACTON" = "Are you sure you want to block this contact?"; +"MESSAGE_REQUESTS_INFO" = "Sending a message to this user will automatically accept their message request and reveal your Session ID."; +"MESSAGE_REQUESTS_ACCEPTED" = "Ваш запыт на паведамленне быў прыняты."; +"MESSAGE_REQUESTS_NOTIFICATION" = "У вас ёсць запыт на новае паведамленне"; +"TXT_HIDE_TITLE" = "Схаваць"; +"TXT_DELETE_ACCEPT" = "Прыняць"; +"TXT_BLOCK_USER_TITLE" = "Block User"; +"ALERT_ERROR_TITLE" = "Error"; +"modal_call_permission_request_title" = "Неабходныя дазволы на выклік"; +"modal_call_permission_request_explanation" = "Вы можаце ўключыць дазвол «Галасавыя і відэазванкі» у наладах прыватнасці."; +"DEFAULT_OPEN_GROUP_LOAD_ERROR_TITLE" = "Oops, an error occurred"; +"DEFAULT_OPEN_GROUP_LOAD_ERROR_SUBTITLE" = "Please try again later"; +"LOADING_CONVERSATIONS" = "Loading Conversations..."; +"DATABASE_MIGRATION_FAILED" = "An error occurred when optimising the database\n\nYou can export your application logs to be able to share for troubleshooting or you can restore your device\n\nWarning: Restoring your device will result in loss of any data older than two weeks"; +"RECOVERY_PHASE_ERROR_GENERIC" = "Something went wrong. Please check your recovery phrase and try again."; +"RECOVERY_PHASE_ERROR_LENGTH" = "Looks like you didn't enter enough words. Please check your recovery phrase and try again."; +"RECOVERY_PHASE_ERROR_LAST_WORD" = "You seem to be missing the last word of your recovery phrase. Please check what you entered and try again."; +"RECOVERY_PHASE_ERROR_INVALID_WORD" = "There appears to be an invalid word in your recovery phrase. Please check what you entered and try again."; +"RECOVERY_PHASE_ERROR_FAILED" = "Your recovery phrase couldn't be verified. Please check what you entered and try again."; +/* Indicates that an unknown error occurred while using Touch ID/Face ID/Phone Passcode. */ +"SCREEN_LOCK_ENABLE_UNKNOWN_ERROR" = "Authentication could not be accessed."; +/* Indicates that Touch ID/Face ID/Phone Passcode authentication failed. */ +"SCREEN_LOCK_ERROR_LOCAL_AUTHENTICATION_FAILED" = "Authentication failed."; +/* Indicates that Touch ID/Face ID/Phone Passcode is 'locked out' on this device due to authentication failures. */ +"SCREEN_LOCK_ERROR_LOCAL_AUTHENTICATION_LOCKOUT" = "Too many failed authentication attempts. Please try again later."; +/* Indicates that Touch ID/Face ID/Phone Passcode are not available on this device. */ +"SCREEN_LOCK_ERROR_LOCAL_AUTHENTICATION_NOT_AVAILABLE" = "You must enable a passcode in your iOS Settings in order to use Screen Lock."; +/* Indicates that Touch ID/Face ID/Phone Passcode is not configured on this device. */ +"SCREEN_LOCK_ERROR_LOCAL_AUTHENTICATION_NOT_ENROLLED" = "You must enable a passcode in your iOS Settings in order to use Screen Lock."; +/* Indicates that Touch ID/Face ID/Phone Passcode passcode is not set. */ +"SCREEN_LOCK_ERROR_LOCAL_AUTHENTICATION_PASSCODE_NOT_SET" = "You must enable a passcode in your iOS Settings in order to use Screen Lock."; +/* Label for the button to send a message */ +"SEND_BUTTON_TITLE" = "Send"; +/* Generic text for button that retries whatever the last action was. */ +"RETRY_BUTTON_TEXT" = "Retry"; +/* notification action */ +"SHOW_THREAD_BUTTON_TITLE" = "Show Chat"; +/* notification body */ +"SEND_FAILED_NOTIFICATION_BODY" = "Your message failed to send."; +"INVALID_SESSION_ID_MESSAGE" = "Please check the Session ID and try again."; +"INVALID_RECOVERY_PHRASE_MESSAGE" = "Please check the Recovery Phrase and try again."; +"MEDIA_TAB_TITLE" = "Media"; +"DOCUMENT_TAB_TITLE" = "Documents"; +"DOCUMENT_TILES_EMPTY_DOCUMENT" = "You don't have any document in this conversation."; +"DOCUMENT_TILES_LOADING_MORE_RECENT_LABEL" = "Loading Newer Document…"; +"DOCUMENT_TILES_LOADING_OLDER_LABEL" = "Loading Older Document…"; +/* The name for the emoji category 'Activities' */ +"EMOJI_CATEGORY_ACTIVITIES_NAME" = "Activities"; +/* The name for the emoji category 'Animals & Nature' */ +"EMOJI_CATEGORY_ANIMALS_NAME" = "Animals & Nature"; +/* The name for the emoji category 'Flags' */ +"EMOJI_CATEGORY_FLAGS_NAME" = "Flags"; +/* The name for the emoji category 'Food & Drink' */ +"EMOJI_CATEGORY_FOOD_NAME" = "Food & Drink"; +/* The name for the emoji category 'Objects' */ +"EMOJI_CATEGORY_OBJECTS_NAME" = "Objects"; +/* The name for the emoji category 'Recents' */ +"EMOJI_CATEGORY_RECENTS_NAME" = "Recently Used"; +/* The name for the emoji category 'Smileys & People' */ +"EMOJI_CATEGORY_SMILEYSANDPEOPLE_NAME" = "Smileys & People"; +/* The name for the emoji category 'Symbols' */ +"EMOJI_CATEGORY_SYMBOLS_NAME" = "Symbols"; +/* The name for the emoji category 'Travel & Places' */ +"EMOJI_CATEGORY_TRAVEL_NAME" = "Travel & Places"; +"EMOJI_REACTS_NOTIFICATION" = "%@ reacts to a message with %@."; +"EMOJI_REACTS_MORE_REACTORS_ONE" = "And 1 other has reacted %@ to this message."; +"EMOJI_REACTS_MORE_REACTORS_MUTIPLE" = "And %@ others have reacted %@ to this message."; +"EMOJI_REACTS_RATE_LIMIT_TOAST" = "Slow down! You've sent too many emoji reacts. Try again soon."; +/* New conversation screen*/ +"vc_new_conversation_title" = "New Conversation"; +"CREATE_GROUP_BUTTON_TITLE" = "Create"; +"JOIN_COMMUNITY_BUTTON_TITLE" = "Join"; +"PRIVACY_TITLE" = "Privacy"; +"PRIVACY_SECTION_SCREEN_SECURITY" = "Screen Security"; +"PRIVACY_SCREEN_SECURITY_LOCK_SESSION_TITLE" = "Lock Session"; +"PRIVACY_SCREEN_SECURITY_LOCK_SESSION_DESCRIPTION" = "Require Touch ID, Face ID or your passcode to unlock Session."; +"PRIVACY_SECTION_READ_RECEIPTS" = "Read Receipts"; +"PRIVACY_READ_RECEIPTS_TITLE" = "Read Receipts"; +"PRIVACY_READ_RECEIPTS_DESCRIPTION" = "Send read receipts in one-to-one chats."; +"PRIVACY_SECTION_TYPING_INDICATORS" = "Typing Indicators"; +"PRIVACY_TYPING_INDICATORS_TITLE" = "Typing Indicators"; +"PRIVACY_TYPING_INDICATORS_DESCRIPTION" = "See and share typing indicators in one-to-one conversations."; +"PRIVACY_SECTION_LINK_PREVIEWS" = "Link Previews"; +"PRIVACY_LINK_PREVIEWS_TITLE" = "Send Link Previews"; +"PRIVACY_LINK_PREVIEWS_DESCRIPTION" = "Generate link previews for supported URLs."; +"PRIVACY_SECTION_CALLS" = "Calls (Beta)"; +"PRIVACY_CALLS_TITLE" = "Voice and Video Calls"; +"PRIVACY_CALLS_DESCRIPTION" = "Enables voice and video calls to and from other users."; +"PRIVACY_CALLS_WARNING_TITLE" = "Voice and Video Calls (Beta)"; +"PRIVACY_CALLS_WARNING_DESCRIPTION" = "Your IP address is visible to your call partner and an Oxen Foundation server while using beta calls. Are you sure you want to enable Voice and Video Calls?"; +"NOTIFICATIONS_TITLE" = "Notifications"; +"NOTIFICATIONS_SECTION_STRATEGY" = "Notification Strategy"; +"NOTIFICATIONS_STRATEGY_FAST_MODE_TITLE" = "Use Fast Mode"; +"NOTIFICATIONS_STRATEGY_FAST_MODE_DESCRIPTION" = "You'll be notified of new message reliably and immediately using Apple's notification servers."; +"NOTIFICATIONS_STRATEGY_FAST_MODE_ACTION" = "Go to device notification settings"; +"NOTIFICATIONS_SECTION_STYLE" = "Notification Style"; +"NOTIFICATIONS_STYLE_SOUND_TITLE" = "Sound"; +"NOTIFICATIONS_STYLE_SOUND_WHEN_OPEN_TITLE" = "Sound When App is Open"; +"NOTIFICATIONS_STYLE_CONTENT_TITLE" = "Notification Content"; +"NOTIFICATIONS_STYLE_CONTENT_DESCRIPTION" = "The information shown in notifications."; +"NOTIFICATIONS_STYLE_CONTENT_OPTION_NAME_AND_CONTENT" = "Name & Content"; +"NOTIFICATIONS_STYLE_CONTENT_OPTION_NAME_ONLY" = "Name Only"; +"NOTIFICATIONS_STYLE_CONTENT_OPTION_NO_NAME_OR_CONTENT" = "No Name or Content"; +"CONVERSATION_SETTINGS_TITLE" = "Conversations"; +"CONVERSATION_SETTINGS_SECTION_MESSAGE_TRIMMING" = "Message Trimming"; +"CONVERSATION_SETTINGS_MESSAGE_TRIMMING_TITLE" = "Trim Communities"; +"CONVERSATION_SETTINGS_MESSAGE_TRIMMING_DESCRIPTION" = "Delete messages older than 6 months from Communities that have over 2,000 messages."; +"CONVERSATION_SETTINGS_SECTION_AUDIO_MESSAGES" = "Audio Messages"; +"CONVERSATION_SETTINGS_AUDIO_MESSAGES_AUTOPLAY_TITLE" = "Autoplay Audio Messages"; +"CONVERSATION_SETTINGS_AUDIO_MESSAGES_AUTOPLAY_DESCRIPTION" = "Autoplay consecutive audio messages."; +"CONVERSATION_SETTINGS_BLOCKED_CONTACTS_TITLE" = "Blocked Contacts"; +"CONVERSATION_SETTINGS_BLOCKED_CONTACTS_EMPTY_STATE" = "You have no blocked contacts."; +"CONVERSATION_SETTINGS_BLOCKED_CONTACTS_UNBLOCK" = "Unblock"; +"CONVERSATION_SETTINGS_BLOCKED_CONTACTS_UNBLOCK_CONFIRMATION_TITLE_SINGLE" = "Are you sure you want to unblock %@?"; +"CONVERSATION_SETTINGS_BLOCKED_CONTACTS_UNBLOCK_CONFIRMATION_TITLE_FALLBACK" = "this contact"; +"CONVERSATION_SETTINGS_BLOCKED_CONTACTS_UNBLOCK_CONFIRMATION_TITLE_MULTIPLE_1" = "Are you sure you want to unblock %@"; +"CONVERSATION_SETTINGS_BLOCKED_CONTACTS_UNBLOCK_CONFIRMATION_TITLE_MULTIPLE_2_SINGLE" = "and %@?"; +"CONVERSATION_SETTINGS_BLOCKED_CONTACTS_UNBLOCK_CONFIRMATION_TITLE_MULTIPLE_3" = "and %d others?"; +"CONVERSATION_SETTINGS_BLOCKED_CONTACTS_UNBLOCK_CONFIRMATION_ACTON" = "Unblock"; +"APPEARANCE_TITLE" = "Appearance"; +"APPEARANCE_THEMES_TITLE" = "Themes"; +"APPEARANCE_PRIMARY_COLOR_TITLE" = "Primary colour"; +"APPEARANCE_PRIMARY_COLOR_PREVIEW_INC_QUOTE" = "How are you?"; +"APPEARANCE_PRIMARY_COLOR_PREVIEW_INC_MESSAGE" = "I'm good thanks, you?"; +"APPEARANCE_PRIMARY_COLOR_PREVIEW_OUT_MESSAGE" = "I'm doing great, thanks."; +"APPEARANCE_NIGHT_MODE_TITLE" = "Auto night-mode"; +"APPEARANCE_NIGHT_MODE_TOGGLE" = "Match system settings"; +"HELP_TITLE" = "Help"; +"HELP_REPORT_BUG_TITLE" = "Report a Bug"; +"HELP_REPORT_BUG_DESCRIPTION" = "Export your logs, then upload the file though Session's Help Desk."; +"HELP_REPORT_BUG_ACTION_TITLE" = "Export Logs"; +"HELP_TRANSLATE_TITLE" = "Translate Session"; +"HELP_FEEDBACK_TITLE" = "We'd love your Feedback"; +"HELP_FAQ_TITLE" = "FAQ"; +"HELP_SUPPORT_TITLE" = "Support"; +"modal_clear_all_data_title" = "Clear All Data"; +"modal_clear_all_data_explanation" = "This will permanently delete your messages and contacts. Would you like to clear this device only, or delete your data from the network as well?"; +"modal_clear_all_data_explanation_2" = "Are you sure you want to delete your data from the network? If you continue, you will not be able to restore your messages or contacts."; +"modal_clear_all_data_device_only_button_title" = "Clear Device Only"; +"modal_clear_all_data_entire_account_button_title" = "Clear Device and Network"; +"dialog_clear_all_data_deletion_failed_1" = "Data not deleted by 1 Service Node. Service Node ID: %@."; +"dialog_clear_all_data_deletion_failed_2" = "Data not deleted by %@ Service Nodes. Service Node IDs: %@."; +"modal_clear_all_data_confirm" = "Clear"; +"modal_seed_title" = "Your Recovery Phrase"; +"modal_seed_explanation" = "You can use your recovery phrase to restore your account or link a device."; +"modal_permission_explanation" = "Session needs %@ access to continue. You can enable access in the iOS settings."; +"modal_permission_settings_title" = "Settings"; +"modal_permission_camera" = "camera"; +"modal_permission_microphone" = "microphone"; +"modal_permission_library" = "library"; +"DISAPPEARING_MESSAGES_OFF" = "Off"; +"DISAPPEARING_MESSAGES_SUBTITLE_OFF" = "Off"; +"DISAPPEARING_MESSAGES_SUBTITLE_DISAPPEAR_AFTER" = "Disappear After: %@"; +"COPY_GROUP_URL" = "Copy Group URL"; +"NEW_CONVERSATION_CONTACTS_SECTION_TITLE" = "Contacts"; +"GROUP_ERROR_NO_MEMBER_SELECTION" = "Please pick at least 1 group member"; +"GROUP_CREATION_PLEASE_WAIT" = "Please wait while the group is created..."; +"GROUP_CREATION_ERROR_TITLE" = "Couldn't Create Group"; +"GROUP_CREATION_ERROR_MESSAGE" = "Please check your internet connection and try again."; +"GROUP_UPDATE_ERROR_TITLE" = "Couldn't Update Group"; +"GROUP_UPDATE_ERROR_MESSAGE" = "Can't leave while adding or removing other members."; +"GROUP_ACTION_REMOVE" = "Remove"; +"GROUP_TITLE_MEMBERS" = "Members"; +"GROUP_TITLE_FALLBACK" = "Group"; +"DM_ERROR_DIRECT_BLINDED_ID" = "You can only send messages to Blinded IDs from within a Community"; +"DM_ERROR_INVALID" = "Please check the Session ID or ONS name and try again"; +"COMMUNITY_ERROR_INVALID_URL" = "Please check the URL you entered and try again."; +"COMMUNITY_ERROR_GENERIC" = "Couldn't Join"; +"DISAPPERING_MESSAGES_TITLE" = "Disappearing Messages"; +"DISAPPERING_MESSAGES_TYPE_TITLE" = "Delete Type"; +"DISAPPERING_MESSAGES_TYPE_AFTER_READ_TITLE" = "Disappear After Read"; +"DISAPPERING_MESSAGES_TYPE_AFTER_READ_DESCRIPTION" = "Messages delete after they have been read."; +"DISAPPERING_MESSAGES_TYPE_AFTER_SEND_TITLE" = "Disappear After Send"; +"DISAPPERING_MESSAGES_TYPE_AFTER_SEND_DESCRIPTION" = "Messages delete after they have been sent."; +"DISAPPERING_MESSAGES_TIMER_TITLE" = "Timer"; +"DISAPPERING_MESSAGES_SAVE_TITLE" = "Set"; +"DISAPPERING_MESSAGES_GROUP_WARNING" = "This setting applies to everyone in this conversation."; +"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to everyone in this conversation. Only group admins can change this setting."; +"DISAPPERING_MESSAGES_SUMMARY" = "Disappear After %@ - %@"; +"DISAPPERING_MESSAGES_INFO_ENABLE" = "%@ has set messages to disappear %@ after they have been %@"; +"DISAPPERING_MESSAGES_INFO_UPDATE" = "%@ has changed messages to disappear %@ after they have been %@"; +"DISAPPERING_MESSAGES_INFO_DISABLE" = "%@ has turned off disappearing messages"; + +/* context_menu_info */ +"context_menu_info" = "Info"; + +/* An error that is displayed when the application fails for create it's initial connection to the database */ +"DATABASE_STARTUP_FAILED" = "An error occurred when opening the database\n\nYou can export your application logs to share for troubleshooting or you can try to restore your device\n\nWarning: Restoring your device will result in loss of any data older than two weeks"; + +/* A warning displayed to the user when the application takes too long to launch */ +"APP_STARTUP_TIMEOUT" = "The app is taking a long time to start\n\nYou can continue to wait for the app to start, export your application logs to share for troubleshooting or you can try to open the app again"; + +/* The title of a button on a modal shown when the application fails to start, pressing the button closes the application */ +"APP_STARTUP_EXIT" = "Exit"; + +/* An error which occurs if the user tries to restore the database after an initial failure and it fails to restore */ +"DATABASE_RESTORE_FAILED" = "An error occurred when opening the restored database\n\nYou can export your application logs to share for troubleshooting but to continue to use Session you may need to reinstall"; + +/* Text displayed in place of a quoted message when the original message is not on the device */ +"QUOTED_MESSAGE_NOT_FOUND" = "Original message not found."; + +/* EMOJI_REACTS_SHOW_LESS */ +"EMOJI_REACTS_SHOW_LESS" = "Show less"; + +/* PRIVACY_SECTION_MESSAGE_REQUESTS */ +"PRIVACY_SECTION_MESSAGE_REQUESTS" = "Message Requests"; + +/* PRIVACY_SCREEN_MESSAGE_REQUESTS_COMMUNITY_TITLE */ +"PRIVACY_SCREEN_MESSAGE_REQUESTS_COMMUNITY_TITLE" = "Community Message Requests"; + +/* PRIVACY_SCREEN_MESSAGE_REQUESTS_COMMUNITY_DESCRIPTION */ +"PRIVACY_SCREEN_MESSAGE_REQUESTS_COMMUNITY_DESCRIPTION" = "Allow message requests from Community conversations."; + +/* Information displayed above the input when sending a message to a new user for the first time explaining limitations around the types of messages which can be sent before being approved */ +"MESSAGE_REQUEST_PENDING_APPROVAL_INFO" = "You will be able to send voice messages and attachments once the recipient has approved this message request"; + +/* State of a message while it's still in the process of being sent */ +"MESSAGE_DELIVERY_STATUS_SENDING" = "Sending"; + +/* State of a message once it has been sent */ +"MESSAGE_DELIVERY_STATUS_SENT" = "Sent"; + +/* State of a message after the recipient has read the message */ +"MESSAGE_DELIVERY_STATUS_READ" = "Read"; + +/* State of a message if it failed to be sent */ +"MESSAGE_DELIVERY_STATUS_FAILED" = "Failed to send"; + +/* Title of the message information screen describing the date/time a message was sent */ +"MESSAGE_INFO_SENT" = "Sent"; + +/* Title of the message information screen describing the date/time a message was received on a specific device */ +"MESSAGE_INFO_RECEIVED" = "Received"; + +/* Title of the message information screen describing the sender of the message */ +"MESSAGE_INFO_FROM" = "From"; + +/* Title of the message information screen describing the identifier of the attachment */ +"ATTACHMENT_INFO_FILE_ID" = "File ID"; + +/* Title of the message information screen describing the file type of the attachment */ +"ATTACHMENT_INFO_FILE_TYPE" = "File Type"; + +/* Title of the message information screen describing the size of the attachment */ +"ATTACHMENT_INFO_FILE_SIZE" = "File Size"; + +/* Title on the message information screen describing the resolution of a media attachment */ +"ATTACHMENT_INFO_RESOLUTION" = "Resolution"; + +/* Title on the message information screen describing the duration of a media attachment */ +"ATTACHMENT_INFO_DURATION" = "Duration"; + +/* State of a message after it failed to sync to the current users other devices */ +"MESSAGE_DELIVERY_STATUS_FAILED_SYNC" = "Failed to sync"; + +/* State of a message while it's in the process of being synced to the users other devices */ +"MESSAGE_DELIVERY_STATUS_SYNCING" = "Syncing"; + +/* Title of the modal that appears after a user taps on the state of a message which failed to send */ +"MESSAGE_DELIVERY_FAILED_TITLE" = "Failed to send message"; + +/* Title of the modal that appears after a user taps on the state of a message which failed to sync to the users other devices */ +"MESSAGE_DELIVERY_FAILED_SYNC_TITLE" = "Failed to sync message to your other devices"; + +/* Action for the modal shown when asking the user whether they want to delete from all of their devices */ +"delete_message_for_me_and_my_devices" = "Delete from all of my devices"; + +/* Action in the long-press menu to trigger a message to be sent again after it has failed */ +"context_menu_resend" = "Resend"; + +/* Action in the long-press menu to trigger a message to be synced again after it has failed */ +"context_menu_resync" = "Resync"; + +/* Title of a modal show the first time a user tries to search for GIFs */ +"GIPHY_PERMISSION_TITLE" = "Search GIFs?"; + +/* Message of a modal show the first time a user tries to search for GIFs */ +"GIPHY_PERMISSION_MESSAGE" = "Session will connect to Giphy to provide search results. You will not have full metadata protection when sending GIFs."; + +/* Action in the long-press menu to view more information about a specific message */ +"message_info_title" = "Message Info"; + +/* Action to mute a conversation in the swipe menu */ +"mute_button_text" = "Mute"; + +/* Action in the swipe menu to unmute a conversation */ +"unmute_button_text" = "Unmute"; + +/* Action in the swipe menu to mark a conversation as read */ +"MARK_AS_READ" = "Mark read"; + +/* Action in the swipe menu to mark a conversation as unread */ +"MARK_AS_UNREAD" = "Mark unread"; + +/* Title of the confirmation modal show when attempting to leave a group conversation */ +"leave_group_confirmation_alert_title" = "Leave Group"; + +/* Title of the confirmation modal show when attempting to leave a community conversation */ +"leave_community_confirmation_alert_title" = "Leave Community"; + +/* Message in the confirmation modal when leaving a community conversation */ +"leave_community_confirmation_alert_message" = "Are you sure you want to leave %@?"; + +/* Conversation subtitle while the user in the process of leaving */ +"group_you_leaving" = "Leaving..."; + +/* Conversation subtitle if the user in the failed to leave */ +"group_leave_error" = "Failed to leave Group!"; + +/* Message within a conversation indicating the device was unable to leave a group conversation */ +"group_unable_to_leave" = "Unable to leave the Group, please try again"; + +/* Title in the confirmation modal to delete a group */ +"delete_group_confirmation_alert_title" = "Delete Group"; + +/* Message in the confirmation modal to delete a group */ +"delete_group_confirmation_alert_message" = "Are you sure you want to delete %@?"; + +/* Title in the confirmation modal when the user tries to delete a one-to-one conversation */ +"delete_conversation_confirmation_alert_title" = "Delete Conversation"; + +/* Message in the confirmation modal when the user tries to delete a one-to-one conversation */ +"delete_conversation_confirmation_alert_message" = "Are you sure you want to delete your conversation with %@?"; + +/* Title in the confirmation modal when the user tries to hide the 'Note to Self' conversation */ +"hide_note_to_self_confirmation_alert_title" = "Hide Note to Self"; + +/* Message in the confirmation modal when the user tries to hide the 'Note to Self' conversation */ +"hide_note_to_self_confirmation_alert_message" = "Are you sure you want to hide %@?"; + +/* Title in the modal for updating the users profile display picture */ +"update_profile_modal_title" = "Set Display Picture"; + +/* Save action in the modal for updating the users profile display picture */ +"update_profile_modal_save" = "Save"; + +/* Remove action in the modal for updating the users profile display picture */ +"update_profile_modal_remove" = "Remove"; + +/* Title for the error when failing to remove the users profile display picture */ +"update_profile_modal_remove_error_title" = "Unable to remove avatar image"; + +/* Title for the error when the user selects a profile display picture that is too large */ +"update_profile_modal_max_size_error_title" = "Maximum File Size Exceeded"; + +/* Message for the error when the user selects a profile display picture that is too large */ +"update_profile_modal_max_size_error_message" = "Please select a smaller photo and try again"; + +/* Title for the error when the user fails to update their profile display picture */ +"update_profile_modal_error_title" = "Couldn't Update Profile"; + +/* Message for the error when the user fails to update their profile display picture */ +"update_profile_modal_error_message" = "Please check your internet connection and try again"; + +/* Placeholder when entering a nickname for a contact */ +"CONTACT_NICKNAME_PLACEHOLDER" = "Enter a name"; + +/* The separator within a conversation indicating that following messages are unread */ +"UNREAD_MESSAGES" = "Unread Messages"; + +/* Empty state for a conversation */ +"CONVERSATION_EMPTY_STATE" = "You have no messages from %@. Send a message to start the conversation!"; + +/* Empty state for a read-only conversation */ +"CONVERSATION_EMPTY_STATE_READ_ONLY" = "There are no messages in %@."; + +/* Empty state for the 'Note to Self' conversation */ +"CONVERSATION_EMPTY_STATE_NOTE_TO_SELF" = "You have no messages in %@."; + +/* Message to indicate a user has Community Message Requests disabled */ +"COMMUNITY_MESSAGE_REQUEST_DISABLED_EMPTY_STATE" = "%@ has message requests from Community conversations turned off, so you cannot send them a message."; + +/* Warning to indicate one of the users devices is running an old version of Session */ +"USER_CONFIG_OUTDATED_WARNING" = "Some of your devices are using outdated versions. Syncing may be unreliable until they are updated."; + +/* Ann error displayed if the device is unable to retrieve the users recovery password */ +"LOAD_RECOVERY_PASSWORD_ERROR" = "An error occurred when trying to load your recovery password.\n\nPlease export your logs, then upload the file though Session's Help Desk to help resolve this issue."; + +/* An error displayed when trying to send a message if the device is unable to save it to the database */ +"FAILED_TO_STORE_OUTGOING_MESSAGE" = "An error occurred when trying to store the outgoing message for sending, you may need to restart the app before you can send messages."; + +/* An error indicating that the device was unable to access the database for some reason */ +"database_inaccessible_error" = "There is an issue opening the database. Please restart the app and try again."; diff --git a/Session/Meta/Translations/bg.lproj/Localizable.strings b/Session/Meta/Translations/bg.lproj/Localizable.strings new file mode 100644 index 000000000..8be9e35ca --- /dev/null +++ b/Session/Meta/Translations/bg.lproj/Localizable.strings @@ -0,0 +1,783 @@ +/* No comment provided by engineer. */ +"ATTACHMENT" = "Прикачени"; +/* Title for 'caption' mode of the attachment approval view. */ +"ATTACHMENT_APPROVAL_CAPTION_TITLE" = "Надпис"; +/* Format string for file extension label in call interstitial view */ +"ATTACHMENT_APPROVAL_FILE_EXTENSION_FORMAT" = "Тип файл: %@"; +/* Format string for file size label in call interstitial view. Embeds: {{file size as 'N mb' or 'N kb'}}. */ +"ATTACHMENT_APPROVAL_FILE_SIZE_FORMAT" = "Големина:%@"; +/* One-line label indicating the user can add no more text to the media message field. */ +"ATTACHMENT_APPROVAL_MESSAGE_LENGTH_LIMIT_REACHED" = "Това е пределът на едно съобщение"; +/* Label for 'send' button in the 'attachment approval' dialog. */ +"ATTACHMENT_APPROVAL_SEND_BUTTON" = "Изпрати"; +/* Generic filename for an attachment with no known name */ +"ATTACHMENT_DEFAULT_FILENAME" = "Прикачен файл"; +/* The title of the 'attachment error' alert. */ +"ATTACHMENT_ERROR_ALERT_TITLE" = "Грешка при прикачването на файл"; +/* Attachment error message for image attachments which could not be converted to JPEG */ +"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_JPEG" = "Изображението неможе да се преобразува"; +/* Attachment error message for video attachments which could not be converted to MP4 */ +"ATTACHMENT_ERROR_COULD_NOT_CONVERT_TO_MP4" = "Грешка при прикрепянето на видеофайла. Файлът не може да бъде конвертиран във формат MP4."; +/* Attachment error message for image attachments which cannot be parsed */ +"ATTACHMENT_ERROR_COULD_NOT_PARSE_IMAGE" = "Изображението не може да бъде анализирано."; +/* Attachment error message for image attachments in which metadata could not be removed */ +"ATTACHMENT_ERROR_COULD_NOT_REMOVE_METADATA" = "Не можахме да премахнем метаданните на файла."; +/* Attachment error message for image attachments which could not be resized */ +"ATTACHMENT_ERROR_COULD_NOT_RESIZE_IMAGE" = "Не можахме да преоразмерим изображението."; +/* Attachment error message for attachments whose data exceed file size limits */ +"ATTACHMENT_ERROR_FILE_SIZE_TOO_LARGE" = "Размерът на файла е твърде голям."; +/* Attachment error message for attachments with invalid data */ +"ATTACHMENT_ERROR_INVALID_DATA" = "Файлът съдържа невалидни или неправилни данни."; +/* Attachment error message for attachments with an invalid file format */ +"ATTACHMENT_ERROR_INVALID_FILE_FORMAT" = "Неправилен формат на файла."; +/* Attachment error message for attachments without any data */ +"ATTACHMENT_ERROR_MISSING_DATA" = "Прикаченият файл е празен. Липсват данни."; +/* Alert title when picking a document fails for an unknown reason */ +"ATTACHMENT_PICKER_DOCUMENTS_FAILED_ALERT_TITLE" = "Провалено избиране на документ."; +/* Alert body when picking a document fails because user picked a directory/bundle */ +"ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_BODY" = "Моля, пробвайте да изпратите този файл или папка(директория) под формата на архив!"; +/* Alert title when picking a document fails because user picked a directory/bundle */ +"ATTACHMENT_PICKER_DOCUMENTS_PICKED_DIRECTORY_FAILED_ALERT_TITLE" = "Не се поддържа този формат"; +/* Short text label for a voice message attachment, used for thread preview and on the lock screen */ +"ATTACHMENT_TYPE_VOICE_MESSAGE" = "Гласово съобщение"; +/* Button label for the 'block' button */ +"BLOCK_LIST_BLOCK_BUTTON" = "Блокиране"; +/* A format for the 'block user' action sheet title. Embeds {{the blocked user's name or phone number}}. */ +"BLOCK_LIST_BLOCK_USER_TITLE_FORMAT" = "Блокирай%@?"; +/* A format for the 'unblock user' action sheet title. Embeds {{the unblocked user's name or phone number}}. */ +"BLOCK_LIST_UNBLOCK_TITLE_FORMAT" = "Разблокирай%@?"; +/* Button label for the 'unblock' button */ +"BLOCK_LIST_UNBLOCK_BUTTON" = "Разблокиране"; +/* The message format of the 'conversation blocked' alert. Embeds the {{conversation title}}. */ +"BLOCK_LIST_VIEW_BLOCKED_ALERT_MESSAGE_FORMAT" = "%@Беше блокиран."; +/* The title of the 'user blocked' alert. */ +"BLOCK_LIST_VIEW_BLOCKED_ALERT_TITLE" = "Блокиран потребител"; +/* Alert title after unblocking a group or 1:1 chat. Embeds the {{conversation title}}. */ +"BLOCK_LIST_VIEW_UNBLOCKED_ALERT_TITLE_FORMAT" = "%@Беше разблокиран."; +/* An explanation of the consequences of blocking another user. */ +"BLOCK_USER_BEHAVIOR_EXPLANATION" = "Блокираните потребители няма да могат да Ви изпращат съобщения, или гласови повиквания."; +/* Label for generic done button. */ +"BUTTON_DONE" = "Завършено"; +/* Button text to enable batch selection mode */ +"BUTTON_SELECT" = "Избери"; +/* keyboard toolbar label when starting to search with no current results */ +"CONVERSATION_SEARCH_SEARCHING" = "Търсене..."; +/* keyboard toolbar label when no messages match the search string */ +"CONVERSATION_SEARCH_NO_RESULTS" = "Няма съвпадения"; +/* keyboard toolbar label when exactly 1 message matches the search string */ +"CONVERSATION_SEARCH_ONE_RESULT" = "1 съвпадение"; +/* keyboard toolbar label when more than 1 message matches the search string. Embeds {{number/position of the 'currently viewed' result}} and the {{total number of results}} */ +"CONVERSATION_SEARCH_RESULTS_FORMAT" = "%dот%d съвпадат"; +/* table cell label in conversation settings */ +"CONVERSATION_SETTINGS_BLOCK_THIS_USER" = "Блокирай този потребител"; +/* label for 'mute thread' cell in conversation settings */ +"CONVERSATION_SETTINGS_MUTE_LABEL" = "Заглуши"; +/* Table cell label in conversation settings which returns the user to the conversation with 'search mode' activated */ +"CONVERSATION_SETTINGS_SEARCH" = "Намери разговор"; +/* Title for the 'crop/scale image' dialog. */ +"CROP_SCALE_IMAGE_VIEW_TITLE" = "Премести или преоразмери"; +/* Subtitle shown while the app is updating its database. */ +"DATABASE_VIEW_OVERLAY_SUBTITLE" = "Това може да отнеме няколко минути."; +/* Title shown while the app is updating its database. */ +"DATABASE_VIEW_OVERLAY_TITLE" = "Опресняване на данните"; +/* The present; the current time. */ +"DATE_NOW" = "Сега"; +/* table cell label in conversation settings */ +"DISAPPEARING_MESSAGES" = "Изчезващи съобщения"; +/* table cell label in conversation settings */ +"EDIT_GROUP_ACTION" = "Редактирай участниците в групата"; +/* Label indicating media gallery is empty */ +"GALLERY_TILES_EMPTY_GALLERY" = "Вие нямате никакви файлове в този разговор."; +/* Label indicating loading is in progress */ +"GALLERY_TILES_LOADING_MORE_RECENT_LABEL" = "Зареждане на скорошни файлове…"; +/* Label indicating loading is in progress */ +"GALLERY_TILES_LOADING_OLDER_LABEL" = "Зареждане на по-стари файлове…"; +/* Error displayed when there is a failure fetching a GIF from the remote service. */ +"GIF_PICKER_ERROR_FETCH_FAILURE" = "Извличането на посочения GIF е неуспешно. +Моля, проверете интернет връзката си."; +/* Generic error displayed when picking a GIF */ +"GIF_PICKER_ERROR_GENERIC" = "Възникна неизвестна грешка."; +/* Shown when selected GIF couldn't be fetched */ +"GIF_PICKER_FAILURE_ALERT_TITLE" = "Невъзможно извличане на посочения GIF"; +/* Alert message shown when user tries to search for GIFs without entering any search terms. */ +"GIF_PICKER_VIEW_MISSING_QUERY" = "Моля въведете ключова дума за търсене."; +/* Indicates that an error occurred while searching. */ +"GIF_VIEW_SEARCH_ERROR" = "Възникна грешка. Моля натиснете за повторно търсене."; +/* Indicates that the user's search had no results. */ +"GIF_VIEW_SEARCH_NO_RESULTS" = "Няма съвпадения."; +/* No comment provided by engineer. */ +"GROUP_CREATED" = "Групата е създадена"; +/* No comment provided by engineer. */ +"GROUP_MEMBER_JOINED" = "%@ се присъедини към групата. "; +/* No comment provided by engineer. */ +"GROUP_MEMBER_LEFT" = "%@ напусна групата. "; +/* No comment provided by engineer. */ +"GROUP_MEMBER_REMOVED" = "%@ беше премахнат от групата. "; +/* No comment provided by engineer. */ +"GROUP_MEMBERS_REMOVED" = "%@ бяха премахнати от групата. "; +/* No comment provided by engineer. */ +"GROUP_TITLE_CHANGED" = "Името на групата е променено на '%@'. "; +/* No comment provided by engineer. */ +"GROUP_UPDATED" = "Групата е обновена."; +/* No comment provided by engineer. */ +"GROUP_YOU_LEFT" = "Вие напуснахте групата."; +/* No comment provided by engineer. */ +"YOU_WERE_REMOVED" = " Вие бяхте премахнат от групата. "; +/* Momentarily shown to the user when attempting to select more images than is allowed. Embeds {{max number of items}} that can be shared. */ +"IMAGE_PICKER_CAN_SELECT_NO_MORE_TOAST_FORMAT" = "Вие не можете да изберете повече от%@ елементи."; +/* alert title */ +"IMAGE_PICKER_FAILED_TO_PROCESS_ATTACHMENTS" = "Фаилът не може да бъде прикачен."; +/* Message for the alert indicating that an audio file is invalid. */ +"INVALID_AUDIO_FILE_ALERT_ERROR_MESSAGE" = "Неподдържан формат на звуковия фаил."; +/* Confirmation button within contextual alert */ +"LEAVE_BUTTON_TITLE" = "Напускане"; +/* table cell label in conversation settings */ +"LEAVE_GROUP_ACTION" = "Напускане на групата"; +/* nav bar button item */ +"MEDIA_DETAIL_VIEW_ALL_MEDIA_BUTTON" = "Виж всички файлове"; +/* Confirmation button text to delete selected media from the gallery, embeds {{number of messages}} */ +"MEDIA_GALLERY_DELETE_MULTIPLE_MESSAGES_FORMAT" = "Изтрий %d съобщения"; +/* Confirmation button text to delete selected media message from the gallery */ +"MEDIA_GALLERY_DELETE_SINGLE_MESSAGE" = "Изтрий съобщението"; +/* embeds {{sender name}} and {{sent datetime}}, e.g. 'Sarah on 10/30/18, 3:29' */ +"MEDIA_GALLERY_LANDSCAPE_TITLE_FORMAT" = "%@на%@"; +/* Format for the 'more items' indicator for media galleries. Embeds {{the number of additional items}}. */ +"MEDIA_GALLERY_MORE_ITEMS_FORMAT" = "добави%@"; +/* Short sender label for media sent by you */ +"MEDIA_GALLERY_SENDER_NAME_YOU" = "Ти"; +/* Section header in media gallery collection view */ +"MEDIA_GALLERY_THIS_MONTH_HEADER" = "Този Месец"; +/* status message for failed messages */ +"MESSAGE_STATUS_FAILED" = "Изпращането е неуспешно."; +/* status message for read messages */ +"MESSAGE_STATUS_READ" = "Прочетено"; +/* message status while message is sending. */ +"MESSAGE_STATUS_SENDING" = "Изпращане…"; +/* status message for sent messages */ +"MESSAGE_STATUS_SENT" = "Изпратено"; +/* status message while attachment is uploading */ +"MESSAGE_STATUS_UPLOADING" = "Прикачване…"; +/* notification title. Embeds {{author name}} and {{group name}} */ +"NEW_GROUP_MESSAGE_NOTIFICATION_TITLE" = "%@от%@"; +/* Label for 1:1 conversation with yourself. */ +"NOTE_TO_SELF" = "Лична бележка"; +/* Lock screen notification text presented after user powers on their device without unlocking. Embeds {{device model}} (either 'iPad' or 'iPhone') */ +"NOTIFICATION_BODY_PHONE_LOCKED_FORMAT" = "Възможно е да сте получили съобщения докато сте рестартирали вашият %@."; +/* No comment provided by engineer. */ +"BUTTON_OK" = "Добре"; +/* Info Message when {{other user}} disables or doesn't support disappearing messages */ +"OTHER_DISABLED_DISAPPEARING_MESSAGES_CONFIGURATION" = "%@ е деактивирал или не поддържа изчезващи съобщения."; +/* Info Message when {{other user}} updates message expiration to {{time amount}}, see the *_TIME_AMOUNT strings for context. */ +"OTHER_UPDATED_DISAPPEARING_MESSAGES_CONFIGURATION" = "%@ настрои таймера за изчезващи съобщения на%@"; +/* alert title, generic error preventing user from capturing a photo */ +"PHOTO_CAPTURE_GENERIC_ERROR" = "Снимката не беше направена."; +/* alert title */ +"PHOTO_CAPTURE_UNABLE_TO_CAPTURE_IMAGE" = "Възникна грешка при снимането."; +/* alert title */ +"PHOTO_CAPTURE_UNABLE_TO_INITIALIZE_CAMERA" = "Грешка в настройките на камерата."; +/* label for system photo collections which have no name. */ +"PHOTO_PICKER_UNNAMED_COLLECTION" = "Албум без име"; +/* Notification action button title */ +"PUSH_MANAGER_MARKREAD" = "Маркирай като прочетено"; +/* Notification action button title */ +"PUSH_MANAGER_REPLY" = "Отговори"; +/* Description of how and why Session iOS uses Touch ID/Face ID/Phone Passcode to unlock 'screen lock'. */ +"SCREEN_LOCK_REASON_UNLOCK_SCREEN_LOCK" = "Идентифицирайте се за да отключите Session."; +/* Title for alert indicating that screen lock could not be unlocked. */ +"SCREEN_LOCK_UNLOCK_FAILED" = "Възникна грешка при отключването"; +/* alert title when user attempts to leave the send media flow when they have an in-progress album */ +"SEND_MEDIA_ABANDON_TITLE" = "Отмяна на изпращането?"; +/* alert action, confirming the user wants to exit the media flow and abandon any photos they've taken */ +"SEND_MEDIA_CONFIRM_ABANDON_ALBUM" = "Потвърдете отмяната на изпращането"; +/* Format string for the default 'Note' sound. Embeds the system {{sound name}}. */ +"SETTINGS_AUDIO_DEFAULT_TONE_LABEL_FORMAT" = "%@ (по подразбиране)"; +/* Label for settings view that allows user to change the notification sound. */ +"SETTINGS_ITEM_NOTIFICATION_SOUND" = "Тон на съобщенията"; +/* Label for the 'no sound' option that allows users to disable sounds for notifications, etc. */ +"SOUNDS_NONE" = "Без звук"; +/* {{number of days}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 days}}'. See other *_TIME_AMOUNT strings */ +"TIME_AMOUNT_DAYS" = "%@дни"; +/* Label text below navbar button, embeds {{number of days}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5d' not '5 d'. See other *_TIME_AMOUNT strings */ +"TIME_AMOUNT_DAYS_SHORT_FORMAT" = "%@д"; +/* {{number of hours}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 hours}}'. See other *_TIME_AMOUNT strings */ +"TIME_AMOUNT_HOURS" = "%@часа"; +/* Label text below navbar button, embeds {{number of hours}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5h' not '5 h'. See other *_TIME_AMOUNT strings */ +"TIME_AMOUNT_HOURS_SHORT_FORMAT" = "%@ч"; +/* {{number of minutes}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 minutes}}'. See other *_TIME_AMOUNT strings */ +"TIME_AMOUNT_MINUTES" = "%@минути"; +/* Label text below navbar button, embeds {{number of minutes}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5m' not '5 m'. See other *_TIME_AMOUNT strings */ +"TIME_AMOUNT_MINUTES_SHORT_FORMAT" = "%@м"; +/* {{number of seconds}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 seconds}}'. See other *_TIME_AMOUNT strings */ +"TIME_AMOUNT_SECONDS" = "%@секунди"; +/* Label text below navbar button, embeds {{number of seconds}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5s' not '5 s'. See other *_TIME_AMOUNT strings */ +"TIME_AMOUNT_SECONDS_SHORT_FORMAT" = "%@с"; +/* {{1 day}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{1 day}}'. See other *_TIME_AMOUNT strings */ +"TIME_AMOUNT_SINGLE_DAY" = "%@ден"; +/* {{1 hour}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{1 hour}}'. See other *_TIME_AMOUNT strings */ +"TIME_AMOUNT_SINGLE_HOUR" = "%@час"; +/* {{1 minute}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{1 minute}}'. See other *_TIME_AMOUNT strings */ +"TIME_AMOUNT_SINGLE_MINUTE" = "%@минута"; +/* {{1 week}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{1 week}}'. See other *_TIME_AMOUNT strings */ +"TIME_AMOUNT_SINGLE_WEEK" = "%@седмица"; +/* {{number of weeks}}, embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 weeks}}'. See other *_TIME_AMOUNT strings */ +"TIME_AMOUNT_WEEKS" = "%@седмици"; +/* Label text below navbar button, embeds {{number of weeks}}. Must be very short, like 1 or 2 characters, The space is intentionally omitted between the text and the embedded duration so that we get, e.g. '5w' not '5 w'. See other *_TIME_AMOUNT strings */ +"TIME_AMOUNT_WEEKS_SHORT_FORMAT" = "%@сц"; +/* Label for the cancel button in an alert or action sheet. */ +"TXT_CANCEL_TITLE" = "Анулиране"; +/* No comment provided by engineer. */ +"TXT_DELETE_TITLE" = "Изтриване"; +/* Filename for voice messages. */ +"VOICE_MESSAGE_FILE_NAME" = "Гласово съобщение"; +/* Message for the alert indicating the 'voice message' needs to be held to be held down to record. */ +"VOICE_MESSAGE_TOO_SHORT_ALERT_MESSAGE" = "Натиснете и задръжте за запис."; +/* Title for the alert indicating the 'voice message' needs to be held to be held down to record. */ +"VOICE_MESSAGE_TOO_SHORT_ALERT_TITLE" = "Задръжте по време на записването"; +/* Info Message when you disable disappearing messages */ +"YOU_DISABLED_DISAPPEARING_MESSAGES_CONFIGURATION" = "Вие деактивирахте изчезващите съобщения."; +/* Info message embedding a {{time amount}}, see the *_TIME_AMOUNT strings for context. */ +"YOU_UPDATED_DISAPPEARING_MESSAGES_CONFIGURATION" = "You set disappearing message time to %@"; +// MARK: - Session +"continue_2" = "Continue"; +"copy" = "Copy"; +"invalid_url" = "Invalid URL"; +"next" = "Next"; +"share" = "Share"; +"invalid_session_id" = "Invalid Session ID"; +"cancel" = "Cancel"; +"your_session_id" = "Your Session ID"; +"vc_landing_title_2" = "Your Session begins here..."; +"vc_landing_register_button_title" = "Create Session ID"; +"vc_landing_restore_button_title" = "Continue Your Session"; +"vc_landing_link_button_title" = "Link a Device"; +"view_fake_chat_bubble_1" = "What's Session?"; +"view_fake_chat_bubble_2" = "It's a decentralized, encrypted messaging app"; +"view_fake_chat_bubble_3" = "So it doesn't collect my personal information or my conversation metadata? How does it work?"; +"view_fake_chat_bubble_4" = "Using a combination of advanced anonymous routing and end-to-end encryption technologies."; +"view_fake_chat_bubble_5" = "Friends don't let friends use compromised messengers. You're welcome."; +"vc_register_title" = "Say hello to your Session ID"; +"vc_register_explanation" = "Your Session ID is the unique address people can use to contact you on Session. With no connection to your real identity, your Session ID is totally anonymous and private by design."; +"vc_restore_title" = "Restore your account"; +"vc_restore_explanation" = "Enter the recovery phrase that was given to you when you signed up to restore your account."; +"vc_restore_seed_text_field_hint" = "Enter your recovery phrase"; +"vc_link_device_title" = "Link a Device"; +"vc_link_device_scan_qr_code_tab_title" = "Scan QR Code"; +"vc_display_name_title_2" = "Pick your display name"; +"vc_display_name_explanation" = "This will be your name when you use Session. It can be your real name, an alias, or anything else you like."; +"vc_display_name_text_field_hint" = "Enter a display name"; +"vc_display_name_display_name_missing_error" = "Please pick a display name"; +"vc_display_name_display_name_too_long_error" = "Please pick a shorter display name"; +"vc_pn_mode_recommended_option_tag" = "Recommended"; +"vc_pn_mode_no_option_picked_modal_title" = "Please Pick an Option"; +"vc_home_empty_state_message" = "You don't have any contacts yet"; +"vc_home_empty_state_button_title" = "Start a Session"; +"vc_seed_title" = "Your Recovery Phrase"; +"vc_seed_title_2" = "Meet your recovery phrase"; +"vc_seed_explanation" = "Your recovery phrase is the master key to your Session ID — you can use it to restore your Session ID if you lose access to your device. Store your recovery phrase in a safe place, and don’t give it to anyone."; +"vc_seed_reveal_button_title" = "Hold to reveal"; +"view_seed_reminder_subtitle_1" = "Secure your account by saving your recovery phrase"; +"view_seed_reminder_subtitle_2" = "Tap and hold the redacted words to reveal your recovery phrase, then store it safely to secure your Session ID."; +"view_seed_reminder_subtitle_3" = "Make sure to store your recovery phrase in a safe place"; +"vc_path_title" = "Path"; +"vc_path_explanation" = "Session hides your IP by routing your messages through multiple Service Nodes in Session's decentralized network. These are the countries your connection is currently being routed through:"; +"vc_path_device_row_title" = "Ти"; +"vc_path_guard_node_row_title" = "Entry Node"; +"vc_path_service_node_row_title" = "Service Node"; +"vc_path_destination_row_title" = "Destination"; +"vc_path_learn_more_button_title" = "Научи повече"; +"vc_create_private_chat_title" = "New Message"; +"vc_create_private_chat_enter_session_id_tab_title" = "Enter Session ID"; +"vc_create_private_chat_scan_qr_code_tab_title" = "Scan QR Code"; +"vc_enter_public_key_explanation" = "Start a new conversation by entering someone's Session ID or share your Session ID with them."; +"vc_scan_qr_code_camera_access_explanation" = "Session needs camera access to scan QR codes"; +"vc_scan_qr_code_grant_camera_access_button_title" = "Grant Camera Access"; +"vc_create_closed_group_title" = "Create Group"; +"vc_create_closed_group_text_field_hint" = "Enter a group name"; +"vc_create_closed_group_empty_state_message" = "You don't have any contacts yet"; +"vc_create_closed_group_group_name_missing_error" = "Please enter a group name"; +"vc_create_closed_group_group_name_too_long_error" = "Please enter a shorter group name"; +"vc_create_closed_group_too_many_group_members_error" = "A closed group cannot have more than 100 members"; +"vc_join_public_chat_title" = "Join Community"; +"vc_join_public_chat_enter_group_url_tab_title" = "Community URL"; +"vc_join_public_chat_scan_qr_code_tab_title" = "Scan QR Code"; +"vc_enter_chat_url_text_field_hint" = "Enter Community URL"; +"vc_settings_title" = "Settings"; +"vc_group_settings_title" = "Group Settings"; +"vc_settings_display_name_missing_error" = "Please pick a display name"; +"vc_settings_display_name_too_long_error" = "Please pick a shorter display name"; +"vc_settings_privacy_button_title" = "Privacy"; +"vc_settings_notifications_button_title" = "Notifications"; +"vc_settings_recovery_phrase_button_title" = "Recovery Phrase"; +"vc_settings_clear_all_data_button_title" = "Clear Data"; +"vc_qr_code_title" = "QR Code"; +"vc_qr_code_view_my_qr_code_tab_title" = "View My QR Code"; +"vc_qr_code_view_scan_qr_code_tab_title" = "Scan QR Code"; +"vc_qr_code_view_scan_qr_code_explanation" = "Scan someone's QR code to start a conversation with them"; +"vc_view_my_qr_code_explanation" = "This is your QR code. Other users can scan it to start a session with you."; +// MARK: - Not Yet Translated +"fast_mode_explanation" = "You’ll be notified of new messages reliably and immediately using Apple’s notification servers."; +"fast_mode" = "Fast Mode"; +"slow_mode_explanation" = "Session will occasionally check for new messages in the background."; +"slow_mode" = "Slow Mode"; +"vc_pn_mode_title" = "Message Notifications"; +"vc_link_device_recovery_phrase_tab_title" = "Recovery Phrase"; +"vc_link_device_scan_qr_code_explanation" = "Navigate to Settings → Recovery Phrase on your other device to show your QR code."; +"vc_enter_recovery_phrase_title" = "Recovery Phrase"; +"vc_enter_recovery_phrase_explanation" = "To link your device, enter the recovery phrase that was given to you when you signed up."; +"vc_enter_public_key_text_field_hint" = "Enter Session ID or ONS name"; +"admin_group_leave_warning" = "Because you are the creator of this group it will be deleted for everyone. This cannot be undone."; +"vc_join_open_group_suggestions_title" = "Or join one of these..."; +"vc_settings_invite_a_friend_button_title" = "Покани приятел"; +"copied" = "Copied"; +"vc_conversation_settings_copy_session_id_button_title" = "Copy Session ID"; +"vc_conversation_input_prompt" = "Message"; +"vc_conversation_voice_message_cancel_message" = "Slide to Cancel"; +"modal_download_attachment_title" = "Trust %@?"; +"modal_download_attachment_explanation" = "Are you sure you want to download media sent by %@?"; +"modal_download_button_title" = "Изтегляне"; +"modal_open_url_title" = "Open URL?"; +"modal_open_url_explanation" = "Are you sure you want to open %@?"; +"modal_open_url_button_title" = "Open"; +"modal_copy_url_button_title" = "Copy Link"; +"modal_blocked_title" = "Unblock %@?"; +"modal_blocked_explanation" = "Are you sure you want to unblock %@?"; +"modal_blocked_button_title" = "Unblock"; +"modal_link_previews_title" = "Enable Link Previews?"; +"modal_link_previews_explanation" = "Enabling link previews will show previews for URLs you send and receive. This can be useful, but Session will need to contact linked websites to generate previews. You can always disable link previews in Session's settings."; +"modal_link_previews_button_title" = "Enable"; +"vc_share_title" = "Share to Session"; +"vc_share_loading_message" = "Preparing attachments..."; +"vc_share_sending_message" = "Изпращане..."; +"vc_share_link_previews_unsecure" = "Preview not loaded for unsecure link"; +"vc_share_link_previews_error" = "Unable to load preview"; +"vc_share_link_previews_disabled_title" = "Link Previews Disabled"; +"vc_share_link_previews_disabled_explanation" = "Enabling link previews will show previews for URLs you share. This can be useful, but Session will need to contact linked websites to generate previews.\n\nYou can enable link previews in Session's settings."; +"view_open_group_invitation_description" = "Open group invitation"; +"vc_conversation_settings_invite_button_title" = "Add Members"; +"modal_send_seed_title" = "Warning"; +"modal_send_seed_explanation" = "This is your recovery phrase. If you send it to someone they'll have full access to your account."; +"modal_send_seed_send_button_title" = "Send"; +"vc_conversation_settings_notify_for_mentions_only_title" = "Notify for Mentions Only"; +"vc_conversation_settings_notify_for_mentions_only_explanation" = "When enabled, you'll only be notified for messages mentioning you."; +"view_conversation_title_notify_for_mentions_only" = "Notifying for Mentions Only"; +"message_deleted" = "This message has been deleted"; +"delete_message_for_me" = "Delete just for me"; +"delete_message_for_everyone" = "Delete for everyone"; +"delete_message_for_me_and_recipient" = "Delete for me and %@"; +"context_menu_reply" = "Reply"; +"context_menu_save" = "Save"; +"context_menu_ban_user" = "Ban User"; +"context_menu_ban_and_delete_all" = "Ban and Delete All"; +"context_menu_ban_user_error_alert_message" = "Unable to ban user"; +"accessibility_expanding_attachments_button" = "Add attachments"; +"accessibility_gif_button" = "Gif"; +"accessibility_document_button" = "Document"; +"accessibility_library_button" = "Photo library"; +"accessibility_camera_button" = "Камера"; +"accessibility_main_button_collapse" = "Collapse attachment options"; +"invalid_recovery_phrase" = "Invalid Recovery Phrase"; +"DISMISS_BUTTON_TEXT" = "Dismiss"; +/* Button text which opens the settings app */ +"OPEN_SETTINGS_BUTTON" = "Settings"; +"call_outgoing" = "You called %@"; +"call_incoming" = "%@ called you"; +"call_missed" = "Missed Call from %@"; +"APN_Message" = "You've got a new message."; +"APN_Collapsed_Messages" = "You've got %@ new messages."; +"PIN_BUTTON_TEXT" = "Pin"; +"UNPIN_BUTTON_TEXT" = "Unpin"; +"modal_call_missed_tips_title" = "Call missed"; +"modal_call_missed_tips_explanation" = "Call missed from '%@' because you needed to enable the 'Voice and video calls' permission in the Privacy Settings."; +"media_saved" = "Media saved by %@."; +"screenshot_taken" = "%@ took a screenshot."; +"SEARCH_SECTION_CONTACTS" = "Contacts & Groups"; +"SEARCH_SECTION_MESSAGES" = "Messages"; +"MESSAGE_REQUESTS_TITLE" = "Message Requests"; +"MESSAGE_REQUESTS_EMPTY_TEXT" = "No pending message requests"; +"MESSAGE_REQUESTS_CLEAR_ALL" = "Clear All"; +"MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_TITLE" = "Are you sure you want to clear all message requests?"; +"MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_ACTON" = "Clear"; +"MESSAGE_REQUESTS_DELETE_CONFIRMATION_ACTON" = "Are you sure you want to delete this message request?"; +"MESSAGE_REQUESTS_BLOCK_CONFIRMATION_ACTON" = "Are you sure you want to block this contact?"; +"MESSAGE_REQUESTS_INFO" = "Sending a message to this user will automatically accept their message request and reveal your Session ID."; +"MESSAGE_REQUESTS_ACCEPTED" = "Your message request has been accepted."; +"MESSAGE_REQUESTS_NOTIFICATION" = "You have a new message request"; +"TXT_HIDE_TITLE" = "Hide"; +"TXT_DELETE_ACCEPT" = "Accept"; +"TXT_BLOCK_USER_TITLE" = "Block User"; +"ALERT_ERROR_TITLE" = "Error"; +"modal_call_permission_request_title" = "Call Permissions Required"; +"modal_call_permission_request_explanation" = "You can enable the 'Voice and video calls' permission in the Privacy Settings."; +"DEFAULT_OPEN_GROUP_LOAD_ERROR_TITLE" = "Oops, an error occurred"; +"DEFAULT_OPEN_GROUP_LOAD_ERROR_SUBTITLE" = "Please try again later"; +"LOADING_CONVERSATIONS" = "Loading Conversations..."; +"DATABASE_MIGRATION_FAILED" = "An error occurred when optimising the database\n\nYou can export your application logs to be able to share for troubleshooting or you can restore your device\n\nWarning: Restoring your device will result in loss of any data older than two weeks"; +"RECOVERY_PHASE_ERROR_GENERIC" = "Something went wrong. Please check your recovery phrase and try again."; +"RECOVERY_PHASE_ERROR_LENGTH" = "Looks like you didn't enter enough words. Please check your recovery phrase and try again."; +"RECOVERY_PHASE_ERROR_LAST_WORD" = "You seem to be missing the last word of your recovery phrase. Please check what you entered and try again."; +"RECOVERY_PHASE_ERROR_INVALID_WORD" = "There appears to be an invalid word in your recovery phrase. Please check what you entered and try again."; +"RECOVERY_PHASE_ERROR_FAILED" = "Your recovery phrase couldn't be verified. Please check what you entered and try again."; +/* Indicates that an unknown error occurred while using Touch ID/Face ID/Phone Passcode. */ +"SCREEN_LOCK_ENABLE_UNKNOWN_ERROR" = "Authentication could not be accessed."; +/* Indicates that Touch ID/Face ID/Phone Passcode authentication failed. */ +"SCREEN_LOCK_ERROR_LOCAL_AUTHENTICATION_FAILED" = "Authentication failed."; +/* Indicates that Touch ID/Face ID/Phone Passcode is 'locked out' on this device due to authentication failures. */ +"SCREEN_LOCK_ERROR_LOCAL_AUTHENTICATION_LOCKOUT" = "Too many failed authentication attempts. Please try again later."; +/* Indicates that Touch ID/Face ID/Phone Passcode are not available on this device. */ +"SCREEN_LOCK_ERROR_LOCAL_AUTHENTICATION_NOT_AVAILABLE" = "You must enable a passcode in your iOS Settings in order to use Screen Lock."; +/* Indicates that Touch ID/Face ID/Phone Passcode is not configured on this device. */ +"SCREEN_LOCK_ERROR_LOCAL_AUTHENTICATION_NOT_ENROLLED" = "You must enable a passcode in your iOS Settings in order to use Screen Lock."; +/* Indicates that Touch ID/Face ID/Phone Passcode passcode is not set. */ +"SCREEN_LOCK_ERROR_LOCAL_AUTHENTICATION_PASSCODE_NOT_SET" = "You must enable a passcode in your iOS Settings in order to use Screen Lock."; +/* Label for the button to send a message */ +"SEND_BUTTON_TITLE" = "Send"; +/* Generic text for button that retries whatever the last action was. */ +"RETRY_BUTTON_TEXT" = "Retry"; +/* notification action */ +"SHOW_THREAD_BUTTON_TITLE" = "Show Chat"; +/* notification body */ +"SEND_FAILED_NOTIFICATION_BODY" = "Your message failed to send."; +"INVALID_SESSION_ID_MESSAGE" = "Please check the Session ID and try again."; +"INVALID_RECOVERY_PHRASE_MESSAGE" = "Please check the Recovery Phrase and try again."; +"MEDIA_TAB_TITLE" = "Media"; +"DOCUMENT_TAB_TITLE" = "Documents"; +"DOCUMENT_TILES_EMPTY_DOCUMENT" = "You don't have any document in this conversation."; +"DOCUMENT_TILES_LOADING_MORE_RECENT_LABEL" = "Loading Newer Document…"; +"DOCUMENT_TILES_LOADING_OLDER_LABEL" = "Loading Older Document…"; +/* The name for the emoji category 'Activities' */ +"EMOJI_CATEGORY_ACTIVITIES_NAME" = "Activities"; +/* The name for the emoji category 'Animals & Nature' */ +"EMOJI_CATEGORY_ANIMALS_NAME" = "Animals & Nature"; +/* The name for the emoji category 'Flags' */ +"EMOJI_CATEGORY_FLAGS_NAME" = "Flags"; +/* The name for the emoji category 'Food & Drink' */ +"EMOJI_CATEGORY_FOOD_NAME" = "Food & Drink"; +/* The name for the emoji category 'Objects' */ +"EMOJI_CATEGORY_OBJECTS_NAME" = "Objects"; +/* The name for the emoji category 'Recents' */ +"EMOJI_CATEGORY_RECENTS_NAME" = "Recently Used"; +/* The name for the emoji category 'Smileys & People' */ +"EMOJI_CATEGORY_SMILEYSANDPEOPLE_NAME" = "Smileys & People"; +/* The name for the emoji category 'Symbols' */ +"EMOJI_CATEGORY_SYMBOLS_NAME" = "Symbols"; +/* The name for the emoji category 'Travel & Places' */ +"EMOJI_CATEGORY_TRAVEL_NAME" = "Travel & Places"; +"EMOJI_REACTS_NOTIFICATION" = "%@ reacts to a message with %@."; +"EMOJI_REACTS_MORE_REACTORS_ONE" = "And 1 other has reacted %@ to this message."; +"EMOJI_REACTS_MORE_REACTORS_MUTIPLE" = "And %@ others have reacted %@ to this message."; +"EMOJI_REACTS_RATE_LIMIT_TOAST" = "Slow down! You've sent too many emoji reacts. Try again soon."; +/* New conversation screen*/ +"vc_new_conversation_title" = "New Conversation"; +"CREATE_GROUP_BUTTON_TITLE" = "Create"; +"JOIN_COMMUNITY_BUTTON_TITLE" = "Join"; +"PRIVACY_TITLE" = "Privacy"; +"PRIVACY_SECTION_SCREEN_SECURITY" = "Screen Security"; +"PRIVACY_SCREEN_SECURITY_LOCK_SESSION_TITLE" = "Lock Session"; +"PRIVACY_SCREEN_SECURITY_LOCK_SESSION_DESCRIPTION" = "Require Touch ID, Face ID or your passcode to unlock Session."; +"PRIVACY_SECTION_READ_RECEIPTS" = "Read Receipts"; +"PRIVACY_READ_RECEIPTS_TITLE" = "Read Receipts"; +"PRIVACY_READ_RECEIPTS_DESCRIPTION" = "Send read receipts in one-to-one chats."; +"PRIVACY_SECTION_TYPING_INDICATORS" = "Typing Indicators"; +"PRIVACY_TYPING_INDICATORS_TITLE" = "Typing Indicators"; +"PRIVACY_TYPING_INDICATORS_DESCRIPTION" = "See and share typing indicators in one-to-one conversations."; +"PRIVACY_SECTION_LINK_PREVIEWS" = "Link Previews"; +"PRIVACY_LINK_PREVIEWS_TITLE" = "Send Link Previews"; +"PRIVACY_LINK_PREVIEWS_DESCRIPTION" = "Generate link previews for supported URLs."; +"PRIVACY_SECTION_CALLS" = "Calls (Beta)"; +"PRIVACY_CALLS_TITLE" = "Voice and Video Calls"; +"PRIVACY_CALLS_DESCRIPTION" = "Enables voice and video calls to and from other users."; +"PRIVACY_CALLS_WARNING_TITLE" = "Voice and Video Calls (Beta)"; +"PRIVACY_CALLS_WARNING_DESCRIPTION" = "Your IP address is visible to your call partner and an Oxen Foundation server while using beta calls. Are you sure you want to enable Voice and Video Calls?"; +"NOTIFICATIONS_TITLE" = "Notifications"; +"NOTIFICATIONS_SECTION_STRATEGY" = "Notification Strategy"; +"NOTIFICATIONS_STRATEGY_FAST_MODE_TITLE" = "Use Fast Mode"; +"NOTIFICATIONS_STRATEGY_FAST_MODE_DESCRIPTION" = "You'll be notified of new message reliably and immediately using Apple's notification servers."; +"NOTIFICATIONS_STRATEGY_FAST_MODE_ACTION" = "Go to device notification settings"; +"NOTIFICATIONS_SECTION_STYLE" = "Notification Style"; +"NOTIFICATIONS_STYLE_SOUND_TITLE" = "Sound"; +"NOTIFICATIONS_STYLE_SOUND_WHEN_OPEN_TITLE" = "Sound When App is Open"; +"NOTIFICATIONS_STYLE_CONTENT_TITLE" = "Notification Content"; +"NOTIFICATIONS_STYLE_CONTENT_DESCRIPTION" = "The information shown in notifications."; +"NOTIFICATIONS_STYLE_CONTENT_OPTION_NAME_AND_CONTENT" = "Name & Content"; +"NOTIFICATIONS_STYLE_CONTENT_OPTION_NAME_ONLY" = "Name Only"; +"NOTIFICATIONS_STYLE_CONTENT_OPTION_NO_NAME_OR_CONTENT" = "No Name or Content"; +"CONVERSATION_SETTINGS_TITLE" = "Conversations"; +"CONVERSATION_SETTINGS_SECTION_MESSAGE_TRIMMING" = "Message Trimming"; +"CONVERSATION_SETTINGS_MESSAGE_TRIMMING_TITLE" = "Trim Communities"; +"CONVERSATION_SETTINGS_MESSAGE_TRIMMING_DESCRIPTION" = "Delete messages older than 6 months from Communities that have over 2,000 messages."; +"CONVERSATION_SETTINGS_SECTION_AUDIO_MESSAGES" = "Audio Messages"; +"CONVERSATION_SETTINGS_AUDIO_MESSAGES_AUTOPLAY_TITLE" = "Autoplay Audio Messages"; +"CONVERSATION_SETTINGS_AUDIO_MESSAGES_AUTOPLAY_DESCRIPTION" = "Autoplay consecutive audio messages."; +"CONVERSATION_SETTINGS_BLOCKED_CONTACTS_TITLE" = "Blocked Contacts"; +"CONVERSATION_SETTINGS_BLOCKED_CONTACTS_EMPTY_STATE" = "You have no blocked contacts."; +"CONVERSATION_SETTINGS_BLOCKED_CONTACTS_UNBLOCK" = "Unblock"; +"CONVERSATION_SETTINGS_BLOCKED_CONTACTS_UNBLOCK_CONFIRMATION_TITLE_SINGLE" = "Are you sure you want to unblock %@?"; +"CONVERSATION_SETTINGS_BLOCKED_CONTACTS_UNBLOCK_CONFIRMATION_TITLE_FALLBACK" = "this contact"; +"CONVERSATION_SETTINGS_BLOCKED_CONTACTS_UNBLOCK_CONFIRMATION_TITLE_MULTIPLE_1" = "Are you sure you want to unblock %@"; +"CONVERSATION_SETTINGS_BLOCKED_CONTACTS_UNBLOCK_CONFIRMATION_TITLE_MULTIPLE_2_SINGLE" = "and %@?"; +"CONVERSATION_SETTINGS_BLOCKED_CONTACTS_UNBLOCK_CONFIRMATION_TITLE_MULTIPLE_3" = "and %d others?"; +"CONVERSATION_SETTINGS_BLOCKED_CONTACTS_UNBLOCK_CONFIRMATION_ACTON" = "Unblock"; +"APPEARANCE_TITLE" = "Appearance"; +"APPEARANCE_THEMES_TITLE" = "Themes"; +"APPEARANCE_PRIMARY_COLOR_TITLE" = "Primary colour"; +"APPEARANCE_PRIMARY_COLOR_PREVIEW_INC_QUOTE" = "How are you?"; +"APPEARANCE_PRIMARY_COLOR_PREVIEW_INC_MESSAGE" = "I'm good thanks, you?"; +"APPEARANCE_PRIMARY_COLOR_PREVIEW_OUT_MESSAGE" = "I'm doing great, thanks."; +"APPEARANCE_NIGHT_MODE_TITLE" = "Auto night-mode"; +"APPEARANCE_NIGHT_MODE_TOGGLE" = "Match system settings"; +"HELP_TITLE" = "Help"; +"HELP_REPORT_BUG_TITLE" = "Report a Bug"; +"HELP_REPORT_BUG_DESCRIPTION" = "Export your logs, then upload the file though Session's Help Desk."; +"HELP_REPORT_BUG_ACTION_TITLE" = "Export Logs"; +"HELP_TRANSLATE_TITLE" = "Translate Session"; +"HELP_FEEDBACK_TITLE" = "We'd love your Feedback"; +"HELP_FAQ_TITLE" = "FAQ"; +"HELP_SUPPORT_TITLE" = "Support"; +"modal_clear_all_data_title" = "Clear All Data"; +"modal_clear_all_data_explanation" = "This will permanently delete your messages and contacts. Would you like to clear this device only, or delete your data from the network as well?"; +"modal_clear_all_data_explanation_2" = "Are you sure you want to delete your data from the network? If you continue, you will not be able to restore your messages or contacts."; +"modal_clear_all_data_device_only_button_title" = "Clear Device Only"; +"modal_clear_all_data_entire_account_button_title" = "Clear Device and Network"; +"dialog_clear_all_data_deletion_failed_1" = "Data not deleted by 1 Service Node. Service Node ID: %@."; +"dialog_clear_all_data_deletion_failed_2" = "Data not deleted by %@ Service Nodes. Service Node IDs: %@."; +"modal_clear_all_data_confirm" = "Clear"; +"modal_seed_title" = "Your Recovery Phrase"; +"modal_seed_explanation" = "You can use your recovery phrase to restore your account or link a device."; +"modal_permission_explanation" = "Session needs %@ access to continue. You can enable access in the iOS settings."; +"modal_permission_settings_title" = "Settings"; +"modal_permission_camera" = "camera"; +"modal_permission_microphone" = "microphone"; +"modal_permission_library" = "library"; +"DISAPPEARING_MESSAGES_OFF" = "Off"; +"DISAPPEARING_MESSAGES_SUBTITLE_OFF" = "Off"; +"DISAPPEARING_MESSAGES_SUBTITLE_DISAPPEAR_AFTER" = "Disappear After: %@"; +"COPY_GROUP_URL" = "Copy Group URL"; +"NEW_CONVERSATION_CONTACTS_SECTION_TITLE" = "Contacts"; +"GROUP_ERROR_NO_MEMBER_SELECTION" = "Please pick at least 1 group member"; +"GROUP_CREATION_PLEASE_WAIT" = "Please wait while the group is created..."; +"GROUP_CREATION_ERROR_TITLE" = "Couldn't Create Group"; +"GROUP_CREATION_ERROR_MESSAGE" = "Please check your internet connection and try again."; +"GROUP_UPDATE_ERROR_TITLE" = "Couldn't Update Group"; +"GROUP_UPDATE_ERROR_MESSAGE" = "Can't leave while adding or removing other members."; +"GROUP_ACTION_REMOVE" = "Remove"; +"GROUP_TITLE_MEMBERS" = "Members"; +"GROUP_TITLE_FALLBACK" = "Group"; +"DM_ERROR_DIRECT_BLINDED_ID" = "You can only send messages to Blinded IDs from within a Community"; +"DM_ERROR_INVALID" = "Please check the Session ID or ONS name and try again"; +"COMMUNITY_ERROR_INVALID_URL" = "Please check the URL you entered and try again."; +"COMMUNITY_ERROR_GENERIC" = "Couldn't Join"; +"DISAPPERING_MESSAGES_TITLE" = "Disappearing Messages"; +"DISAPPERING_MESSAGES_TYPE_TITLE" = "Delete Type"; +"DISAPPERING_MESSAGES_TYPE_AFTER_READ_TITLE" = "Disappear After Read"; +"DISAPPERING_MESSAGES_TYPE_AFTER_READ_DESCRIPTION" = "Messages delete after they have been read."; +"DISAPPERING_MESSAGES_TYPE_AFTER_SEND_TITLE" = "Disappear After Send"; +"DISAPPERING_MESSAGES_TYPE_AFTER_SEND_DESCRIPTION" = "Messages delete after they have been sent."; +"DISAPPERING_MESSAGES_TIMER_TITLE" = "Timer"; +"DISAPPERING_MESSAGES_SAVE_TITLE" = "Set"; +"DISAPPERING_MESSAGES_GROUP_WARNING" = "This setting applies to everyone in this conversation."; +"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to everyone in this conversation. Only group admins can change this setting."; +"DISAPPERING_MESSAGES_SUMMARY" = "Disappear After %@ - %@"; +"DISAPPERING_MESSAGES_INFO_ENABLE" = "%@ has set messages to disappear %@ after they have been %@"; +"DISAPPERING_MESSAGES_INFO_UPDATE" = "%@ has changed messages to disappear %@ after they have been %@"; +"DISAPPERING_MESSAGES_INFO_DISABLE" = "%@ has turned off disappearing messages"; + +/* context_menu_info */ +"context_menu_info" = "Info"; + +/* An error that is displayed when the application fails for create it's initial connection to the database */ +"DATABASE_STARTUP_FAILED" = "An error occurred when opening the database\n\nYou can export your application logs to share for troubleshooting or you can try to restore your device\n\nWarning: Restoring your device will result in loss of any data older than two weeks"; + +/* A warning displayed to the user when the application takes too long to launch */ +"APP_STARTUP_TIMEOUT" = "The app is taking a long time to start\n\nYou can continue to wait for the app to start, export your application logs to share for troubleshooting or you can try to open the app again"; + +/* The title of a button on a modal shown when the application fails to start, pressing the button closes the application */ +"APP_STARTUP_EXIT" = "Exit"; + +/* An error which occurs if the user tries to restore the database after an initial failure and it fails to restore */ +"DATABASE_RESTORE_FAILED" = "An error occurred when opening the restored database\n\nYou can export your application logs to share for troubleshooting but to continue to use Session you may need to reinstall"; + +/* Text displayed in place of a quoted message when the original message is not on the device */ +"QUOTED_MESSAGE_NOT_FOUND" = "Original message not found."; + +/* EMOJI_REACTS_SHOW_LESS */ +"EMOJI_REACTS_SHOW_LESS" = "Show less"; + +/* PRIVACY_SECTION_MESSAGE_REQUESTS */ +"PRIVACY_SECTION_MESSAGE_REQUESTS" = "Message Requests"; + +/* PRIVACY_SCREEN_MESSAGE_REQUESTS_COMMUNITY_TITLE */ +"PRIVACY_SCREEN_MESSAGE_REQUESTS_COMMUNITY_TITLE" = "Community Message Requests"; + +/* PRIVACY_SCREEN_MESSAGE_REQUESTS_COMMUNITY_DESCRIPTION */ +"PRIVACY_SCREEN_MESSAGE_REQUESTS_COMMUNITY_DESCRIPTION" = "Allow message requests from Community conversations."; + +/* Information displayed above the input when sending a message to a new user for the first time explaining limitations around the types of messages which can be sent before being approved */ +"MESSAGE_REQUEST_PENDING_APPROVAL_INFO" = "You will be able to send voice messages and attachments once the recipient has approved this message request"; + +/* State of a message while it's still in the process of being sent */ +"MESSAGE_DELIVERY_STATUS_SENDING" = "Sending"; + +/* State of a message once it has been sent */ +"MESSAGE_DELIVERY_STATUS_SENT" = "Sent"; + +/* State of a message after the recipient has read the message */ +"MESSAGE_DELIVERY_STATUS_READ" = "Read"; + +/* State of a message if it failed to be sent */ +"MESSAGE_DELIVERY_STATUS_FAILED" = "Failed to send"; + +/* Title of the message information screen describing the date/time a message was sent */ +"MESSAGE_INFO_SENT" = "Sent"; + +/* Title of the message information screen describing the date/time a message was received on a specific device */ +"MESSAGE_INFO_RECEIVED" = "Received"; + +/* Title of the message information screen describing the sender of the message */ +"MESSAGE_INFO_FROM" = "From"; + +/* Title of the message information screen describing the identifier of the attachment */ +"ATTACHMENT_INFO_FILE_ID" = "File ID"; + +/* Title of the message information screen describing the file type of the attachment */ +"ATTACHMENT_INFO_FILE_TYPE" = "File Type"; + +/* Title of the message information screen describing the size of the attachment */ +"ATTACHMENT_INFO_FILE_SIZE" = "File Size"; + +/* Title on the message information screen describing the resolution of a media attachment */ +"ATTACHMENT_INFO_RESOLUTION" = "Resolution"; + +/* Title on the message information screen describing the duration of a media attachment */ +"ATTACHMENT_INFO_DURATION" = "Duration"; + +/* State of a message after it failed to sync to the current users other devices */ +"MESSAGE_DELIVERY_STATUS_FAILED_SYNC" = "Failed to sync"; + +/* State of a message while it's in the process of being synced to the users other devices */ +"MESSAGE_DELIVERY_STATUS_SYNCING" = "Syncing"; + +/* Title of the modal that appears after a user taps on the state of a message which failed to send */ +"MESSAGE_DELIVERY_FAILED_TITLE" = "Failed to send message"; + +/* Title of the modal that appears after a user taps on the state of a message which failed to sync to the users other devices */ +"MESSAGE_DELIVERY_FAILED_SYNC_TITLE" = "Failed to sync message to your other devices"; + +/* Action for the modal shown when asking the user whether they want to delete from all of their devices */ +"delete_message_for_me_and_my_devices" = "Delete from all of my devices"; + +/* Action in the long-press menu to trigger a message to be sent again after it has failed */ +"context_menu_resend" = "Resend"; + +/* Action in the long-press menu to trigger a message to be synced again after it has failed */ +"context_menu_resync" = "Resync"; + +/* Title of a modal show the first time a user tries to search for GIFs */ +"GIPHY_PERMISSION_TITLE" = "Search GIFs?"; + +/* Message of a modal show the first time a user tries to search for GIFs */ +"GIPHY_PERMISSION_MESSAGE" = "Session will connect to Giphy to provide search results. You will not have full metadata protection when sending GIFs."; + +/* Action in the long-press menu to view more information about a specific message */ +"message_info_title" = "Message Info"; + +/* Action to mute a conversation in the swipe menu */ +"mute_button_text" = "Mute"; + +/* Action in the swipe menu to unmute a conversation */ +"unmute_button_text" = "Unmute"; + +/* Action in the swipe menu to mark a conversation as read */ +"MARK_AS_READ" = "Mark read"; + +/* Action in the swipe menu to mark a conversation as unread */ +"MARK_AS_UNREAD" = "Mark unread"; + +/* Title of the confirmation modal show when attempting to leave a group conversation */ +"leave_group_confirmation_alert_title" = "Leave Group"; + +/* Title of the confirmation modal show when attempting to leave a community conversation */ +"leave_community_confirmation_alert_title" = "Leave Community"; + +/* Message in the confirmation modal when leaving a community conversation */ +"leave_community_confirmation_alert_message" = "Are you sure you want to leave %@?"; + +/* Conversation subtitle while the user in the process of leaving */ +"group_you_leaving" = "Leaving..."; + +/* Conversation subtitle if the user in the failed to leave */ +"group_leave_error" = "Failed to leave Group!"; + +/* Message within a conversation indicating the device was unable to leave a group conversation */ +"group_unable_to_leave" = "Unable to leave the Group, please try again"; + +/* Title in the confirmation modal to delete a group */ +"delete_group_confirmation_alert_title" = "Delete Group"; + +/* Message in the confirmation modal to delete a group */ +"delete_group_confirmation_alert_message" = "Are you sure you want to delete %@?"; + +/* Title in the confirmation modal when the user tries to delete a one-to-one conversation */ +"delete_conversation_confirmation_alert_title" = "Delete Conversation"; + +/* Message in the confirmation modal when the user tries to delete a one-to-one conversation */ +"delete_conversation_confirmation_alert_message" = "Are you sure you want to delete your conversation with %@?"; + +/* Title in the confirmation modal when the user tries to hide the 'Note to Self' conversation */ +"hide_note_to_self_confirmation_alert_title" = "Hide Note to Self"; + +/* Message in the confirmation modal when the user tries to hide the 'Note to Self' conversation */ +"hide_note_to_self_confirmation_alert_message" = "Are you sure you want to hide %@?"; + +/* Title in the modal for updating the users profile display picture */ +"update_profile_modal_title" = "Set Display Picture"; + +/* Save action in the modal for updating the users profile display picture */ +"update_profile_modal_save" = "Save"; + +/* Remove action in the modal for updating the users profile display picture */ +"update_profile_modal_remove" = "Remove"; + +/* Title for the error when failing to remove the users profile display picture */ +"update_profile_modal_remove_error_title" = "Unable to remove avatar image"; + +/* Title for the error when the user selects a profile display picture that is too large */ +"update_profile_modal_max_size_error_title" = "Maximum File Size Exceeded"; + +/* Message for the error when the user selects a profile display picture that is too large */ +"update_profile_modal_max_size_error_message" = "Please select a smaller photo and try again"; + +/* Title for the error when the user fails to update their profile display picture */ +"update_profile_modal_error_title" = "Couldn't Update Profile"; + +/* Message for the error when the user fails to update their profile display picture */ +"update_profile_modal_error_message" = "Please check your internet connection and try again"; + +/* Placeholder when entering a nickname for a contact */ +"CONTACT_NICKNAME_PLACEHOLDER" = "Enter a name"; + +/* The separator within a conversation indicating that following messages are unread */ +"UNREAD_MESSAGES" = "Unread Messages"; + +/* Empty state for a conversation */ +"CONVERSATION_EMPTY_STATE" = "You have no messages from %@. Send a message to start the conversation!"; + +/* Empty state for a read-only conversation */ +"CONVERSATION_EMPTY_STATE_READ_ONLY" = "There are no messages in %@."; + +/* Empty state for the 'Note to Self' conversation */ +"CONVERSATION_EMPTY_STATE_NOTE_TO_SELF" = "You have no messages in %@."; + +/* Message to indicate a user has Community Message Requests disabled */ +"COMMUNITY_MESSAGE_REQUEST_DISABLED_EMPTY_STATE" = "%@ has message requests from Community conversations turned off, so you cannot send them a message."; + +/* Warning to indicate one of the users devices is running an old version of Session */ +"USER_CONFIG_OUTDATED_WARNING" = "Some of your devices are using outdated versions. Syncing may be unreliable until they are updated."; + +/* Ann error displayed if the device is unable to retrieve the users recovery password */ +"LOAD_RECOVERY_PASSWORD_ERROR" = "An error occurred when trying to load your recovery password.\n\nPlease export your logs, then upload the file though Session's Help Desk to help resolve this issue."; + +/* An error displayed when trying to send a message if the device is unable to save it to the database */ +"FAILED_TO_STORE_OUTGOING_MESSAGE" = "An error occurred when trying to store the outgoing message for sending, you may need to restart the app before you can send messages."; + +/* An error indicating that the device was unable to access the database for some reason */ +"database_inaccessible_error" = "There is an issue opening the database. Please restart the app and try again."; diff --git a/Session/Meta/Translations/bin/auto-genstrings b/Session/Meta/Translations/bin/auto-genstrings deleted file mode 100755 index 0362566cd..000000000 --- a/Session/Meta/Translations/bin/auto-genstrings +++ /dev/null @@ -1,55 +0,0 @@ -#!/usr/bin/env bash - -set -e - -BIN_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -REPO_ROOT=$BIN_DIR/../../.. -cd $REPO_ROOT - -SSK_DIR="./SignalServiceKit/src" -SAE_DIR="./SignalShareExtension" -SM_DIR="./SignalMessaging" -SCK_DIR="../SignalCoreKit" - -TARGETS="Signal/src ${SSK_DIR} ${SAE_DIR} ${SM_DIR} ${SCK_DIR}" -TMP="$(mktemp -d)" -STRINGFILE="Signal/translations/en.lproj/Localizable.strings" - -# Assert preconditions before we do any work -# We're more likely to notice errors this way - -for TARGET_DIR in $TARGETS -do - -if [ ! -d $TARGET_DIR ]; then - echo "Unable to find required directory: ${TARGET_DIR}." - exit 1 -fi - -done - -# Now that we've check all our pre-conditions, proceed with the work. - -# Search directories for .m & .h files and collect string definitions with genstrings -find $TARGETS -name "*.m" -print0 -o -name "*.h" -print0 -o -name "*.swift" -print0 | xargs -0 genstrings -o $TMP - -# We have to convert the new .strings files to UTF-8 in order to deal with them -# STRINGFILE is already UTF-8. -OLDUTF8=$(cat $STRINGFILE) -NEWUTF8=$(iconv -f UTF-16 -t UTF-8 $TMP/Localizable.strings) - -# Let's merge the old with the new .strings file: -# 1. Select old string definition lines -# 2. Setup field separators -# 3. Read old string definitions as associative array -# 4. In new file, if possible, insert old definition -# 5. Add separator and semicolon only for string definition lines -# 6. Convert output back to UTF-16 to final location -echo "$OLDUTF8" | grep -Eo '^".*"' | \ - awk 'BEGIN {FS = "[ ]*=[ ]*"; OFS = ""} \ - NR == FNR {a[$1] = $2; next} \ - {$2 = ($1 in a ? a[$1] : $2); \ - if($2 ~ /"[;]*$/){$2 = " = "$2}; \ - if($2 ~ /"$/){$2 = $2";"}; \ - print}' - <(echo "$NEWUTF8") > $STRINGFILE - diff --git a/Session/Meta/Translations/bin/pull-translations b/Session/Meta/Translations/bin/pull-translations deleted file mode 100755 index d4d2fa89d..000000000 --- a/Session/Meta/Translations/bin/pull-translations +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/env bash - -set -x -set -e - -BIN_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" - -cd $BIN_DIR/.. - -# Pull all translations which are at least 80% complete -tx pull -a --minimum-perc=80 - -# Legacy hack: pull *any existing* translations regardless of their completion. -# Once supported, we don't want to drop any translations. -tx pull --force - -for dir in *.lproj -do - - # en.lproj is already utf-8 - if [[ "$dir" = "en.lproj" ]]; then - continue - fi - - pushd $dir - # Transifex pulls utf-16, but our string linting script needs utf-8. - # Plus we can see the string diffs in GH this way. - iconv -f utf-16 -t utf-8 Localizable.strings > Localizable.strings.utf8 - mv Localizable.strings.utf8 Localizable.strings - popd - -done - -# Get and build iStringsCheck from https://github.com/FredericJacobs/iStringsCheck -# This does some checks to make sure all strings are present and that interpolated strings have the right number of arguments -LINT_CMD=../../../l10n_lint/target/debug/l10n_lint - -if [ -e $LINT_CMD ] -then - $LINT_CMD en.lproj/Localizable.strings . -else - echo "Missing string linter. See: https://github.com:WhisperSystems/l10n_lint" - exit 1 -fi - -echo "Make sure you register any new localizations in XCode! (Go to Project > Signal > Localizations > Add Localizations)" diff --git a/Session/Meta/Translations/bin/push-translation-source b/Session/Meta/Translations/bin/push-translation-source deleted file mode 100755 index 51f7eddaa..000000000 --- a/Session/Meta/Translations/bin/push-translation-source +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env bash - -set -x -set -e - -BIN_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" - -cd $BIN_DIR/.. - -tx push --source - diff --git a/Session/Meta/Translations/bin/sync-translations b/Session/Meta/Translations/bin/sync-translations deleted file mode 100755 index ef3be8d28..000000000 --- a/Session/Meta/Translations/bin/sync-translations +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env bash -set -x -set -e - -BIN_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" - -cd $BIN_DIR/.. - -cat <