diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 0000000..e446b45 --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +QuickDrop \ No newline at end of file diff --git a/.idea/QuickDrop.iml b/.idea/QuickDrop.iml new file mode 100644 index 0000000..804b2ac --- /dev/null +++ b/.idea/QuickDrop.iml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..7026b53 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,16 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..183a04d --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/runConfigurations/QuickDrop.xml b/.idea/runConfigurations/QuickDrop.xml new file mode 100644 index 0000000..acf1f32 --- /dev/null +++ b/.idea/runConfigurations/QuickDrop.xml @@ -0,0 +1,11 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/runConfigurations/QuickDropiOS.xml b/.idea/runConfigurations/QuickDropiOS.xml new file mode 100644 index 0000000..23de1be --- /dev/null +++ b/.idea/runConfigurations/QuickDropiOS.xml @@ -0,0 +1,11 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/runConfigurations/ShareExtension.xml b/.idea/runConfigurations/ShareExtension.xml new file mode 100644 index 0000000..88831bd --- /dev/null +++ b/.idea/runConfigurations/ShareExtension.xml @@ -0,0 +1,11 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/runConfigurations/iOSShareExtension.xml b/.idea/runConfigurations/iOSShareExtension.xml new file mode 100644 index 0000000..564746a --- /dev/null +++ b/.idea/runConfigurations/iOSShareExtension.xml @@ -0,0 +1,11 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/xcode.xml b/.idea/xcode.xml new file mode 100644 index 0000000..55fec22 --- /dev/null +++ b/.idea/xcode.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/NearbyShare/Connection/NearbyConnectionManager.swift b/NearbyShare/Connection/NearbyConnectionManager.swift index 2e4f807..b200100 100644 --- a/NearbyShare/Connection/NearbyConnectionManager.swift +++ b/NearbyShare/Connection/NearbyConnectionManager.swift @@ -217,7 +217,7 @@ public class NearbyConnectionManager: NSObject, NetServiceDelegate, InboundNearb case .waiting(let error): log("[NearbyConnectionManager] Browser waiting: \(error)") - if error.errorCode == -65570 { + if error == NWError.dns(DNSServiceErrorType(kDNSServiceErr_PolicyDenied)) { log("[NearbyConnectionManager] Local network access not granted.") self.hasLocalNetworkAccess = false } diff --git a/QuickDrop.xcodeproj/project.pbxproj b/QuickDrop.xcodeproj/project.pbxproj index 31f189a..8dcdc4d 100644 --- a/QuickDrop.xcodeproj/project.pbxproj +++ b/QuickDrop.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 70; + objectVersion = 60; objects = { /* Begin PBXBuildFile section */ @@ -12,7 +12,6 @@ 699DEBA62AB0573200115D22 /* ShareViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 699DEBA52AB0573200115D22 /* ShareViewController.swift */; }; 699DEBA92AB0573200115D22 /* ShareViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 699DEBA72AB0573200115D22 /* ShareViewController.xib */; }; 699DEBAE2AB0573200115D22 /* QuickDropShareExtension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 699DEBA12AB0573200115D22 /* QuickDropShareExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; - 69D2C32F29E7898C00EC7E30 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 69D2C32E29E7898C00EC7E30 /* MainMenu.xib */; }; 69DA9A1229E0BF5100A442DA /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69DA9A1129E0BF5100A442DA /* AppDelegate.swift */; }; 69DA9A1429E0BF5200A442DA /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 69DA9A1329E0BF5200A442DA /* Assets.xcassets */; }; EB2F9BFE2DA05F48004010A2 /* BezelNotification in Frameworks */ = {isa = PBXBuildFile; productRef = EB2F9BFD2DA05F48004010A2 /* BezelNotification */; }; @@ -80,18 +79,95 @@ EB5C38402E38C49D0052EFD7 /* LaunchAtLogin.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB5C383E2E38C49D0052EFD7 /* LaunchAtLogin.swift */; }; EB5C38412E38C49D0052EFD7 /* LaunchAtLogin.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB5C383E2E38C49D0052EFD7 /* LaunchAtLogin.swift */; }; EB6F62D72D91F4AF00534EC2 /* SettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB6F62D62D91F4AC00534EC2 /* SettingsView.swift */; }; + EB704A822E4A7BB3008E608F /* DistributionDetector.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB704A812E4A7BAE008E608F /* DistributionDetector.swift */; }; + EB704A832E4B10D4008E608F /* DistributionDetector.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB704A812E4A7BAE008E608F /* DistributionDetector.swift */; }; + EB704A842E4B10D4008E608F /* DistributionDetector.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB704A812E4A7BAE008E608F /* DistributionDetector.swift */; }; + EB7654782E525ACC006B4AA3 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = EB7654772E525ACC006B4AA3 /* MainMenu.xib */; }; + EB7654A12E53252D006B4AA3 /* AttachmentDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB950B762E521712002D68FA /* AttachmentDetails.swift */; }; + EB7654C02E534A8E006B4AA3 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 69DA9A1329E0BF5200A442DA /* Assets.xcassets */; }; + EB7654C12E534A8E006B4AA3 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 69DA9A1329E0BF5200A442DA /* Assets.xcassets */; }; + EB7654C42E534E89006B4AA3 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = EB7654C32E534E89006B4AA3 /* InfoPlist.strings */; }; + EB7654C62E534E89006B4AA3 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = EB7654C32E534E89006B4AA3 /* InfoPlist.strings */; }; EB7CD1452D6FB0C300CB0CB5 /* Logger.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB7CD1442D6FB0C100CB0CB5 /* Logger.swift */; }; EB7CD1462D6FB0E800CB0CB5 /* Logger.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB7CD1442D6FB0C100CB0CB5 /* Logger.swift */; }; EB7F54122D78E96000989564 /* TutorialView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB7F54112D78E95C00989564 /* TutorialView.swift */; }; EB7F54142D78E9E700989564 /* LicenseWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB7F54132D78E9E400989564 /* LicenseWindow.swift */; }; + EB886E522E4E19390052B7D9 /* HKDF.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB886E512E4E19390052B7D9 /* HKDF.swift */; }; + EB886E532E4E19390052B7D9 /* HKDF.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB886E512E4E19390052B7D9 /* HKDF.swift */; }; + EB886E542E4E19390052B7D9 /* HKDF.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB886E512E4E19390052B7D9 /* HKDF.swift */; }; + EB886E552E4E50F40052B7D9 /* Localizable.xcstrings in Resources */ = {isa = PBXBuildFile; fileRef = EB5C36922E34EBBD0052EFD7 /* Localizable.xcstrings */; }; + EB886E582E4E66420052B7D9 /* LUI in Frameworks */ = {isa = PBXBuildFile; productRef = EB886E572E4E66420052B7D9 /* LUI */; }; + EB886E5D2E4F13EB0052B7D9 /* Zip.swift in Sources */ = {isa = PBXBuildFile; fileRef = EBCC27F82D80C9F70079C478 /* Zip.swift */; }; + EB886E5E2E4F13EB0052B7D9 /* Zip.swift in Sources */ = {isa = PBXBuildFile; fileRef = EBCC27F82D80C9F70079C478 /* Zip.swift */; }; + EB886E672E4F2F800052B7D9 /* License.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB886E662E4F2F7C0052B7D9 /* License.swift */; }; + EB886E682E4F2F800052B7D9 /* License.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB886E662E4F2F7C0052B7D9 /* License.swift */; }; + EB886E6A2E4F37B90052B7D9 /* ErrorAlertHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = EBC05C5A2E33936C00EECC18 /* ErrorAlertHandler.swift */; }; + EB950B372E52027F002D68FA /* iOSShareExtension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = EB950B2D2E52027F002D68FA /* iOSShareExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; + EB950B3E2E52038A002D68FA /* SendModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB979F902E50CA23008B8C5C /* SendModel.swift */; }; + EB950B3F2E52038A002D68FA /* FilePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB979F8F2E50CA23008B8C5C /* FilePicker.swift */; }; + EB950B402E52038A002D68FA /* Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB979F8D2E50CA23008B8C5C /* Configuration.swift */; }; + EB950B412E52038A002D68FA /* PieProgressView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB979F992E50CAA6008B8C5C /* PieProgressView.swift */; }; + EB950B432E52038A002D68FA /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB979F8E2E50CA23008B8C5C /* ContentView.swift */; }; + EB950B442E520414002D68FA /* License.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB886E662E4F2F7C0052B7D9 /* License.swift */; }; + EB950B452E520436002D68FA /* Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB2F9BFA2DA04B67004010A2 /* Helpers.swift */; }; + EB950B462E520436002D68FA /* OutboundNearbyConnection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 691F53BD2ABF03820089FD92 /* OutboundNearbyConnection.swift */; }; + EB950B472E520436002D68FA /* sharing_enums.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB99257F2E45D53E00357055 /* sharing_enums.pb.swift */; }; + EB950B482E520436002D68FA /* Localized.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB96ED8E2D7F8103004B3FF1 /* Localized.swift */; }; + EB950B492E520436002D68FA /* device_to_device_messages.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69DA9A2A29E18CB500A442DA /* device_to_device_messages.pb.swift */; }; + EB950B4A2E520436002D68FA /* securegcm.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69DA9A2C29E18CB500A442DA /* securegcm.pb.swift */; }; + EB950B4B2E520436002D68FA /* offline_wire_formats.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69DA9A2B29E18CB500A442DA /* offline_wire_formats.pb.swift */; }; + EB950B4C2E520436002D68FA /* InboundNearbyConnection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69DA9A2229E17F0400A442DA /* InboundNearbyConnection.swift */; }; + EB950B4D2E520436002D68FA /* NearbyConnection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 698DFAE529E2F91A0064F247 /* NearbyConnection.swift */; }; + EB950B4F2E520436002D68FA /* Logger.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB7CD1442D6FB0C100CB0CB5 /* Logger.swift */; }; + EB950B502E520436002D68FA /* wire_format.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69DA9A2929E18CB500A442DA /* wire_format.pb.swift */; }; + EB950B512E520436002D68FA /* securemessage.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69DA9A2D29E18CB500A442DA /* securemessage.pb.swift */; }; + EB950B522E520436002D68FA /* NearbyConnectionManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69DA9A1E29E0C0B300A442DA /* NearbyConnectionManager.swift */; }; + EB950B532E520436002D68FA /* ukey.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69DA9A2829E18CB500A442DA /* ukey.pb.swift */; }; + EB950B542E520436002D68FA /* HKDF.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB886E512E4E19390052B7D9 /* HKDF.swift */; }; + EB950B552E520436002D68FA /* SaveFilesManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB5C36E62E3544FB0052EFD7 /* SaveFilesManager.swift */; }; + EB950B562E520436002D68FA /* DataModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB5C36E82E3546100052EFD7 /* DataModel.swift */; }; + EB950B572E520591002D68FA /* ErrorAlertHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = EBC05C5A2E33936C00EECC18 /* ErrorAlertHandler.swift */; }; + EB950B582E5205B4002D68FA /* Zip.swift in Sources */ = {isa = PBXBuildFile; fileRef = EBCC27F82D80C9F70079C478 /* Zip.swift */; }; + EB950B592E520649002D68FA /* AudioManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB36435F2D73A29F009CDFF8 /* AudioManager.swift */; }; + EB950B5A2E52065A002D68FA /* timeIsNow.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = EBC05C8A2E33B59E00EECC18 /* timeIsNow.mp3 */; }; + EB950B5B2E52065A002D68FA /* timeIsNow.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = EBC05C8A2E33B59E00EECC18 /* timeIsNow.mp3 */; }; + EB950B5C2E52065A002D68FA /* justMaybe.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = EB5C38382E38C1F60052EFD7 /* justMaybe.mp3 */; }; + EB950B5D2E52065A002D68FA /* License.txt in Resources */ = {isa = PBXBuildFile; fileRef = EB5C36E32E34EC0E0052EFD7 /* License.txt */; }; + EB950B5F2E520671002D68FA /* SwiftProtobuf in Frameworks */ = {isa = PBXBuildFile; productRef = EB950B5E2E520671002D68FA /* SwiftProtobuf */; }; + EB950B612E520674002D68FA /* SwiftECC in Frameworks */ = {isa = PBXBuildFile; productRef = EB950B602E520674002D68FA /* SwiftECC */; }; + EB950B632E52067A002D68FA /* QRCode in Frameworks */ = {isa = PBXBuildFile; productRef = EB950B622E52067A002D68FA /* QRCode */; }; + EB950B652E52067D002D68FA /* LUI in Frameworks */ = {isa = PBXBuildFile; productRef = EB950B642E52067D002D68FA /* LUI */; }; + EB950B672E520680002D68FA /* RNDeviceName in Frameworks */ = {isa = PBXBuildFile; productRef = EB950B662E520680002D68FA /* RNDeviceName */; }; + EB950B6F2E5206E2002D68FA /* ShareViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB950B6B2E5206E2002D68FA /* ShareViewController.swift */; }; + EB950B702E520734002D68FA /* Localizable.xcstrings in Resources */ = {isa = PBXBuildFile; fileRef = EB5C36922E34EBBD0052EFD7 /* Localizable.xcstrings */; }; + EB950B742E520957002D68FA /* Attachments.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB950B732E520954002D68FA /* Attachments.swift */; }; + EB950B752E52111C002D68FA /* Attachments.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB950B732E520954002D68FA /* Attachments.swift */; }; + EB950B772E521712002D68FA /* AttachmentDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB950B762E521712002D68FA /* AttachmentDetails.swift */; }; + EB950B782E521712002D68FA /* AttachmentDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB950B762E521712002D68FA /* AttachmentDetails.swift */; }; + EB950B792E521717002D68FA /* AttachmentDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB950B762E521712002D68FA /* AttachmentDetails.swift */; }; EB96ED8B2D7F7CF7004B3FF1 /* SmallSheetView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB96ED8A2D7F7CF4004B3FF1 /* SmallSheetView.swift */; }; EB96ED8C2D7F7E7B004B3FF1 /* SmallSheetView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB96ED8A2D7F7CF4004B3FF1 /* SmallSheetView.swift */; }; EB96ED8D2D7F7EA3004B3FF1 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 69DA9A1329E0BF5200A442DA /* Assets.xcassets */; }; EB96ED8F2D7F8105004B3FF1 /* Localized.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB96ED8E2D7F8103004B3FF1 /* Localized.swift */; }; EB96ED902D7F8114004B3FF1 /* Localized.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB96ED8E2D7F8103004B3FF1 /* Localized.swift */; }; + EB979F942E50CA23008B8C5C /* Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB979F8D2E50CA23008B8C5C /* Configuration.swift */; }; + EB979F952E50CA23008B8C5C /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB979F8E2E50CA23008B8C5C /* ContentView.swift */; }; + EB979F962E50CA23008B8C5C /* FilePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB979F8F2E50CA23008B8C5C /* FilePicker.swift */; }; + EB979F972E50CA23008B8C5C /* SendModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB979F902E50CA23008B8C5C /* SendModel.swift */; }; + EB979F982E50CA23008B8C5C /* QuickDropiOSApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB979F922E50CA23008B8C5C /* QuickDropiOSApp.swift */; }; + EB979F9A2E50CAA6008B8C5C /* PieProgressView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB979F992E50CAA6008B8C5C /* PieProgressView.swift */; }; + EB97A00F2E511124008B8C5C /* ReceiveModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB97A00E2E511120008B8C5C /* ReceiveModel.swift */; }; + EB97A0102E51CD13008B8C5C /* ReceiveModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB97A00E2E511120008B8C5C /* ReceiveModel.swift */; }; + EB97A0132E51D6B2008B8C5C /* RNDeviceName in Frameworks */ = {isa = PBXBuildFile; productRef = EB97A0122E51D6B2008B8C5C /* RNDeviceName */; }; + EB97A0142E51DD00008B8C5C /* License.txt in Resources */ = {isa = PBXBuildFile; fileRef = EB5C36E32E34EC0E0052EFD7 /* License.txt */; }; + EB97A0152E51DD00008B8C5C /* timeIsNow.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = EBC05C8A2E33B59E00EECC18 /* timeIsNow.mp3 */; }; + EB97A01A2E51EAA2008B8C5C /* UIAlert.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB97A0192E51EA9C008B8C5C /* UIAlert.swift */; }; EB9925802E45D53E00357055 /* sharing_enums.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB99257F2E45D53E00357055 /* sharing_enums.pb.swift */; }; EB9925812E45D53E00357055 /* sharing_enums.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB99257F2E45D53E00357055 /* sharing_enums.pb.swift */; }; EB9925822E45D53E00357055 /* sharing_enums.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB99257F2E45D53E00357055 /* sharing_enums.pb.swift */; }; + EB9925852E45EF0900357055 /* QRCode in Frameworks */ = {isa = PBXBuildFile; productRef = EB9925842E45EF0900357055 /* QRCode */; }; + EB9925872E45F12F00357055 /* QRCode in Frameworks */ = {isa = PBXBuildFile; productRef = EB9925862E45F12F00357055 /* QRCode */; }; + EB9925892E45F13500357055 /* QRCode in Frameworks */ = {isa = PBXBuildFile; productRef = EB9925882E45F13500357055 /* QRCode */; }; EBC05C5B2E33937200EECC18 /* ErrorAlertHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = EBC05C5A2E33936C00EECC18 /* ErrorAlertHandler.swift */; }; EBC05C5C2E3394EF00EECC18 /* ErrorAlertHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = EBC05C5A2E33936C00EECC18 /* ErrorAlertHandler.swift */; }; EBC05C712E33B57D00EECC18 /* Converter.swift in Sources */ = {isa = PBXBuildFile; fileRef = EBC05C6D2E33B57D00EECC18 /* Converter.swift */; }; @@ -123,6 +199,13 @@ remoteGlobalIDString = 699DEBA02AB0573200115D22; remoteInfo = ShareExtension; }; + EB950B352E52027F002D68FA /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 69DA9A0629E0BF5100A442DA /* Project object */; + proxyType = 1; + remoteGlobalIDString = EB950B2C2E52027F002D68FA; + remoteInfo = iOSShareExtension; + }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -167,6 +250,17 @@ name = "Embed Libraries"; runOnlyForDeploymentPostprocessing = 0; }; + EB950B382E52027F002D68FA /* Embed Foundation Extensions */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 13; + files = ( + EB950B372E52027F002D68FA /* iOSShareExtension.appex in Embed Foundation Extensions */, + ); + name = "Embed Foundation Extensions"; + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ @@ -181,7 +275,6 @@ 699DEBA82AB0573200115D22 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/ShareViewController.xib; sourceTree = ""; }; 699DEBAA2AB0573200115D22 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 699DEBAB2AB0573200115D22 /* ShareExtension.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = ShareExtension.entitlements; sourceTree = ""; }; - 69D2C32E29E7898C00EC7E30 /* MainMenu.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MainMenu.xib; sourceTree = ""; }; 69DA9A0E29E0BF5100A442DA /* QuickDrop.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = QuickDrop.app; sourceTree = BUILT_PRODUCTS_DIR; }; 69DA9A1129E0BF5100A442DA /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 69DA9A1329E0BF5200A442DA /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; @@ -206,11 +299,47 @@ EB5C38382E38C1F60052EFD7 /* justMaybe.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = justMaybe.mp3; sourceTree = ""; }; EB5C383E2E38C49D0052EFD7 /* LaunchAtLogin.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LaunchAtLogin.swift; sourceTree = ""; }; EB6F62D62D91F4AC00534EC2 /* SettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsView.swift; sourceTree = ""; }; + EB704A812E4A7BAE008E608F /* DistributionDetector.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DistributionDetector.swift; sourceTree = ""; }; + EB7654772E525ACC006B4AA3 /* MainMenu.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MainMenu.xib; sourceTree = ""; }; + EB7654C22E534E89006B4AA3 /* InfoPlist.strings */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = InfoPlist.strings; path = de.lproj/InfoPlist.strings; sourceTree = ""; }; + EB7654C82E534F2C006B4AA3 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/InfoPlist.strings; sourceTree = ""; }; + EB7654C92E534F2D006B4AA3 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/InfoPlist.strings"; sourceTree = ""; }; + EB7654CA2E534F31006B4AA3 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/InfoPlist.strings; sourceTree = ""; }; + EB7654CB2E534F32006B4AA3 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist.strings; sourceTree = ""; }; + EB7654CC2E534F33006B4AA3 /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/InfoPlist.strings; sourceTree = ""; }; + EB7654CD2E534F33006B4AA3 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/InfoPlist.strings; sourceTree = ""; }; + EB7654CE2E534F34006B4AA3 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/InfoPlist.strings; sourceTree = ""; }; + EB7654CF2E534F35006B4AA3 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/InfoPlist.strings; sourceTree = ""; }; + EB7654D02E534F35006B4AA3 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/InfoPlist.strings"; sourceTree = ""; }; + EB7654D12E534F41006B4AA3 /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/InfoPlist.strings"; sourceTree = ""; }; + EB7654D22E534F42006B4AA3 /* ro */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ro; path = ro.lproj/InfoPlist.strings; sourceTree = ""; }; + EB7654D32E534F43006B4AA3 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/InfoPlist.strings; sourceTree = ""; }; + EB7654D42E534F43006B4AA3 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/InfoPlist.strings; sourceTree = ""; }; + EB7654D52E534F44006B4AA3 /* th */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = th; path = th.lproj/InfoPlist.strings; sourceTree = ""; }; + EB7654D62E534F45006B4AA3 /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = uk.lproj/InfoPlist.strings; sourceTree = ""; }; EB7CD1442D6FB0C100CB0CB5 /* Logger.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Logger.swift; sourceTree = ""; }; EB7F54112D78E95C00989564 /* TutorialView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TutorialView.swift; sourceTree = ""; }; EB7F54132D78E9E400989564 /* LicenseWindow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LicenseWindow.swift; sourceTree = ""; }; + EB886E512E4E19390052B7D9 /* HKDF.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HKDF.swift; sourceTree = ""; }; + EB886E662E4F2F7C0052B7D9 /* License.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = License.swift; sourceTree = ""; }; + EB950B2D2E52027F002D68FA /* iOSShareExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = iOSShareExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; + EB950B682E5206E2002D68FA /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + EB950B6B2E5206E2002D68FA /* ShareViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShareViewController.swift; sourceTree = ""; }; + EB950B722E5207AF002D68FA /* iOSShareExtension.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = iOSShareExtension.entitlements; sourceTree = ""; }; + EB950B732E520954002D68FA /* Attachments.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Attachments.swift; sourceTree = ""; }; + EB950B762E521712002D68FA /* AttachmentDetails.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AttachmentDetails.swift; sourceTree = ""; }; EB96ED8A2D7F7CF4004B3FF1 /* SmallSheetView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SmallSheetView.swift; sourceTree = ""; }; EB96ED8E2D7F8103004B3FF1 /* Localized.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Localized.swift; sourceTree = ""; }; + EB979F8D2E50CA23008B8C5C /* Configuration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Configuration.swift; sourceTree = ""; }; + EB979F8E2E50CA23008B8C5C /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; + EB979F8F2E50CA23008B8C5C /* FilePicker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FilePicker.swift; sourceTree = ""; }; + EB979F902E50CA23008B8C5C /* SendModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SendModel.swift; sourceTree = ""; }; + EB979F912E50CA23008B8C5C /* QuickDropiOS.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = QuickDropiOS.entitlements; sourceTree = ""; }; + EB979F922E50CA23008B8C5C /* QuickDropiOSApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QuickDropiOSApp.swift; sourceTree = ""; }; + EB979F992E50CAA6008B8C5C /* PieProgressView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PieProgressView.swift; sourceTree = ""; }; + EB97A00E2E511120008B8C5C /* ReceiveModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReceiveModel.swift; sourceTree = ""; }; + EB97A0162E51DF4F008B8C5C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + EB97A0192E51EA9C008B8C5C /* UIAlert.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIAlert.swift; sourceTree = ""; }; EB99257F2E45D53E00357055 /* sharing_enums.pb.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = sharing_enums.pb.swift; sourceTree = ""; }; EBC05C5A2E33936C00EECC18 /* ErrorAlertHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ErrorAlertHandler.swift; sourceTree = ""; }; EBC05C6D2E33B57D00EECC18 /* Converter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Converter.swift; sourceTree = ""; }; @@ -228,10 +357,6 @@ EBD2A2162D2860BE00BCB8E2 /* WelcomeScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WelcomeScreen.swift; sourceTree = ""; }; /* End PBXFileReference section */ -/* Begin PBXFileSystemSynchronizedRootGroup section */ - EB5C37E32E377C2E0052EFD7 /* QuickDropiOS */ = {isa = PBXFileSystemSynchronizedRootGroup; explicitFileTypes = {}; explicitFolders = (); path = QuickDropiOS; sourceTree = ""; }; -/* End PBXFileSystemSynchronizedRootGroup section */ - /* Begin PBXFrameworksBuildPhase section */ 699DEB9E2AB0573200115D22 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; @@ -239,6 +364,7 @@ files = ( EB5C37D82E377ACF0052EFD7 /* SwiftECC in Frameworks */, EB5C37D62E377ACF0052EFD7 /* SwiftProtobuf in Frameworks */, + EB9925852E45EF0900357055 /* QRCode in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -246,6 +372,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + EB9925872E45F12F00357055 /* QRCode in Frameworks */, EB2F9BFE2DA05F48004010A2 /* BezelNotification in Frameworks */, EB5C37DC2E377AD60052EFD7 /* SwiftECC in Frameworks */, EB5C37DA2E377AD60052EFD7 /* SwiftProtobuf in Frameworks */, @@ -256,8 +383,23 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + EB97A0132E51D6B2008B8C5C /* RNDeviceName in Frameworks */, EB5C37F02E377C3F0052EFD7 /* SwiftECC in Frameworks */, + EB886E582E4E66420052B7D9 /* LUI in Frameworks */, EB5C37EE2E377C3F0052EFD7 /* SwiftProtobuf in Frameworks */, + EB9925892E45F13500357055 /* QRCode in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + EB950B2A2E52027F002D68FA /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + EB950B672E520680002D68FA /* RNDeviceName in Frameworks */, + EB950B612E520674002D68FA /* SwiftECC in Frameworks */, + EB950B652E52067D002D68FA /* LUI in Frameworks */, + EB950B5F2E520671002D68FA /* SwiftProtobuf in Frameworks */, + EB950B632E52067A002D68FA /* QRCode in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -277,7 +419,8 @@ isa = PBXGroup; children = ( 699DEBA52AB0573200115D22 /* ShareViewController.swift */, - EB5C371F2E3669500052EFD7 /* Util */, + EB950B732E520954002D68FA /* Attachments.swift */, + EB950B762E521712002D68FA /* AttachmentDetails.swift */, EB5C371E2E36693D0052EFD7 /* View */, 699DEBAA2AB0573200115D22 /* Info.plist */, 699DEBAB2AB0573200115D22 /* ShareExtension.entitlements */, @@ -291,7 +434,8 @@ 69DA9A1029E0BF5100A442DA /* QuickDrop */, 699DEBA22AB0573200115D22 /* ShareExtension */, 69DCF4822AB70D0600CBE2CC /* NearbyShare */, - EB5C37E32E377C2E0052EFD7 /* QuickDropiOS */, + EB979F932E50CA23008B8C5C /* QuickDropiOS */, + EB950B6C2E5206E2002D68FA /* iOSShareExtension */, 698DFAEC29E353220064F247 /* Frameworks */, 69DA9A0F29E0BF5100A442DA /* Products */, EBC05C8B2E33B59E00EECC18 /* Resources */, @@ -304,6 +448,7 @@ 69DA9A0E29E0BF5100A442DA /* QuickDrop.app */, 699DEBA12AB0573200115D22 /* QuickDropShareExtension.appex */, EB5C37E22E377C2E0052EFD7 /* QuickDropiOS.app */, + EB950B2D2E52027F002D68FA /* iOSShareExtension.appex */, ); name = Products; sourceTree = ""; @@ -352,6 +497,8 @@ children = ( EB96ED8E2D7F8103004B3FF1 /* Localized.swift */, EB2B41E32DC63AC80070FC39 /* SleepManager.swift */, + EBCC27F82D80C9F70079C478 /* Zip.swift */, + EB886E512E4E19390052B7D9 /* HKDF.swift */, EB7CD1442D6FB0C100CB0CB5 /* Logger.swift */, EB5C36E62E3544FB0052EFD7 /* SaveFilesManager.swift */, EB2F9BFA2DA04B67004010A2 /* Helpers.swift */, @@ -381,14 +528,6 @@ path = View; sourceTree = ""; }; - EB5C371F2E3669500052EFD7 /* Util */ = { - isa = PBXGroup; - children = ( - EBCC27F82D80C9F70079C478 /* Zip.swift */, - ); - path = Util; - sourceTree = ""; - }; EB5C37DD2E377B430052EFD7 /* Model */ = { isa = PBXGroup; children = ( @@ -398,10 +537,38 @@ path = Model; sourceTree = ""; }; + EB950B6C2E5206E2002D68FA /* iOSShareExtension */ = { + isa = PBXGroup; + children = ( + EB950B722E5207AF002D68FA /* iOSShareExtension.entitlements */, + EB950B682E5206E2002D68FA /* Info.plist */, + EB950B6B2E5206E2002D68FA /* ShareViewController.swift */, + ); + path = iOSShareExtension; + sourceTree = ""; + }; + EB979F932E50CA23008B8C5C /* QuickDropiOS */ = { + isa = PBXGroup; + children = ( + EB97A0162E51DF4F008B8C5C /* Info.plist */, + EB7654C32E534E89006B4AA3 /* InfoPlist.strings */, + EB979F8D2E50CA23008B8C5C /* Configuration.swift */, + EB979F8E2E50CA23008B8C5C /* ContentView.swift */, + EB979F8F2E50CA23008B8C5C /* FilePicker.swift */, + EB979F902E50CA23008B8C5C /* SendModel.swift */, + EB97A00E2E511120008B8C5C /* ReceiveModel.swift */, + EB97A0192E51EA9C008B8C5C /* UIAlert.swift */, + EB979F992E50CAA6008B8C5C /* PieProgressView.swift */, + EB979F912E50CA23008B8C5C /* QuickDropiOS.entitlements */, + EB979F922E50CA23008B8C5C /* QuickDropiOSApp.swift */, + ); + path = QuickDropiOS; + sourceTree = ""; + }; EBC05C6A2E33B55100EECC18 /* View */ = { isa = PBXGroup; children = ( - 69D2C32E29E7898C00EC7E30 /* MainMenu.xib */, + EB7654772E525ACC006B4AA3 /* MainMenu.xib */, EBD2A2162D2860BE00BCB8E2 /* WelcomeScreen.swift */, EB7F54112D78E95C00989564 /* TutorialView.swift */, EB7F54132D78E9E400989564 /* LicenseWindow.swift */, @@ -415,6 +582,7 @@ isa = PBXGroup; children = ( EB5C383E2E38C49D0052EFD7 /* LaunchAtLogin.swift */, + EB886E662E4F2F7C0052B7D9 /* License.swift */, EB36435F2D73A29F009CDFF8 /* AudioManager.swift */, EBC05C5A2E33936C00EECC18 /* ErrorAlertHandler.swift */, ); @@ -425,6 +593,7 @@ isa = PBXGroup; children = ( EBC05C6D2E33B57D00EECC18 /* Converter.swift */, + EB704A812E4A7BAE008E608F /* DistributionDetector.swift */, EBC05C6E2E33B57D00EECC18 /* Helper.swift */, EBC05C6F2E33B57D00EECC18 /* PlusView.swift */, ); @@ -504,6 +673,7 @@ EB2F9BFD2DA05F48004010A2 /* BezelNotification */, EB5C37D92E377AD60052EFD7 /* SwiftProtobuf */, EB5C37DB2E377AD60052EFD7 /* SwiftECC */, + EB9925862E45F12F00357055 /* QRCode */, ); productName = NearDrop; productReference = 69DA9A0E29E0BF5100A442DA /* QuickDrop.app */; @@ -516,23 +686,49 @@ EB5C37DE2E377C2E0052EFD7 /* Sources */, EB5C37DF2E377C2E0052EFD7 /* Frameworks */, EB5C37E02E377C2E0052EFD7 /* Resources */, + EB950B382E52027F002D68FA /* Embed Foundation Extensions */, ); buildRules = ( ); dependencies = ( - ); - fileSystemSynchronizedGroups = ( - EB5C37E32E377C2E0052EFD7 /* QuickDropiOS */, + EB950B362E52027F002D68FA /* PBXTargetDependency */, ); name = QuickDropiOS; packageProductDependencies = ( EB5C37ED2E377C3F0052EFD7 /* SwiftProtobuf */, EB5C37EF2E377C3F0052EFD7 /* SwiftECC */, + EB9925882E45F13500357055 /* QRCode */, + EB886E572E4E66420052B7D9 /* LUI */, + EB97A0122E51D6B2008B8C5C /* RNDeviceName */, ); productName = QuickDropiOS; productReference = EB5C37E22E377C2E0052EFD7 /* QuickDropiOS.app */; productType = "com.apple.product-type.application"; }; + EB950B2C2E52027F002D68FA /* iOSShareExtension */ = { + isa = PBXNativeTarget; + buildConfigurationList = EB950B3C2E52027F002D68FA /* Build configuration list for PBXNativeTarget "iOSShareExtension" */; + buildPhases = ( + EB950B292E52027F002D68FA /* Sources */, + EB950B2A2E52027F002D68FA /* Frameworks */, + EB950B2B2E52027F002D68FA /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = iOSShareExtension; + packageProductDependencies = ( + EB950B5E2E520671002D68FA /* SwiftProtobuf */, + EB950B602E520674002D68FA /* SwiftECC */, + EB950B622E52067A002D68FA /* QRCode */, + EB950B642E52067D002D68FA /* LUI */, + EB950B662E520680002D68FA /* RNDeviceName */, + ); + productName = iOSShareExtension; + productReference = EB950B2D2E52027F002D68FA /* iOSShareExtension.appex */; + productType = "com.apple.product-type.app-extension"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -553,6 +749,9 @@ EB5C37E12E377C2E0052EFD7 = { CreatedOnToolsVersion = 16.4; }; + EB950B2C2E52027F002D68FA = { + CreatedOnToolsVersion = 16.4; + }; }; }; buildConfigurationList = 69DA9A0929E0BF5100A442DA /* Build configuration list for PBXProject "QuickDrop" */; @@ -584,6 +783,9 @@ 69DA9A2429E189EF00A442DA /* XCRemoteSwiftPackageReference "swift-protobuf" */, 69DA9A3429E1994C00A442DA /* XCRemoteSwiftPackageReference "SwiftECC" */, EB2F9BFC2DA05F48004010A2 /* XCRemoteSwiftPackageReference "BezelNotification" */, + EB9925832E45EF0900357055 /* XCRemoteSwiftPackageReference "qrcode" */, + EB886E562E4E66420052B7D9 /* XCRemoteSwiftPackageReference "LUI" */, + EB97A0112E51D6B2008B8C5C /* XCRemoteSwiftPackageReference "RNDeviceName" */, ); productRefGroup = 69DA9A0F29E0BF5100A442DA /* Products */; projectDirPath = ""; @@ -592,6 +794,7 @@ 69DA9A0D29E0BF5100A442DA /* QuickDrop */, 699DEBA02AB0573200115D22 /* QuickDropShareExtension */, EB5C37E12E377C2E0052EFD7 /* QuickDropiOS */, + EB950B2C2E52027F002D68FA /* iOSShareExtension */, ); }; /* End PBXProject section */ @@ -607,6 +810,7 @@ 699DEBA92AB0573200115D22 /* ShareViewController.xib in Resources */, EB96ED8D2D7F7EA3004B3FF1 /* Assets.xcassets in Resources */, EB5C383A2E38C1F60052EFD7 /* justMaybe.mp3 in Resources */, + EB950B5A2E52065A002D68FA /* timeIsNow.mp3 in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -618,8 +822,8 @@ EB5C36E42E34EC0E0052EFD7 /* License.txt in Resources */, EB5C36932E34EBBD0052EFD7 /* Localizable.xcstrings in Resources */, EBC05C8C2E33B59E00EECC18 /* timeIsNow.mp3 in Resources */, - 69D2C32F29E7898C00EC7E30 /* MainMenu.xib in Resources */, EB5C38392E38C1F60052EFD7 /* justMaybe.mp3 in Resources */, + EB7654782E525ACC006B4AA3 /* MainMenu.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -628,6 +832,24 @@ buildActionMask = 2147483647; files = ( EB5C383B2E38C1F60052EFD7 /* justMaybe.mp3 in Resources */, + EB7654C42E534E89006B4AA3 /* InfoPlist.strings in Resources */, + EB97A0142E51DD00008B8C5C /* License.txt in Resources */, + EB97A0152E51DD00008B8C5C /* timeIsNow.mp3 in Resources */, + EB886E552E4E50F40052B7D9 /* Localizable.xcstrings in Resources */, + EB7654C02E534A8E006B4AA3 /* Assets.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + EB950B2B2E52027F002D68FA /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + EB950B5B2E52065A002D68FA /* timeIsNow.mp3 in Resources */, + EB7654C62E534E89006B4AA3 /* InfoPlist.strings in Resources */, + EB950B702E520734002D68FA /* Localizable.xcstrings in Resources */, + EB950B5C2E52065A002D68FA /* justMaybe.mp3 in Resources */, + EB950B5D2E52065A002D68FA /* License.txt in Resources */, + EB7654C12E534A8E006B4AA3 /* Assets.xcassets in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -638,7 +860,9 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + EB704A832E4B10D4008E608F /* DistributionDetector.swift in Sources */, EB96ED902D7F8114004B3FF1 /* Localized.swift in Sources */, + EB886E542E4E19390052B7D9 /* HKDF.swift in Sources */, EBC05C862E33B58300EECC18 /* NetworkFilterIssueView.swift in Sources */, EBC05C872E33B58300EECC18 /* IssueView.swift in Sources */, EBC05C882E33B58300EECC18 /* FirewallIssueView.swift in Sources */, @@ -652,6 +876,7 @@ EB5C37C72E377A780052EFD7 /* wire_format.pb.swift in Sources */, EB5C37C82E377A780052EFD7 /* ukey.pb.swift in Sources */, EB5C37C92E377A780052EFD7 /* device_to_device_messages.pb.swift in Sources */, + EB950B742E520957002D68FA /* Attachments.swift in Sources */, EB5C383C2E38C2D90052EFD7 /* AudioManager.swift in Sources */, EB5C37CA2E377A780052EFD7 /* offline_wire_formats.pb.swift in Sources */, EBC05C5C2E3394EF00EECC18 /* ErrorAlertHandler.swift in Sources */, @@ -660,6 +885,7 @@ 691F53BB2ABB70840089FD92 /* DeviceListCell.swift in Sources */, EB5C383F2E38C49D0052EFD7 /* LaunchAtLogin.swift in Sources */, EB5C37BC2E377A700052EFD7 /* SleepManager.swift in Sources */, + EB950B782E521712002D68FA /* AttachmentDetails.swift in Sources */, EB5C37D02E377A7F0052EFD7 /* OutboundNearbyConnection.swift in Sources */, EB5C37D12E377A7F0052EFD7 /* DataModel.swift in Sources */, EB5C37D22E377A7F0052EFD7 /* NearbyConnection.swift in Sources */, @@ -683,6 +909,7 @@ EB5C37BA2E377A6F0052EFD7 /* Helpers.swift in Sources */, EBC05C5B2E33937200EECC18 /* ErrorAlertHandler.swift in Sources */, EBC05C712E33B57D00EECC18 /* Converter.swift in Sources */, + EB886E5D2E4F13EB0052B7D9 /* Zip.swift in Sources */, EBC05C722E33B57D00EECC18 /* Helper.swift in Sources */, EBC05C732E33B57D00EECC18 /* PlusView.swift in Sources */, EB5C37BF2E377A780052EFD7 /* ukey.pb.swift in Sources */, @@ -691,6 +918,7 @@ EB5C37C22E377A780052EFD7 /* device_to_device_messages.pb.swift in Sources */, EB5C37C32E377A780052EFD7 /* wire_format.pb.swift in Sources */, EB5C37C42E377A780052EFD7 /* securegcm.pb.swift in Sources */, + EB97A0102E51CD13008B8C5C /* ReceiveModel.swift in Sources */, EBC05C782E33B58100EECC18 /* ActiveNetworkInterface.swift in Sources */, EB5C37CB2E377A7F0052EFD7 /* NearbyConnection.swift in Sources */, EB5C37CC2E377A7F0052EFD7 /* DataModel.swift in Sources */, @@ -698,12 +926,16 @@ EB5C37CE2E377A7F0052EFD7 /* InboundNearbyConnection.swift in Sources */, EB5C37CF2E377A7F0052EFD7 /* NearbyConnectionManager.swift in Sources */, EBC05C792E33B58100EECC18 /* ApIsolation6Tester.swift in Sources */, + EB7654A12E53252D006B4AA3 /* AttachmentDetails.swift in Sources */, EBC05C7A2E33B58100EECC18 /* ApIsolationTester.swift in Sources */, + EB886E522E4E19390052B7D9 /* HKDF.swift in Sources */, EB96ED8C2D7F7E7B004B3FF1 /* SmallSheetView.swift in Sources */, + EB886E682E4F2F800052B7D9 /* License.swift in Sources */, EB7F54142D78E9E700989564 /* LicenseWindow.swift in Sources */, 69DA9A1229E0BF5100A442DA /* AppDelegate.swift in Sources */, EB6F62D72D91F4AF00534EC2 /* SettingsView.swift in Sources */, EB7F54122D78E96000989564 /* TutorialView.swift in Sources */, + EB704A822E4A7BB3008E608F /* DistributionDetector.swift in Sources */, EB9925812E45D53E00357055 /* sharing_enums.pb.swift in Sources */, EB96ED8F2D7F8105004B3FF1 /* Localized.swift in Sources */, EB7CD1452D6FB0C300CB0CB5 /* Logger.swift in Sources */, @@ -721,9 +953,12 @@ EB5C37F12E377CE70052EFD7 /* ukey.pb.swift in Sources */, EB5C37F22E377CE70052EFD7 /* NearbyConnection.swift in Sources */, EB5C37F32E377CE70052EFD7 /* SaveFilesManager.swift in Sources */, + EB886E672E4F2F800052B7D9 /* License.swift in Sources */, EB5C37F42E377CE70052EFD7 /* NearbyConnectionManager.swift in Sources */, EB5C37F52E377CE70052EFD7 /* securemessage.pb.swift in Sources */, EB5C37F62E377CE70052EFD7 /* device_to_device_messages.pb.swift in Sources */, + EB704A842E4B10D4008E608F /* DistributionDetector.swift in Sources */, + EB886E532E4E19390052B7D9 /* HKDF.swift in Sources */, EB5C37F82E377CE70052EFD7 /* SleepManager.swift in Sources */, EB5C38012E377DE60052EFD7 /* Localized.swift in Sources */, EB5C37F92E377CE70052EFD7 /* securegcm.pb.swift in Sources */, @@ -732,14 +967,61 @@ EB9925802E45D53E00357055 /* sharing_enums.pb.swift in Sources */, EB5C37FC2E377CE70052EFD7 /* OutboundNearbyConnection.swift in Sources */, EB5C37FD2E377CE70052EFD7 /* Logger.swift in Sources */, + EB97A00F2E511124008B8C5C /* ReceiveModel.swift in Sources */, EB5C37FE2E377CE70052EFD7 /* offline_wire_formats.pb.swift in Sources */, + EB886E6A2E4F37B90052B7D9 /* ErrorAlertHandler.swift in Sources */, + EB886E5E2E4F13EB0052B7D9 /* Zip.swift in Sources */, EB5C383D2E38C2D90052EFD7 /* AudioManager.swift in Sources */, + EB979F942E50CA23008B8C5C /* Configuration.swift in Sources */, + EB979F952E50CA23008B8C5C /* ContentView.swift in Sources */, + EB97A01A2E51EAA2008B8C5C /* UIAlert.swift in Sources */, + EB979F962E50CA23008B8C5C /* FilePicker.swift in Sources */, + EB979F9A2E50CAA6008B8C5C /* PieProgressView.swift in Sources */, + EB979F972E50CA23008B8C5C /* SendModel.swift in Sources */, + EB979F982E50CA23008B8C5C /* QuickDropiOSApp.swift in Sources */, EB5C38402E38C49D0052EFD7 /* LaunchAtLogin.swift in Sources */, EB5C37FF2E377CE70052EFD7 /* wire_format.pb.swift in Sources */, + EB950B792E521717002D68FA /* AttachmentDetails.swift in Sources */, EB5C38002E377CE70052EFD7 /* DataModel.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; + EB950B292E52027F002D68FA /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + EB950B452E520436002D68FA /* Helpers.swift in Sources */, + EB950B572E520591002D68FA /* ErrorAlertHandler.swift in Sources */, + EB950B462E520436002D68FA /* OutboundNearbyConnection.swift in Sources */, + EB950B472E520436002D68FA /* sharing_enums.pb.swift in Sources */, + EB950B482E520436002D68FA /* Localized.swift in Sources */, + EB950B492E520436002D68FA /* device_to_device_messages.pb.swift in Sources */, + EB950B4A2E520436002D68FA /* securegcm.pb.swift in Sources */, + EB950B4B2E520436002D68FA /* offline_wire_formats.pb.swift in Sources */, + EB950B4C2E520436002D68FA /* InboundNearbyConnection.swift in Sources */, + EB950B4D2E520436002D68FA /* NearbyConnection.swift in Sources */, + EB950B4F2E520436002D68FA /* Logger.swift in Sources */, + EB950B502E520436002D68FA /* wire_format.pb.swift in Sources */, + EB950B582E5205B4002D68FA /* Zip.swift in Sources */, + EB950B512E520436002D68FA /* securemessage.pb.swift in Sources */, + EB950B522E520436002D68FA /* NearbyConnectionManager.swift in Sources */, + EB950B532E520436002D68FA /* ukey.pb.swift in Sources */, + EB950B542E520436002D68FA /* HKDF.swift in Sources */, + EB950B552E520436002D68FA /* SaveFilesManager.swift in Sources */, + EB950B562E520436002D68FA /* DataModel.swift in Sources */, + EB950B3E2E52038A002D68FA /* SendModel.swift in Sources */, + EB950B772E521712002D68FA /* AttachmentDetails.swift in Sources */, + EB950B3F2E52038A002D68FA /* FilePicker.swift in Sources */, + EB950B402E52038A002D68FA /* Configuration.swift in Sources */, + EB950B412E52038A002D68FA /* PieProgressView.swift in Sources */, + EB950B592E520649002D68FA /* AudioManager.swift in Sources */, + EB950B752E52111C002D68FA /* Attachments.swift in Sources */, + EB950B6F2E5206E2002D68FA /* ShareViewController.swift in Sources */, + EB950B432E52038A002D68FA /* ContentView.swift in Sources */, + EB950B442E520414002D68FA /* License.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ @@ -748,6 +1030,11 @@ target = 699DEBA02AB0573200115D22 /* QuickDropShareExtension */; targetProxy = 699DEBAC2AB0573200115D22 /* PBXContainerItemProxy */; }; + EB950B362E52027F002D68FA /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = EB950B2C2E52027F002D68FA /* iOSShareExtension */; + targetProxy = EB950B352E52027F002D68FA /* PBXContainerItemProxy */; + }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ @@ -760,6 +1047,29 @@ name = ShareViewController.xib; sourceTree = ""; }; + EB7654C32E534E89006B4AA3 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + EB7654C22E534E89006B4AA3 /* InfoPlist.strings */, + EB7654C82E534F2C006B4AA3 /* ar */, + EB7654C92E534F2D006B4AA3 /* zh-Hans */, + EB7654CA2E534F31006B4AA3 /* nl */, + EB7654CB2E534F32006B4AA3 /* fr */, + EB7654CC2E534F33006B4AA3 /* hu */, + EB7654CD2E534F33006B4AA3 /* it */, + EB7654CE2E534F34006B4AA3 /* ja */, + EB7654CF2E534F35006B4AA3 /* ko */, + EB7654D02E534F35006B4AA3 /* pt-BR */, + EB7654D12E534F41006B4AA3 /* pt-PT */, + EB7654D22E534F42006B4AA3 /* ro */, + EB7654D32E534F43006B4AA3 /* ru */, + EB7654D42E534F43006B4AA3 /* es */, + EB7654D52E534F44006B4AA3 /* th */, + EB7654D62E534F45006B4AA3 /* uk */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ @@ -785,11 +1095,13 @@ ); MACOSX_DEPLOYMENT_TARGET = 11.0; MARKETING_VERSION = "${SHARED_VERSION}"; + OTHER_SWIFT_FLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = com.leonboettger.neardrop.ShareExtension; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; REGISTER_APP_GROUPS = YES; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) EXTENSION"; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_VERSION = 5.0; }; @@ -817,11 +1129,14 @@ ); MACOSX_DEPLOYMENT_TARGET = 11.0; MARKETING_VERSION = "${SHARED_VERSION}"; + OTHER_SWIFT_FLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = com.leonboettger.neardrop.ShareExtension; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; REGISTER_APP_GROUPS = YES; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = EXTENSION; + "SWIFT_ACTIVE_COMPILATION_CONDITIONS[arch=*]" = ""; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_VERSION = 5.0; }; @@ -978,7 +1293,7 @@ INFOPLIST_KEY_ITSAppUsesNonExemptEncryption = NO; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.utilities"; INFOPLIST_KEY_LSUIElement = YES; - INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2025 Leon Böttger and NearDrop developers"; + INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2025 Leon Böttger"; INFOPLIST_KEY_NSMainNibFile = MainMenu; INFOPLIST_KEY_NSPrincipalClass = NSApplication; LD_RUNPATH_SEARCH_PATHS = ( @@ -987,6 +1302,7 @@ ); MACOSX_DEPLOYMENT_TARGET = 11.0; MARKETING_VERSION = "${SHARED_VERSION}"; + OTHER_SWIFT_FLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = com.leonboettger.neardrop; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -1018,7 +1334,7 @@ INFOPLIST_KEY_ITSAppUsesNonExemptEncryption = NO; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.utilities"; INFOPLIST_KEY_LSUIElement = YES; - INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2025 Leon Böttger and NearDrop developers"; + INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2025 Leon Böttger"; INFOPLIST_KEY_NSMainNibFile = MainMenu; INFOPLIST_KEY_NSPrincipalClass = NSApplication; LD_RUNPATH_SEARCH_PATHS = ( @@ -1027,6 +1343,7 @@ ); MACOSX_DEPLOYMENT_TARGET = 11.0; MARKETING_VERSION = "${SHARED_VERSION}"; + OTHER_SWIFT_FLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = com.leonboettger.neardrop; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -1044,22 +1361,28 @@ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_ENTITLEMENTS = QuickDropiOS/QuickDropiOS.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; + CURRENT_PROJECT_VERSION = "${SHARED_BUILD}"; ENABLE_PREVIEWS = YES; GCC_C_LANGUAGE_STANDARD = gnu17; GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; + INFOPLIST_FILE = QuickDropiOS/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = QuickDrop; + INFOPLIST_KEY_ITSAppUsesNonExemptEncryption = NO; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.utilities"; + INFOPLIST_KEY_LSSupportsOpeningDocumentsInPlace = YES; + INFOPLIST_KEY_NSLocalNetworkUsageDescription = "Local network access is needed to detect devices and transfer files over your Wi-Fi network."; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UILaunchScreen_Generation = YES; - INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; - INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown"; IPHONEOS_DEPLOYMENT_TARGET = 16.6; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 11.0; - MARKETING_VERSION = 1.0; + MARKETING_VERSION = "${SHARED_VERSION}"; + OTHER_SWIFT_FLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = com.leonboettger.neardrop; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; @@ -1080,22 +1403,28 @@ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_ENTITLEMENTS = QuickDropiOS/QuickDropiOS.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; + CURRENT_PROJECT_VERSION = "${SHARED_BUILD}"; ENABLE_PREVIEWS = YES; GCC_C_LANGUAGE_STANDARD = gnu17; GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; + INFOPLIST_FILE = QuickDropiOS/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = QuickDrop; + INFOPLIST_KEY_ITSAppUsesNonExemptEncryption = NO; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.utilities"; + INFOPLIST_KEY_LSSupportsOpeningDocumentsInPlace = YES; + INFOPLIST_KEY_NSLocalNetworkUsageDescription = "Local network access is needed to detect devices and transfer files over your Wi-Fi network."; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UILaunchScreen_Generation = YES; - INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; - INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown"; IPHONEOS_DEPLOYMENT_TARGET = 16.6; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 11.0; - MARKETING_VERSION = 1.0; + MARKETING_VERSION = "${SHARED_VERSION}"; + OTHER_SWIFT_FLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = com.leonboettger.neardrop; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; @@ -1109,6 +1438,67 @@ }; name = Release; }; + EB950B392E52027F002D68FA /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_ENTITLEMENTS = iOSShareExtension/iOSShareExtension.entitlements; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = "${SHARED_BUILD}"; + GCC_C_LANGUAGE_STANDARD = gnu17; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = iOSShareExtension/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = iOSShareExtension; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + IPHONEOS_DEPLOYMENT_TARGET = 16.6; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@executable_path/../../Frameworks", + ); + MARKETING_VERSION = "${SHARED_VERSION}"; + OTHER_SWIFT_FLAGS = ""; + PRODUCT_BUNDLE_IDENTIFIER = com.leonboettger.neardrop.iOSShareExtension; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) EXTENSION"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + EB950B3A2E52027F002D68FA /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_ENTITLEMENTS = iOSShareExtension/iOSShareExtension.entitlements; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = "${SHARED_BUILD}"; + GCC_C_LANGUAGE_STANDARD = gnu17; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = iOSShareExtension/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = iOSShareExtension; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + IPHONEOS_DEPLOYMENT_TARGET = 16.6; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@executable_path/../../Frameworks", + ); + MARKETING_VERSION = "${SHARED_VERSION}"; + OTHER_SWIFT_FLAGS = ""; + PRODUCT_BUNDLE_IDENTIFIER = com.leonboettger.neardrop.iOSShareExtension; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = EXTENSION; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -1148,6 +1538,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + EB950B3C2E52027F002D68FA /* Build configuration list for PBXNativeTarget "iOSShareExtension" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + EB950B392E52027F002D68FA /* Debug */, + EB950B3A2E52027F002D68FA /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; /* End XCConfigurationList section */ /* Begin XCRemoteSwiftPackageReference section */ @@ -1175,6 +1574,30 @@ minimumVersion = 2.1.0; }; }; + EB886E562E4E66420052B7D9 /* XCRemoteSwiftPackageReference "LUI" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/leonboe1/LUI.git"; + requirement = { + branch = main; + kind = branch; + }; + }; + EB97A0112E51D6B2008B8C5C /* XCRemoteSwiftPackageReference "RNDeviceName" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/souzainf3/RNDeviceName"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 2.1.0; + }; + }; + EB9925832E45EF0900357055 /* XCRemoteSwiftPackageReference "qrcode" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/dagronf/qrcode.git"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 26.10.0; + }; + }; /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ @@ -1213,6 +1636,56 @@ package = 69DA9A3429E1994C00A442DA /* XCRemoteSwiftPackageReference "SwiftECC" */; productName = SwiftECC; }; + EB886E572E4E66420052B7D9 /* LUI */ = { + isa = XCSwiftPackageProductDependency; + package = EB886E562E4E66420052B7D9 /* XCRemoteSwiftPackageReference "LUI" */; + productName = LUI; + }; + EB950B5E2E520671002D68FA /* SwiftProtobuf */ = { + isa = XCSwiftPackageProductDependency; + package = 69DA9A2429E189EF00A442DA /* XCRemoteSwiftPackageReference "swift-protobuf" */; + productName = SwiftProtobuf; + }; + EB950B602E520674002D68FA /* SwiftECC */ = { + isa = XCSwiftPackageProductDependency; + package = 69DA9A3429E1994C00A442DA /* XCRemoteSwiftPackageReference "SwiftECC" */; + productName = SwiftECC; + }; + EB950B622E52067A002D68FA /* QRCode */ = { + isa = XCSwiftPackageProductDependency; + package = EB9925832E45EF0900357055 /* XCRemoteSwiftPackageReference "qrcode" */; + productName = QRCode; + }; + EB950B642E52067D002D68FA /* LUI */ = { + isa = XCSwiftPackageProductDependency; + package = EB886E562E4E66420052B7D9 /* XCRemoteSwiftPackageReference "LUI" */; + productName = LUI; + }; + EB950B662E520680002D68FA /* RNDeviceName */ = { + isa = XCSwiftPackageProductDependency; + package = EB97A0112E51D6B2008B8C5C /* XCRemoteSwiftPackageReference "RNDeviceName" */; + productName = RNDeviceName; + }; + EB97A0122E51D6B2008B8C5C /* RNDeviceName */ = { + isa = XCSwiftPackageProductDependency; + package = EB97A0112E51D6B2008B8C5C /* XCRemoteSwiftPackageReference "RNDeviceName" */; + productName = RNDeviceName; + }; + EB9925842E45EF0900357055 /* QRCode */ = { + isa = XCSwiftPackageProductDependency; + package = EB9925832E45EF0900357055 /* XCRemoteSwiftPackageReference "qrcode" */; + productName = QRCode; + }; + EB9925862E45F12F00357055 /* QRCode */ = { + isa = XCSwiftPackageProductDependency; + package = EB9925832E45EF0900357055 /* XCRemoteSwiftPackageReference "qrcode" */; + productName = QRCode; + }; + EB9925882E45F13500357055 /* QRCode */ = { + isa = XCSwiftPackageProductDependency; + package = EB9925832E45EF0900357055 /* XCRemoteSwiftPackageReference "qrcode" */; + productName = QRCode; + }; /* End XCSwiftPackageProductDependency section */ }; rootObject = 69DA9A0629E0BF5100A442DA /* Project object */; diff --git a/QuickDrop/Localizable.xcstrings b/QuickDrop/Localizable.xcstrings index c22139b..935a24e 100644 --- a/QuickDrop/Localizable.xcstrings +++ b/QuickDrop/Localizable.xcstrings @@ -1068,6 +1068,434 @@ } } }, + "Available" : { + "extractionState" : "manual", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "متاح" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Verfügbar" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Available" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Disponible" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Disponible" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Elérhető" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Disponibile" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "利用可能" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "사용 가능" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Beschikbaar" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Disponível" + } + }, + "pt-PT" : { + "stringUnit" : { + "state" : "translated", + "value" : "Disponível" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Disponibil" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Доступно" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "พร้อมใช้งาน" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Доступний" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "可用" + } + } + } + }, + "AvailableDevices" : { + "extractionState" : "manual", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الأجهزة المتاحة" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Verfügbare Geräte" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Available Devices" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dispositivos disponibles" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Appareils disponibles" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Elérhető eszközök" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dispositivi disponibili" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "利用可能なデバイス" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "사용 가능한 기기" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Beschikbare apparaten" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dispositivos disponíveis" + } + }, + "pt-PT" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dispositivos disponíveis" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dispozitive Disponibile" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Доступные устройства" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "อุปกรณ์ที่พร้อมใช้งาน" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Доступні пристрої" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "可用设备" + } + } + } + }, + "BrowseDownloadedFiles" : { + "extractionState" : "manual", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تصفح الملفات التي تم تنزيلها" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Heruntergeladene Dateien durchsuchen" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Browse Downloaded Files" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Explorar archivos descargados" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Parcourir les fichiers téléchargés" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Letöltött fájlok böngészése" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sfoglia file scaricati" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ダウンロードしたファイルを表示" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "다운로드된 파일 탐색" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blader door gedownloade bestanden" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Navegar pelos arquivos baixados" + } + }, + "pt-PT" : { + "stringUnit" : { + "state" : "translated", + "value" : "Procurar Ficheiros Transferidos" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Navigați prin Fișierele Descărcate" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Просмотр загруженных файлов" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "เรียกดูไฟล์ที่ดาวน์โหลด" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Переглянути завантажені файли" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "浏览已下载的文件" + } + } + } + }, + "Cancel" : { + "extractionState" : "manual", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "إلغاء" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Abbrechen" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cancel" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cancelar" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Annuler" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mégse" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Annulla" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "キャンセル" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "취소" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Annuleren" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cancelar" + } + }, + "pt-PT" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cancelar" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Anulează" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Отмена" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ยกเลิก" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Скасувати" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "取消" + } + } + } + }, "Clipboard" : { "extractionState" : "manual", "localizations" : { @@ -1175,6 +1603,220 @@ } } }, + "ClipboardEmpty" : { + "extractionState" : "manual", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الحافظة فارغة" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zwischenablage leer" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Clipboard Empty" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Portapapeles vacío" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Presse-papiers vide" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vágólap üres" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Appunti Vuoti" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "クリップボードは空です" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "클립보드가 비어 있습니다" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Klembord Leeg" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Área de transferência vazia" + } + }, + "pt-PT" : { + "stringUnit" : { + "state" : "translated", + "value" : "Área de transferência vazia" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Clipboard gol" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Буфер обмена пуст" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "คลิปบอร์ดว่างเปล่า" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Буфер обміну порожній" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "剪贴板为空" + } + } + } + }, + "ClipboardEmptyMessage" : { + "extractionState" : "manual", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "يرجى نسخ النص إلى الحافظة، وحاول مرة أخرى." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bitte kopiere Text in die Zwischenablage und versuche es erneut." + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Please copy text to the clipboard, and try again." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Por favor, copie el texto al portapapeles y vuelva a intentarlo." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Veuillez copier le texte dans le presse-papiers, puis réessayez." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kérem, másolja a szöveget a vágólapra, majd próbálja újra." + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Copia il testo negli appunti e riprova." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "テキストをクリップボードにコピーして、もう一度お試しください。" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "클립보드에 텍스트를 복사하고 다시 시도하세요." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kopieer de tekst naar het klembord en probeer opnieuw." + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Por favor, copie o texto para a área de transferência e tente novamente." + } + }, + "pt-PT" : { + "stringUnit" : { + "state" : "translated", + "value" : "Por favor, copie o texto para a área de transferência e tente novamente." + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Te rog copiază textul în clipboard și încearcă din nou." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Пожалуйста, скопируйте текст в буфер обмена и попробуйте снова." + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "โปรดคัดลอกข้อความไปยังคลิปบอร์ด แล้วลองอีกครั้ง" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Скопіюйте текст у буфер обміну та спробуйте ще раз." + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "请将文本复制到剪贴板,然后重试。" + } + } + } + }, "CloseAlert" : { "extractionState" : "manual", "localizations" : { @@ -1282,6 +1924,218 @@ } } }, + "ConnectWithQuickDropApp" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الاتصال بتطبيق QuickDrop" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mit QuickDrop-App verbinden" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Connect with QuickDrop App" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Conectar con la aplicación QuickDrop" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Se connecter avec l'app QuickDrop" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Csatlakozás a QuickDrop alkalmazással" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Connetti con l'app QuickDrop" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "QuickDropアプリで接続" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "QuickDrop 앱으로 연결" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Verbind met de QuickDrop-app" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Conectar com o aplicativo QuickDrop" + } + }, + "pt-PT" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ligar com a app QuickDrop" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Conectează-te cu aplicația QuickDrop" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Подключиться с помощью приложения QuickDrop" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "เชื่อมต่อด้วยแอป QuickDrop" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Підключитися за допомогою додатка QuickDrop" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "使用 QuickDrop 应用连接" + } + } + } + }, + "ConnectWithoutApp" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الاتصال بدون تطبيق" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ohne App verbinden" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Connect without App" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Conectar sin aplicación" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Se connecter sans app" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Csatlakozás alkalmazás nélkül" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Connetti senza app" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アプリなしで接続" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "앱 없이 연결" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Verbind zonder app" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Conectar sem aplicativo" + } + }, + "pt-PT" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ligar sem app" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Conectează-te fără aplicație" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Подключиться без приложения" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "เชื่อมต่อโดยไม่ใช้แอป" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Підключитися без додатка" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无需应用连接" + } + } + } + }, "Connecting" : { "comment" : "Share Extension", "extractionState" : "manual", @@ -1390,214 +2244,216 @@ } } }, - "ConnectWithoutApp" : { + "CouldNotOpenDocumentsFolder" : { + "extractionState" : "manual", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "الاتصال بدون تطبيق" + "value" : "تعذر فتح مجلد QuickDrop" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Ohne App verbinden" + "value" : "QuickDrop-Ordner konnte nicht geöffnet werden" } }, "en" : { "stringUnit" : { "state" : "translated", - "value" : "Connect without App" + "value" : "Could Not Open QuickDrop Folder" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Conectar sin aplicación" + "value" : "No se pudo abrir la carpeta QuickDrop" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Se connecter sans app" + "value" : "Impossible d'ouvrir le dossier QuickDrop" } }, "hu" : { "stringUnit" : { "state" : "translated", - "value" : "Csatlakozás alkalmazás nélkül" + "value" : "Nem sikerült megnyitni a QuickDrop mappát" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Connetti senza app" + "value" : "Impossibile aprire la cartella QuickDrop" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "アプリなしで接続" + "value" : "QuickDropフォルダを開けませんでした" } }, "ko" : { "stringUnit" : { "state" : "translated", - "value" : "앱 없이 연결" + "value" : "QuickDrop 폴더를 열 수 없습니다." } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Verbind zonder app" + "value" : "Kon de QuickDrop-map niet openen" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Conectar sem aplicativo" + "value" : "Não foi possível abrir a pasta QuickDrop" } }, "pt-PT" : { "stringUnit" : { "state" : "translated", - "value" : "Ligar sem app" + "value" : "Não foi possível abrir a pasta QuickDrop" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Conectează-te fără aplicație" + "value" : "Nu s-a putut deschide folderul QuickDrop" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Подключиться без приложения" + "value" : "Не удалось открыть папку QuickDrop" } }, "th" : { "stringUnit" : { "state" : "translated", - "value" : "เชื่อมต่อโดยไม่ใช้แอป" + "value" : "ไม่สามารถเปิดโฟลเดอร์ QuickDrop ได้" } }, "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Підключитися без додатка" + "value" : "Не вдалося відкрити папку QuickDrop" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "无需应用连接" + "value" : "无法打开 QuickDrop 文件夹" } } } }, - "ConnectWithQuickDropApp" : { + "CouldNotOpenDocumentsFolderDescription" : { + "extractionState" : "manual", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "الاتصال بتطبيق QuickDrop" + "value" : "يرجى الإبلاغ عن هذه المشكلة للمطور. لعرض ملفاتك المستلمة على أي حال، افتح تطبيق الملفات، واضغط على علامة التبويب \"تصفح\" وانتقل إلى المجلد \"على iPhone الخاص بي\" > \"QuickDrop\"." } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Mit QuickDrop-App verbinden" + "value" : "Bitte melde dieses Problem dem Entwickler. Um deine empfangenen Dateien dennoch anzusehen, öffne die Dateien-App, klicke auf den Tab „Durchsuchen“ und navigiere zu dem Ordner „Auf meinem iPhone“ > „QuickDrop“." } }, "en" : { "stringUnit" : { "state" : "translated", - "value" : "Connect with QuickDrop App" + "value" : "Please report this issue to the developer. To view your received files regardless, open the Files app, click on the \"Browse\" tab and navigate to the folder \"On My iPhone\" > \"QuickDrop\"." } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Conectar con la aplicación QuickDrop" + "value" : "Por favor, informe este problema al desarrollador. Para ver tus archivos recibidos de todas formas, abre la app Archivos, haz clic en la pestaña \"Explorar\" y navega a la carpeta \"En mi iPhone\" > \"QuickDrop\"." } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Se connecter avec l'app QuickDrop" + "value" : "Veuillez signaler ce problème au développeur. Pour voir vos fichiers reçus malgré cela, ouvrez l'application Fichiers, cliquez sur l'onglet \"Explorer\" et accédez au dossier \"Sur mon iPhone\" > \"QuickDrop\"." } }, "hu" : { "stringUnit" : { "state" : "translated", - "value" : "Csatlakozás a QuickDrop alkalmazással" + "value" : "Kérjük, jelentse ezt a problémát a fejlesztőnek. A fogadott fájljaik megtekintéséhez nyissa meg a Fájlok alkalmazást, kattintson a „Böngészés” fülre, és navigáljon a „Az iPhone-omon” > „QuickDrop” mappába." } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Connetti con l'app QuickDrop" + "value" : "Segnala questo problema allo sviluppatore. Per visualizzare comunque i file ricevuti, apri l'app File, fai clic sulla scheda \"Sfoglia\" e vai alla cartella \"Sul mio iPhone\" > \"QuickDrop\"." } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "QuickDropアプリで接続" + "value" : "この問題を開発者に報告してください。それでも受信したファイルを確認するには、ファイルアプリを開き、「ブラウズ」タブをクリックして、「このiPhone内」>「QuickDrop」フォルダに移動してください。" } }, "ko" : { "stringUnit" : { "state" : "translated", - "value" : "QuickDrop 앱으로 연결" + "value" : "이 문제를 개발자에게 보고해주세요. 받은 파일을 보려면 '파일' 앱을 열고, '둘러보기' 탭을 클릭한 후 '내 iPhone 저장 공간' > 'QuickDrop' 폴더로 이동하세요." } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Verbind met de QuickDrop-app" + "value" : "Meld dit probleem aan de ontwikkelaar. Om uw ontvangen bestanden toch te bekijken, opent u de Bestanden-app, klikt u op het tabblad \"Bladeren\" en navigeert u naar de map \"Op Mijn iPhone\" > \"QuickDrop\"." } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Conectar com o aplicativo QuickDrop" + "value" : "Por favor, informe este problema ao desenvolvedor. Para visualizar seus arquivos recebidos, abra o app Arquivos, clique na aba \"Explorar\" e navegue até a pasta \"No Meu iPhone\" > \"QuickDrop\"." } }, "pt-PT" : { "stringUnit" : { "state" : "translated", - "value" : "Ligar com a app QuickDrop" + "value" : "Por favor, reporte este problema ao programador. Para ver os seus ficheiros recebidos mesmo assim, abra a app Ficheiros, clique no separador \"Explorar\" e navegue até à pasta \"No Meu iPhone\" > \"QuickDrop\"." } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Conectează-te cu aplicația QuickDrop" + "value" : "Te rog să raportezi această problemă dezvoltatorului. Pentru a vizualiza fișierele primite oricum, deschide aplicația Fișiere, mergi la fila \"Răsfoire\" și navighează la folderul \"Pe iPhone-ul meu\" > \"QuickDrop\"." } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Подключиться с помощью приложения QuickDrop" + "value" : "Пожалуйста, сообщите об этой проблеме разработчику. Чтобы просмотреть полученные файлы, откройте приложение \"Файлы\", перейдите на вкладку \"Обзор\" и найдите папку \"На моём iPhone\" > \"QuickDrop\"." } }, "th" : { "stringUnit" : { "state" : "translated", - "value" : "เชื่อมต่อด้วยแอป QuickDrop" + "value" : "กรุณาแจ้งปัญหานี้ให้กับผู้พัฒนา ท่านยังสามารถดูไฟล์ที่ได้รับได้โดยเปิดแอป Files คลิกที่แท็บ \"เรียกดู\" และไปที่โฟลเดอร์ \"บน iPhone ของฉัน\" > \"QuickDrop\"" } }, "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Підключитися за допомогою додатка QuickDrop" + "value" : "Будь ласка, повідомте про цю проблему розробнику. Щоб переглянути отримані файли все одно, відкрийте програму «Файли», натисніть вкладку «Огляд» і перейдіть до папки «На моєму iPhone» > «QuickDrop»." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "使用 QuickDrop 应用连接" + "value" : "请将此问题报告给开发者。若要仍然查看接收的文件,请打开“文件”应用,点击“浏览”标签,然后导航到“在我的 iPhone 上”>“QuickDrop”文件夹。" } } } @@ -2357,103 +3213,103 @@ "ar" : { "stringUnit" : { "state" : "translated", - "value" : "يرغب %1$@ في إدراج \"%2$@\" في حافظة جهاز Mac الخاص بك." + "value" : "%1$@ يريد إدراج \"%2$@\" في الحافظة الخاصة بك." } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ möchte \"%2$@\" in die Zwischenablage deines Macs einfügen." + "value" : "%1$@ möchte \"%2$@\" in Deine Zwischenablage einfügen." } }, "en" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ wants to insert \"%2$@\" to your Mac's clipboard." + "value" : "%1$@ wants to insert \"%2$@\" to your clipboard." } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ quiere insertar \"%2$@\" en el portapapeles de tu Mac." + "value" : "%1$@ quiere insertar \"%2$@\" en tu portapapeles." } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ souhaite insérer \"%2$@\" dans le presse-papiers de votre Mac." + "value" : "%1$@ souhaite insérer \"%2$@\" dans votre presse-papiers." } }, "hu" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ be szeretné illeszteni a(z) \"%2$@\" szöveget a Mac-ed vágólapjára." + "value" : "%1$@ be szeretné illeszteni a(z) \"%2$@\" elemet a vágólapodra." } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ vuole inserire \"%2$@\" negli appunti del tuo Mac." + "value" : "%1$@ vuole inserire \"%2$@\" negli appunti." } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ が \"%2$@\" をあなたの Mac のクリップボードに挿入しようとしています。" + "value" : "%1$@があなたのクリップボードに「%2$@」を挿入しようとしています。" } }, "ko" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@이(가) \"%2$@\"을(를) Mac의 클립보드에 삽입하려고 합니다." + "value" : "%1$@님이 클립보드에 \"%2$@\"을(를) 삽입하려고 합니다." } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ wil \"%2$@\" in het klembord van je Mac plaatsen." + "value" : "%1$@ wil \"%2$@\" naar uw klembord kopiëren." } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ deseja inserir \"%2$@\" na área de transferência do seu Mac." + "value" : "%1$@ deseja inserir \"%2$@\" na sua área de transferência." } }, "pt-PT" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ pretende inserir \"%2$@\" na área de transferência do seu Mac." + "value" : "%1$@ quer inserir \"%2$@\" na sua área de transferência." } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ dorește să introducă \"%2$@\" în clipboard-ul Mac-ului tău." + "value" : "%1$@ dorește să insereze \"%2$@\" în clipboard-ul tău." } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ хочет вставить \"%2$@\" в буфер обмена вашего Mac." + "value" : "%1$@ хочет вставить \"%2$@\" в ваш буфер обмена." } }, "th" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ ต้องการแทรก \"%2$@\" ไปยังคลิปบอร์ดของ Mac ของคุณ" + "value" : "%1$@ ต้องการเพิ่ม \"%2$@\" ไปยังคลิปบอร์ดของคุณ" } }, "uk" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ хоче вставити \"%2$@\" до буфера обміну вашого Mac." + "value" : "%1$@ хоче вставити \"%2$@\" у ваш буфер обміну." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ 想要将 \"%2$@\" 插入到你的 Mac 剪贴板。" + "value" : "%1$@ 想将“%2$@”插入到你的剪贴板。" } } } @@ -2464,103 +3320,210 @@ "ar" : { "stringUnit" : { "state" : "translated", - "value" : "يرغب %1$@ في فتح \"%2$@\" على جهاز Mac الخاص بك." + "value" : "%1$@ يريد فتح \"%2$@\" على هذا الجهاز." } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ möchte \"%2$@\" auf deinem Mac öffnen." + "value" : "%1$@ möchte \"%2$@\" auf diesem Gerät öffnen." } }, "en" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ wants to open \"%2$@\" on your Mac." + "value" : "%1$@ wants to open \"%2$@\" on this device." } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ quiere abrir \"%2$@\" en tu Mac." + "value" : "%1$@ quiere abrir \"%2$@\" en este dispositivo." } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ souhaite ouvrir \"%2$@\" sur votre Mac." + "value" : "%1$@ souhaite ouvrir \"%2$@\" sur cet appareil." } }, "hu" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ meg szeretné nyitni a(z) \"%2$@\" hivatkozást a Mac-eden." + "value" : "%1$@ meg akarja nyitni a(z) \"%2$@\" elemet ezen az eszközön." } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ vuole aprire \"%2$@\" sul tuo Mac." + "value" : "%1$@ vuole aprire \"%2$@\" su questo dispositivo." } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ があなたの Mac で \"%2$@\" を開こうとしています。" + "value" : "%1$@がこのデバイスで「%2$@」を開こうとしています。" } }, "ko" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@이(가) Mac에서 \"%2$@\"을(를) 열려고 합니다." + "value" : "%1$@님이 이 장치에서 \"%2$@\"을(를) 열려고 합니다." } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ wil \"%2$@\" openen op je Mac." + "value" : "%1$@ wil \"%2$@\" openen op dit apparaat." } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ deseja abrir \"%2$@\" no seu Mac." + "value" : "%1$@ deseja abrir \"%2$@\" neste dispositivo." } }, "pt-PT" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ pretende abrir \"%2$@\" no seu Mac." + "value" : "%1$@ quer abrir \"%2$@\" neste dispositivo." } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ dorește să deschidă \"%2$@\" pe Mac-ul tău." + "value" : "%1$@ dorește să deschidă \"%2$@\" pe acest dispozitiv." } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ хочет открыть \"%2$@\" на вашем Mac." + "value" : "%1$@ хочет открыть \"%2$@\" на этом устройстве." } }, "th" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ ต้องการเปิด \"%2$@\" บน Mac ของคุณ" + "value" : "%1$@ ต้องการเปิด \"%2$@\" บนอุปกรณ์นี้" } }, "uk" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ хоче відкрити \"%2$@\" на вашому Mac." + "value" : "%1$@ хоче відкрити \"%2$@\" на цьому пристрої." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ 想要在你的 Mac 上打开 \"%2$@\"。" + "value" : "%1$@ 想在此设备上打开“%2$@”。" + } + } + } + }, + "DontSeeYourDevice" : { + "extractionState" : "manual", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "لا ترى جهازك؟" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gerät nicht sichtbar?" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Don't see your device?" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "¿No ves tu dispositivo?" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vous ne voyez pas votre appareil ?" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nem látja az eszközt?" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Non vedi il tuo dispositivo?" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "デバイスが見つかりませんか?" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "기기를 찾을 수 없나요?" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zie je je apparaat niet?" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Não vê o seu dispositivo?" + } + }, + "pt-PT" : { + "stringUnit" : { + "state" : "translated", + "value" : "Não vê o seu dispositivo?" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nu vezi dispozitivul tău?" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Не видите своё устройство?" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ไม่เห็นอุปกรณ์ของคุณ?" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Не бачите свій пристрій?" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "未找到您的设备?" } } } @@ -2778,6 +3741,113 @@ } } }, + "DownloadQuickDropOnPlayStore" : { + "extractionState" : "manual", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "قم بتنزيل QuickDrop من App Store أو Play Store لمشاركة الملفات مع أجهزتك." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lade QuickDrop im App Store oder Play Store herunter, um Dateien mit deinen Geräten zu teilen." + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Download QuickDrop on the App Store or the Play Store to share files with your devices." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Descarga QuickDrop en la App Store o Play Store para compartir archivos con tus dispositivos." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Téléchargez QuickDrop sur l'App Store ou le Play Store pour partager des fichiers avec vos appareils." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Töltse le a QuickDrop alkalmazást az App Store-ból vagy a Play Store-ból, hogy fájlokat osszon meg az eszközeivel." + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Scarica QuickDrop dall'App Store o dal Play Store per condividere file con i tuoi dispositivi." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "App Store または Play Store から QuickDrop をダウンロードして、デバイス間でファイルを共有しましょう。" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "앱 스토어나 플레이 스토어에서 QuickDrop을 다운로드하여 기기와 파일을 공유하세요." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Download QuickDrop in de App Store of de Play Store om bestanden met je apparaten te delen." + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Baixe o QuickDrop na App Store ou na Play Store para compartilhar arquivos com seus dispositivos." + } + }, + "pt-PT" : { + "stringUnit" : { + "state" : "translated", + "value" : "Descarregue o QuickDrop na App Store ou na Play Store para partilhar ficheiros com os seus dispositivos." + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Descarcă QuickDrop din App Store sau Play Store pentru a partaja fișiere cu dispozitivele tale." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Скачайте QuickDrop в App Store или Play Store, чтобы делиться файлами с вашими устройствами." + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ดาวน์โหลด QuickDrop บน App Store หรือ Play Store เพื่อแชร์ไฟล์กับอุปกรณ์ของคุณ" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Завантажте QuickDrop з App Store або Play Store, щоб обмінюватися файлами між вашими пристроями." + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "在 App Store 或 Play Store 下载 QuickDrop,与您的设备共享文件。" + } + } + } + }, "DownloadsFolder" : { "extractionState" : "manual", "localizations" : { @@ -4062,6 +5132,113 @@ } } }, + "NFiles" : { + "extractionState" : "manual", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "%d ملفات" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "%d Dateien" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%d files" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "%d archivos" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%d fichiers" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "%d fájl" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "%d files" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%dつのファイル" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "%d개의 파일" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "%d bestanden" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "%d arquivos" + } + }, + "pt-PT" : { + "stringUnit" : { + "state" : "translated", + "value" : "%d ficheiros" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "%d fișiere" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "%d файлов" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "%d ไฟล์" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "%d files" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%d files" + } + } + } + }, "NetworkFilterDescription" : { "extractionState" : "manual", "localizations" : { @@ -4276,109 +5453,323 @@ } } }, - "NFiles" : { + "NoDevicesFound" : { "extractionState" : "manual", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "%d ملفات" + "value" : "لم يتم العثور على أجهزة" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "%d Dateien" + "value" : "Keine Geräte gefunden" } }, "en" : { "stringUnit" : { "state" : "translated", - "value" : "%d files" + "value" : "No devices found" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "%d archivos" + "value" : "No se encontraron dispositivos" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "%d fichiers" + "value" : "Aucun appareil trouvé" } }, "hu" : { "stringUnit" : { "state" : "translated", - "value" : "%d fájl" + "value" : "Nincsenek eszközök" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "%d files" + "value" : "Nessun dispositivo trovato" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "%dつのファイル" + "value" : "デバイスが見つかりません" } }, "ko" : { "stringUnit" : { "state" : "translated", - "value" : "%d개의 파일" + "value" : "기기를 찾을 수 없습니다" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "%d bestanden" + "value" : "Geen apparaten gevonden" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "%d arquivos" + "value" : "Nenhum dispositivo encontrado" } }, "pt-PT" : { "stringUnit" : { "state" : "translated", - "value" : "%d ficheiros" + "value" : "Nenhum dispositivo encontrado" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "%d fișiere" + "value" : "Niciun dispozitiv găsit" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "%d файлов" + "value" : "Устройства не найдены" } }, "th" : { "stringUnit" : { "state" : "translated", - "value" : "%d ไฟล์" + "value" : "ไม่พบอุปกรณ์" } }, "uk" : { "stringUnit" : { "state" : "translated", - "value" : "%d files" + "value" : "Пристрої не знайдено" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "%d files" + "value" : "未找到设备" + } + } + } + }, + "NoLocalNetworkAccessDescription" : { + "extractionState" : "manual", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "لقد رفضت وصول الشبكة المحلية لتطبيق QuickDrop. لا يمكن لتطبيق QuickDrop العمل بدون هذا الإذن. انقر هنا لمنح الوصول إلى الشبكة المحلية." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Du hast den lokalen Netzwerkzugriff für QuickDrop verweigert. QuickDrop kann ohne diese Berechtigung nicht funktionieren. Klicke hier, um den lokalen Netzwerkzugriff zu gewähren." + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "You denied local network access for QuickDrop. QuickDrop cannot work without this permission. Click here to grant local network access." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Negaste el acceso a la red local para QuickDrop. QuickDrop no puede funcionar sin este permiso. Haz clic aquí para otorgar acceso a la red local." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vous avez refusé l'accès au réseau local pour QuickDrop. QuickDrop ne peut pas fonctionner sans cette autorisation. Cliquez ici pour accorder l'accès au réseau local." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ön megtagadta a helyi hálózathoz való hozzáférést a QuickDrop számára. A QuickDrop nem működik ezen engedély nélkül. Kattintson ide a helyi hálózathoz való hozzáférés engedélyezéséhez." + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hai negato l'accesso alla rete locale per QuickDrop. QuickDrop non può funzionare senza questa autorizzazione. Clicca qui per concedere l'accesso alla rete locale." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "QuickDropのローカルネットワークアクセスが拒否されました。この権限がないとQuickDropは動作しません。ローカルネットワークアクセスを許可するにはここをクリックしてください。" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "QuickDrop에 대한 로컬 네트워크 액세스를 거부했습니다. 이 권한 없이는 QuickDrop이 작동할 수 없습니다. 로컬 네트워크 액세스를 허용하려면 여기를 클릭하세요." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Je hebt toegang tot het lokale netwerk voor QuickDrop geweigerd. QuickDrop kan niet werken zonder deze toestemming. Klik hier om toegang tot het lokale netwerk te verlenen." + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Você negou o acesso à rede local para o QuickDrop. O QuickDrop não pode funcionar sem essa permissão. Clique aqui para conceder acesso à rede local." + } + }, + "pt-PT" : { + "stringUnit" : { + "state" : "translated", + "value" : "Negou o acesso à rede local para o QuickDrop. O QuickDrop não pode funcionar sem esta permissão. Clique aqui para conceder acesso à rede local." + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ați refuzat accesul la rețeaua locală pentru QuickDrop. QuickDrop nu poate funcționa fără această permisiune. Apăsați aici pentru a oferi acces la rețeaua locală." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Вы отклонили доступ QuickDrop к локальной сети. QuickDrop не может работать без этого разрешения. Нажмите здесь, чтобы предоставить доступ к локальной сети." + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "คุณปฏิเสธการเข้าถึงเครือข่ายท้องถิ่นสำหรับ QuickDrop. QuickDrop ไม่สามารถทำงานได้โดยปราศจากสิทธิ์นี้. คลิกที่นี่เพื่ออนุญาตการเข้าถึงเครือข่ายท้องถิ่น." + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ви відхилили доступ до локальної мережі для QuickDrop. QuickDrop не може працювати без цього дозволу. Натисніть тут, щоб надати доступ до локальної мережі." + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "您已拒绝QuickDrop的本地网络访问权限。QuickDrop无法在没有该权限的情况下工作。点击此处授予本地网络访问权限。" + } + } + } + }, + "NoNetworkAccess" : { + "extractionState" : "manual", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "لا يوجد وصول للشبكة" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kein Netzwerkzugriff" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "No Network Access" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sin acceso a red" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pas d'accès au réseau" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nincs hálózati hozzáférés" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nessun accesso alla rete" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ネットワーク接続なし" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "네트워크 액세스 없음" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Geen netwerktoegang" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sem acesso à rede" + } + }, + "pt-PT" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sem acesso à rede" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fără acces la rețea" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Нет доступа к сети" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ไม่มีการเข้าถึงเครือข่าย" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Немає мережевого доступу" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无网络访问权限" } } } @@ -4917,1384 +6308,109 @@ } } }, - "plusview_description" : { - "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "قم بفتح QuickDrop+ لمواصلة تبادل الملفات بلا حدود. QuickDrop+ هو شراء لمرة واحدة – لا حاجة للاشتراك. تشمل جميع الميزات الحالية والمستقبلية." - } - }, - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Schalte QuickDrop+ frei, um weiterhin Dateien unbegrenzt auszutauschen. QuickDrop+ ist ein Einmalkauf - ein Abonnement ist nicht erforderlich. Alle aktuellen und zukünftigen Funktionen sind enthalten." - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Unlock QuickDrop+ to continue exchanging files without limits. QuickDrop+ is a one-time purchase – no subscription required. All current and future features are included." - } - }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Desbloquea QuickDrop+ para seguir intercambiando archivos sin límites. QuickDrop+ es una compra única – no se requiere suscripción. Todas las funciones actuales y futuras están incluidas." - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Débloquez QuickDrop+ pour continuer à échanger des fichiers sans limites. QuickDrop+ est un achat unique – aucun abonnement requis. Toutes les fonctionnalités actuelles et futures sont incluses." - } - }, - "hu" : { - "stringUnit" : { - "state" : "translated", - "value" : "Oldd fel a QuickDrop+-t, hogy korlátlanul folytathasd a fájlcserét. A QuickDrop+ egy egyszeri vásárlás – előfizetés nem szükséges. Az összes jelenlegi és jövőbeli funkciót tartalmazza." - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sblocca QuickDrop+ per continuare a scambiare file senza limiti. QuickDrop+ è un acquisto unico – nessun abbonamento richiesto. Tutte le funzionalità attuali e future sono incluse." - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "QuickDrop+ をアンロックして、無制限にファイルを交換できます。QuickDrop+ は買い切り型のアプリです。サブスクリプション不要で、現在および将来のすべての機能が含まれます。" - } - }, - "ko" : { - "stringUnit" : { - "state" : "translated", - "value" : "QuickDrop+를 잠금 해제하여 파일을 제한 없이 교환하세요. QuickDrop+는 일회성 구매이며, 구독이 필요하지 않습니다. 모든 현재 및 미래 기능이 포함됩니다." - } - }, - "nl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ontgrendel QuickDrop+ om bestanden zonder limieten te blijven uitwisselen. QuickDrop+ is een eenmalige aankoop – geen abonnement vereist. Alle huidige en toekomstige functies zijn inbegrepen." - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "Desbloqueie o QuickDrop+ para continuar trocando arquivos sem limites. QuickDrop+ é uma compra única – sem necessidade de assinatura. Todos os recursos atuais e futuros estão incluídos." - } - }, - "pt-PT" : { - "stringUnit" : { - "state" : "translated", - "value" : "Desbloqueia o QuickDrop+ para continuar a trocar ficheiros sem limites. QuickDrop+ é uma compra única – não é necessária subscrição. Todas as funcionalidades atuais e futuras estão incluídas." - } - }, - "ro" : { - "stringUnit" : { - "state" : "translated", - "value" : "Deblochează QuickDrop+ pentru a continua schimbul de fișiere fără limite. QuickDrop+ este o achiziție unică – nu este necesar abonament. Toate funcțiile curente și viitoare sunt incluse." - } - }, - "ru" : { - "stringUnit" : { - "state" : "translated", - "value" : "Разблокируйте QuickDrop+, чтобы продолжить обмен файлами без ограничений. QuickDrop+ – это разовая покупка, подписка не требуется. Все текущие и будущие функции включены." - } - }, - "th" : { - "stringUnit" : { - "state" : "translated", - "value" : "ปลดล็อก QuickDrop+ เพื่อแลกเปลี่ยนไฟล์ได้อย่างไม่จำกัด QuickDrop+ เป็นการซื้อครั้งเดียว – ไม่ต้องสมัครสมาชิก ฟีเจอร์ทั้งหมดทั้งปัจจุบันและอนาคตรวมอยู่ในนี้แล้ว" - } - }, - "uk" : { - "stringUnit" : { - "state" : "translated", - "value" : "Розблокуйте QuickDrop+, щоб продовжити обмін файлами без обмежень. QuickDrop+ – це одноразова покупка, підписка не потрібна. Всі поточні та майбутні функції включені." - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "解锁 QuickDrop+ 以无限制地交换文件。QuickDrop+ 是一次性购买 – 无需订阅。所有当前和未来的功能均包含在内。" - } - } - } - }, - "plusview_nothingtorestore" : { + "Preparing" : { "extractionState" : "manual", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "لا يوجد شيء لاستعادته!" + "value" : "جارٍ التحضير..." } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Es gibt nichts wiederherzustellen!" + "value" : "Bereite vor..." } }, "en" : { "stringUnit" : { "state" : "translated", - "value" : "There is nothing to restore!" + "value" : "Preparing..." } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "¡No hay nada que restaurar!" + "value" : "Preparando..." } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Aucun achat à restaurer !" + "value" : "Préparation..." } }, "hu" : { "stringUnit" : { "state" : "translated", - "value" : "Nincs visszaállítható vásárlás!" + "value" : "Előkészítés folyamatban..." } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Non c'è nulla da ripristinare!" + "value" : "Preparazione in corso..." } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "復元するものがありません!" + "value" : "準備中..." } }, "ko" : { "stringUnit" : { "state" : "translated", - "value" : "복원할 항목이 없습니다!" + "value" : "준비 중..." } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Er is niets om te herstellen!" + "value" : "Voorbereiden..." } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Nada para restaurar!" + "value" : "Preparando..." } }, "pt-PT" : { "stringUnit" : { "state" : "translated", - "value" : "Não há nada para restaurar!" + "value" : "A preparar..." } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Nu există nimic de restaurat!" + "value" : "Se pregătește..." } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Нет покупок для восстановления!" + "value" : "Подготовка..." } }, "th" : { "stringUnit" : { "state" : "translated", - "value" : "ไม่มีรายการที่ต้องกู้คืน!" + "value" : "กำลังเตรียม..." } }, "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Немає покупок для відновлення!" + "value" : "Підготовка..." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "没有可恢复的购买!" - } - } - } - }, - "plusview_productRequestFailed" : { - "extractionState" : "manual", - "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "تعذر جلب عمليات الشراء داخل التطبيق في الوقت الحالي." - } - }, - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "In-App-Käufe können momentan nicht abgerufen werden." - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Unable to fetch In-App Purchases at the moment." - } - }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "No se pueden recuperar las compras dentro de la aplicación en este momento." - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Impossible de récupérer les achats intégrés pour le moment." - } - }, - "hu" : { - "stringUnit" : { - "state" : "translated", - "value" : "Jelenleg nem lehet lekérni az alkalmazáson belüli vásárlásokat." - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Impossibile recuperare gli acquisti in-app al momento." - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "現在、アプリ内購入情報を取得できません。" - } - }, - "ko" : { - "stringUnit" : { - "state" : "translated", - "value" : "현재 인앱 구매 정보를 가져올 수 없습니다." - } - }, - "nl" : { - "stringUnit" : { - "state" : "translated", - "value" : "In-app aankopen kunnen momenteel niet worden opgehaald." - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "Não foi possível recuperar as compras dentro do aplicativo no momento." - } - }, - "pt-PT" : { - "stringUnit" : { - "state" : "translated", - "value" : "Não foi possível recuperar as compras dentro do app no momento." - } - }, - "ro" : { - "stringUnit" : { - "state" : "translated", - "value" : "Momentan, nu se pot obține informații despre achizițiile în aplicație." - } - }, - "ru" : { - "stringUnit" : { - "state" : "translated", - "value" : "Не удалось получить данные о встроенных покупках." - } - }, - "th" : { - "stringUnit" : { - "state" : "translated", - "value" : "ไม่สามารถดึงข้อมูลการซื้อภายในแอปได้ในขณะนี้" - } - }, - "uk" : { - "stringUnit" : { - "state" : "translated", - "value" : "Наразі неможливо отримати інформацію про покупки в додатку." - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "暂时无法获取应用内购买信息。" - } - } - } - }, - "plusview_purchasefailed" : { - "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "فشل الشراء" - } - }, - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Kauf fehlgeschlagen" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Purchase failed" - } - }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "La compra ha fallado" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Échec de l'achat" - } - }, - "hu" : { - "stringUnit" : { - "state" : "translated", - "value" : "A vásárlás sikertelen" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Acquisto non riuscito" - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "購入に失敗しました" - } - }, - "ko" : { - "stringUnit" : { - "state" : "translated", - "value" : "구매 실패" - } - }, - "nl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Aankoop mislukt" - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "Falha na compra" - } - }, - "pt-PT" : { - "stringUnit" : { - "state" : "translated", - "value" : "Falha na compra" - } - }, - "ro" : { - "stringUnit" : { - "state" : "translated", - "value" : "Achiziția a eșuat" - } - }, - "ru" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ошибка покупки" - } - }, - "th" : { - "stringUnit" : { - "state" : "translated", - "value" : "การซื้อล้มเหลว" - } - }, - "uk" : { - "stringUnit" : { - "state" : "translated", - "value" : "Помилка покупки" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "购买失败" - } - } - } - }, - "plusview_purchasefaileddescription" : { - "extractionState" : "manual", - "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "إذا ظهر هذا الرسالة بشكل غير متوقع، يرجى التأكد من اتصالك بالإنترنت وأن عمليات الشراء داخل التطبيق مفعّلة على جهازك، ثم حاول مرة أخرى." - } - }, - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Falls diese Nachricht unerwartet erscheint, stelle sicher, dass du mit dem Internet verbunden bist und In-App-Käufe auf deinem Gerät aktiviert sind, und versuche es erneut." - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "If this message appeared unexpectedly, please make sure that you are connected to the Internet and In-App-Purchases are enabled for your device and then try again." - } - }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Si este mensaje apareció inesperadamente, asegúrate de estar conectado a internet y que las compras dentro de la aplicación estén habilitadas en tu dispositivo, luego intenta nuevamente." - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Si ce message est apparu de manière inattendue, assurez-vous d'être connecté à Internet et que les achats intégrés sont activés sur votre appareil, puis réessayez." - } - }, - "hu" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ha ez az üzenet váratlanul jelent meg, ellenőrizd az internetkapcsolatot, és győződj meg róla, hogy az alkalmazáson belüli vásárlások engedélyezve vannak az eszközödön, majd próbáld újra." - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Se questo messaggio è apparso inaspettatamente, assicurati di essere connesso a Internet e che gli acquisti in-app siano abilitati sul tuo dispositivo, quindi riprova." - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "このメッセージが予期せず表示された場合、インターネット接続を確認し、アプリ内購入が有効になっていることを確認した上で再試行してください。" - } - }, - "ko" : { - "stringUnit" : { - "state" : "translated", - "value" : "이 메시지가 예상치 않게 나타난 경우, 인터넷에 연결되어 있는지 확인하고 기기에서 인앱 결제가 활성화되어 있는지 확인한 후 다시 시도해 주세요." - } - }, - "nl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Als dit bericht onverwachts verschijnt, controleer dan of je verbonden bent met internet en of in-app aankopen zijn ingeschakeld op je apparaat, en probeer het opnieuw." - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "Se esta mensagem apareceu inesperadamente, verifique se você está conectado à internet e se as compras dentro do app estão ativadas no seu dispositivo e tente novamente." - } - }, - "pt-PT" : { - "stringUnit" : { - "state" : "translated", - "value" : "Se esta mensagem apareceu inesperadamente, certifique-se de estar conectado à Internet e que as compras dentro do app estejam ativadas no seu dispositivo, depois tente novamente." - } - }, - "ro" : { - "stringUnit" : { - "state" : "translated", - "value" : "Dacă acest mesaj a apărut neașteptat, asigură-te că ești conectat la internet și că achizițiile în aplicație sunt activate pe dispozitivul tău, apoi încearcă din nou." - } - }, - "ru" : { - "stringUnit" : { - "state" : "translated", - "value" : "Если это сообщение появилось неожиданно, убедитесь, что у вас есть доступ к интернету и включены встроенные покупки на вашем устройстве, затем попробуйте снова." - } - }, - "th" : { - "stringUnit" : { - "state" : "translated", - "value" : "หากข้อความนี้ปรากฏขึ้นโดยไม่คาดคิด โปรดตรวจสอบว่าคุณเชื่อมต่ออินเทอร์เน็ตและเปิดใช้งานการซื้อภายในแอปในอุปกรณ์ของคุณแล้วลองอีกครั้ง" - } - }, - "uk" : { - "stringUnit" : { - "state" : "translated", - "value" : "Якщо це повідомлення з’явилося несподівано, переконайтеся, що у вас є підключення до Інтернету, а покупки в додатках увімкнені на вашому пристрої, і спробуйте ще раз." - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "如果此消息意外出现,请确保您已连接到互联网,并且设备已启用应用内购买功能,然后重试。" - } - } - } - }, - "plusview_restorefailed" : { - "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "حدثت مشكلة أثناء استعادة عملية الشراء" - } - }, - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Es gab ein Problem beim Wiederherstellen deines Kaufs" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "There was a problem restoring your purchase" - } - }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Hubo un problema al restaurar tu compra" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Un problème est survenu lors de la restauration de votre achat" - } - }, - "hu" : { - "stringUnit" : { - "state" : "translated", - "value" : "Hiba történt a vásárlás visszaállítása során" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Si è verificato un problema durante il ripristino dell'acquisto" - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "購入の復元中に問題が発生しました" - } - }, - "ko" : { - "stringUnit" : { - "state" : "translated", - "value" : "구매 복원 중 문제가 발생했습니다." - } - }, - "nl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Er was een probleem bij het herstellen van je aankoop" - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "Houve um problema ao restaurar sua compra" - } - }, - "pt-PT" : { - "stringUnit" : { - "state" : "translated", - "value" : "Houve um problema ao restaurar sua compra" - } - }, - "ro" : { - "stringUnit" : { - "state" : "translated", - "value" : "A apărut o problemă la restaurarea achiziției" - } - }, - "ru" : { - "stringUnit" : { - "state" : "translated", - "value" : "Произошла ошибка при восстановлении покупки" - } - }, - "th" : { - "stringUnit" : { - "state" : "translated", - "value" : "เกิดปัญหาในการกู้คืนการซื้อของคุณ" - } - }, - "uk" : { - "stringUnit" : { - "state" : "translated", - "value" : "Сталася помилка під час відновлення покупки" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "恢复购买时出现问题" - } - } - } - }, - "plusview_restorefailed_proceed" : { - "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "موافق" - } - }, - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Okay" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Okay" - } - }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Aceptar" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "OK" - } - }, - "hu" : { - "stringUnit" : { - "state" : "translated", - "value" : "Rendben" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ok" - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "OK" - } - }, - "ko" : { - "stringUnit" : { - "state" : "translated", - "value" : "확인" - } - }, - "nl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Oké" - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "OK" - } - }, - "pt-PT" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ok" - } - }, - "ro" : { - "stringUnit" : { - "state" : "translated", - "value" : "OK" - } - }, - "ru" : { - "stringUnit" : { - "state" : "translated", - "value" : "Окей" - } - }, - "th" : { - "stringUnit" : { - "state" : "translated", - "value" : "ตกลง" - } - }, - "uk" : { - "stringUnit" : { - "state" : "translated", - "value" : "Гаразд" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "确定" - } - } - } - }, - "plusview_restorepurchase" : { - "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "هل اشتريته بالفعل؟" - } - }, - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Bereits gekauft?" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Already bought?" - } - }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "¿Ya lo compraste?" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Déjà acheté ?" - } - }, - "hu" : { - "stringUnit" : { - "state" : "translated", - "value" : "Már megvásároltad?" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Già acquistato?" - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "すでに購入済みですか?" - } - }, - "ko" : { - "stringUnit" : { - "state" : "translated", - "value" : "이미 구매하셨나요?" - } - }, - "nl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Al gekocht?" - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "Já comprou?" - } - }, - "pt-PT" : { - "stringUnit" : { - "state" : "translated", - "value" : "Já comprou?" - } - }, - "ro" : { - "stringUnit" : { - "state" : "translated", - "value" : "Deja cumpărat?" - } - }, - "ru" : { - "stringUnit" : { - "state" : "translated", - "value" : "Уже куплено?" - } - }, - "th" : { - "stringUnit" : { - "state" : "translated", - "value" : "เคยซื้อแล้ว?" - } - }, - "uk" : { - "stringUnit" : { - "state" : "translated", - "value" : "Вже куплено?" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "已购买?" - } - } - } - }, - "plusview_success_button" : { - "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "حسنًا!" - } - }, - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Alles klar!" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Got it!" - } - }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "¡Entendido!" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "D'accord !" - } - }, - "hu" : { - "stringUnit" : { - "state" : "translated", - "value" : "Értettem!" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Capito!" - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "了解!" - } - }, - "ko" : { - "stringUnit" : { - "state" : "translated", - "value" : "알겠습니다!" - } - }, - "nl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Begrepen!" - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "Entendi!" - } - }, - "pt-PT" : { - "stringUnit" : { - "state" : "translated", - "value" : "Entendido!" - } - }, - "ro" : { - "stringUnit" : { - "state" : "translated", - "value" : "Înțeles!" - } - }, - "ru" : { - "stringUnit" : { - "state" : "translated", - "value" : "Понял!" - } - }, - "th" : { - "stringUnit" : { - "state" : "translated", - "value" : "รับทราบ!" - } - }, - "uk" : { - "stringUnit" : { - "state" : "translated", - "value" : "Зрозуміло!" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "知道了!" - } - } - } - }, - "plusview_success_description" : { - "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "يمكنك الآن متابعة استلام الملفات بدون قيود. أي ملفات حاولت إرسالها سابقًا تم حفظها بالفعل على جهازك." - } - }, - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Du kannst nun weiterhin Dateien ohne Einschränkungen empfangen. Alle Dateien, welche gerade gesendet wurden, wurden bereits gespeichert." - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "You can now continue receiving files without restrictions. Any files you tried to send were already saved on your device." - } - }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ahora puedes seguir recibiendo archivos sin restricciones. Todos los archivos que intentaste enviar antes ya se han guardado en tu dispositivo." - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Vous pouvez maintenant continuer à recevoir des fichiers sans restrictions. Tous les fichiers que vous avez essayé d'envoyer précédemment ont déjà été enregistrés sur votre appareil." - } - }, - "hu" : { - "stringUnit" : { - "state" : "translated", - "value" : "Mostantól korlátozások nélkül fogadhat fájlokat. Az összes fájl, amelyet korábban próbált elküldeni, már el lett mentve az eszközére." - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ora puoi continuare a ricevere file senza restrizioni. Tutti i file che hai provato a inviare in precedenza sono già stati salvati sul tuo dispositivo." - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "これで、制限なくファイルを受信し続けることができます。以前送信しようとしたファイルはすでにデバイスに保存されています。" - } - }, - "ko" : { - "stringUnit" : { - "state" : "translated", - "value" : "이제 파일을 제한 없이 계속 받을 수 있습니다. 이전에 전송을 시도한 모든 파일이 이미 기기에 저장되었습니다." - } - }, - "nl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Je kunt nu bestanden blijven ontvangen zonder beperkingen. Alle bestanden die je eerder probeerde te verzenden, zijn al opgeslagen op je apparaat." - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "Agora você pode continuar recebendo arquivos sem restrições. Todos os arquivos que você tentou enviar antes já foram salvos no seu dispositivo." - } - }, - "pt-PT" : { - "stringUnit" : { - "state" : "translated", - "value" : "Agora pode continuar a receber ficheiros sem restrições. Todos os ficheiros que tentou enviar antes já foram guardados no seu dispositivo." - } - }, - "ro" : { - "stringUnit" : { - "state" : "translated", - "value" : "Acum puteți continua să primiți fișiere fără restricții. Toate fișierele pe care ați încercat să le trimiteți anterior au fost deja salvate pe dispozitivul dvs." - } - }, - "ru" : { - "stringUnit" : { - "state" : "translated", - "value" : "Теперь вы можете продолжать получать файлы без ограничений. Все файлы, которые вы пытались отправить ранее, уже сохранены на вашем устройстве." - } - }, - "th" : { - "stringUnit" : { - "state" : "translated", - "value" : "คุณสามารถรับไฟล์ต่อไปได้โดยไม่มีข้อจำกัด ไฟล์ทั้งหมดที่คุณพยายามส่งก่อนหน้านี้ถูกบันทึกไว้ในอุปกรณ์ของคุณแล้ว" - } - }, - "uk" : { - "stringUnit" : { - "state" : "translated", - "value" : "Тепер ви можете продовжувати отримувати файли без обмежень. Усі файли, які ви намагалися надіслати раніше, вже збережено на вашому пристрої." - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "您现在可以继续无限制地接收文件。您之前尝试发送的所有文件已保存到您的设备上。" - } - } - } - }, - "plusview_success_title" : { - "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "شكرًا لشرائك!" - } - }, - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Danke für deinen Kauf!" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Thanks for your purchase!" - } - }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "¡Gracias por tu compra!" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Merci pour votre achat !" - } - }, - "hu" : { - "stringUnit" : { - "state" : "translated", - "value" : "Köszönjük a vásárlást!" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Grazie per il tuo acquisto!" - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "ご購入ありがとうございます!" - } - }, - "ko" : { - "stringUnit" : { - "state" : "translated", - "value" : "구매해 주셔서 감사합니다!" - } - }, - "nl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Bedankt voor je aankoop!" - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "Obrigado pela sua compra!" - } - }, - "pt-PT" : { - "stringUnit" : { - "state" : "translated", - "value" : "Obrigado pela sua compra!" - } - }, - "ro" : { - "stringUnit" : { - "state" : "translated", - "value" : "Mulțumim pentru achiziție!" - } - }, - "ru" : { - "stringUnit" : { - "state" : "translated", - "value" : "Спасибо за покупку!" - } - }, - "th" : { - "stringUnit" : { - "state" : "translated", - "value" : "ขอบคุณสำหรับการซื้อ!" - } - }, - "uk" : { - "stringUnit" : { - "state" : "translated", - "value" : "Дякуємо за покупку!" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "感谢您的购买!" - } - } - } - }, - "plusview_title" : { - "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "شكرًا لاستخدامك QuickDrop!" - } - }, - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Danke, dass du QuickDrop benutzt!" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Thanks for using QuickDrop!" - } - }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "¡Gracias por usar QuickDrop!" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Merci d'utiliser QuickDrop !" - } - }, - "hu" : { - "stringUnit" : { - "state" : "translated", - "value" : "Köszönjük, hogy használod a QuickDropot!" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Grazie per aver usato QuickDrop!" - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "QuickDropをご利用いただきありがとうございます!" - } - }, - "ko" : { - "stringUnit" : { - "state" : "translated", - "value" : "QuickDrop을 사용해 주셔서 감사합니다!" - } - }, - "nl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Bedankt voor het gebruiken van QuickDrop!" - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "Obrigado por usar o QuickDrop!" - } - }, - "pt-PT" : { - "stringUnit" : { - "state" : "translated", - "value" : "Obrigado por usar o QuickDrop!" - } - }, - "ro" : { - "stringUnit" : { - "state" : "translated", - "value" : "Mulțumim că folosești QuickDrop!" - } - }, - "ru" : { - "stringUnit" : { - "state" : "translated", - "value" : "Спасибо за использование QuickDrop!" - } - }, - "th" : { - "stringUnit" : { - "state" : "translated", - "value" : "ขอบคุณที่ใช้ QuickDrop!" - } - }, - "uk" : { - "stringUnit" : { - "state" : "translated", - "value" : "Дякуємо за використання QuickDrop!" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "感谢使用 QuickDrop!" - } - } - } - }, - "plusview_unlock_label" : { - "extractionState" : "manual", - "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "ادعم QuickDrop" - } - }, - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Unterstütze QuickDrop" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Support QuickDrop" - } - }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Apoyar QuickDrop" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Soutenir QuickDrop" - } - }, - "hu" : { - "stringUnit" : { - "state" : "translated", - "value" : "Támogasd a QuickDropot" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Supporta QuickDrop" - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "QuickDropをサポート" - } - }, - "ko" : { - "stringUnit" : { - "state" : "translated", - "value" : "QuickDrop 지원하기" - } - }, - "nl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ondersteun QuickDrop" - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "Apoie o QuickDrop" - } - }, - "pt-PT" : { - "stringUnit" : { - "state" : "translated", - "value" : "Apoiar QuickDrop" - } - }, - "ro" : { - "stringUnit" : { - "state" : "translated", - "value" : "Susține QuickDrop" - } - }, - "ru" : { - "stringUnit" : { - "state" : "translated", - "value" : "Поддержать QuickDrop" - } - }, - "th" : { - "stringUnit" : { - "state" : "translated", - "value" : "สนับสนุน QuickDrop" - } - }, - "uk" : { - "stringUnit" : { - "state" : "translated", - "value" : "Підтримати QuickDrop" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "支持 QuickDrop" + "value" : "准备中…" } } } @@ -6621,6 +6737,110 @@ } }, "QuickDrop" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "new", + "value" : "" + } + }, + "de" : { + "stringUnit" : { + "state" : "new", + "value" : "" + } + }, + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "" + } + }, + "es" : { + "stringUnit" : { + "state" : "new", + "value" : "" + } + }, + "fr" : { + "stringUnit" : { + "state" : "new", + "value" : "" + } + }, + "hu" : { + "stringUnit" : { + "state" : "new", + "value" : "" + } + }, + "it" : { + "stringUnit" : { + "state" : "new", + "value" : "" + } + }, + "ja" : { + "stringUnit" : { + "state" : "new", + "value" : "" + } + }, + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "" + } + }, + "nl" : { + "stringUnit" : { + "state" : "new", + "value" : "" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "new", + "value" : "" + } + }, + "pt-PT" : { + "stringUnit" : { + "state" : "new", + "value" : "" + } + }, + "ro" : { + "stringUnit" : { + "state" : "new", + "value" : "" + } + }, + "ru" : { + "stringUnit" : { + "state" : "new", + "value" : "" + } + }, + "th" : { + "stringUnit" : { + "state" : "new", + "value" : "" + } + }, + "uk" : { + "stringUnit" : { + "state" : "new", + "value" : "" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "new", + "value" : "" + } + } + }, "shouldTranslate" : false }, "QuickDropAndroidAppAdvertisement" : { @@ -6730,6 +6950,113 @@ } } }, + "QuickDropWelcomeDescription" : { + "extractionState" : "manual", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "يتيح لك تطبيق QuickDrop نقل الملفات بسهولة وسرعة بين أجهزة iPhone وiPad وMac وAndroid." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "QuickDrop macht es einfach und schnell, Dateien zwischen iPhone, iPad, Mac und Android-Geräten zu übertragen." + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "QuickDrop makes it easy and quick to transfer files between iPhone, iPad, Mac, and Android devices." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "QuickDrop facilita y agiliza la transferencia de archivos entre dispositivos iPhone, iPad, Mac y Android." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "QuickDrop facilite et accélère le transfert de fichiers entre iPhone, iPad, Mac et appareils Android." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "A QuickDrop megkönnyíti és felgyorsítja a fájlok átvitelét iPhone, iPad, Mac és Android eszközök között." + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "QuickDrop rende facile e veloce il trasferimento di file tra iPhone, iPad, Mac e dispositivi Android." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "QuickDropは、iPhone、iPad、Mac、およびAndroidデバイス間でのファイル転送を簡単かつ迅速に行えます。" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "QuickDrop은 iPhone, iPad, Mac, Android 기기 간 파일 전송을 쉽고 빠르게 만들어줍니다." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "QuickDrop maakt het eenvoudig en snel om bestanden over te zetten tussen iPhone-, iPad-, Mac- en Android-apparaten." + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "QuickDrop torna fácil e rápido transferir arquivos entre dispositivos iPhone, iPad, Mac e Android." + } + }, + "pt-PT" : { + "stringUnit" : { + "state" : "translated", + "value" : "O QuickDrop facilita e acelera a transferência de ficheiros entre iPhone, iPad, Mac e dispositivos Android." + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "QuickDrop face ușor și rapid transferul de fișiere între dispozitive iPhone, iPad, Mac și Android." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "QuickDrop позволяет легко и быстро передавать файлы между iPhone, iPad, Mac и Android-устройствами." + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "QuickDrop ทำให้การถ่ายโอนไฟล์ระหว่าง iPhone, iPad, Mac และอุปกรณ์ Android ง่ายและรวดเร็ว" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "QuickDrop дозволяє легко та швидко передавати файли між пристроями iPhone, iPad, Mac та Android." + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "QuickDrop让您可以轻松快捷地在iPhone、iPad、Mac和Android设备之间传输文件。" + } + } + } + }, "Quit" : { "extractionState" : "manual", "localizations" : { @@ -7051,6 +7378,113 @@ } } }, + "Receiving" : { + "extractionState" : "manual", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "جارٍ الاستلام…" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Empfange…" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Receiving…" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Recibiendo…" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Réception…" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fogadás…" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ricevendo..." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "受信中…" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "받는 중…" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ontvangen…" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Recebendo…" + } + }, + "pt-PT" : { + "stringUnit" : { + "state" : "translated", + "value" : "A receber…" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Primire…" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Получение…" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "กำลังรับ…" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Прийом…" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "接收中…" + } + } + } + }, "RecommendedApps" : { "extractionState" : "manual", "localizations" : { @@ -7156,6 +7590,112 @@ "value" : "推荐应用" } } + } + }, + "Reset UD" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "new", + "value" : "" + } + }, + "de" : { + "stringUnit" : { + "state" : "new", + "value" : "" + } + }, + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "" + } + }, + "es" : { + "stringUnit" : { + "state" : "new", + "value" : "" + } + }, + "fr" : { + "stringUnit" : { + "state" : "new", + "value" : "" + } + }, + "hu" : { + "stringUnit" : { + "state" : "new", + "value" : "" + } + }, + "it" : { + "stringUnit" : { + "state" : "new", + "value" : "" + } + }, + "ja" : { + "stringUnit" : { + "state" : "new", + "value" : "" + } + }, + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "" + } + }, + "nl" : { + "stringUnit" : { + "state" : "new", + "value" : "" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "new", + "value" : "" + } + }, + "pt-PT" : { + "stringUnit" : { + "state" : "new", + "value" : "" + } + }, + "ro" : { + "stringUnit" : { + "state" : "new", + "value" : "" + } + }, + "ru" : { + "stringUnit" : { + "state" : "new", + "value" : "" + } + }, + "th" : { + "stringUnit" : { + "state" : "new", + "value" : "" + } + }, + "uk" : { + "stringUnit" : { + "state" : "new", + "value" : "" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "new", + "value" : "" + } + } }, "shouldTranslate" : false }, @@ -7478,6 +8018,113 @@ } } }, + "SearchingForDevices" : { + "extractionState" : "manual", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "جارٍ البحث عن الأجهزة عبر الواي فاي..." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Suche nach Geräten im WLAN…" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Searching for devices on Wi-Fi…" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Buscando dispositivos en Wi-Fi…" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Recherche des appareils sur le Wi-Fi…" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eszközök keresése Wi-Fi-n…" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ricerca di dispositivi su Wi-Fi…" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wi-Fiでデバイスを検索中…" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wi-Fi에서 장치를 검색 중…" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zoeken naar apparaten op Wi-Fi…" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Procurando dispositivos no Wi-Fi…" + } + }, + "pt-PT" : { + "stringUnit" : { + "state" : "translated", + "value" : "A procurar dispositivos na rede Wi-Fi…" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Căutare dispozitive prin Wi-Fi…" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Поиск устройств по Wi-Fi…" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "กำลังค้นหาอุปกรณ์บน Wi-Fi…" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Пошук пристроїв у Wi-Fi…" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "正在通过 Wi-Fi 搜索设备…" + } + } + } + }, "SendClipboard" : { "extractionState" : "manual", "localizations" : { @@ -7799,6 +8446,113 @@ } } }, + "SendImages" : { + "extractionState" : "manual", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "إرسال الصور" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bilder senden" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Send Images" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Enviar imágenes" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Envoyer des images" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Képek küldése" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Invia immagini" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "画像を送信" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "이미지 보내기" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Afbeeldingen verzenden" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Enviar Imagens" + } + }, + "pt-PT" : { + "stringUnit" : { + "state" : "translated", + "value" : "Enviar Imagens" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trimite Imagini" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Отправить изображения" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ส่งรูปภาพ" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Надіслати зображення" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "发送图片" + } + } + } + }, "Sending" : { "extractionState" : "manual", "localizations" : { @@ -9617,109 +10371,109 @@ } } }, - "UnsupportedFileType" : { + "Unknown" : { "extractionState" : "manual", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "الملف الذي حاولت إرساله غير مدعوم حالياً. يُرجى إرسال تقرير بالخطأ." + "value" : "غير معروف" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Die Datei, die du senden wolltest, wird derzeit nicht unterstützt. Bitte sende einen Fehlerbericht." + "value" : "Unbekannt" } }, "en" : { "stringUnit" : { "state" : "translated", - "value" : "The file you tried to send is currently not supported. Please send an error report." + "value" : "Unknown" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "El archivo que intentaste enviar no es compatible actualmente. Por favor, envía un informe de error." + "value" : "Desconocido" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Le fichier que vous avez essayé d'envoyer n'est pas pris en charge actuellement. Veuillez envoyer un rapport d'erreur." + "value" : "Inconnu" } }, "hu" : { "stringUnit" : { "state" : "translated", - "value" : "A fájl, amelyet megpróbáltál küldeni, jelenleg nem támogatott. Kérjük, küldj hibajelentést." + "value" : "Ismeretlen" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Il file che hai provato a inviare non è attualmente supportato. Invia un rapporto di errore." + "value" : "Sconosciuto" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "送信しようとしたファイルは現在サポートされていません。エラーレポートを送信してください。" + "value" : "不明" } }, "ko" : { "stringUnit" : { "state" : "translated", - "value" : "보내려는 파일은 현재 지원되지 않습니다. 오류 보고서를 보내주세요." + "value" : "알 수 없음" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Het bestand dat je probeerde te verzenden, wordt momenteel niet ondersteund. Stuur een foutrapport." + "value" : "Onbekend" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "O arquivo que você tentou enviar não é compatível no momento. Por favor, envie um relatório de erro." + "value" : "Desconhecido" } }, "pt-PT" : { "stringUnit" : { "state" : "translated", - "value" : "O ficheiro que tentou enviar não é atualmente suportado. Por favor, envie um relatório de erro." + "value" : "Desconhecido" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Fișierul pe care ai încercat să-l trimiți nu este momentan acceptat. Te rugăm să trimiți un raport de eroare." + "value" : "Necunoscut" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Файл, который вы пытались отправить, в настоящее время не поддерживается. Пожалуйста, отправьте отчет об ошибке." + "value" : "Неизвестно" } }, "th" : { "stringUnit" : { "state" : "translated", - "value" : "ไฟล์ที่คุณพยายามส่งยังไม่รองรับในขณะนี้ โปรดส่งรายงานข้อผิดพลาด" + "value" : "ไม่ทราบ" } }, "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Файл, який ви намагалися надіслати, наразі не підтримується. Будь ласка, надішліть звіт про помилку." + "value" : "Невідомо" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "您尝试发送的文件当前不受支持。请发送错误报告。" + "value" : "未知" } } } @@ -9730,103 +10484,103 @@ "ar" : { "stringUnit" : { "state" : "translated", - "value" : "نوع المرفق غير مدعوم. يرجى محاولة إرسال هذا الملف كملف .zip مضغوط." + "value" : "نوع البيانات المنقولة غير مدعوم حاليًا. يرجى إرسال تقرير بالخطأ." } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Der Anhangstyp wird nicht unterstützt. Versuche stattdessen, die Datei als .zip-Archiv zu senden." + "value" : "Der Typ der übertragenen Daten wird derzeit nicht unterstützt. Bitte sende einen Fehlerbericht." } }, "en" : { "stringUnit" : { "state" : "translated", - "value" : "The attachment type is not supported. Please try to send this file as a compressed .zip file instead." + "value" : "The type of the transferred data is currently not supported. Please send an error report." } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "El tipo de archivo no es compatible. Intenta enviar el archivo como un archivo .zip comprimido." + "value" : "El tipo de datos transferidos no es compatible actualmente. Por favor, envíe un informe de error." } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Le type de pièce jointe n'est pas pris en charge. Veuillez envoyer ce fichier sous forme de fichier .zip compressé." + "value" : "Le type de données transférées n'est actuellement pas pris en charge. Veuillez envoyer un rapport d'erreur." } }, "hu" : { "stringUnit" : { "state" : "translated", - "value" : "Ez a csatolmánytípus nem támogatott. Próbáld meg tömörített .zip fájlként elküldeni." + "value" : "Az átvitt adat típusa jelenleg nem támogatott. Kérjük, küldjön hibajelentést." } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Il tipo di allegato non è supportato. Prova a inviare questo file come archivio compresso .zip." + "value" : "Il tipo di dati trasferiti attualmente non è supportato. Si prega di inviare un rapporto di errore." } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "添付ファイルの形式はサポートされていません。ファイルを.zip形式で圧縮して送信してください。" + "value" : "転送されたデータの種類は現在サポートされていません。エラーレポートを送信してください。" } }, "ko" : { "stringUnit" : { "state" : "translated", - "value" : "첨부 파일 형식이 지원되지 않습니다. 파일을 압축된 .zip 형식으로 보내주세요." + "value" : "전송된 데이터 유형이 현재 지원되지 않습니다. 오류 보고서를 보내주세요." } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Het type bijlage wordt niet ondersteund. Probeer het bestand als een gecomprimeerd .zip-bestand te verzenden." + "value" : "Het type van de overgedragen gegevens wordt momenteel niet ondersteund. Stuur een foutrapport in." } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "O tipo de anexo não é compatível. Tente enviar este arquivo como um .zip compactado." + "value" : "O tipo de dados transferidos atualmente não é suportado. Envie um relatório de erro." } }, "pt-PT" : { "stringUnit" : { "state" : "translated", - "value" : "O tipo de anexo não é suportado. Tenta enviar este ficheiro como um ficheiro .zip comprimido." + "value" : "O tipo de dados transferidos não é atualmente suportado. Por favor, envie um relatório de erro." } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Tipul de fișier atașat nu este acceptat. Încercați să trimiteți acest fișier ca arhivă .zip." + "value" : "Tipul datelor transferate nu este în prezent acceptat. Vă rugăm să trimiteți un raport de eroare." } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Тип вложения не поддерживается. Попробуйте отправить файл в виде .zip архива." + "value" : "Тип переданных данных в данный момент не поддерживается. Пожалуйста, отправьте отчет об ошибке." } }, "th" : { "stringUnit" : { "state" : "translated", - "value" : "ไม่รองรับประเภทไฟล์แนบ โปรดลองส่งไฟล์นี้เป็น .zip แทน" + "value" : "ประเภทของข้อมูลที่ส่งไม่รองรับในขณะนี้ โปรดส่งรายงานข้อผิดพลาด" } }, "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Тип вкладення не підтримується. Спробуйте надіслати файл у форматі стиснутого .zip." + "value" : "Тип передаваних даних наразі не підтримується. Будь ласка, надішліть звіт про помилку." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "不支持的附件类型。请尝试将该文件压缩为 .zip 文件后再发送。" + "value" : "当前不支持传输的数据类型。请发送错误报告。" } } } @@ -10258,6 +11012,1602 @@ } } } + }, + "YouAreSending" : { + "extractionState" : "manual", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "أنت ترسل" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Du sendest" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "You’re sending" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Estás enviando" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vous envoyez" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Küldés alatt" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Stai inviando" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "送信中です" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "보내는 중입니다" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Je bent aan het verzenden" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Você está enviando" + } + }, + "pt-PT" : { + "stringUnit" : { + "state" : "translated", + "value" : "Está a enviar" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trimiteți" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Вы отправляете" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "คุณกำลังส่ง" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ви надсилаєте" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "您正在发送" + } + } + } + }, + "YouAreVisibleAs" : { + "extractionState" : "manual", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "مرئي كـ" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Du bist sichtbar als" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "You're visible as" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Estás visible como" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vous êtes visible en tant que" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Láthatóként szerepelsz mint" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sei visibile come" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "以下の名前で表示されています" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "당신은 다음으로 표시됩니다" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Je bent zichtbaar als" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Você está visível como" + } + }, + "pt-PT" : { + "stringUnit" : { + "state" : "translated", + "value" : "Está visível como" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ești vizibil ca" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Вы видимы как" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "คุณมองเห็นได้ในชื่อ" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Вас видно як" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "您显示为" + } + } + } + }, + "plusview_description" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "قم بفتح QuickDrop+ لمواصلة تبادل الملفات بلا حدود. QuickDrop+ هو شراء لمرة واحدة – لا حاجة للاشتراك. تشمل جميع الميزات الحالية والمستقبلية." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Schalte QuickDrop+ frei, um weiterhin Dateien unbegrenzt auszutauschen. QuickDrop+ ist ein Einmalkauf - ein Abonnement ist nicht erforderlich. Alle aktuellen und zukünftigen Funktionen sind enthalten." + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Unlock QuickDrop+ to continue exchanging files without limits. QuickDrop+ is a one-time purchase – no subscription required. All current and future features are included." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Desbloquea QuickDrop+ para seguir intercambiando archivos sin límites. QuickDrop+ es una compra única – no se requiere suscripción. Todas las funciones actuales y futuras están incluidas." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Débloquez QuickDrop+ pour continuer à échanger des fichiers sans limites. QuickDrop+ est un achat unique – aucun abonnement requis. Toutes les fonctionnalités actuelles et futures sont incluses." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Oldd fel a QuickDrop+-t, hogy korlátlanul folytathasd a fájlcserét. A QuickDrop+ egy egyszeri vásárlás – előfizetés nem szükséges. Az összes jelenlegi és jövőbeli funkciót tartalmazza." + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sblocca QuickDrop+ per continuare a scambiare file senza limiti. QuickDrop+ è un acquisto unico – nessun abbonamento richiesto. Tutte le funzionalità attuali e future sono incluse." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "QuickDrop+ をアンロックして、無制限にファイルを交換できます。QuickDrop+ は買い切り型のアプリです。サブスクリプション不要で、現在および将来のすべての機能が含まれます。" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "QuickDrop+를 잠금 해제하여 파일을 제한 없이 교환하세요. QuickDrop+는 일회성 구매이며, 구독이 필요하지 않습니다. 모든 현재 및 미래 기능이 포함됩니다." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ontgrendel QuickDrop+ om bestanden zonder limieten te blijven uitwisselen. QuickDrop+ is een eenmalige aankoop – geen abonnement vereist. Alle huidige en toekomstige functies zijn inbegrepen." + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Desbloqueie o QuickDrop+ para continuar trocando arquivos sem limites. QuickDrop+ é uma compra única – sem necessidade de assinatura. Todos os recursos atuais e futuros estão incluídos." + } + }, + "pt-PT" : { + "stringUnit" : { + "state" : "translated", + "value" : "Desbloqueia o QuickDrop+ para continuar a trocar ficheiros sem limites. QuickDrop+ é uma compra única – não é necessária subscrição. Todas as funcionalidades atuais e futuras estão incluídas." + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Deblochează QuickDrop+ pentru a continua schimbul de fișiere fără limite. QuickDrop+ este o achiziție unică – nu este necesar abonament. Toate funcțiile curente și viitoare sunt incluse." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Разблокируйте QuickDrop+, чтобы продолжить обмен файлами без ограничений. QuickDrop+ – это разовая покупка, подписка не требуется. Все текущие и будущие функции включены." + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ปลดล็อก QuickDrop+ เพื่อแลกเปลี่ยนไฟล์ได้อย่างไม่จำกัด QuickDrop+ เป็นการซื้อครั้งเดียว – ไม่ต้องสมัครสมาชิก ฟีเจอร์ทั้งหมดทั้งปัจจุบันและอนาคตรวมอยู่ในนี้แล้ว" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Розблокуйте QuickDrop+, щоб продовжити обмін файлами без обмежень. QuickDrop+ – це одноразова покупка, підписка не потрібна. Всі поточні та майбутні функції включені." + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "解锁 QuickDrop+ 以无限制地交换文件。QuickDrop+ 是一次性购买 – 无需订阅。所有当前和未来的功能均包含在内。" + } + } + } + }, + "plusview_nothingtorestore" : { + "extractionState" : "manual", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "لا يوجد شيء لاستعادته!" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Es gibt nichts wiederherzustellen!" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "There is nothing to restore!" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "¡No hay nada que restaurar!" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aucun achat à restaurer !" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nincs visszaállítható vásárlás!" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Non c'è nulla da ripristinare!" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "復元するものがありません!" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "복원할 항목이 없습니다!" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Er is niets om te herstellen!" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nada para restaurar!" + } + }, + "pt-PT" : { + "stringUnit" : { + "state" : "translated", + "value" : "Não há nada para restaurar!" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nu există nimic de restaurat!" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Нет покупок для восстановления!" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ไม่มีรายการที่ต้องกู้คืน!" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Немає покупок для відновлення!" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "没有可恢复的购买!" + } + } + } + }, + "plusview_productRequestFailed" : { + "extractionState" : "manual", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تعذر جلب عمليات الشراء داخل التطبيق في الوقت الحالي." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "In-App-Käufe können momentan nicht abgerufen werden." + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Unable to fetch In-App Purchases at the moment." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "No se pueden recuperar las compras dentro de la aplicación en este momento." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Impossible de récupérer les achats intégrés pour le moment." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jelenleg nem lehet lekérni az alkalmazáson belüli vásárlásokat." + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Impossibile recuperare gli acquisti in-app al momento." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "現在、アプリ内購入情報を取得できません。" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "현재 인앱 구매 정보를 가져올 수 없습니다." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "In-app aankopen kunnen momenteel niet worden opgehaald." + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Não foi possível recuperar as compras dentro do aplicativo no momento." + } + }, + "pt-PT" : { + "stringUnit" : { + "state" : "translated", + "value" : "Não foi possível recuperar as compras dentro do app no momento." + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Momentan, nu se pot obține informații despre achizițiile în aplicație." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Не удалось получить данные о встроенных покупках." + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ไม่สามารถดึงข้อมูลการซื้อภายในแอปได้ในขณะนี้" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Наразі неможливо отримати інформацію про покупки в додатку." + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "暂时无法获取应用内购买信息。" + } + } + } + }, + "plusview_purchasefailed" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "فشل الشراء" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kauf fehlgeschlagen" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Purchase failed" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "La compra ha fallado" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Échec de l'achat" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "A vásárlás sikertelen" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Acquisto non riuscito" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "購入に失敗しました" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "구매 실패" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aankoop mislukt" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Falha na compra" + } + }, + "pt-PT" : { + "stringUnit" : { + "state" : "translated", + "value" : "Falha na compra" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Achiziția a eșuat" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ошибка покупки" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "การซื้อล้มเหลว" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Помилка покупки" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "购买失败" + } + } + } + }, + "plusview_purchasefaileddescription" : { + "extractionState" : "manual", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "إذا ظهر هذا الرسالة بشكل غير متوقع، يرجى التأكد من اتصالك بالإنترنت وأن عمليات الشراء داخل التطبيق مفعّلة على جهازك، ثم حاول مرة أخرى." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Falls diese Nachricht unerwartet erscheint, stelle sicher, dass du mit dem Internet verbunden bist und In-App-Käufe auf deinem Gerät aktiviert sind, und versuche es erneut." + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "If this message appeared unexpectedly, please make sure that you are connected to the Internet and In-App-Purchases are enabled for your device and then try again." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Si este mensaje apareció inesperadamente, asegúrate de estar conectado a internet y que las compras dentro de la aplicación estén habilitadas en tu dispositivo, luego intenta nuevamente." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Si ce message est apparu de manière inattendue, assurez-vous d'être connecté à Internet et que les achats intégrés sont activés sur votre appareil, puis réessayez." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ha ez az üzenet váratlanul jelent meg, ellenőrizd az internetkapcsolatot, és győződj meg róla, hogy az alkalmazáson belüli vásárlások engedélyezve vannak az eszközödön, majd próbáld újra." + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Se questo messaggio è apparso inaspettatamente, assicurati di essere connesso a Internet e che gli acquisti in-app siano abilitati sul tuo dispositivo, quindi riprova." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "このメッセージが予期せず表示された場合、インターネット接続を確認し、アプリ内購入が有効になっていることを確認した上で再試行してください。" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "이 메시지가 예상치 않게 나타난 경우, 인터넷에 연결되어 있는지 확인하고 기기에서 인앱 결제가 활성화되어 있는지 확인한 후 다시 시도해 주세요." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Als dit bericht onverwachts verschijnt, controleer dan of je verbonden bent met internet en of in-app aankopen zijn ingeschakeld op je apparaat, en probeer het opnieuw." + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Se esta mensagem apareceu inesperadamente, verifique se você está conectado à internet e se as compras dentro do app estão ativadas no seu dispositivo e tente novamente." + } + }, + "pt-PT" : { + "stringUnit" : { + "state" : "translated", + "value" : "Se esta mensagem apareceu inesperadamente, certifique-se de estar conectado à Internet e que as compras dentro do app estejam ativadas no seu dispositivo, depois tente novamente." + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dacă acest mesaj a apărut neașteptat, asigură-te că ești conectat la internet și că achizițiile în aplicație sunt activate pe dispozitivul tău, apoi încearcă din nou." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Если это сообщение появилось неожиданно, убедитесь, что у вас есть доступ к интернету и включены встроенные покупки на вашем устройстве, затем попробуйте снова." + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "หากข้อความนี้ปรากฏขึ้นโดยไม่คาดคิด โปรดตรวจสอบว่าคุณเชื่อมต่ออินเทอร์เน็ตและเปิดใช้งานการซื้อภายในแอปในอุปกรณ์ของคุณแล้วลองอีกครั้ง" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Якщо це повідомлення з’явилося несподівано, переконайтеся, що у вас є підключення до Інтернету, а покупки в додатках увімкнені на вашому пристрої, і спробуйте ще раз." + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "如果此消息意外出现,请确保您已连接到互联网,并且设备已启用应用内购买功能,然后重试。" + } + } + } + }, + "plusview_restorefailed" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "حدثت مشكلة أثناء استعادة عملية الشراء" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Es gab ein Problem beim Wiederherstellen deines Kaufs" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "There was a problem restoring your purchase" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hubo un problema al restaurar tu compra" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Un problème est survenu lors de la restauration de votre achat" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hiba történt a vásárlás visszaállítása során" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Si è verificato un problema durante il ripristino dell'acquisto" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "購入の復元中に問題が発生しました" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "구매 복원 중 문제가 발생했습니다." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Er was een probleem bij het herstellen van je aankoop" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Houve um problema ao restaurar sua compra" + } + }, + "pt-PT" : { + "stringUnit" : { + "state" : "translated", + "value" : "Houve um problema ao restaurar sua compra" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "A apărut o problemă la restaurarea achiziției" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Произошла ошибка при восстановлении покупки" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "เกิดปัญหาในการกู้คืนการซื้อของคุณ" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Сталася помилка під час відновлення покупки" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "恢复购买时出现问题" + } + } + } + }, + "plusview_restorefailed_proceed" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "موافق" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Okay" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Okay" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aceptar" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rendben" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ok" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "확인" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Oké" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" + } + }, + "pt-PT" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ok" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Окей" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ตกลง" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Гаразд" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "确定" + } + } + } + }, + "plusview_restorepurchase" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "هل اشتريته بالفعل؟" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bereits gekauft?" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Already bought?" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "¿Ya lo compraste?" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Déjà acheté ?" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Már megvásároltad?" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Già acquistato?" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "すでに購入済みですか?" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "이미 구매하셨나요?" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Al gekocht?" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Já comprou?" + } + }, + "pt-PT" : { + "stringUnit" : { + "state" : "translated", + "value" : "Já comprou?" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Deja cumpărat?" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Уже куплено?" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "เคยซื้อแล้ว?" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Вже куплено?" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "已购买?" + } + } + } + }, + "plusview_success_button" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "حسنًا!" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Alles klar!" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Got it!" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "¡Entendido!" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "D'accord !" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Értettem!" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Capito!" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "了解!" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "알겠습니다!" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Begrepen!" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Entendi!" + } + }, + "pt-PT" : { + "stringUnit" : { + "state" : "translated", + "value" : "Entendido!" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Înțeles!" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Понял!" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "รับทราบ!" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Зрозуміло!" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "知道了!" + } + } + } + }, + "plusview_success_description" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "يمكنك الآن متابعة استلام الملفات بدون قيود. أي ملفات حاولت إرسالها سابقًا تم حفظها بالفعل على جهازك." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Du kannst nun weiterhin Dateien ohne Einschränkungen empfangen. Alle Dateien, welche gerade gesendet wurden, wurden bereits gespeichert." + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "You can now continue receiving files without restrictions. Any files you tried to send were already saved on your device." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ahora puedes seguir recibiendo archivos sin restricciones. Todos los archivos que intentaste enviar antes ya se han guardado en tu dispositivo." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vous pouvez maintenant continuer à recevoir des fichiers sans restrictions. Tous les fichiers que vous avez essayé d'envoyer précédemment ont déjà été enregistrés sur votre appareil." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mostantól korlátozások nélkül fogadhat fájlokat. Az összes fájl, amelyet korábban próbált elküldeni, már el lett mentve az eszközére." + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ora puoi continuare a ricevere file senza restrizioni. Tutti i file che hai provato a inviare in precedenza sono già stati salvati sul tuo dispositivo." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "これで、制限なくファイルを受信し続けることができます。以前送信しようとしたファイルはすでにデバイスに保存されています。" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "이제 파일을 제한 없이 계속 받을 수 있습니다. 이전에 전송을 시도한 모든 파일이 이미 기기에 저장되었습니다." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Je kunt nu bestanden blijven ontvangen zonder beperkingen. Alle bestanden die je eerder probeerde te verzenden, zijn al opgeslagen op je apparaat." + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Agora você pode continuar recebendo arquivos sem restrições. Todos os arquivos que você tentou enviar antes já foram salvos no seu dispositivo." + } + }, + "pt-PT" : { + "stringUnit" : { + "state" : "translated", + "value" : "Agora pode continuar a receber ficheiros sem restrições. Todos os ficheiros que tentou enviar antes já foram guardados no seu dispositivo." + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Acum puteți continua să primiți fișiere fără restricții. Toate fișierele pe care ați încercat să le trimiteți anterior au fost deja salvate pe dispozitivul dvs." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Теперь вы можете продолжать получать файлы без ограничений. Все файлы, которые вы пытались отправить ранее, уже сохранены на вашем устройстве." + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "คุณสามารถรับไฟล์ต่อไปได้โดยไม่มีข้อจำกัด ไฟล์ทั้งหมดที่คุณพยายามส่งก่อนหน้านี้ถูกบันทึกไว้ในอุปกรณ์ของคุณแล้ว" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Тепер ви можете продовжувати отримувати файли без обмежень. Усі файли, які ви намагалися надіслати раніше, вже збережено на вашому пристрої." + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "您现在可以继续无限制地接收文件。您之前尝试发送的所有文件已保存到您的设备上。" + } + } + } + }, + "plusview_success_title" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "شكرًا لشرائك!" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Danke für deinen Kauf!" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thanks for your purchase!" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "¡Gracias por tu compra!" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Merci pour votre achat !" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Köszönjük a vásárlást!" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Grazie per il tuo acquisto!" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ご購入ありがとうございます!" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "구매해 주셔서 감사합니다!" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bedankt voor je aankoop!" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Obrigado pela sua compra!" + } + }, + "pt-PT" : { + "stringUnit" : { + "state" : "translated", + "value" : "Obrigado pela sua compra!" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mulțumim pentru achiziție!" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Спасибо за покупку!" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ขอบคุณสำหรับการซื้อ!" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Дякуємо за покупку!" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "感谢您的购买!" + } + } + } + }, + "plusview_title" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "شكرًا لاستخدامك QuickDrop!" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Danke, dass du QuickDrop benutzt!" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thanks for using QuickDrop!" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "¡Gracias por usar QuickDrop!" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Merci d'utiliser QuickDrop !" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Köszönjük, hogy használod a QuickDropot!" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Grazie per aver usato QuickDrop!" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "QuickDropをご利用いただきありがとうございます!" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "QuickDrop을 사용해 주셔서 감사합니다!" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bedankt voor het gebruiken van QuickDrop!" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Obrigado por usar o QuickDrop!" + } + }, + "pt-PT" : { + "stringUnit" : { + "state" : "translated", + "value" : "Obrigado por usar o QuickDrop!" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mulțumim că folosești QuickDrop!" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Спасибо за использование QuickDrop!" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ขอบคุณที่ใช้ QuickDrop!" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Дякуємо за використання QuickDrop!" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "感谢使用 QuickDrop!" + } + } + } + }, + "plusview_unlock_label" : { + "extractionState" : "manual", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "ادعم QuickDrop" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Unterstütze QuickDrop" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Support QuickDrop" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apoyar QuickDrop" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Soutenir QuickDrop" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Támogasd a QuickDropot" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Supporta QuickDrop" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "QuickDropをサポート" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "QuickDrop 지원하기" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ondersteun QuickDrop" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apoie o QuickDrop" + } + }, + "pt-PT" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apoiar QuickDrop" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Susține QuickDrop" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Поддержать QuickDrop" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "สนับสนุน QuickDrop" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Підтримати QuickDrop" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "支持 QuickDrop" + } + } + } } }, "version" : "1.0" diff --git a/QuickDrop/uk.lproj/InfoPlist.strings b/QuickDrop/uk.lproj/InfoPlist.strings deleted file mode 100644 index 0fb097b..0000000 --- a/QuickDrop/uk.lproj/InfoPlist.strings +++ /dev/null @@ -1,10 +0,0 @@ -/* - InfoPlist.strings - AirGuard - - Created by Leon Böttger on 23.08.22. - -*/ - - -NSLocalNetworkUsageDescription = "Доступ до локальної мережі потрібен для виявлення пристроїв та передавання файлів через вашу мережу Wi-Fi.";