diff --git a/Pocket Poster.xcodeproj/project.pbxproj b/Pocket Poster.xcodeproj/project.pbxproj index 5c9db5d..d76fbe4 100644 --- a/Pocket Poster.xcodeproj/project.pbxproj +++ b/Pocket Poster.xcodeproj/project.pbxproj @@ -17,6 +17,9 @@ /* Begin PBXFileSystemSynchronizedRootGroup section */ 6F09B79F2DEB694B00CDE89C /* Pocket Poster */ = { isa = PBXFileSystemSynchronizedRootGroup; + explicitFolders = ( + Resources/VideoCAML, + ); path = "Pocket Poster"; sourceTree = ""; }; @@ -278,7 +281,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0; + MARKETING_VERSION = 2.0; PRODUCT_BUNDLE_IDENTIFIER = "com.lemin.Pocket-Poster"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = YES; @@ -310,7 +313,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0; + MARKETING_VERSION = 2.0; PRODUCT_BUNDLE_IDENTIFIER = "com.lemin.Pocket-Poster"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = YES; diff --git a/Pocket Poster.xcodeproj/xcuserdata/lemin.xcuserdatad/xcschemes/xcschememanagement.plist b/Pocket Poster.xcodeproj/xcuserdata/lemin.xcuserdatad/xcschemes/xcschememanagement.plist index f3372ed..d7a896f 100644 --- a/Pocket Poster.xcodeproj/xcuserdata/lemin.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/Pocket Poster.xcodeproj/xcuserdata/lemin.xcuserdatad/xcschemes/xcschememanagement.plist @@ -7,7 +7,7 @@ Pocket Poster.xcscheme_^#shared#^_ orderHint - 0 + 1 diff --git a/Pocket Poster/Assets.xcassets/Credits/POEditor.imageset/Contents.json b/Pocket Poster/Assets.xcassets/Credits/POEditor.imageset/Contents.json new file mode 100644 index 0000000..480979c --- /dev/null +++ b/Pocket Poster/Assets.xcassets/Credits/POEditor.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "POEditor@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Pocket Poster/Assets.xcassets/Credits/POEditor.imageset/POEditor@2x.png b/Pocket Poster/Assets.xcassets/Credits/POEditor.imageset/POEditor@2x.png new file mode 100644 index 0000000..cd629cd Binary files /dev/null and b/Pocket Poster/Assets.xcassets/Credits/POEditor.imageset/POEditor@2x.png differ diff --git a/Pocket Poster/Controllers/DownloadManager.swift b/Pocket Poster/Controllers/DownloadManager.swift index dae2ac4..a560d5f 100644 --- a/Pocket Poster/Controllers/DownloadManager.swift +++ b/Pocket Poster/Controllers/DownloadManager.swift @@ -19,7 +19,7 @@ class DownloadManager { let (data, response) = try await URLSession.shared.data(for: request) as! (Data, HTTPURLResponse) guard response.statusCode == 200 else { throw URLError(.cannotConnectToHost) } - let newURL = PosterBoardManager.getTendiesStoreURL().appendingPathComponent(getWallpaperNameFromURL(string: url.absoluteString)) + let newURL = PosterBoardManager.shared.getTendiesStoreURL().appendingPathComponent(getWallpaperNameFromURL(string: url.absoluteString)) try data.write(to: newURL) return newURL } @@ -37,7 +37,7 @@ class DownloadManager { url.stopAccessingSecurityScopedResource() } } - let newURL = PosterBoardManager.getTendiesStoreURL().appendingPathComponent(url.lastPathComponent) + let newURL = PosterBoardManager.shared.getTendiesStoreURL().appendingPathComponent(url.lastPathComponent) try FileManager.default.copyItem(at: url, to: newURL) return newURL } diff --git a/Pocket Poster/Controllers/PosterBoardManager.swift b/Pocket Poster/Controllers/PosterBoardManager.swift index 27acf1e..df51564 100644 --- a/Pocket Poster/Controllers/PosterBoardManager.swift +++ b/Pocket Poster/Controllers/PosterBoardManager.swift @@ -9,13 +9,18 @@ import Foundation import ZIPFoundation import UIKit -class PosterBoardManager { +class PosterBoardManager: ObservableObject { static let ShortcutURL = "https://www.icloud.com/shortcuts/a28d2c02ca11453cb5b8f91c12cfa692" static let WallpapersURL = "https://cowabun.ga/wallpapers" static let MaxTendies = 10 - static func getTendiesStoreURL() -> URL { + static let shared = PosterBoardManager() + + @Published var selectedTendies: [URL] = [] + @Published var videos: [LoadInfo] = [] + + func getTendiesStoreURL() -> URL { let tendiesStoreURL = SymHandler.getDocumentsDirectory().appendingPathComponent("KFC Bucket", conformingTo: .directory) // create it if it doesn't exist if !FileManager.default.fileExists(atPath: tendiesStoreURL.path()) { @@ -24,7 +29,24 @@ class PosterBoardManager { return tendiesStoreURL } - static func openPosterBoard() -> Bool { + func setSystemLanguage(to new_lang: String) -> Bool { + var langManager: NSObject = NSObject() + if #available(iOS 18.0, *) { + guard let obj = objc_getClass("IPSettingsUtilities") as? NSObject else { return false } + langManager = obj + } else { + guard let obj = objc_getClass("PSLanguageSelector") as? NSObject else { return false } + langManager = obj + } + + if let success = langManager.perform(Selector(("setLanguage:")), with: new_lang) { + return success != nil + } + + return false + } + + func openPosterBoard() -> Bool { guard let obj = objc_getClass("LSApplicationWorkspace") as? NSObject else { return false } let workspace = obj.perform(Selector(("defaultWorkspace")))?.takeUnretainedValue() as? NSObject @@ -35,7 +57,7 @@ class PosterBoardManager { return false } - private static func unzipFile(at url: URL) throws -> URL { + private func unzipFile(at url: URL) throws -> URL { let fileName = url.deletingPathExtension().lastPathComponent let fileData = try Data(contentsOf: url) let fileManager = FileManager() @@ -68,13 +90,13 @@ class PosterBoardManager { return destinationURL } - static func runShortcut(named name: String) { + func runShortcut(named name: String) { guard let urlEncodedName = name.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed), let url = URL(string: "shortcuts://run-shortcut?name=\(name)") else { return } UIApplication.shared.open(url, options: [:], completionHandler: nil) } - static func getDescriptorsFromTendie(_ url: URL) throws -> [String: [URL]]? { + func getDescriptorsFromTendie(_ url: URL) throws -> [String: [URL]]? { for dir in try FileManager.default.contentsOfDirectory(at: url, includingPropertiesForKeys: nil, options: .skipsHiddenFiles) { let fileName = dir.lastPathComponent if fileName.lowercased() == "container" { @@ -99,7 +121,7 @@ class PosterBoardManager { return nil } - static func randomizeWallpaperId(url: URL) throws { + func randomizeWallpaperId(url: URL) throws { let randomizedID = Int.random(in: 9999...99999) var files = [URL]() if let enumerator = FileManager.default.enumerator(at: url, includingPropertiesForKeys: [.isRegularFileKey], options: [.skipsHiddenFiles, .skipsPackageDescendants]) { @@ -157,10 +179,28 @@ class PosterBoardManager { } } - static func applyTendies(_ urls: [URL], appHash: String) throws { + func applyTendies(appHash: String) throws { // organize the descriptors into their respective extensions var extList: [String: [URL]] = [:] - for url in urls { + // create the video first + if videos.count > 0 { + extList["com.apple.WallpaperKit.CollectionsPoster"] = [] + for video in videos { + switch video.loadState { + case .loaded(let movie): + do { + let newVideo = try VideoHandler.createCaml(from: movie.url, autoReverses: video.autoReverses) + extList["com.apple.WallpaperKit.CollectionsPoster"]?.append(newVideo) + } catch { + print(error.localizedDescription) + } + default: + print("Video not loaded!") + } + } + } + UIApplication.shared.change(title: NSLocalizedString("Applying Wallpapers...", comment: ""), body: NSLocalizedString("Extracting tendies...", comment: "happens when unzipping the files")) + for url in selectedTendies { let unzippedDir = try unzipFile(at: url) guard let descriptors = try getDescriptorsFromTendie(unzippedDir) else { continue } // TODO: Add error handling extList.merge(descriptors) { (first, second) in first + second } @@ -188,7 +228,7 @@ class PosterBoardManager { } // clean up all possible files - for url in urls { + for url in selectedTendies { try? FileManager.default.removeItem(at: SymHandler.getDocumentsDirectory().appendingPathComponent("UnzipItems", conformingTo: .directory)) try? FileManager.default.removeItem(at: SymHandler.getDocumentsDirectory().appendingPathComponent(url.lastPathComponent)) try? FileManager.default.removeItem(at: SymHandler.getDocumentsDirectory().appendingPathComponent(url.deletingPathExtension().lastPathComponent)) diff --git a/Pocket Poster/Controllers/VideoHandler.swift b/Pocket Poster/Controllers/VideoHandler.swift new file mode 100644 index 0000000..1484f76 --- /dev/null +++ b/Pocket Poster/Controllers/VideoHandler.swift @@ -0,0 +1,278 @@ +// +// VideoHandler.swift +// Pocket Poster +// +// Created by lemin on 6/8/25. +// + +import Foundation +import AVFoundation +import UIKit +import CoreTransferable + +extension CGImage { + var png: Data? { + guard let mutableData = CFDataCreateMutable(nil, 0), + let destination = CGImageDestinationCreateWithData(mutableData, "public.png" as CFString, 1, nil) else { return nil } + CGImageDestinationAddImage(destination, self, nil) + guard CGImageDestinationFinalize(destination) else { return nil } + return mutableData as Data + } + var jpg: Data? { + let uiimg = UIImage(cgImage: self) + return uiimg.jpegData(compressionQuality: 0.7) + } +} + +struct Movie: Transferable { + let url: URL + + static var transferRepresentation: some TransferRepresentation { + FileRepresentation(contentType: .movie) { movie in + SentTransferredFile(movie.url) + } importing: { received in + let videoFolder = SymHandler.getDocumentsDirectory().appendingPathComponent("Videos", conformingTo: .directory) + if !FileManager.default.fileExists(atPath: videoFolder.path()) { + try? FileManager.default.createDirectory(at: videoFolder, withIntermediateDirectories: true) + } + let copy = videoFolder.appending(path: "\(UUID()).mp4") + + if FileManager.default.fileExists(atPath: copy.path()) { + try FileManager.default.removeItem(at: copy) + } + + try FileManager.default.copyItem(at: received.file, to: copy) + return Self.init(url: copy) + } + } +} + +enum LoadState { + case unknown, loading, loaded(Movie), failed +} + +struct LoadInfo: Identifiable, Equatable { + static func == (lhs: LoadInfo, rhs: LoadInfo) -> Bool { + lhs.id == rhs.id + } + + var id = UUID() + var autoReverses: Bool = false + var loadState: LoadState +} + +class VideoHandler { + static let MaxDurationSecs = 12.0 + + static func isVideoTooLong(at url: URL) -> Bool { + let asset = AVAsset(url: url) + + let duration = asset.duration + let durationTime = CMTimeGetSeconds(duration) + + return durationTime > MaxDurationSecs + } + + static func createCaml(from url: URL, autoReverses: Bool) throws -> URL { + // copy the resources + let descrURL = SymHandler.getDocumentsDirectory().appendingPathComponent(UUID().uuidString, conformingTo: .directory) + try FileManager.default.createDirectory(at: descrURL, withIntermediateDirectories: false) + + print("pre resource") + guard let rc = Bundle.main.url(forResource: "VideoCAML", withExtension: nil) else { throw URLError(.fileDoesNotExist) } + print("post resource") + try FileManager.default.copyItem(at: rc, to: descrURL.appendingPathComponent("videoCAML")) + print("post copy") + + let coreAnimDir = descrURL.appending(path: "videoCAML/versions/1/contents/9183.Custom-810w-1080h@2x~ipad.wallpaper/9183.Custom_Background-810w-1080h@2x~ipad.ca") + let assetsFolder = coreAnimDir.appendingPathComponent("assets", conformingTo: .directory) + if !FileManager.default.fileExists(atPath: assetsFolder.path()) { + try FileManager.default.createDirectory(at: assetsFolder, withIntermediateDirectories: true) + } + + // load the video + let asset = AVURLAsset(url: url) + + let assetImageGenerator = AVAssetImageGenerator(asset: asset) + assetImageGenerator.appliesPreferredTrackTransform = true + assetImageGenerator.apertureMode = AVAssetImageGenerator.ApertureMode.encodedPixels + + // create the caml + guard let track = asset.tracks(withMediaType: .video).first else { + print("Failed to get video track") + throw AVError(.decodeFailed) + } + let size = track.naturalSize.applying(track.preferredTransform) + let width = Int(abs(size.width)) + let height = Int(abs(size.height)) + let fps = track.nominalFrameRate + let duration = CMTimeGetSeconds(asset.duration) + let totalFrames = Int(fps * Float(duration)) + let animDur = Double(totalFrames) / Double(fps) + var camlData = """ + + + + + +""" + // write the caml + guard let caData = camlData.data(using: .utf8) else { throw URLError(.unknown) } + try caData.write(to: coreAnimDir.appendingPathComponent("main.caml")) + + // write the other info xml + camlData = """ + + + + + assetManifest + assetManifest.caml + documentHeight + \(height) + documentResizesToView + + documentWidth + \(width) + dynamicGuidesEnabled + + geometryFlipped + + guidesEnabled + + interactiveMouseEventsEnabled + + interactiveShowsCursor + + interactiveTouchEventsEnabled + + loopEnd + 0.0 + loopStart + 0.0 + loopingEnabled + + multitouchDisablesMouse + + multitouchEnabled + + presentationMouseEventsEnabled + + presentationShowsCursor + + presentationTouchEventsEnabled + + rootDocument + main.caml + savesWindowFrame + + scalesToFitInPlayer + + showsTouches + + snappingEnabled + + timelineMarkers + [(null)] + touchesColor + 1 1 0 0.8 + unitsInPixelsInPlayer + + + + """ + + guard let xmlData = camlData.data(using: .utf8) else { throw URLError(.unknown) } + try xmlData.write(to: coreAnimDir.appendingPathComponent("index.xml", conformingTo: .xml)) + + return descrURL + } +} diff --git a/Pocket Poster/Error Codes/ApplyError.swift b/Pocket Poster/Error Codes/ApplyError.swift new file mode 100644 index 0000000..15c660e --- /dev/null +++ b/Pocket Poster/Error Codes/ApplyError.swift @@ -0,0 +1,30 @@ +// +// ApplyError.swift +// Pocket Poster +// +// Created by lemin on 6/18/25. +// + +import Foundation + +enum ApplyError: LocalizedError { + // Throw when the app hash is incorrect + case wrongAppHash + + // Throw when the collections need to be reset + case collectionsNeedsReset + + // Throw in all other cases + case unexpected(info: String) + + public var errorDescription: String? { + switch self { + case .wrongAppHash: + return NSLocalizedString("Your app hash is incorrect. Please set it again.", comment: "") + case .collectionsNeedsReset: + return NSLocalizedString("The folder is improperly set up. Please tap \"Reset Collections\" and try again.", comment: "") + case .unexpected(let info): + return info + } + } +} diff --git a/Pocket Poster/Extensions/Alert++.swift b/Pocket Poster/Extensions/Alert++.swift index e8756a4..adb3f31 100644 --- a/Pocket Poster/Extensions/Alert++.swift +++ b/Pocket Poster/Extensions/Alert++.swift @@ -9,6 +9,7 @@ import UIKit // credit: sourcelocation & TrollTools var currentUIAlertController: UIAlertController? +var lastDismissTitle: String? fileprivate let errorString = NSLocalizedString("Error", comment: "") @@ -19,6 +20,7 @@ extension UIApplication { func dismissAlert(animated: Bool) { DispatchQueue.main.async { + lastDismissTitle = currentUIAlertController?.title currentUIAlertController?.dismiss(animated: animated) } } @@ -32,7 +34,7 @@ extension UIApplication { let appVersion = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String ?? "" let appBuild = Bundle.main.infoDictionary?["CFBundleVersion"] as? String ?? "" let systemVersion = device.systemVersion - body += "\n\(device.systemName) \(systemVersion), version \(appVersion) build \(appBuild)" + body += "\n\(device.systemName) \(systemVersion), v\(appVersion) build \(appBuild)" } currentUIAlertController = UIAlertController(title: title, message: body, preferredStyle: .alert) @@ -60,8 +62,8 @@ extension UIApplication { } func present(alert: UIAlertController) { - if var topController = self.windows[0].rootViewController { - while let presentedViewController = topController.presentedViewController { + if let window = UIApplication.shared.connectedScenes.map({ $0 as? UIWindowScene }).compactMap({ $0 }).first?.windows.first, var topController = window.rootViewController { + while let presentedViewController = topController.presentedViewController, presentedViewController.title != lastDismissTitle { topController = presentedViewController } diff --git a/Pocket Poster/Extensions/LoopingPlayerUIView.swift b/Pocket Poster/Extensions/LoopingPlayerUIView.swift new file mode 100644 index 0000000..b169828 --- /dev/null +++ b/Pocket Poster/Extensions/LoopingPlayerUIView.swift @@ -0,0 +1,41 @@ +// +// LoopingPlayerUIView.swift +// Pocket Poster +// +// Created by lemin on 6/11/25. +// + +import UIKit +import AVFoundation + +class LoopingPlayerUIView: UIView { + + private var playerLayer = AVPlayerLayer() + private var playerLooper: AVPlayerLooper? + private var player = AVQueuePlayer() + + init(videoURL: URL){ + let asset = AVAsset(url: videoURL) + let item = AVPlayerItem(asset: asset) + + super.init(frame: .zero) + + // Setup the player + playerLayer.player = player + playerLayer.videoGravity = .resizeAspectFill + layer.addSublayer(playerLayer) + + // Create a new player looper with the queue player and template item + playerLooper = AVPlayerLooper(player: player, templateItem: item) + player.play() + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + override func layoutSubviews() { + super.layoutSubviews() + playerLayer.frame = bounds + } +} diff --git a/Pocket Poster/Extensions/PlayerView.swift b/Pocket Poster/Extensions/PlayerView.swift new file mode 100644 index 0000000..1f9d0c1 --- /dev/null +++ b/Pocket Poster/Extensions/PlayerView.swift @@ -0,0 +1,23 @@ +// +// PlayerView.swift +// Pocket Poster +// +// Created by lemin on 6/11/25. +// + +import SwiftUI + +struct PlayerView: UIViewRepresentable { + var videoURL: URL + + init(videoURL: URL) { + self.videoURL = videoURL + } + + func updateUIView(_ uiView: UIView, context: UIViewRepresentableContext) { + } + + func makeUIView(context: Context) -> UIView { + return LoopingPlayerUIView(videoURL: videoURL) + } +} diff --git a/Pocket Poster/Localizable.xcstrings b/Pocket Poster/Localizable.xcstrings new file mode 100644 index 0000000..cd0b104 --- /dev/null +++ b/Pocket Poster/Localizable.xcstrings @@ -0,0 +1,10052 @@ +{ + "sourceLanguage" : "en", + "strings" : { + "Actions" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "العمليات" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "إجراءات" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "إجراءات" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Akce" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aktionen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Acciones" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Acciones" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Actions" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Actions" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Actions" + } + }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Actions" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Műveletek" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アクション" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "활동" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Acties" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Opcje" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Действия" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ดำเนินการ" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eylemler" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tác vụ" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "動作" + } + } + } + }, + "App Cache Successfully Cleared!" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تم مسح ذاكرة التخزين المؤقت للتطبيق بنجاح!" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "تم مسح ذاكرة التخزين المؤقت بنجاح!" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "تم مسح ذاكرة التخزين المؤقت للتطبيق بنجاح!" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aplikační Cache Úspěšně Vyčištěna!" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "App-Cache erfolgreich geleert!" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "El cache de la aplicación fue limpiado con exito!" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "¡Caché de la app eliminada satisfactoriamente!" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cache de l'application vidé avec succès!" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Le cache de l'application a été effacé avec succès !" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cache de l'application effacée!" + } + }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cache de l'app vidé avec succès !" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Az app gyorsítótára sikeresen tisztítva!" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アプリのキャッシュがクリアされました" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "앱 캐시가 성공적으로 삭제되었습니다!" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "App Cache Succesvol Schoongemaakt!" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hash aplikacji wyczyszczony!" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Кэш успешно очищен!" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ล้างแคชแอปสำเร็จแล้ว!" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Uygulama Önbelleği Başarıyla Temizlendi!" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bộ nhớ cache đã được xóa!" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "App 快取已成功清除!" + } + } + } + }, + "App Hash" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "معرّف هاش التطبيق" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "مفتاح الهاش للتطبيق" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "هاش البرنامج" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hash Aplikace" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "App Hash" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "App Hash" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hash de la app" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hash de l'application" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "App hash" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hachage d'application" + } + }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "App Hash" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "App Hashje" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アプリハッシュ" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "앱 해시" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "App Hash" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hash aplikacji" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "App Hash" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "แฮชแอป" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Uygulama Hash'i" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mã định danh Ứng dụng" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "App 哈希值" + } + } + } + }, + "Apply" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تطبيق" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "تطبيق" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "تطبيق" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aplikovat" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Anwenden" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aplicar" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aplicar" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Appliquer" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Appliquer" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Appliquer" + } + }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Appliquer" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Alkalmazás" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "適用" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "적용" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Toepassen" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zastosuj" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Подтвердить" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ใช้งาน" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Uygula" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Áp dụng" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "加載" + } + } + } + }, + "Applying Wallpapers..." : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "جاري تعيين الخلفيات…" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "تطبيق الخلفيات..." + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "جارٍ تطبيق الخلفيات..." + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aplikuji Tapety..." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hintergrundbilder werden angewandt..." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aplicando Fondos de Pantalla" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aplicando fondos de pantalla…" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Application de fonds d'écran..." + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Application de fond d’écran" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Application des fonds d'écran..." + } + }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Application des fonds d'écrans..." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Háttérképek alkalmazása..." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "壁紙を適用中" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "배경화면을 적용하는중..." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Achtergrond Toepassen…" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zastosowanie tapet..." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Сохранение обоев..." + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "กำลังตั้งค่าวอลเปเปอร์…" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Duvar Kağıtları Uygulanıyor..." + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đang áp dụng Hình nền..." + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "正在加載桌布…" + } + } + } + }, + "Cancel" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "إلغاء" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "الغاء" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "إلغاء" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zrušit" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Abbrechen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cancelar" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cancelar" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Annuler" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Passer" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Annuler" + } + }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Annuler" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mégsem" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "キャンセル" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "취소" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Annuleren" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Anuluj" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Отмена" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ยกเลิก" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "İptal Et" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Huỷ" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "取消" + } + } + } + }, + "Clear App Cache" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "حذف بيانات التخزين المؤقت للتطبيق" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "مسح ذاكرة التخزين المؤقت للتطبيق" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "مسح ذاكرة التخزين المؤقت" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vyčistit Aplikační Cache" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "App-Cache löschen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Limpiar cache de aplicación" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Limpiar Caché de la App" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vider le cache de l'application" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vider le cache d’application" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Effacer le cache d'application" + } + }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vider le cache de l'app" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "App gyorsítótárának tisztítása" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "キャッシュをクリア" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "앱 캐시 삭제하기" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "App Cache Verschonen" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wyczyść Cache aplikacji" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Очистить кэш" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ล้างแคชแอป" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Uygulama Önbelleğini Temizle" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xoá cache Ứng dụng" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "清除App 快取" + } + } + } + }, + "Collections Successfully Reset!" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تم اعادة تعيين المجموعات بنجاح!" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "تم إعادة تعيين المجموعات بنجاح!" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "تمت إعادة تعيين المجموعات بنجاح!" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kolekce Úspěšně Resetovány!" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sammlungen erfolgreich zurückgesetzt!" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "¡Colecciones reiniciadas exitosamente!" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "¡Colecciones reiniciadas satisfactoriamente!" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Réinitialisation des collections réussie!" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Les collections se réinitialisent avec succès !" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Collections réinitialisées!" + } + }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Collections réinitialisées avec succès!" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gyűjtemények sikeresen visszaállítva!" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "コレクションが正常にリセットされました" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "컬렉션이 성공적으로 초기화되었습니다!" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Collecties Succesvol Hersteld!" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kolekcje zresetowane!" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Коллекции успешно сброшены!" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "รีเซ็ตคอลเลกชันสำเร็จแล้ว!" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Koleksiyonlar Başarıyla Sıfırlandı!" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đặt lại thành công Bộ sưu tập!" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "選集資料夾已成功重置!" + } + } + } + }, + "Community Translators" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "مترجمو المجتمع" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "مترجمو المجتمع" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "مجتمع المترجمين" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Komunitní Překladatelé" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Community-Übersetzern" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Comunidad de traductores" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Traductores de la comunidad" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Traducteurs communautaires" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Traduction communautaire" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Traducteurs de communauté" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fordítók" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "コミュニティ翻訳者" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "커뮤니티 번역자" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gemeenschapsvertalers" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tłumacze" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Сообщество переводчиков" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ผู้แปลภาษา" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Toplum Çevirmenleri" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cộng đồng các Phiên dịch viên" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "社群翻譯者" + } + } + } + }, + "Could not download wallpaper!" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "حدث فشل في تحميل الخلفية!" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "تعذر تحميل الخلفية!" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "لم يمكن تحميل الخلفية!" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nepodařilo se stáhnout tapetu!" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hintergrundbild konnte nicht heruntergeladen werden!" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "¡No se pudo descargar el fondo de pantalla!" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "¡No se pudo descargar el fondo de pantalla!" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erro télécharge le fond d'écran!" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Impossible d’installer les fond écran!" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "impossible de télécharger le fond d'écran!" + } + }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fond d'écran n'a pas pu être téléchargé!" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nem sikerült letölteni a háttérképet!" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "壁紙がダウンロードできませんでした" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "배경화면을 다운로드 할 수 없습니다!" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Achtergrond downloaden mislukt!" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nie udało sie pobrać tapety!" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ошибка загрузки обоев!" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ดาวน์โหลดวอลเปเปอร์ไม่สำเร็จ!" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Duvar Kağıdı İndirilemedi!" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không thể tải xuống hình nền!" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "無法下載桌布!" + } + } + } + }, + "Create Additional Fallback Method" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "انشئ طريقة بديلة اضافية لإستخدامها" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "إنشاء طريقة بديلة إضافية" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "إنشاء طريقة Fallback إضافية" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vytvořit Dodatečnou Záložní Metodu" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zusätzliche Fallback-Methode erstellen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Crear un método de respaldo adicional" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Crear Método de respaldo adicional" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Créer une méthode de secours supplémentaire" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Créer une méthode de repli supplémentaire" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Créer une méthode de secours additionnelle" + } + }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Créer une méthode additionnelle de Fallback" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "További tartalék módszer létrehozása" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "追加のフォールバックメソッドの作成" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "추가적인 Fallback Method 생성하기" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Maak een extra Terugval Methode" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Stworz opcjonalna metodę Fallbacku" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Создать свою Fallback Shortcut" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "สร้างวิธีสำรองเพิ่มเติม" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ek Fallback yöntemi ekle" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tạo phương thức dự phòng bổ sung" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "新增替代方案" + } + } + } + }, + "Creating %@..." : { + "comment" : "the message for the current image that is being generated", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "جاري التصميم %@..." + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "إنشاء %@العنصر..." + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "جارٍ إنشاء %@..." + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vytvářím %@..." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erstelle %@..." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Creando %@..." + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Creando %@..." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Création %@..." + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Création%@" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Création de %@..." + } + }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Création de %@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ készítése..." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ を作成中…" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ 생성중..." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Creëren %@…" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tworzenie %@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Создание %@..." + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "กำลังสร้าง %@..." + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Oluşturuluyor %@..." + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đang tạo %@..." + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "正在創建%@…" + } + } + } + }, + "Creating CAML data..." : { + "comment" : "translate this however you see fits", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "جاري إنشاء ملف معلومات الخلفية…" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "إنشاء معلومات CAML..." + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "جارٍ إنشاء بيانات CAML..." + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vytvářím CAML data..." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erstelle CAML-Daten..." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Creando datos CAML..." + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Creando datos CAML..." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Création de données CAML..." + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Création CAML data" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Création des données CAML..." + } + }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Création des données CAML..." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "CAML adat készítése..." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "CAMLデータの作成中…" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "CAML 데이터 생성중..." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "CAML data creëren…" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tworzenie danych CAML..." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Сбор данных..." + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "กำลังสร้างข้อมูล CAML" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "CAML verisi oluşturuluyor..." + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đang tạo dữ liệu CAML..." + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "正在建立 CAML 資料…" + } + } + } + }, + "Credits" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "مساهمين" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "الاعتمادات" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "المساهمون" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kdo se podílel" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Credits" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Creditos" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Créditos" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Crédits" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Crédits" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Crédits " + } + }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Crédits" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Közreműködők" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "クレジット" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "출처" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Met dank aan" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Twórcy" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Авторы" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "เครดิต" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "İtibarlar" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đóng góp" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "鸣谢" + } + } + } + }, + "Detect" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تم الكشف" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "تم التحقق" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "كشف" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Detekovat" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erkennen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Detectar" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Detectar" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Détecter" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Détecter" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Detecter" + } + }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Détecter" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Érzékelés" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "検出" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "감지" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Detecteren" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wykryj" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Верно" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ตรวจจับ" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tespit et" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Phát hiện" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "偵測" + } + } + } + }, + "Disable Video Duration Limit" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تعطيل حد مدة الفيديو" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "تعطيل حد مدة الفيديو" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "تعطيل حد مدة الفيديو" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vypnout Omezení Délky Videa" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Videolänge limit ausschalten" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Desactivar el limite de la duración de los videos" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Desactivar límite de duración del video" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Désactiver la limite de durée de la vidéo" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Désactiver la limite de durée pour les vidéo" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Désactiver la limite de longueur de vidéo." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Videó hosszúsági limit letiltása" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "動画の長さ制限を無効にする" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "비디오 길이 제한 해제" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Beperk video­duur uitschakelen" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wyłącz limit czasu trwania wideo" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Отключить ограничение длительности видео" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ปิดการจำกัดความยาววิดีโอ" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Video süre limitini devre dışı bırak" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tắt Giới hạn Thời gian của Video" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "停用影片長度限制" + } + } + } + }, + "Do you want to reset collections?" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "هل ترغب بإعادة تعيين المجموعات ؟" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "هل ترغب في إعادة ضبط المجموعات؟" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "هل ترغب في إعادة تعيين المجموعات؟" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Přejete si resetovat kolekce?" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Möchten Sie die Sammlungen zurücksetzen?" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "¿Quieres reiniciar las colecciones?" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "¿Quieres reiniciar las colecciones?" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voulez-vous réinitialiser les collections?" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voulez vous réinstaller la collection?" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voulez-vous réinitialiser les collections?" + } + }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voulez-vous réinitialiser les collections?" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Visszaszeretnéd állítani a gyűjteményeket?" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "コレクションをリセットしますか?" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "컬렉션을 초기화하고 싶으신가요?" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wil je de collecties resetten?" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Czy chcesz zresetować kolekcje?" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Сбросить коллекции?" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "คุณต้องการรีเซ็ตคอลเลคชั่นหรือไม่?" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Koleksiyonları sıfırlamak istiyor musunuz?" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bạn có muốn thiết lập lại các bộ sưu tập?" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "您要重設收藏嗎?" + } + } + } + }, + "Download Fallback Shortcut" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تحميل الإختصار البديل" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "تحميل اختصار البديل" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "حمل اختصار Fallback" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Stáhnout Záložní Zkratku" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fallback Shortcut herunterladen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Descargar acceso directo de respaldo" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Descargar atajo de respaldo" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Télécharger le raccourci de secours" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Télécharger les avis du raccourci" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Télécharger raccourci de secours" + } + }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Téléchargement du raccourcis Fallback " + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tartalék parancs letöltése" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "フォールバックショートカットをダウンロード" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fallback 단축어 다운로드" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Download Terugval Snelkoppeling" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pobierz skrót fallback" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Скачать Fallback Shortcut" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ดาวน์โหลด Shortcut สำรอง" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fallback kestirmesini indir" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tải xuống Phím tắt dự phòng" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "下載備用捷徑" + } + } + } + }, + "Download Tendies File" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تحميل ملف ال Tendies" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "تحميل ملف Tendies" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "تحميل ملف Tendies" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Stáhnout Tendies Soubor" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tendies-Datei herunterladen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Descargar archivo Tendies" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Descargar archivo Tendies" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Télécharger un fichier de Tendies" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Télécharger fichier tendies" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Télécharger le fichier Tendies " + } + }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Télécharger le fichier Tendies" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tendies fájl letöltése" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tendiesファイルをダウンロード" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tendies 파일 다운로드" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Download Tendies Bestand" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pobierz pliki tendies" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Скачать файл Tendies" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ดาวน์โหลดไฟล์ Tendies" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tendies dosyası indir" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tải xuống tệp tendies" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "下載 Tendies 檔案" + } + } + } + }, + "Downloading" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "جاري التحميل" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "يتم التحميل" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "يتم التحميل" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Stahuji" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Herunterladen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Descargando" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Descargando" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Téléchargement" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Téléchargement" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Téléchargement" + } + }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Téléchargement" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Letöltés folyamatban" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ダウンロード中" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "다운로드 중" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Downloaden" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pobieranie" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Загрузка" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "กำลังดาวน์โหลด" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "İndiriliyor" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đang Tải xuống" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "正在下載" + } + } + } + }, + "Enjoy!" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "استمتع!" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "استمتع!" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "استمتع!" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Užívejte!" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Viel spaß!" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Disfruta!" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Disfruta!" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jouir!" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apprécier!" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Profitez!" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Élvezd!" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "お楽しみください!" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "즐기세요!" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Geniet!" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ciesz się tapetami!" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Наслаждайтесь!" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "เอ็นจอย!" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tadına Var!" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hãy thưởng thức!" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "請享用!" + } + } + } + }, + "Enter App Hash" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "ادخل هاش التطبيق" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "أدخل الهاش" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "ادخل هاش البرنامج" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zadejte Hash Aplikace" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "App-Hash eingeben" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ingresar el hash de la aplicación" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ingresar el hash de la app" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Saisir le App Hash" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Entrer app hash" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Entrer le hach d'application " + } + }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insérer le Hash de l'app" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Írd be az App hashjét" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アプリハッシュを入力" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "App Hash 입력" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voer de App Hash in" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Podaj Hash Aplikacji" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Введите App Hash" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ใส่แฮชแอป" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Uygulama Hash'i gir" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhập mã định danh Ứng dụng" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "輸入應用程式雜湊值" + } + } + } + }, + "Enter your PosterBoard app hash in Settings." : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "ادخل هاش تطبيق PosterBoard خاصتك بالإعدادات." + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "أدخل الهاش لتطبيق PosterBoard في الإعدادات." + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "ادخل هاش البرنامج من الاعدادات" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zadejte váš hash PosterBoard aplikace v Nastavení." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Geben Sie Ihren PosterBoard App-Hash in den Einstellungen ein." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ingrese el hash de su aplicación PosterBoard en Configuración." + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ingresa el hash de tu app PosterBoard en configuración." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Entrez votre app hash de PosterBoard dans les Paramètres." + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Saisissez le hachage de votre application PosterBoard dans Paramètres." + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Entrer votre hach de l'application PosterBoard dans les paramètres." + } + }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insérer votre PosterBoard hash de l'app dans les paramètres." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Írd be a PosterBoard app hashedet a Beállításokban." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "設定でPosterBoardアプリのハッシュを入力してください。" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "PosterBoard App Hash를 설정에서 입력하세요." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voer je PosterBoard app hash in instellingen toe" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Podaj hash aplikacji PosterBoard w ustawieniach." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Введите свой App Hash в настройках" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ใส่แฮชแอปโปสเตอร์บอร์ดของคุณในเมนูการตั้งค่า" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ayarlarda PosterBoard uygulama Hash'i girin." + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhập mã định danh của PosterBoard trong Cài đặt." + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "在設定中輸入您的 PosterBoard 應用程式雜湊值。" + } + } + } + }, + "Error" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : " خطأ" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "خطاء" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "خطأ" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chyba" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fehler" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erreur" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erreurs" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erreur" + } + }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erreur" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hiba" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "エラー" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "오류" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fout" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ошибка" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ของผิดพลาด" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hata" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lỗi" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "錯誤" + } + } + } + }, + "Exploit" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "استغلال الثغرة" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "استغلال" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "مؤسس الثغرة" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exploit" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ausnutzen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exploit" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exploit" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exploitation" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exploit" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exploiter" + } + }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exploit" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exploit" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exploit" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "취약점 이용" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kwetsbaarheid" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exploit" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Эксплойт" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exploit" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Açığı Kullan" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Khai thác" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "利用程式漏洞" + } + } + } + }, + "Extracting tendies..." : { + "comment" : "happens when unzipping the files", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "جاري استخراج ملفات ال ... tendies" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "استخراج tendies..." + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "جارٍ استخراج tendies..." + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Extrahuji tendies..." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tendies werden extrahiert..." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Extrayendo tendies..." + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Extrayendo tendies..." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "L'extraction des tendies..." + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Extractions tendies" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Extraction des tendies..." + } + }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Excraction des tendies..." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tendies kicsomagolása..." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tendiesを解凍中…" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "tendies 추출 중..." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Uitpakken tendies…" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wyciąganie tendies..." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Извлечение .tendies..." + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "กำลังดึงข้อมูล tendies…" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tendies dışa aktarılıyor..." + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đang giải nén tendies..." + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "正在解壓 tendies…" + } + } + } + }, + "Failed" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "فشل" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "فشل" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "فشل" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Selhalo" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gescheitert" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fallido" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fallido" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Échec" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Échec" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Échec" + } + }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Échué" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sikertelen" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "失敗" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "실패함" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mislukt" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nie udało się" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ошибка" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ไม่สำเร็จ" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Başarısız" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thất bại" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "失敗" + } + } + } + }, + "Failed to import tendies" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "فشل في استيراد ال tendies" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "\"فشل في استيراد tendies\"" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "فشل في استيراد ملفات tendies" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Selhal import tendies" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Die Einfuhr von Tendies ist fehlgeschlagen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "No se pudieron importar tendies" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "No se pudieron importar los tendies" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "N'a pas réussi à importer les tendies" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Échec de l'importation de tendies" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Importation des tendies échouée." + } + }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Échec de l'importation des tendies" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "A tendies importálása sikertelen" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tendiesのインポートに失敗しました" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "tendies 가져오기에 실패했습니다" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Toevoegen van tendies mislukt" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nie udało sie zaimportować tendies" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ошибка при импорте .tendies" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "นำเข้า tendies ไม่สำเร็จ" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tendies dosyaları içe aktarılırken hata oluştu" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhập tendies thất bại" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "匯入 tendies 失敗" + } + } + } + }, + "Failed to Import Video" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "فشل في استيراد الفيديو" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "فشل في استيراد الفيديو" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "فشل استيراد الفيديو" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Import Videa Selhal" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Videoimport fehlgeschlagen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error al importar video" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "No se pudo importar el video" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Échec de l'importation de la vidéo" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Impossible d importer la vidéo" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Échec lors de l'importation de la vidéo." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Videó importálása sikertelen" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "動画のインポートに失敗しました" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "비디오 가져오기에 실패했습니다" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Video importeren mislukt" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nie udało sie zaimportować filmu" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ошибка при импорте видео" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "นำเข้าวิดีโอไม่สำเร็จ" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Video içe aktarılamadı" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhập Video bị lỗi" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "匯入影片失敗" + } + } + } + }, + "Fallback Shortcut Creator" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "مصمم الإختصار البديل" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "إنشاء اختصار البدائل" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "صانع اختصار Fallback" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tvorba Záložní Zkratky" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fallback Shortcut Creator" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Creador de atajos de respaldo" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Creador del atajo de respaldo" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Créateur de raccourcis de secours" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Avis Creteur du raccourcis" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Création de raccourci de secours" + } + }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Créateur de raccourcis Fallback" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tartalék parancs készítő" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "フォールバックショートカット作成者" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "예비 단축어 생성기" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Terugval Snelkoppeling Maker" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tworzenie skrótu fallback" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Создатель Fallback Shortcut" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ตัวสร้าง Shortcut สำรอง" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fallback Kestirme Oluşturucusu" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bộ tạo Phím tắt dự phòng" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "備用捷徑建立器" + } + } + } + }, + "Falling Back to Shortcut" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "جاري استخدام طريقة الاختصارات البديلة" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "الرجوع إلى الاختصار" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "يتم استخدام الاختصار" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Přechod na Náhradní Zkratku" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rückgriff auf Kurzbefehle" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Regresar al atajo" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Recurriendo al atajo" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Retomber dans le raccourci" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Revenir au raccourci" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Revenir au raccourci" + } + }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Revenir au raccourcis" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Visszatérés a parancshoz" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ショートカットに戻る" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "예비 단축어로 전환 중..." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Terugvallen op Snelkoppeling" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Powracanie do skroru fallback" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Возвращение к Fallback" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "กำลังย้อนกลับไปใช้ Shortcut" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kestirmeye geri düşülüyor" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Quay lại Phím tắt" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "正在切換至備用捷徑" + } + } + } + }, + "Find Wallpapers" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "العثور على خلفيات للجهاز" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "ابحث عن الخلفيات" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "ابحث عن الخلفيات" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Najít Tapety" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Finde Hintergrundbilder" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Encontrar fondos de pantalla" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Buscar fondos de pantalla" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trouver des fonds d'écran" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trouver des fond d’écran" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trouver des fonds d'écran " + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Háttérképek találása" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "壁紙を探す" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "배경화면 찾기" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Achtergronden zoeken" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Poszukaj tapet" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Галерея обоев" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ค้นหาวอลเปเปอร์" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Duvar Kağıtları Bul" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tìm kiếm Hình nền" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "尋找壁紙" + } + } + } + }, + "Finish" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "إنهاء" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "إنهاء" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "أنهاء" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dokončit" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Abschließen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Finalizar" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Terminar" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Finir" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Finit" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Finir" + } + }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Terminer" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Befejezés" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "終了" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "완료" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Einde" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Koniec" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Готово" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "เสร็จ" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tamamla" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hoàn thành" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "完成" + } + } + } + }, + "Generating Video..." : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "جاري إنشاء الفيديو…" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "جارٍ إنشاء الفيديو..." + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "جارٍ إنشاء الفيديو..." + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Generuji Video..." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Video wird generiert..." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Generando vídeo..." + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Generando video…" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Générer des vidéos..." + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Generation de video" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Génération de la vidéo..." + } + }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Géneration de la vidéo..." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Videó generálása..." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "動画を生成中…" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "비디오 생성 중..." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Video Genereren" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Generawonie filmu.." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Генерация видео..." + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "กำลังสร้างวิดีโอ" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Video oluşturuluyor..." + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đang tạo video..." + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "正在產生影片…" + } + } + } + }, + "Get Shortcut" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الحصول على الاختصار" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "احصل على الاختصار" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "احصل على الأختصار" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Získat Zkratku" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kurzbefehl holen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Obtener el atajo" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Conseguir el atajo" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Obtenir un raccourci" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Obtenez le raccourci" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Obtenir raccourci" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Shortcut letöltése" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ショートカットを取得" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "단축어 받기" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Snelkoppeling ophalen" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zdobądź skrót" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Получить Fallback" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "รับ Shortcut" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kestirme Al" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tải xuống Phím tắt" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "取得捷徑" + } + } + } + }, + "Here is a tutorial to help you get started with the app." : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "هذا دليل تعليمي لمساعدتك على البدء بإستخدام التطبيق." + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "هذا دليل لمساعدتك على بدء استخدام التطبيق." + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "إليك دليل تعليمي لمساعدتك على البدء باستخدام التطبيق." + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zde je návod, který vám pomůže s aplikací začít." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hier ist ein Tutorial, um Ihnen mit der App zu helfen." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aqui esta un tutorial para ayudarte a empezara a usar la aplicación" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aquí hay un tutorial para ayudarte a empezar a utilizar la aplicación." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voici un tutoriel pour vous aider à démarrer avec l'application." + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voici un tutoriel pour vous aider à démarrer avec l'application." + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voici un tutoriel qui vous aidera à utiliser cette application" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Íme egy oktatóanyag, amely segít az alkalmazás használatának megkezdésében." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アプリの使い方を説明するチュートリアルはこちらです。" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "앱 사용을 시작하는 데 도움이 되는 튜토리얼입니다." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hier is een handleiding om je op weg te helpen met de app." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Poradnik jak korzystać z aplikacji." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Эта инструкция поможет вам начать пользоваться данным приложением." + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "นี่คือบทแนะนำเพื่อให้คุณเริ่มต้นใช้งานแอปได้" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Uygulamayı kullanmaya başlamak için bir eğitim videosu." + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đây là hướng dẫn trước khi bạn bắt đầu sử dụng ứng dụng này." + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "以下是幫助您開始使用本應用程式的教學。" + } + } + } + }, + "Home" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الرئيسية" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "الصفحة الرئيسية" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "الصفحة الرئيسية" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Domů" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Startseite" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inicio" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inicio" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Accueil" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Maison" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Accueil" + } + }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Acceuil" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Főképernyő" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ホーム" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "홈" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thuis" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dom" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Главная" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "หน้าหลัก" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ana sayfa" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trang chủ" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "首頁" + } + } + } + }, + "Install Nugget" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تحميل Nugget" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "ثبّت Nugget" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "نزل Nuggrt" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nainstalovat Nugget" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nugget installieren" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Instala Nugget" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Instalar Nugget" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Installer Nugget" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Installer nugget" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Installer Nugget" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nugget telepítése" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nugget をインストール" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nugget 설치" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nugget installeren" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zainstaluj Nugget" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Установите Nugget" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ติดตั้ง Nugget" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nugget'i indir" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tải xuống Nugget" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "安裝 Nugget" + } + } + } + }, + "Install the Fallback Shortcut (Optional)" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تحميل الاختصار البديل ( اختياري )" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "ثبّت الاختصار الاحتياطي (اختياري)" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "تثبيت اختصار fallback (اختياري)" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nainstalovat Záložní Zkratku (Volitelné)" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kurzbefehl als Fallback installieren (Optional)" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Instala el atajo de respaldo (opcional)" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Instalar el atajo de respaldo (opcional)" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Installer le raccourci de repli (optionnel)" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Installer le raccourci de secours (facultatif)" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Installer le raccourci de secours (optionnel)" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tartalék parancs telepítése (Opcionális)" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "代替ショートカットをインストール(任意)" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "예비 단축어 설치 (선택 사항)" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Reserve-snelkoppeling installeren (optioneel)" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zainstaluj skrót fallback (opcjonalne)" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Установите Fallback Shortcut (По желанию)" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ติดตั้ง Shortcut สำรอง (ไม่บังคับลง)" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fallback Kestirmesini indir (Opsiyonel)" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cài đặt Phím tắt Dự phòng (Thích thì tải)" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "安裝備用捷徑(選用)" + } + } + } + }, + "Join the Discord" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "أنضم الى الديسكورد" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "انضم إلى Discord" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "انضم الى الدسكورد" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Přidej se na Discord Server" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Discord beitreten" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Unete a nuestro Discord" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Únete al Discord" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rejoindre le Discord" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rejoignez le discord" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rejoindre le Discord" + } + }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rejoigner le Discord" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Csatlakozz a Discordhoz" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Discordサーバに参加" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "디스코드 참여하기" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Meedoen aan Discord" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dołącz do naszego Discorda" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Присоединиться к Discord серверу" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "เข้ารวม Discord" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Discord sunucusuna katıl" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tham gia Discord" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "加入 Discord 群組" + } + } + } + }, + "Links" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "روابط" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "روابط" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "روابط" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Odkazy" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Links" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Enlaces" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Enlaces" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Liens" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Liens" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Liens" + } + }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Liens" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Linkek" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "リンク" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "링크" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Links" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Linki" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ссылки" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ลิงก์" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Linkler" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Liên kết" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "連結" + } + } + } + }, + "Main Developer" : { + "comment" : "leminlimez's contribution", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "المطور الرئيسي" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "المطور الرئيسي" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "المطور الرئيسي" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hlavní Vývojář" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hauptentwickler" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Desarrollador Principal" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Desarrollador principal" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Développeur principal" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Développeur principale" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Développeur principal" + } + }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Développeur principal" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Főfejlesztő" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "メイン開発者" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "주 개발자" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hoofd Developer" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Główny developer" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Главный разработчик" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ผู้พัฒนาหลัก" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ana geliştirici" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhà phát triển chính" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "主要開發者" + } + } + } + }, + "Max Tendies Reached" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تم بلوغ الحد الأقصى من ال Tendies" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "تم الوصول إلى الحد الأقصى من tendies" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "الحد الاقصى لـtendies وصل" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Maximální Počet Tendies Dosažen" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Maximale Tendies erreicht" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cantidad Maxima de Tendies alcanzada" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Máximo de Tendies alcanzado" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tendies maximales atteintes" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nombre max de tendies atteint" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nombre maximal de Tendies atteint" + } + }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tendies maximum atteint" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Maximum Tendies elérve" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "tendiesの上限到達" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "최대 Tendies에 도달함" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Maximale tendies Bereikt" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Limit tendies" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Достигнуто максимальное количество обоев" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ถึงจำนวนสูงสุดของ Tendies แล้ว" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Maksimum tendies dosyası sınırına ulaşıldı" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Số lượng tendies đã đạt tối đa" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "已達到 Tendies 上限" + } + } + } + }, + "Next" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "التالي" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "التالي" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "التالي" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Další" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Weiter" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Siguiente" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Siguiente" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Suivant" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Prochain" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Prochain" + } + }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Suivant" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Következő" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "次" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "다음" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Volgende" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Następny" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Далее" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ถัดไป" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sonraki" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tiếp theo" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "下一步" + } + } + } + }, + "Nugget GitHub" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "صفحة Nugget على GitHub" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nugget GitHub" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nugget Github" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nugger GitHub" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nugget GitHub" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nugget Github" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "GitHub de Nugget" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nugget GitHub" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nugget GitHub" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "GitHub Nugget" + } + }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nugget GitHub" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nugget GitHub" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nugget GitHub" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nugget GitHub" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nugget GitHub" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nugget Github" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nugget Github" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nugget Github" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nugget GitHub" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nugget GitHub" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nugget 的 GitHub" + } + } + } + }, + "OK" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "حسناً" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "حسنا" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "أوك" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ok" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" + } + }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "확인" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ок" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "โอเค" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tamam" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "確定" + } + } + } + }, + "On your computer, download Nugget from the GitHub." : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "على حاسوبك، قم بتحميل Nugget من GitHub." + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "على جهاز الكمبيوتر، قم بتنزيل Nugget من GitHub." + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "قم بتنزيل Nugget على جهاز الكمبيوتر الخاص بك من GitHub." + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Na počítači si z GitHubu stáhněte Nugget." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Auf Ihrem Computer installieren sie Nugget über GitHub." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "En tu computadora, descargarlo desde GitHub" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "En tu computadora, descarga Nugget desde el GitHub." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sur votre ordinateur, téléchargez Nugget depuis GitHub." + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sur votre ordinateur, télécharger nugget depuis le GitHub" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sur votre ordinateur, téléchargez Nugget à partir du GitHub" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "A számítógépeden, töltsd le a Nuggetet a GitHubról." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "パソコンで GitHub から Nugget をダウンロードしてください。" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "컴퓨터에서 GitHub에서 Nugget을 다운로드하세요." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Download Nugget op je computer vanaf GitHub." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Na swoim komputerze pobierz Nugget z GitHuba." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Установите Nugget из официального GitHub на ваш компьютер." + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ดาวน์โหลด Nugget จาก GitHub บนคอมพิวเตอร์ของคุณ" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bilgisayarınızda Nugget'i GitHub'dan indirin." + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tải về Nugget trên máy tính từ Github." + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "請在您的電腦上從 GitHub 下載 Nugget。" + } + } + } + }, + "Only .tendies files can be downloaded!" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "فقط ملفات .tendies يمكن تحميلها!" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "فقط ملفات .tendies يمكن تحميلها!" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "فقط ملفات .tendies يمكن تحميلها!" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Staženy mohou být pouze .tendies soubory!" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Es können nur .tendies-Dateien heruntergeladen werden!" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Solo archivos .tendies pueden ser descargados" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "¡Solo archivos .tendies pueden ser descargados!" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Seuls les fichiers .tendies peuvent être téléchargés!" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Seulement les fichiers .tendies ne peut être télécharger!" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Seulement des fichiers .tendies peuvent être téléchargés!" + } + }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Seulement les fichiers .tendies peuvent être téléchargés!" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Csak .tendies fájlt lehet letölteni!" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "tendiesファイルのみダウンロードできます" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : ".tendies 파일만 다운로드할 수 있습니다!" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Alleen .tendies bestanden kunnen worden gedownload!" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tylko pliki .tendies mogą być pobrane!" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Только файлы .tendies могут быть загружены!" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "สามารถดาวน์โหลดไฟล์ .tendies ได้เท่านั้น!" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sadece .tendies dosyaları indirilebilir!" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chỉ có thể tải xuống các tập tin .tendies!" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "只能下載 .tendies 檔案!" + } + } + } + }, + "Open GitHub" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "فتح GitHub" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "افتح GitHub" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "افتح على GitHub" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Otevřít GitHub" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "GitHub öffnen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Abre GitHub" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Abrir GitHub" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ouvrir GitHub" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ouvrir GitHub" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ouvrir GitHub" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "GitHub megnyitésa" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "GitHub を開く" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "GitHub 열기" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "GitHub openen" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Otwórz githuba" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Открыть GitHub" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "เปิด GitHub" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Github'ı Aç" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mở Github" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "開啟 GitHub" + } + } + } + }, + "Please wait" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الرجاء الإنتظار" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "الرجاء الانتظار" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "يرجى الانتظار" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Prosím počkejte" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bitte warten" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Por favor espere" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Por favor espere" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Veuillez patienter" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Attendez s’il vous plaît" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Veuillez patienter" + } + }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Attendez s'il vous plait" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kérlek várj" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "お待ちください" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "잠시만 기다려주세요" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Even geduld" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Proszę czekać" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Пожалуйста, подождите" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "กรุณารอ" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lütfen bekleyin" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vui lòng chờ" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "請稍候" + } + } + } + }, + "Pocket Poster" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "بوكيت بوستر Pocket Poster" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster Ar" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket poster" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "พ็อกเก็ตโปสเตอร์" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + } + } + }, + "PosterBoard failed to open directly. The fallback shortcut will now be opened." : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "فشل فتح تطبيق PosterBoard بشكل مباشر. سيتم فتح الاختصار البديل." + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "فشل PosterBoard في الفتح بشكل مباشر. سيتم فتح الاختصار البديل الآن." + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "فشل فتح PosterBoard مباشرةً. سيتم الآن فتح الاختصار fallback." + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "PosterBoard se nemohl otevřít přímo. Otevře se záložní zkratka." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "PosterBoard konnte nicht direkt geöffnet werden. Der Ersatz-Kurzebefehl wird nun geöffnet." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "PosterBoard no se pudo abrir directamente. Ahora se abrirá el acceso directo alternativo." + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "PosterBoard no se pudo abrir directamente. Se utilizará el atajo de respaldo." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "PosterBoard n'a pas pu s'ouvrir directement. Le raccourci de secours sera maintenant ouvert." + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "PosterBoard ne s'est pas ouvert directement. Le raccourci de secours sera maintenant ouvert." + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "PosterBoard a échoué d'ouvrir directement. Le raccourci de secours sera lancé." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "A PosterBoard közvetlen megnyitása sikertelen. A tartalék parancs most elindul." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "PosterBoardが直接開くことができませんでした。フォールバックショートカットが開きます。" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "PosterBoard를 직접 열 수 없습니다. 예비 단축어가 대신 열립니다." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "PosterBoard gefaald om het direct te openen. De terugval snelkoppeling wordt nu geopend." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nie udało sie otworzyć PosterBoard. Skrot fallback zostanie otwarty." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "PosterBoard не был открыт напрямую. Открывается Fallback Shortcut" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ไม่สามารถเปิดโปสเตอร์บอร์ดโดยตรง กำลังจะใช้ Shortcut สำรอง" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "PosterBoard doğrudan açılamadı. Fallback kestirmesi şimdi kullanılacak." + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "PosterBoard không thể mở trực tiếp. Phím tắt dự phòng bây giờ sẽ được mở." + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "無法直接開啟 PosterBoard。將改為開啟備用捷徑。" + } + } + } + }, + "Preferences" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "التفضيلات" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "التفضيلات" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "التفضيلات" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Předvolby" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Präferenzen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Preferencias" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Preferencias" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Préférences" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Préférence" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Préférences" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Beállítások" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "設定" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "환경설정" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voorkeuren" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Preferencje" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Настройки" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "การตั้งค่า" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tercihler" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tùy chọn" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "偏好設定" + } + } + } + }, + "Release" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الاصدار" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "الاصدار" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "الإصدار" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vydání" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Release" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lanzar" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lanzamiento" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Libération" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sortie" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Version" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kiadás" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "リリース" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "릴리스" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Uitbrengen" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wydanie" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Релиз" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "รีลีส" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sürüm" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Phát hành" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "釋出" + } + } + } + }, + "Replay Tutorial" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "اعادة تشغيل الدليل التعليمي" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "إعادة تشغيل الدليل" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "إعادة تشغيل الدليل التعليمي" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Přehrát návod" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tutorial erneut starten" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Reproducir de nuevo Tutorial" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Repetir el tutorial" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Répéter le tutoriel" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rejouer le tutoriel" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Revoir le tutoriel" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tutorial újrajátszása" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "チュートリアルを再生" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "튜토리얼 다시 보기" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tutorial opnieuw afspelen" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Powtórz poradnik" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Воспроизвести иструкцию заново" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ดูบทแนะนำซ้ำ" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tekrar Oynatma Öğreticisi" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xem lại Hướng dẫn" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "重播教學" + } + } + } + }, + "Reset Collections" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "اعادة تعيين المجموعات" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "إعادة تعيين المجموعات" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "إعادة تعيين المجموعات" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Resetovat Kolekce" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sammlungen zurücksetzen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Reiniciar colecciones" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Reiniciar colecciones" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Réinitialiser les Collections" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Réinitialiser la collections" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Réinitialiser collections" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gyűjetmények visszaállítása" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "コレクションをリセット" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "컬렉션 초기화" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Collecties Terugzetten" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zresetuj kolekcje" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Сбросить коллекции" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "รีเซ็ตคอลเลคชั่น" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Koleksiyonları sıfırla" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đặt lại Bộ sưu tập" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "重設收藏" + } + } + } + }, + "Select Tendies" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "اختيار ال Tendies" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "حدد Tendies" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "اختار ملفات Tendies" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vybrat Tendies" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tendies auswählen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Seleccionar Tendies" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Seleccionar Tendies" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sélectionner Tendies" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sélectionner Tendis" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sélectionner Tendies" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tendies kiválasztása" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tendiesを選択" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tendies 선택" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kies Tendies" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wybierz tendies" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Выбрать Tendies" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "เลือก Tendies" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tendies dosyasını Seç" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chọn Tendies" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "選擇 Tendies" + } + } + } + }, + "Selected Tendies" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "ال Tendies المختارة" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "تم تحديد Tendies" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "ملفات Tendies المختارة" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vybrané Tendies" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ausgewählte Tendies" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tendies seleccionado" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tendies seleccionado" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tendies sélectionnées" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sélectionner Tendies" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tendies sélectionnés" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kiválasztott Tendies" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "選択されたTendies" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "선택된 Tendies" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Geselecteerden Tendies" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wybrane tendies" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Выбранные Tendies" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tendies ที่ถูกเลือก" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Seçilmiş Tendies dosyası" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đã chọn Tendies" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "已選擇的 Tendies" + } + } + } + }, + "Skip" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تخطي" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "تخطي" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "تخطي" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Přeskočit" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Überspringen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Saltar" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Saltar" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sauter" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Passer" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Passer" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kihagyás" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "スキップ" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "건너뛰기" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Overslaan" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pomiń" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Пропустить" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ข้าม" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Geç" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bỏ qua" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "跳過" + } + } + } + }, + "Socials" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "وسائل التواصل" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "روابط التواصل الاجتماعي" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "روابط" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sociální Sítě" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Soziale Netzwerke" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sociales" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sociales" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sociales" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sociales" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Médias sociaux" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Közösségi profilok" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ソーシャル" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "소셜 미디어" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sociale media" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sociale" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Социальные сети" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "โซเชียล" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sosyal Medya" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mạng Xã hội" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "社群媒體" + } + } + } + }, + "Success!" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تم بنجاح!" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "نجاح!" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "نجاح!" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Úspěch!" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erfolg!" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Logrado!" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Éxito!" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Succès!" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Succès!" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Succès!" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Siker!" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "成功" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "성공!" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gelukt!" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sukces!" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Готово!" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "สำเร็จ!" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Başarılı!" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thành công!" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "成功!" + } + } + } + }, + "Successfully imported %@" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تم الاستيراد بنجاح %@" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "تم استيراد %@ بنجاح" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "تم استيراد %@" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Úspěšně jsem importoval %@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ wurde erfolgreich importiert" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Importado correctamente!" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ importado satisfactoriamente" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Importation réussie %@" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Importé avec succès" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Importation de %@ succédée" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sikeresen importáltuk a %@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ のインポートに成功" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ 가져오기에 성공했습니다" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Succesvol toegevoegd %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zaimportowano %@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Успешный импорт %@" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "นำเข้า %@ สำเร็จ" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Başarıyla içe aktarıldı %@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhập thành công %@" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "成功匯入 %@" + } + } + } + }, + "Support on Ko-Fi" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "ادعمني على Ko-Fi" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "الدعم عبر Ko-Fi" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "ادعمني في Ko-Fi" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Podpořte nás na Ko-Fi" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Unterstütze bei Ko-Fi" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apoyanos en Ko-Fi" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apóyanos en Ko-Fi" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Support sur Ko-Fi" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Support sur Ko-Fi" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Supporter sur Ko-Fi" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Támogass minket Ko-Fi-n" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ko-Fiでサポート" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ko-Fi에서 후원하기" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Steun mij op Ko-Fi" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wesprzyj na Ko-Fi" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Поддержать на Ko-Fi" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "สนับสนุนบน Ko-Fi" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ko-Fi üzerinden destekleyin" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hỗ trợ trên Ko-Fi" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "在 Ko-Fi 上支持我們" + } + } + } + }, + "The folder is improperly set up. Please tap \"Reset Collections\" and try again." : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الملف لم يتم اعداده بشكل صحيح. الرجاء الضغط على \"اعادة تعيين المجموعات\" و المحاولة مجدداً." + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "المجلد غير مهيأ بشكل صحيح. يرجى الضغط على \"إعادة تعيين المجموعات\" واعادة المحاولة." + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "المجلد مُعد بشكل غير صحيح. يرجى الضغط على \"إعادة تعيين المجموعات\" وحاول مرة أخرى." + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Složka je nesprávně nastavena. Prosím klikněte na \"Resetovat Kolekce\" a zkuste to znovu." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Der Ordner ist nicht ordnungsgemäß eingerichtet. Bitte tippen Sie auf \"Sammlungen zurücksetzen\" und versuchen Sie es erneut." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "La carpeta no está configurada correctamente. Pulsa \"Restablecer colecciones\" y vuelve a intentarlo." + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "El folder no está configurado correctamente. Favor de presionar \"Reiniciar Colecciones\" e intente de nuevo." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Le dossier est mal configuré. Appuyez sur \"Réinitialiser les Collections\" et réessayez." + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Le dossier est mal configuré. Veuillez appuyer sur \"Réinitialiser les collections\" et réessayer." + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Le dossier est mal installé. Veuillez cliquer sur \"réinitialiser collections\" et réessayer." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "A mappa nincs megfelelően beállítva. Koppintson a \"Gyűjtemények visszaállítása\" gombra, és próbálja újra." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "フォルダが正しく設定されていません。「コレクションをリセット」をタップして、もう一度やり直してください。" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "폴더 설정이 올바르지 않습니다. \"컬렉션 초기화\"를 누른 후 다시 시도해주세요." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "De folder is incorrect ingesteld. Druk alsjeblieft op “herstel Collecties” en probeer het opnieuw." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Folder jest nieprawidłowo skonfigurowany. Kliknij „Resetuj kolekcje” i spróbuj ponownie." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ошибка. Нажмите \"Сбросить коллекции\" и попробуйте снова." + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "โฟลเดอร์ถูกตั้งค่าไม่ถูกต้อง กรุณาแตะ \"รีเซ็ตคอลเลคชั่น\" แล้วลองอีกครั้ง" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Klasör uygunsuz kurulmuş. Lütfen \"Koleksiyonları Sıfırla\" tuşuna basıp tekrar deneyin." + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thư mục được thiết lập không đúng cách. Nhấn vào \"Đặt lại Bộ sưu tập\" và thử lại." + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "資料夾設置不正確。請點選「重設收藏」後再試一次。" + } + } + } + }, + "The PosterBoard app will now open. Please close it from the app switcher." : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تطبيق PosterBoard سيفتح الآن. الرجاء اغلاقه من واجهة التبديل بين التطبيقات." + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "سيتم فتح تطبيق PosterBoard الآن. يرجى إغلاقه من قائمة التطبيقات." + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "تطبيق PosterBoard بيفتح الان. قفله من السويتشر." + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "PosterBoard aplikace se teď otevře. Prosím zavřete ji z Nedávných aplikací." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Die PosterBoard App wird nun geöffnet. Bitte schließen Sie sie über den App-Switcher." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Se abrirá la aplicación PosterBoard. Ciérrela desde el selector de aplicaciones." + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "La app PosterBoard se abrirá. Por favor ciérrala del multitareas." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "L'application PosterBoard est maintenant ouverte. Veuillez la fermer à partir du sélecteur d'applications." + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "L'application PosterBoard s'ouvrira maintenant. Veuillez le fermer à partir du commutateur d'application." + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "L'appli PosterBoard sera maintenant lancé. Veuillez le fermer a partir du sélecteur d'applications." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Megnyílik a PosterBoard alkalmazás. Kérjük, zárja be az alkalmazásváltóból." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "PosterBoardアプリが開きます。アプリスイッチャーから閉じてください。" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "PosterBoard 앱이 열립니다. 앱 전환기에서 닫아주세요." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "De PosterBoard app opent nu. Sluit het af van de app switcher." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aplikacja Posterboard zostanie otwarta. Proszę zamknąć ją w przełączniku aplikacji." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "PosterBoard сейчас будет открыт. Закройте его принудительно" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "แอปโปสเตอร์บอร์ดจะถึกเปิด ให้คุณปิดมันในหน้าปัดขึ้น" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "PosterBoard uygulaması şimdi açılacak. Lütfen uygulama değiştiriciden kapatın." + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ứng dụng PosterBoard đã được mở. Hãy đóng nó trong đa nhiệm." + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "PosterBoard 應用程式將立即開啟。請從應用程式切換器中將其關閉。" + } + } + } + }, + "The video you imported is too long! Your video must be %@ seconds or less." : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الفيديو الذي قمتَ باستيراده طويل جداً! يجب أن يكون الفيديو %@ ثانية أو أقل." + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "الفيديو الذي قمت باستيراده طويل جدًا! يجب أن يكون الفيديو %@ ثانية أو أقل." + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "الفيديو الذي استوردته طويل جدًا! يجب أن يكون طول الفيديو %@ ثانية أو أقل." + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Video které jste importovali je příliš dlouhé! Musí mít %@ sekund nebo méně." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Das Video, das sie importiert haben, ist zu lang! Ihr Video muss %@ Sekunden oder kürzer sein." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "El video que importaste es demasiado largo! Tu video debe tener %@ segundos o menos" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "¡El video importado es muy largo! Tu video debe durar %@ segundos o menos." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "La vidéo que vous avez importée est trop longue! Votre vidéo doit être de %@ secondes ou moins." + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "La vidéo que vous avez importer es trop longue! Votre vidéo doit être de de 10 secondes ou moins." + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "La vidéo que vous avez sélectionné est trop long! Votre vidéo doit être de %@ secondes ou moins." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Az importált videó túl hosszú! A videó hossza legfeljebb %@ másodperc lehet." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "インポートした動画が長すぎます!動画は%@秒以内である必要があります。" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "가져온 비디오가 너무 깁니다! %@초 이하의 비디오만 허용됩니다." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "De geïmporteerde video is te lang! De video mag maximaal %@ seconden duren." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Film który zaimportowałeś jest za długi! Film musi mieć %@ sekund lub mniej." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ваше видео слишком длинное! Оно должно быть не больше %@ секунд" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "วิดีโอที่จะนำเข้ายาวเกิน! วิดีโอต้องสั้นกว่า %@ วินาที" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "İçe aktardığın video çok uzun! Video en fazla %@ veya daha az olmalı." + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bạn nhập video dài quá! Video của bạn cần phải ít hơn hoặc vừa đủ %@ giây." + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "您匯入的影片太長!影片長度必須在 %@ 秒以內。" + } + } + } + }, + "To apply, PosterBoard will need to open." : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "لتطبيق التغييرات، سنحتاج لفتح تطبيق PosterBoard." + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "لتطبيق ذلك، يجب فتح PosterBoard." + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "لتطبيق ذلك، سيحتاج PosterBoard إلى الفتح." + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pro aplikování se bude muset otevřít PosterBoard" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Um anzuwenden, Pocket Poster wird Posterboard öffnen." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Para aplicar, PosterBoard necesitara abrirse." + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Para aplicar, PosterBoard se abrirá." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pour l'appliquer, PosterBoard doit être ouvert." + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pour appliquer, PosterBoard doit être ouvert" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pour appliquer, PosterBoard devra ouvrir." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Az alkalmazáshoz a PosterBoardnak meg kell nyílnia." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "適用するには PosterBoard を開く必要があります。" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "적용하려면 PosterBoard가 열려야 합니다." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Om toe te passen, moet PosterBoard worden geopend." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aby zastosować PosterBoard musi zostać otwarty." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Чтобы обои установились, Pocket Poster потребуется открыть PosterBoard." + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ในการใช้งาน ตัวแอป PosterBoard จะจำเป็นต้องเปิดขึ้นมา" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Uygulamak için PosterBoard Açılacak." + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Để áp dụng, PosterBoard sẽ cần phải được mở." + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "若要套用,必須開啟 PosterBoard。" + } + } + } + }, + "To get the app bundle id, Nugget is required." : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "للحصول على معرّف bundle id الخاص بالتطبيق، تطبيق Nugget ضروري." + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "للحصول على مُعرّف حزمة التطبيق، يجب تثبيت Nugget." + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "للحصول على معرف حزمة التطبيق، يلزم استخدام Nugget." + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pro získání ID balíčku aplikace je potřeba Nugget." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Um die App-Bundle-ID zu bekommen, wird Nugget benötigt." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Para obteenr el bundle id de la aplicacion, se necesitará Nugget." + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Para obtener el Bundle ID de la app, se necesita Nugget." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pour obtenir l'identifiant du bundle d'application, Nugget est nécessaire." + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pour obtenir l'identifiant du bundle de l'application, Nugget est nécessaire." + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pour récupérer le Bundle ID de l'application, Nugget est requis." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nuggetre van szükség az App Bundle id megszerzéséhez." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アプリのバンドルIDを取得するには Nugget が必要です。" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "앱 번들 ID를 가져오려면 Nugget이 필요합니다." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Om de bundle-id van de app te verkrijgen, is Nugget vereist." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aby uzyskać identyfikator pakietu aplikacji, wymagany jest Nugget." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Чтобы получить App Hash, потребуется Nugget." + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ในการหา Bundle ID ของแอปจะต้องใช้ Nugget" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Paket kimliğini almak için Nugget gereklidir." + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Để lấy ID gói của ứng dụng, bạn cần phải sử dụng Nugget." + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "若要取得應用程式的 bundle ID,需安裝 Nugget。" + } + } + } + }, + "Version %@ (%@)" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الاصدار %1$@ (%2$@)" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "الإصدار %1$@ (%2$@)" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "الإصدار %1$@ (%2$@)" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Verze %1$@ (%2$@)" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Version %1$@ (%2$@)" + } + }, + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "Version %1$@ (%2$@)" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Version %1$@ (%2$@)" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Versión %1$@ (%2$@)" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Version %1$@ (%2$@)" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Version 1" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Version %1$@ (%2$@)" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Verzió %1$@ (%2$@)" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "バージョン %1$@ (%2$@)" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "버전 %1$@ (%2$@)" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Versie %1$@ (%2$@)" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wersja %1@ (%2$@)" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Версия %1$@ (%2$@)" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "เวอร์ชั่น %1$@ (%2$@)" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sürüm %1$@ (%2$@)" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Phiên bản %1@ (%2$@)" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "版本 %1$@(%2$@)" + } + } + } + }, + "Videos" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الفيديوهات" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "الفديوهات" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "فيديو" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Videa" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Videos" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Videos" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Videos" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vidéos" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vidéos" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vidéos" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Videók" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "動画" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "비디오" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Videos" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wideo" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Видео" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "วิดีโอ" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Videolar" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Videos" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "影片" + } + } + } + }, + "View on GitHub" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "المشاهدة على GitHub" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "عرض على GitHub" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "انظر على Github" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zobrazit na GitHubu" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Auf GitHub ansehen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ver en GitHub" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ver en GitHub" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voir sur GitHub" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Regarder sur GitHub" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voir sur GitHub" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Megtekintés a GitHubon" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "GitHubで見る" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "GitHub에서 보기" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bekijk op GitHub" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zobacz na GitHubie" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "GitHub" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ดูบน GitHub" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Github üzerinde görüntüle" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xem trên Github" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "在 GitHub 上查看" + } + } + } + }, + "Website Designer" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "مصمم الموقع" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "مصمم الموقع الإلكتروني" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "ديزانير الموقع" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Designer Webovky" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Website-Designer" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Diseñador de la pagina" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Diseñador del sitio web" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Concepteur de site web" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Designer du site" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Designer de site" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Weboldal Designere" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ウェブサイトデザイナー" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "웹사이트 디자이너" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Website Designer" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Designer Strony" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Дизайнер Веб-сайта" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ผู้ออกแบบเว็บไซต์" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "İnteret sayfası tasarımcısı" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhà thiết kế Website" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "網站設計師" + } + } + } + }, + "Welcome to Pocket Poster!" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "مرحباً ب Pocket Poster!" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "مرحبًا بك في Pocket Poster!" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "مرحبا الى Pocket Poster!" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vítejte v Pocket Posteru!" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Willkommen zum Pocket Poster!" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bienvenido a Pocket Poster!" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "¡Bienvenid@ a Pocket Poster!" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bienvenue à Pocket Poster!" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bienvenu sur pocket poster!" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bienvenue à Pocket Poster" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Üdvözlünk a Pocket Poster-be!" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster へようこそ!" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster에 오신 것을 환영합니다!" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Welkom bij Pocket Poster!" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Witaj w Pocket Poster!" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Добро пожаловать в Pocket Poster!" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "ยินดีสู่ Pocket Poster!" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster'a Hoşgeldiniz!" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chào mừng đến với Pocket Poster!" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "歡迎使用 Pocket Poster!" + } + } + } + }, + "Would you like to download the file %@?" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "هل ترغب بتحميل الملف %@?" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "هل تريد تحميل الملف %@؟" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "هل ترغب في تنزيل الملف %@؟" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Přejete si stahnout soubor %@?" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Möchten Sie die Datei %@ herunterladen?" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "¿Quieres descargar el archivo %@?" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Deseas descargar el archivo %@?" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voulez-vous télécharger le fichier %@?" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voulez vous télécharger le fichier" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voulez-vous télécharger le fichier %@?" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Szeretnéd letölteni a(z) %@ fájlt?" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ファイルをダウンロードしますか?" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ 파일을 다운로드하시겠습니까?" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wil je dit bestand downloaden %@?" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Czy chcesz pobrać plik %@?" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Вы хотите скачать файл %@?" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "คุณต้องการดาวน์โหลดไฟล์ %@ หรือไม่?" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dosyayı indirmek ister misiniz %@?" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bạn có muốn tải xuống tệp %@ không?" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "您要下載檔案 %@ 嗎?" + } + } + } + }, + "You can find wallpapers on the official Cowabun.ga website." : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "يمكنك العثور على موقع Cowabun.ga الرسمي." + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "يمكنك العثور على الخلفيات في موقع Cowabun.ga الرسمي." + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "يمكنك العثور على الخلفيات على الموقع الرسمي Cowabun.ga." + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tapety můžete najít na oficiálních stránkách Cowagun.ga." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sie können Hintergrundbilder auf der offiziellen Cowabun.ga Webseite finden." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Puedes encontrar fondos de pantalla en el sitio oficial Cowabun.ga" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Puedes encontrar fondos de pantalla en el sitio web oficial Cowabun.ga." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vous pouvez trouver des fonds d'écran sur le site officiel de Cowabun.ga." + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vous pouvez trouver des fond écran sur le site officiel Cowabung.ga" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vous pouvez trouver des fonds d'écran sur le site officiel Cowabun.ga." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Háttérképeket a hivatalos Cowabun.ga weboldalon találhatsz." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "公式の Cowabun.ga サイトで壁紙を見つけることができます。" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "공식 Cowabun.ga 웹사이트에서 배경화면을 찾을 수 있습니다." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Je kunt achtergronden vinden op de officiële Cowabun.ga website." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mozesz znaleźć tapety na oficjalnej stronie Cowabun.ga" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Вы можете найти обои на официальном сайте Cowabun.ga." + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "คุณสามารถหาวอลเปเปอร์ได้ที่เว็บไซต์ Cowabun.ga" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cowabun.ga websitesinde duvar kağıtları bulabilirsiniz." + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bạn có thể tìm kiếm các hình nền trên trang web Cowabun.ga." + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "您可以在 Cowabun.ga 官方網站上找到壁紙。" + } + } + } + }, + "You can install an optional shortcut if the original method fails." : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "يمكنك تحميل اختصار اختياري اذا فشلت الطريقة الاساسية." + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "يمكنك تثبيت اختصار اختياري إذا فشلت الطريقة الأصلية." + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "يمكنك تثبيت اختصار اختياري إذا فشلت الطريقة الأصلية." + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Můžete nainstalovat volitelnou zkratku když původní metoda selže." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sie können den optionalen Kurzbefehl installieren, wenn die originale Methode fehlgeschlagen hat." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Puedes instalar un atajo opcional si el metodo original falla." + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Puedes instalar un atajo opcional si el método original falla." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vous pouvez installer un raccourci facultatif si la méthode originale échoue." + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vous pouvez installer un raccourci optionnel si la méthode original ne fonctionne pas." + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vous pouvez installer un raccourci optionnel si la méthode originelle échoue." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Telepíthetsz egy opcionális parancsot, ha az eredeti módszer nem működik." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : " 元の方法がうまくいかない場合は、オプションのショートカットをインストールできます。" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "원래 방법이 실패하면 선택적 단축어를 설치할 수 있습니다." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Je kunt een optionele snelkoppeling installeren als de oorspronkelijke methode faalt." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Możesz zainstalować opcjonalny skrót jeżeli oryginalna metoda nie zadziała." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Вы можете установить Fallback Shortcut если встроенный метод не работает." + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "คุณสามารถติดตั้ง Shortcut เพิ่มได้ถ้าวิธีเดิมใช้ไม่ได้" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Orijinal yöntem başarısız olursa opsiyonel bir kestirme indirebilirsiniz." + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bạn có thể tải xuống Phím tắt Dự phòng nếu cách làm bình thường bị lỗi." + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "如果原始方法失敗,您可以安裝選用的捷徑。" + } + } + } + }, + "You can only apply %@ descriptors." : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "يمكنك فقط تطبيق %@ descriptors." + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "يمكنك تطبيق %@ وصف فقط." + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "يمكنك تطبيق أوصاف %@ فقط." + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Můžete aplikovat pouze %@ descriptory." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sie können nur %@-Deskriptoren anwenden." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sólo puedes aplicar descriptores %@." + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Solo puedes aplicar descriptores %@." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vous ne pouvez appliquer que des descripteurs %@." + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "You pouvez seulement appliquer 10 descriptions." + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vous pouvez que appliquer des descripteurs %@." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Csak %@ descriptort alkalmazhatsz." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ 記述子のみ適用できます。" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@개의 설명자만 적용할 수 있습니다." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Je kan alleen kenmerken %@ aanpassen." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Można stosować tylko deskryptory %@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Вы можете установить только %@ дескрипторов." + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "คุณสามารถใช้ descriptors %@ ได้เท่านั้น" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sadece %@ descriptors uygulanabilir." + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bạn chỉ có thể áp dụng %@ mô tả." + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "您只能套用 %@ 個描述項。" + } + } + } + }, + "Your app hash is incorrect. Please set it again." : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "هاش تطبيقك خاطئ. رجاءً عيينه مرة اخرى." + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "الهاش الخاص بالتطبيق غير صحيح. يرجى إعادة الإعداد." + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "هاش البرنامج غير صحيح. يرجى إعادة تعيينه." + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Váš hash aplikace je nesprávný. Prosím nastavte ho znovu." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ihr App-Hash ist falsch. Bitte stellen Sie ihn erneut ein." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "El hash de tu aplicación es incorrecto. Por favor, configúralo de nuevo." + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "El Hash de tu app es incorrecto. Por favor configúralo de nuevo." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Votre App Hash est incorrect. Veuillez le redéfinir." + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Le hachage de votre application est incorrect. Veuillez le régler à nouveau." + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Votre hach d'application est incorrect. Veuillez le régler de nouveau." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Az App hashed helytelen. Kérlek állítsd be újra." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アプリのハッシュが正しくありません。もう一度設定してください。" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "앱 해시가 올바르지 않습니다. 다시 설정해주세요." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jou app hash is incorrect. Stel hem opnieuw in." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Twoj hash jest nieprawidłowy. Ustaw go jeszcze raz." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ваш App hash неправильный. Впишите его заново." + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "แฮชแอปของคุณไม่ถูกต้อง กรุณาตั้งค่าใหม่อีกครั้ง" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Uygulama Hash'iniz geçersiz . Lütfen tekrar giriniz." + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mã định danh Ứng dụng chưa chính xác. Vui lòng đặt lại." + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "您的應用程式雜湊值不正確。請重新設定。" + } + } + } + }, + "Your PosterBoard will refresh automatically." : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تطبيق PosterBoard خاصتك سيتم تحديثه تلقائياً." + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "سيتم تحديث PosterBoard الخاص بك تلقائيًا." + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "سيتم تحديث PosterBoard تلقائيًا." + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Váš PosterBoard se automaticky znovu načte." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ihr PosterBoard wird automatisch aktualisiert." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Su PosterBoard se actualizará automáticamente." + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Su PosterBoard se actualizará automáticamente." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Votre PosterBoard se rafraîchit automatiquement." + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Votre PosterBoard mettra jour automatiquement" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Votre PosterBoard sera rafraîchi automatiquement." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "A PosterBoardod automatikusan újra fog tölteni." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "PosterBoardは自動的に更新されます。" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "PosterBoard가 자동으로 새로고침됩니다." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jou PosterBoard ververst automatisch." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Twój posterboard odświeży się automatycznie." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ваш PosterBoard будет перезагружен автоматически." + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "โปสเตอร์บอร์ดของคุณจะรีเฟรชโดยอัตโนมัติ" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "PosterBoard'ınız otomatik olarak yenilenecektir." + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "PosterBoard sẽ được tự động làm mới." + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "您的 PosterBoard 將會自動重新整理。" + } + } + } + } + }, + "version" : "1.0" +} \ No newline at end of file diff --git a/Pocket Poster/Pocket-Poster-InfoPlist.xcstrings b/Pocket Poster/Pocket-Poster-InfoPlist.xcstrings new file mode 100644 index 0000000..57245f9 --- /dev/null +++ b/Pocket Poster/Pocket-Poster-InfoPlist.xcstrings @@ -0,0 +1,262 @@ +{ + "sourceLanguage" : "en", + "strings" : { + "CFBundleName" : { + "comment" : "Bundle name", + "extractionState" : "extracted_with_value", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster Ar" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "Pocket Poster" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + } + } + }, + "Nugget Wallpaper" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "خلفيات Nugget" + } + }, + "ar-AE" : { + "stringUnit" : { + "state" : "translated", + "value" : "خلفيات Nugget" + } + }, + "ar-SA" : { + "stringUnit" : { + "state" : "translated", + "value" : "خلفيات Nugget" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nugget Tapeta" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nugget Hintergrundbilder" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nugget Wallpaper" + } + }, + "es-MX" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nugget Wallpaper" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fond d'écran Nugget" + } + }, + "fr-BE" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fond écran nugget" + } + }, + "fr-CA" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fond d'écran Nugget" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nugget Háttérkép" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nugget Wallpaper" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nugget 배경화면" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nugget Achtergrond" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tapeta Nugget" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Обои Nugget" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "วอลเปเปอร์ Nugget" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nugget Duvar Kağıdı" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hình nền Nugget" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nugget 壁紙" + } + } + } + } + }, + "version" : "1.0" +} \ No newline at end of file diff --git a/Pocket Poster/Pocket_PosterApp.swift b/Pocket Poster/Pocket_PosterApp.swift index 1e2c098..8e54693 100644 --- a/Pocket Poster/Pocket_PosterApp.swift +++ b/Pocket Poster/Pocket_PosterApp.swift @@ -13,41 +13,32 @@ struct Pocket_PosterApp: App { @AppStorage("finishedTutorial") var finishedTutorial: Bool = false @AppStorage("pbHash") var pbHash: String = "" - @State var selectedTendies: [URL] = [] - @State var downloadURL: String? = nil - @State var showDownloadAlert = false var body: some Scene { WindowGroup { Group { if finishedTutorial { - ContentView(selectedTendies: $selectedTendies) + RootView() } else { OnBoardingView(cards: onBoardingCards, isFinished: $finishedTutorial) } } .transition(.opacity) .animation(.easeOut(duration: 0.5), value: finishedTutorial) - .alert("Download Tendies File", isPresented: $showDownloadAlert) { - Button("OK") { - downloadWallpaper() - } - Button("Cancel", role: .cancel) {} - } message: { - Text("Would you like to download the file \(DownloadManager.getWallpaperNameFromURL(string: downloadURL ?? "/Unknown"))?") - } .onOpenURL(perform: { url in // Download URL if url.absoluteString.starts(with: "pocketposter://download") { // prohibit to only tendies files if !url.absoluteString.hasSuffix(".tendies") { - UIApplication.shared.alert(body: "Only .tendies files can be downloaded!") - } else if selectedTendies.count >= PosterBoardManager.MaxTendies { - UIApplication.shared.alert(title: "Max Tendies Reached", body: "You can only apply \(PosterBoardManager.MaxTendies) descriptors.") + UIApplication.shared.alert(body: NSLocalizedString("Only .tendies files can be downloaded!", comment: "")) + } else if PosterBoardManager.shared.selectedTendies.count >= PosterBoardManager.MaxTendies { + UIApplication.shared.alert(title: NSLocalizedString("Max Tendies Reached", comment: ""), body: String(format: NSLocalizedString("You can only apply %@ descriptors.", comment: ""), "\(PosterBoardManager.MaxTendies)")) } else { downloadURL = url.absoluteString.replacingOccurrences(of: "pocketposter://download?url=", with: "") - showDownloadAlert = true + UIApplication.shared.confirmAlert(title: NSLocalizedString("Download Tendies File", comment: ""), body: String(format: NSLocalizedString("Would you like to download the file %@?", comment: ""), "\(DownloadManager.getWallpaperNameFromURL(string: downloadURL ?? "/Unknown"))"), onOK: { + downloadWallpaper() + }, noCancel: false) } } // App Hash URL @@ -55,18 +46,18 @@ struct Pocket_PosterApp: App { pbHash = url.absoluteString.replacingOccurrences(of: "pocketposter://app-hash?uuid=", with: "") } else if url.pathExtension == "tendies" { - if selectedTendies.count >= PosterBoardManager.MaxTendies { - UIApplication.shared.alert(title: "Max Tendies Reached", body: "You can only apply \(PosterBoardManager.MaxTendies) descriptors.") + if PosterBoardManager.shared.selectedTendies.count >= PosterBoardManager.MaxTendies { + UIApplication.shared.alert(title: NSLocalizedString("Max Tendies Reached", comment: ""), body: String(format: NSLocalizedString("You can only apply %@ descriptors.", comment: ""), "\(PosterBoardManager.MaxTendies)")) } else { // copy it over to the KFC bucket do { let newURL = try DownloadManager.copyTendies(from: url) - selectedTendies.append(newURL) + PosterBoardManager.shared.selectedTendies.append(newURL) Haptic.shared.notify(.success) - UIApplication.shared.alert(title: "Successfully imported \(url.lastPathComponent)", body: "") + UIApplication.shared.alert(title: String(format: NSLocalizedString("Successfully imported %@", comment: ""), "\(url.lastPathComponent)"), body: "") } catch { Haptic.shared.notify(.error) - UIApplication.shared.alert(title: "Failed to import tendies", body: error.localizedDescription) + UIApplication.shared.alert(title: NSLocalizedString("Failed to import tendies", comment: ""), body: error.localizedDescription) } } } @@ -81,7 +72,7 @@ struct Pocket_PosterApp: App { Task { do { let newURL = try await DownloadManager.downloadFromURL(string: downloadURL!) - selectedTendies.append(newURL) + PosterBoardManager.shared.selectedTendies.append(newURL) Haptic.shared.notify(.success) UIApplication.shared.dismissAlert(animated: true) } catch { @@ -91,4 +82,9 @@ struct Pocket_PosterApp: App { } } } + + init() { + // clear the videos cache + try? FileManager.default.removeItem(at: SymHandler.getDocumentsDirectory().appendingPathComponent("Videos", conformingTo: .directory)) + } } diff --git a/Pocket Poster/Resources/VideoCAML/com.apple.posterkit.provider.descriptor.identifier b/Pocket Poster/Resources/VideoCAML/com.apple.posterkit.provider.descriptor.identifier new file mode 100644 index 0000000..5018e06 --- /dev/null +++ b/Pocket Poster/Resources/VideoCAML/com.apple.posterkit.provider.descriptor.identifier @@ -0,0 +1 @@ +9183 \ No newline at end of file diff --git a/Pocket Poster/Resources/VideoCAML/com.apple.posterkit.role.identifier b/Pocket Poster/Resources/VideoCAML/com.apple.posterkit.role.identifier new file mode 100644 index 0000000..b92284b --- /dev/null +++ b/Pocket Poster/Resources/VideoCAML/com.apple.posterkit.role.identifier @@ -0,0 +1 @@ +PRPosterRoleLockScreen \ No newline at end of file diff --git a/Pocket Poster/Resources/VideoCAML/providerInfo.plist b/Pocket Poster/Resources/VideoCAML/providerInfo.plist new file mode 100644 index 0000000..81447ad Binary files /dev/null and b/Pocket Poster/Resources/VideoCAML/providerInfo.plist differ diff --git a/Pocket Poster/Resources/VideoCAML/versions/1/contents/9183.Custom-810w-1080h@2x~ipad.wallpaper/9183.Custom_Floating-810w-1080h@2x~ipad.ca/index.xml b/Pocket Poster/Resources/VideoCAML/versions/1/contents/9183.Custom-810w-1080h@2x~ipad.wallpaper/9183.Custom_Floating-810w-1080h@2x~ipad.ca/index.xml new file mode 100644 index 0000000..5fa23a9 --- /dev/null +++ b/Pocket Poster/Resources/VideoCAML/versions/1/contents/9183.Custom-810w-1080h@2x~ipad.wallpaper/9183.Custom_Floating-810w-1080h@2x~ipad.ca/index.xml @@ -0,0 +1,58 @@ + + + + + assetManifest + assetManifest.caml + documentHeight + 3176 + documentResizesToView + + documentWidth + 3176 + dynamicGuidesEnabled + + geometryFlipped + + guidesEnabled + + interactiveMouseEventsEnabled + + interactiveShowsCursor + + interactiveTouchEventsEnabled + + loopEnd + 0.0 + loopStart + 0.0 + loopingEnabled + + multitouchDisablesMouse + + multitouchEnabled + + presentationMouseEventsEnabled + + presentationShowsCursor + + presentationTouchEventsEnabled + + rootDocument + main.caml + savesWindowFrame + + scalesToFitInPlayer + + showsTouches + + snappingEnabled + + timelineMarkers + [(null)] + touchesColor + 1 1 0 0.8 + unitsInPixelsInPlayer + + + diff --git a/Pocket Poster/Resources/VideoCAML/versions/1/contents/9183.Custom-810w-1080h@2x~ipad.wallpaper/9183.Custom_Floating-810w-1080h@2x~ipad.ca/main.caml b/Pocket Poster/Resources/VideoCAML/versions/1/contents/9183.Custom-810w-1080h@2x~ipad.wallpaper/9183.Custom_Floating-810w-1080h@2x~ipad.ca/main.caml new file mode 100644 index 0000000..bb97379 --- /dev/null +++ b/Pocket Poster/Resources/VideoCAML/versions/1/contents/9183.Custom-810w-1080h@2x~ipad.wallpaper/9183.Custom_Floating-810w-1080h@2x~ipad.ca/main.caml @@ -0,0 +1,40 @@ + + + + + diff --git a/Pocket Poster/Resources/VideoCAML/versions/1/contents/9183.Custom-810w-1080h@2x~ipad.wallpaper/Wallpaper.plist b/Pocket Poster/Resources/VideoCAML/versions/1/contents/9183.Custom-810w-1080h@2x~ipad.wallpaper/Wallpaper.plist new file mode 100644 index 0000000..54f1f1b --- /dev/null +++ b/Pocket Poster/Resources/VideoCAML/versions/1/contents/9183.Custom-810w-1080h@2x~ipad.wallpaper/Wallpaper.plist @@ -0,0 +1,46 @@ + + + + + appearanceAware + + assets + + lockAndHome + + default + + backgroundAnimationFileName + 9183.Custom_Background-810w-1080h@2x~ipad.ca + floatingAnimationFileNameKey + 9183.Custom_Floating-810w-1080h@2x~ipad.ca + identifier + 9183 + name + Chip + type + LayeredAnimation + + + + contentVersion + 2.01 + family + Chip + identifier + 9183 + logicalScreenClass + 810w-1080h@2x~ipad + name + Chip + preferredProminentColor + + dark + #00000 + default + #FFFFFF + + version + 1 + + diff --git a/Pocket Poster/Resources/VideoCAML/versions/1/contents/com.apple.posterkit.provider.contents.userInfo b/Pocket Poster/Resources/VideoCAML/versions/1/contents/com.apple.posterkit.provider.contents.userInfo new file mode 100644 index 0000000..f94f23a --- /dev/null +++ b/Pocket Poster/Resources/VideoCAML/versions/1/contents/com.apple.posterkit.provider.contents.userInfo @@ -0,0 +1,14 @@ + + + + + posterEnvironmentOverrides + + e30= + + wallpaperRepresentingFileName + 9183.Custom-810w-1080h@2x~ipad.wallpaper + wallpaperRepresentingIdentifier + 9999 + + diff --git a/Pocket Poster/Views/ContentView.swift b/Pocket Poster/Views/ContentView.swift index 7827070..576c748 100644 --- a/Pocket Poster/Views/ContentView.swift +++ b/Pocket Poster/Views/ContentView.swift @@ -7,6 +7,7 @@ import SwiftUI import UniformTypeIdentifiers +import PhotosUI extension UIDocumentPickerViewController { @objc func fix_init(forOpeningContentTypes contentTypes: [UTType], asCopy: Bool) -> UIDocumentPickerViewController { @@ -18,13 +19,11 @@ struct ContentView: View { // Prefs @AppStorage("pbHash") var pbHash: String = "" + @ObservedObject var pbManager = PosterBoardManager.shared + private let buildNumber = Bundle.main.infoDictionary?["CFBundleVersion"] as? String ?? "" @State var showTendiesImporter: Bool = false - var selectedTendies: Binding<[URL]> - - @State var showErrorAlert = false - @State var lastError: String? @State var hideResetHelp: Bool = true var body: some View { @@ -40,16 +39,16 @@ struct ContentView: View { UIImpactFeedbackGenerator(style: .soft).impactOccurred() showTendiesImporter.toggle() }) { - Text("Select Tendies") + Label("Select Tendies", systemImage: "document.circle") } .buttonStyle(TintedButton(color: .green, fullwidth: true)) } .listRowInsets(EdgeInsets()) .padding(7) - if !selectedTendies.wrappedValue.isEmpty { + if !pbManager.selectedTendies.isEmpty { Section { - ForEach(selectedTendies.wrappedValue, id: \.self) { tendie in + ForEach(pbManager.selectedTendies, id: \.self) { tendie in Text(tendie.deletingPathExtension().lastPathComponent) } .onDelete(perform: delete) @@ -63,42 +62,56 @@ struct ContentView: View { Text("Enter your PosterBoard app hash in Settings.") } else { VStack { - if !selectedTendies.wrappedValue.isEmpty { + if !pbManager.selectedTendies.isEmpty || !pbManager.videos.isEmpty { Button(action: { UIImpactFeedbackGenerator(style: .soft).impactOccurred() - UIApplication.shared.alert(title: NSLocalizedString("Applying Tendies...", comment: ""), body: NSLocalizedString("Please wait", comment: ""), animated: false, withButton: false) + UIApplication.shared.alert(title: NSLocalizedString("Applying Wallpapers...", comment: ""), body: NSLocalizedString("Please wait", comment: ""), animated: false, withButton: false) - DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) { + DispatchQueue.global(qos: .userInitiated).async { do { - try PosterBoardManager.applyTendies(selectedTendies.wrappedValue, appHash: pbHash) - selectedTendies.wrappedValue.removeAll() + try pbManager.applyTendies(appHash: pbHash) SymHandler.cleanup() // just to be extra sure - try? FileManager.default.removeItem(at: PosterBoardManager.getTendiesStoreURL()) - Haptic.shared.notify(.success) + try? FileManager.default.removeItem(at: pbManager.getTendiesStoreURL()) UIApplication.shared.dismissAlert(animated: false) - UIApplication.shared.confirmAlert(title: "Success!", body: "The PosterBoard app will now open. Please close it from the app switcher.", onOK: { - if !PosterBoardManager.openPosterBoard() { - UIApplication.shared.confirmAlert(title: "Falling Back to Shortcut", body: "PosterBoard failed to open directly. The fallback shortcut will now be opened.", onOK: { - PosterBoardManager.runShortcut(named: "PosterBoard") - }, noCancel: true) - } - }, noCancel: true) + DispatchQueue.main.asyncAfter(deadline: .now() + 0.35, execute: { + pbManager.selectedTendies.removeAll() + Haptic.shared.notify(.success) + UIApplication.shared.confirmAlert(title: NSLocalizedString("Success!", comment: ""), body: NSLocalizedString("The PosterBoard app will now open. Please close it from the app switcher.", comment: ""), onOK: { + if !pbManager.openPosterBoard() { + UIApplication.shared.confirmAlert(title: NSLocalizedString("Falling Back to Shortcut", comment: ""), body: NSLocalizedString("PosterBoard failed to open directly. The fallback shortcut will now be opened.", comment: ""), onOK: { + pbManager.runShortcut(named: "PosterBoard") + }, noCancel: true) + } + }, noCancel: true) + }) + } catch CocoaError.fileWriteUnknown { + presentError(ApplyError.wrongAppHash) + } catch CocoaError.fileWriteFileExists { + presentError(ApplyError.collectionsNeedsReset) } catch { - Haptic.shared.notify(.error) - SymHandler.cleanup() - UIApplication.shared.dismissAlert(animated: false) - UIApplication.shared.alert(body: error.localizedDescription) + print(error.localizedDescription) + presentError(ApplyError.unexpected(info: error.localizedDescription)) } } }) { - Text("Apply") + Label("Apply", systemImage: "checkmark.circle") } .buttonStyle(TintedButton(color: .blue, fullwidth: true)) } Button(action: { - hideResetHelp = false + guard let lang = UserDefaults.standard.stringArray(forKey: "AppleLanguages")?.first else { + hideResetHelp = false // fallback to tutorial + return + } + UIApplication.shared.confirmAlert(title: NSLocalizedString("Reset Collections", comment: ""), body: NSLocalizedString("Do you want to reset collections?", comment: ""), onOK: { + if pbManager.setSystemLanguage(to: lang) { + UIApplication.shared.alert(title: NSLocalizedString("Collections Successfully Reset!", comment: ""), body: NSLocalizedString("Your PosterBoard will refresh automatically.", comment: "")) + } else { + UIApplication.shared.alert(body: "The API failed to call correctly.\nSystem Locale Code: \(lang)") + } + }, noCancel: false) }) { - Text("Reset Collections") + Label("Reset Collections", systemImage: "arrow.clockwise.circle") } .buttonStyle(TintedButton(color: .red, fullwidth: true)) } @@ -130,21 +143,16 @@ struct ContentView: View { .fileImporter(isPresented: $showTendiesImporter, allowedContentTypes: [UTType(filenameExtension: "tendies", conformingTo: .data)!], allowsMultipleSelection: true, onCompletion: { result in switch result { case .success(let url): - if selectedTendies.wrappedValue.count + url.count > PosterBoardManager.MaxTendies { - UIApplication.shared.alert(title: "Max Tendies Reached", body: "You can only apply \(PosterBoardManager.MaxTendies) descriptors.") + if pbManager.selectedTendies.count + url.count > PosterBoardManager.MaxTendies { + UIApplication.shared.alert(title: NSLocalizedString("Max Tendies Reached", comment: ""), body: String(format: NSLocalizedString("You can only apply %@ descriptors.", comment: ""), "\(PosterBoardManager.MaxTendies)")) } else { - selectedTendies.wrappedValue.append(contentsOf: url) + pbManager.selectedTendies.append(contentsOf: url) } case .failure(let error): - lastError = error.localizedDescription - showErrorAlert.toggle() + Haptic.shared.notify(.error) + UIApplication.shared.alert(body: error.localizedDescription) } }) - .alert("Error", isPresented: $showErrorAlert) { - Button("OK") {} - } message: { - Text(lastError ?? "???") - } .overlay { OnBoardingView(cards: resetCollectionsInfo, isFinished: $hideResetHelp) .opacity(hideResetHelp ? 0.0 : 1.0) @@ -154,11 +162,19 @@ struct ContentView: View { } func delete(at offsets: IndexSet) { - selectedTendies.wrappedValue.remove(atOffsets: offsets) + pbManager.selectedTendies.remove(atOffsets: offsets) } - init(selectedTendies: Binding<[URL]>) { - self.selectedTendies = selectedTendies + func presentError(_ error: ApplyError) { + SymHandler.cleanup() + UIApplication.shared.dismissAlert(animated: false) + DispatchQueue.main.asyncAfter(deadline: .now() + 0.35, execute: { + Haptic.shared.notify(.error) + UIApplication.shared.alert(body: error.localizedDescription) + }) + } + + init() { // Fix file picker let fixMethod = class_getInstanceMethod(UIDocumentPickerViewController.self, #selector(UIDocumentPickerViewController.fix_init(forOpeningContentTypes:asCopy:)))! let origMethod = class_getInstanceMethod(UIDocumentPickerViewController.self, #selector(UIDocumentPickerViewController.init(forOpeningContentTypes:asCopy:)))! diff --git a/Pocket Poster/Views/NavigatorViews/VideoView.swift b/Pocket Poster/Views/NavigatorViews/VideoView.swift new file mode 100644 index 0000000..ed56f69 --- /dev/null +++ b/Pocket Poster/Views/NavigatorViews/VideoView.swift @@ -0,0 +1,205 @@ +// +// VideoView.swift +// Pocket Poster +// +// Created by lemin on 6/11/25. +// + +import SwiftUI +import PhotosUI +import AVKit + +struct VideoView: View { + @ObservedObject var pbManager = PosterBoardManager.shared + @AppStorage("ignoreDurationLimit") var ignoreDurationLimit: Bool = false + + @State var selectedVideo: PhotosPickerItem? + @State private var currentPage: Int = 0 + + @State private var currentDate = Date() + private let timer = Timer.publish(every: 1, on: .main, in: .common).autoconnect() // update every second + private var dateFormatter: DateFormatter { + let formatter = DateFormatter() + formatter.dateFormat = "EEEE, MMMM d" + return formatter + } + private var timeFormatter: DateFormatter { + let formatter = DateFormatter() + if Locale.current.hourCycle == .zeroToEleven || Locale.current.hourCycle == .oneToTwelve { + formatter.dateFormat = "h:mm" + } else { + formatter.dateFormat = "HH:mm" + } + return formatter + } + + var body: some View { + VStack { + GeometryReader { geom in + TabView(selection: $currentPage) { + ForEach(Array(pbManager.videos.enumerated()), id: \.offset) { idx, vid in + ZStack { + switch vid.loadState { + case .unknown: + EmptyView() + case .loading: + ProgressView() + case .loaded(let movie): + PlayerView(videoURL: movie.url) + .scaledToFill() + .frame(width: geom.size.width * 0.7, height: geom.size.height * 0.8) + .clipped() + VStack { + Text(dateFormatter.string(from: currentDate)) + .shadow(radius: 10) + + Text(timeFormatter.string(from: currentDate)) + .font(.system(size: 75, weight: .semibold, design: .rounded)) + .shadow(radius: 10) + Spacer() + } + .padding(.top, 45) + .foregroundStyle(.white) + case .failed: + Text("Failed") + } + } + .frame(width: geom.size.width * 0.7, height: geom.size.height * 0.8) + .shadow(radius: 5) + .background(Color.black.opacity(0.6)) + .cornerRadius(24) + .tag(idx) + .overlay { + RoundedRectangle(cornerRadius: 24) + .stroke(.gray, lineWidth: 4) + } + .overlay( + // Delete Button + DeleteButton(video: vid, onDelete: removeVideo), + alignment: .topLeading + ) + .overlay( + // Loops Button + Button(action: { + pbManager.videos[idx].autoReverses = !vid.autoReverses + }) { + Image(systemName: "arrow.left.arrow.right.circle") + .font(.title) + .foregroundStyle(Color(uiColor: .label)) + .background { + if vid.autoReverses { + Circle() + .foregroundStyle(.blue.opacity(0.8)) + .shadow(radius: 5) + } else { + Circle() + .foregroundStyle(.regularMaterial) + .shadow(radius: 5) + } + } + }.offset(x: 8, y: -8), + alignment: .topTrailing + ) + } + .onDelete(perform: removeVideo) + .onReceive(timer) { input in + currentDate = input + } + + // MARK: Select Photo Option + if selectedVideo == nil && pbManager.videos.count < 5 { + ZStack { + PhotosPicker(selection: $selectedVideo, matching: .videos, label: { + ZStack { + RoundedRectangle(cornerRadius: 24) + .fill(.gray.opacity(0.4)) + + Circle() + .frame(width: 40, height: 40) + .foregroundStyle(.blue) + + Image(systemName: "plus") + .font(.title) + .foregroundStyle(.white) + } + }) + } + .frame(width: geom.size.width * 0.7, height: geom.size.height * 0.8) + .shadow(radius: 5) + .background(Color.black.opacity(0.6)) + .cornerRadius(24) + .tag(pbManager.videos.count) + .overlay { + RoundedRectangle(cornerRadius: 24) + .stroke(.gray, lineWidth: 4) + } + } + } + .onChange(of: selectedVideo) { _ in + if selectedVideo == nil { return } + let id = pbManager.videos.count + pbManager.videos.append(.init(loadState: .loading)) + Task { + do { + if let movie = try await selectedVideo?.loadTransferable(type: Movie.self) { + await MainActor.run { + if !ignoreDurationLimit && VideoHandler.isVideoTooLong(at: movie.url) { + pbManager.videos.remove(at: id) + UIApplication.shared.alert(title: NSLocalizedString("Failed to Import Video", comment: ""), body: String(format: NSLocalizedString("The video you imported is too long! Your video must be %@ seconds or less.", comment: ""), "\(Int(VideoHandler.MaxDurationSecs))")) + } else { + pbManager.videos[id].loadState = .loaded(movie) + currentPage = id + } + } + } else { + await MainActor.run { + pbManager.videos[id].loadState = .failed + } + } + } catch { + await MainActor.run { + pbManager.videos[id].loadState = .failed + } + } + selectedVideo = nil + } + } + .tabViewStyle(PageTabViewStyle(indexDisplayMode: .always)) + } + } + } + + func removeVideo(at offsets: IndexSet) { + withAnimation { + pbManager.videos.remove(atOffsets: offsets) + } + } +} + +struct DeleteButton: View { + @Environment(\.editMode) var editMode + + let video: LoadInfo + @ObservedObject var pbManager = PosterBoardManager.shared + let onDelete: (IndexSet) -> () + + var body: some View { + VStack { + Button(action: { + if let index = pbManager.videos.firstIndex(of: video) { + self.onDelete(IndexSet(integer: index)) + } + }) { + Image(systemName: "minus.circle") + .foregroundStyle(.red) + .font(.title) + .background { + Circle() + .foregroundStyle(.regularMaterial) + .shadow(radius: 5) + } + } + .offset(x: -8, y: -8) + } + } +} diff --git a/Pocket Poster/Views/OnBoarding/OnBoardingPage.swift b/Pocket Poster/Views/OnBoarding/OnBoardingPage.swift index c4ae929..21e9e94 100644 --- a/Pocket Poster/Views/OnBoarding/OnBoardingPage.swift +++ b/Pocket Poster/Views/OnBoarding/OnBoardingPage.swift @@ -29,30 +29,30 @@ struct OnBoardingPage: Identifiable { let onBoardingCards: [OnBoardingPage] = [ .init( - title: "Welcome to Pocket Poster!", - description: "Here is a tutorial to help you get started with the app.", + title: NSLocalizedString("Welcome to Pocket Poster!", comment: ""), + description: NSLocalizedString("Here is a tutorial to help you get started with the app.", comment: ""), image: "Logo" ), .init( - title: "Install the Fallback Shortcut (Optional)", - description: "To apply, PosterBoard will need to open.\n\nYou can install an optional shortcut if the original method fails.", + title: NSLocalizedString("Install the Fallback Shortcut (Optional)", comment: ""), + description: NSLocalizedString("To apply, PosterBoard will need to open.", comment: "") + "\n\n" + NSLocalizedString("You can install an optional shortcut if the original method fails.", comment: ""), image: "Shortcuts", link: URL(string: PosterBoardManager.ShortcutURL), - linkName: "Get Shortcut" + linkName: NSLocalizedString("Get Shortcut", comment: "") ), .init( - title: "Install Nugget", - description: "To get the app bundle id, Nugget is required.\n\nOn your computer, download Nugget from the GitHub.", + title: NSLocalizedString("Install Nugget", comment: ""), + description: NSLocalizedString("To get the app bundle id, Nugget is required.", comment: "") + "\n\n" + NSLocalizedString("On your computer, download Nugget from the GitHub.", comment: ""), image: "Nugget", link: URL(string: "https://github.com/leminlimez/Nugget/releases/latest"), - linkName: "Open GitHub" + linkName: NSLocalizedString("Open GitHub", comment: "") ), .init( - title: "Enjoy!", - description: "You can find wallpapers on the official Cowabun.ga website.", + title: NSLocalizedString("Enjoy!", comment: ""), + description: NSLocalizedString("You can find wallpapers on the official Cowabun.ga website.", comment: ""), image: "Cowabunga", link: URL(string: PosterBoardManager.WallpapersURL), - linkName: "Find Wallpapers" + linkName: NSLocalizedString("Find Wallpapers", comment: "") ) ] diff --git a/Pocket Poster/Views/RootView.swift b/Pocket Poster/Views/RootView.swift new file mode 100644 index 0000000..19bf41d --- /dev/null +++ b/Pocket Poster/Views/RootView.swift @@ -0,0 +1,23 @@ +// +// RootView.swift +// Pocket Poster +// +// Created by lemin on 6/11/25. +// + +import SwiftUI + +struct RootView: View { + var body: some View { + TabView { + ContentView() + .tabItem { + Label("Home", systemImage: "house") + } + VideoView() + .tabItem { + Label("Videos", systemImage: "camera") + } + } + } +} diff --git a/Pocket Poster/Views/SettingsView.swift b/Pocket Poster/Views/SettingsView.swift index 80d07c1..58bf135 100644 --- a/Pocket Poster/Views/SettingsView.swift +++ b/Pocket Poster/Views/SettingsView.swift @@ -9,15 +9,13 @@ import SwiftUI struct SettingsView: View { // Prefs - @AppStorage("pbHash") var pbHash: String = "" + @AppStorage("pbHash") var pbHash: String = "" // PosterBoard hash + @AppStorage("cpHash") var cpHash: String = "" // CarPlay hash + @AppStorage("ignoreDurationLimit") var ignoreDurationLimit: Bool = false @State var checkingForHash: Bool = false @State var hashCheckTask: Task? = nil - @State var showErrorAlert = false - @State var errorAlertTitle: String? - @State var errorAlertDescr: String? - var body: some View { List { Section { @@ -49,12 +47,20 @@ struct SettingsView: View { Label("App Hash", systemImage: "lock.app.dashed") } + Section { + Toggle(isOn: $ignoreDurationLimit, label: { + Label("Disable Video Duration Limit", systemImage: "ruler") + }) + } header: { + Label("Preferences", systemImage: "gear") + } + Section { Button(action: { UIImpactFeedbackGenerator(style: .soft).impactOccurred() UserDefaults.standard.set(false, forKey: "finishedTutorial") }) { - Text("Replay Tutorial") + Label("Replay Tutorial", systemImage: "questionmark.circle") } Button(action: { @@ -62,17 +68,13 @@ struct SettingsView: View { do { try PosterBoardManager.clearCache() Haptic.shared.notify(.success) - errorAlertTitle = "App Cache Successfully Cleared!" - errorAlertDescr = "" - showErrorAlert = true + UIApplication.shared.alert(title: NSLocalizedString("App Cache Successfully Cleared!", comment: ""), body: "") } catch { Haptic.shared.notify(.error) - errorAlertTitle = "Error" - errorAlertDescr = error.localizedDescription - showErrorAlert = true + UIApplication.shared.alert(body: error.localizedDescription) } }) { - Text("Clear App Cache") + Label("Clear App Cache", systemImage: "trash.circle") } .foregroundStyle(.red) } header: { @@ -118,19 +120,15 @@ struct SettingsView: View { // MARK: Credits Section { LinkCell(imageName: "leminlimez", url: "https://github.com/leminlimez", title: "LeminLimez", contribution: NSLocalizedString("Main Developer", comment: "leminlimez's contribution"), circle: true) - LinkCell(imageName: "serstars", url: "https://github.com/SerStars", title: "SerStars", contribution: "Website Designer", circle: true) - LinkCell(imageName: "Nathan", url: "https://github.com/verygenericname", title: "Nathan", contribution: "Exploit", circle: true) - LinkCell(imageName: "duy", url: "https://github.com/khanhduytran0", title: "DuyKhanhTran", contribution: "Exploit", circle: true) - LinkCell(imageName: "sky", url: "https://bsky.app/profile/did:plc:xykfeb7ieeo335g3aly6vev4", title: "dootskyre", contribution: "Fallback Shortcut Creator", circle: true) + LinkCell(imageName: "serstars", url: "https://github.com/SerStars", title: "SerStars", contribution: NSLocalizedString("Website Designer", comment: ""), circle: true) + LinkCell(imageName: "Nathan", url: "https://github.com/verygenericname", title: "Nathan", contribution: NSLocalizedString("Exploit", comment: ""), circle: true) + LinkCell(imageName: "duy", url: "https://github.com/khanhduytran0", title: "DuyKhanhTran", contribution: NSLocalizedString("Exploit", comment: ""), circle: true) + LinkCell(imageName: "sky", url: "https://bsky.app/profile/did:plc:xykfeb7ieeo335g3aly6vev4", title: "dootskyre", contribution: NSLocalizedString("Fallback Shortcut Creator", comment: ""), circle: true) + LinkCell(imageName: "POEditor", url: "https://poeditor.com/join/project/MPZOsunwVj", title: NSLocalizedString("Community Translators", comment: ""), contribution: "POEditor") } header: { Label("Credits", systemImage: "wrench.and.screwdriver") } } - .alert(errorAlertTitle ?? "Error", isPresented: $showErrorAlert) { - Button("OK") {} - } message: { - Text(errorAlertDescr ?? "???") - } } func startWaitForHash() { @@ -146,7 +144,13 @@ struct SettingsView: View { let contents = try String(contentsOf: filePath) try? FileManager.default.removeItem(at: filePath) await MainActor.run { - pbHash = contents + let items = contents.split(separator: "\n") + if let pb = items.first { + pbHash = String(pb) + } + if items.count >= 2 { + cpHash = String(items[1]) + } } } catch { print(error.localizedDescription) diff --git a/README.md b/README.md index 1c46322..1325f8d 100644 --- a/README.md +++ b/README.md @@ -9,9 +9,11 @@ Since there is no way to read files currently, you will need a computer to get t Download [Nugget](https://github.com/leminlimez/Nugget) on your computer and plug in your phone. Then, navigate to the `Settings` page and click the `Pocket Poster Helper` button. Inside Pocket Poster, click the `Detect` button inside of settings. ## Credits +- Translations crowdsourced using [POEditor][POEditorJoin]. Thank you everyone who assisted in the translation effort! - [PosterRestore][PosterRestoreDiscord] for their help with PosterBoard - [dootskyre][dootskyreX] for the fallback shortcut - [Nathan](https://github.com/verygenericname) and [DuyKhanhTran](https://github.com/khanhduytran0) for the exploit +[POEditorJoin]: https://poeditor.com/join/project/MPZOsunwVj [PosterRestoreDiscord]: https://discord.gg/gWtzTVhMvh [dootskyreX]: https://x.com/dootskyre