diff --git a/Pocket Poster/Controllers/PosterBoardManager.swift b/Pocket Poster/Controllers/PosterBoardManager.swift index 3b7ae6a..7b925c1 100644 --- a/Pocket Poster/Controllers/PosterBoardManager.swift +++ b/Pocket Poster/Controllers/PosterBoardManager.swift @@ -35,6 +35,7 @@ class PosterBoardManager: ObservableObject { guard let obj = objc_getClass("IPSettingsUtilities") as? NSObject else { return false } langManager = obj } else { + // TODO: Need to find the correct class for this on iOS 17 guard let obj = objc_getClass("PSLanguageSelector") as? NSObject else { return false } langManager = obj } diff --git a/Pocket Poster/Controllers/SymHandler.swift b/Pocket Poster/Controllers/SymHandler.swift index a792c4c..417e590 100644 --- a/Pocket Poster/Controllers/SymHandler.swift +++ b/Pocket Poster/Controllers/SymHandler.swift @@ -23,6 +23,13 @@ class SymHandler { return getDocumentsDirectory() } + static func getPosterBoardHashURL() -> URL { + return getLCDocumentsDirectory().appendingPathComponent("NuggetPosterBoardHash") + } + static func getCarPlayHashURL() -> URL { + return getLCDocumentsDirectory().appendingPathComponent("NuggetCarPlayWallpaperHash") + } + private static func getSymlinkURL() -> URL { return getLCDocumentsDirectory().appendingPathComponent(".Trash", conformingTo: .symbolicLink) } diff --git a/Pocket Poster/Localizable.xcstrings b/Pocket Poster/Localizable.xcstrings index 6b1c1dd..b1d33db 100644 --- a/Pocket Poster/Localizable.xcstrings +++ b/Pocket Poster/Localizable.xcstrings @@ -21,6 +21,12 @@ "value" : "إجراءات" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Действия" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -69,12 +75,24 @@ "value" : "Actions" } }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Actions" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Műveletek" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Azioni" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -123,6 +141,12 @@ "value" : "Tác vụ" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "操作" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -151,6 +175,12 @@ "value" : "تم مسح ذاكرة التخزين المؤقت للتطبيق بنجاح!" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Кешът на приложението е изчистен успешно!" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -199,12 +229,24 @@ "value" : "Cache de l'app vidé avec succès !" } }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cache de l'appli effacé avec succès !" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Az app gyorsítótára sikeresen tisztítva!" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "La cache dell'app è stata pulita con successo!" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -226,13 +268,13 @@ "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Hash aplikacji wyczyszczony!" + "value" : "Pamięć podręczna wyczyszczona!" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Кэш успешно очищен!" + "value" : "Кэш приложения успешно очищен!" } }, "th" : { @@ -253,6 +295,12 @@ "value" : "Bộ nhớ cache đã được xóa!" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "成功清除 App 缓存" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -281,6 +329,12 @@ "value" : "هاش البرنامج" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Хеш на приложението" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -329,12 +383,24 @@ "value" : "App Hash" } }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hash de l'appli" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "App Hashje" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hash dell'app" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -356,13 +422,13 @@ "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Hash aplikacji" + "value" : "Pamięć podręczna aplikacji" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "App Hash" + "value" : "Хэш приложения" } }, "th" : { @@ -383,6 +449,12 @@ "value" : "Mã định danh Ứng dụng" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "App 哈希值" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -411,6 +483,12 @@ "value" : "تطبيق" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Приложи" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -459,12 +537,24 @@ "value" : "Appliquer" } }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Appliquer" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Alkalmazás" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Applica" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -492,7 +582,7 @@ "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Подтвердить" + "value" : "Применить" } }, "th" : { @@ -513,6 +603,12 @@ "value" : "Áp dụng" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "应用" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -544,6 +640,12 @@ "value" : "جارٍ تطبيق الخلفيات..." } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Прилагане на тапети..." + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -592,12 +694,24 @@ "value" : "Application des fonds d'écrans..." } }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Application des fonds d'écran..." + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Háttérképek alkalmazása..." } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Applico gli sfondi..." + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -607,7 +721,7 @@ "ko" : { "stringUnit" : { "state" : "translated", - "value" : "배경화면을 적용하는중..." + "value" : "배경화면을 적용 중..." } }, "nl" : { @@ -646,6 +760,12 @@ "value" : "Đang áp dụng Hình nền..." } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "正在应用墙纸..." + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -674,6 +794,12 @@ "value" : "إلغاء" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Отказ" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -722,12 +848,24 @@ "value" : "Annuler" } }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Annuler" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Mégsem" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Annulla" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -776,6 +914,12 @@ "value" : "Huỷ" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "取消" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -813,6 +957,12 @@ "value" : "مسح ذاكرة التخزين المؤقت" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Изчистване на кеша на приложението" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -861,12 +1011,24 @@ "value" : "Vider le cache de l'app" } }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Effacer le cache de l'appli" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "App gyorsítótárának tisztítása" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pulisci la cache dell'app" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -888,13 +1050,13 @@ "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Wyczyść Cache aplikacji" + "value" : "Wyczyść pamięć podręczną aplikacji" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Очистить кэш" + "value" : "Очистить кэш приложения" } }, "th" : { @@ -915,6 +1077,12 @@ "value" : "Xoá cache Ứng dụng" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "清除 App 缓存" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -943,6 +1111,12 @@ "value" : "تمت إعادة تعيين المجموعات بنجاح!" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Колекциите са нулирани успешно!" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -988,7 +1162,13 @@ "fr-CH" : { "stringUnit" : { "state" : "translated", - "value" : "Collections réinitialisées avec succès!" + "value" : "Collections réinitialisées avec succès !" + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Collections réinitialisées avec succès !" } }, "hu" : { @@ -997,6 +1177,12 @@ "value" : "Gyűjtemények sikeresen visszaállítva!" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Le raccolte sono state ripristinate con successo!" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -1006,7 +1192,7 @@ "ko" : { "stringUnit" : { "state" : "translated", - "value" : "컬렉션이 성공적으로 초기화되었습니다!" + "value" : "모음이 성공적으로 초기화되었습니다!" } }, "nl" : { @@ -1045,6 +1231,12 @@ "value" : "Đặt lại thành công Bộ sưu tập!" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "重置“收藏”成功!" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -1073,6 +1265,12 @@ "value" : "مجتمع المترجمين" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Преводачи от общността" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -1115,12 +1313,30 @@ "value" : "Traducteurs de communauté" } }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Traducteurs de la Communauté" + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Traducteurs de la communauté" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Fordítók" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Traduttori della community" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -1169,6 +1385,12 @@ "value" : "Cộng đồng các Phiên dịch viên" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "社区翻译者们" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -1177,6 +1399,46 @@ } } }, + "Connect your device to Nugget and click the \"Pocket Poster Helper\" button." : { + "localizations" : { + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Conecta tu dispositivo a Nugget y haz click en “Pocket Poster Helper”" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Connectez votre appareil à Nugget et cliquez sur le bouton \"Pocket Poster Helper\"." + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "เชื่อมต่อเครื่องกับ Nugget แล้วกดตัวช่วยเหลือ \"Pocket Poster Helper\"" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cihazınızı Nugget'a bağlayın ve \"Pocket Poster Helper\" tuşuna tıklayın." + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kết nối thiết bị của bạn với Nugget và chọn nút \"Trợ giúp Pocket Poster\"." + } + }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "将您的设备连接到 Nugget 并点击 “Pocket Poster Helper” 按钮。" + } + } + } + }, "Could not download wallpaper!" : { "localizations" : { "ar" : { @@ -1197,6 +1459,12 @@ "value" : "لم يمكن تحميل الخلفية!" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Не може да се изтегли тапет!" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -1242,7 +1510,13 @@ "fr-CH" : { "stringUnit" : { "state" : "translated", - "value" : "Fond d'écran n'a pas pu être téléchargé!" + "value" : "Le fond d'écran n'a pas pu être téléchargé !" + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Impossible de télécharger le fond d'écran !" } }, "hu" : { @@ -1251,6 +1525,12 @@ "value" : "Nem sikerült letölteni a háttérképet!" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Impossibile scaricare lo sfondo!" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -1278,7 +1558,7 @@ "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Ошибка загрузки обоев!" + "value" : "Не удалось загрузить обои!" } }, "th" : { @@ -1299,6 +1579,12 @@ "value" : "Không thể tải xuống hình nền!" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "无法下载墙纸!" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -1327,6 +1613,12 @@ "value" : "إنشاء طريقة Fallback إضافية" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Създаване на допълнителен резервен метод" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -1375,12 +1667,24 @@ "value" : "Créer une méthode additionnelle de Fallback" } }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Créer une méthode de secours supplémentaire" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "További tartalék módszer létrehozása" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Crea metodo aggiuntivo di riserva" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -1429,6 +1733,12 @@ "value" : "Tạo phương thức dự phòng bổ sung" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "创建其他应急方案" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -1458,6 +1768,12 @@ "value" : "جارٍ إنشاء %@..." } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Създаване на %@..." + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -1503,7 +1819,13 @@ "fr-CH" : { "stringUnit" : { "state" : "translated", - "value" : "Création de %@" + "value" : "Création de %@..." + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Création de %@..." } }, "hu" : { @@ -1512,6 +1834,12 @@ "value" : "%@ készítése..." } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Creando %@..." + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -1521,7 +1849,7 @@ "ko" : { "stringUnit" : { "state" : "translated", - "value" : "%@ 생성중..." + "value" : "%@ 생성 중..." } }, "nl" : { @@ -1560,6 +1888,12 @@ "value" : "Đang tạo %@..." } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "正在创建 %@..." + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -1589,6 +1923,12 @@ "value" : "جارٍ إنشاء بيانات CAML..." } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Създаване на CAML данни..." + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -1637,12 +1977,24 @@ "value" : "Création des données CAML..." } }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Création de données CAML..." + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "CAML adat készítése..." } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Creando dati CAML..." + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -1670,7 +2022,7 @@ "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Сбор данных..." + "value" : "Создание CAML-данных..." } }, "th" : { @@ -1691,6 +2043,12 @@ "value" : "Đang tạo dữ liệu CAML..." } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "正在创建 CAML 数据..." + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -1719,6 +2077,12 @@ "value" : "المساهمون" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Кредити" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -1767,12 +2131,24 @@ "value" : "Crédits" } }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Crédits" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Közreműködők" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Crediti" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -1821,11 +2197,17 @@ "value" : "Đóng góp" } }, - "zh-Hant" : { + "zh-CN" : { "stringUnit" : { "state" : "translated", "value" : "鸣谢" } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "鳴謝" + } } } }, @@ -1849,6 +2231,12 @@ "value" : "كشف" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Откриване" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -1897,12 +2285,24 @@ "value" : "Détecter" } }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Détecter" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Érzékelés" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rileva" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -1951,6 +2351,12 @@ "value" : "Phát hiện" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "识别" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -1979,6 +2385,12 @@ "value" : "تعطيل حد مدة الفيديو" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Деактивиране на ограничението за продължителност на видеото" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -1988,7 +2400,7 @@ "de" : { "stringUnit" : { "state" : "translated", - "value" : "Videolänge limit ausschalten" + "value" : "Deaktiviere Videodauer Limit" } }, "es" : { @@ -2021,16 +2433,34 @@ "value" : "Désactiver la limite de longueur de vidéo." } }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Désactiver la limite de durée de la vidéo" + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Désactiver la limite de durée de la vidéo" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Videó hosszúsági limit letiltása" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Disabilita il limite di durata video" + } + }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "動画の長さ制限を無効にする" + "value" : "動画の継続時間制限を無効にする" } }, "ko" : { @@ -2075,6 +2505,12 @@ "value" : "Tắt Giới hạn Thời gian của Video" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "禁用视频时长限制" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -2103,6 +2539,12 @@ "value" : "هل ترغب في إعادة تعيين المجموعات؟" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Искате ли да нулирате колекциите?" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -2112,7 +2554,7 @@ "de" : { "stringUnit" : { "state" : "translated", - "value" : "Möchten Sie die Sammlungen zurücksetzen?" + "value" : "Möchtest du die Sammlungen zurücksetzen?" } }, "es" : { @@ -2148,7 +2590,13 @@ "fr-CH" : { "stringUnit" : { "state" : "translated", - "value" : "Voulez-vous réinitialiser les collections?" + "value" : "Voulez-vous réinitialiser les collections ?" + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voulez-vous réinitialiser les collections ?" } }, "hu" : { @@ -2157,6 +2605,12 @@ "value" : "Visszaszeretnéd állítani a gyűjteményeket?" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vuoi ripristinare le raccolte?" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -2166,7 +2620,7 @@ "ko" : { "stringUnit" : { "state" : "translated", - "value" : "컬렉션을 초기화하고 싶으신가요?" + "value" : "모음을 초기화하시겠습니까?" } }, "nl" : { @@ -2205,6 +2659,12 @@ "value" : "Bạn có muốn thiết lập lại các bộ sưu tập?" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "您想要重置“收藏”吗?" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -2233,6 +2693,12 @@ "value" : "حمل اختصار Fallback" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Изтегляне на резервен пряк път" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -2278,7 +2744,13 @@ "fr-CH" : { "stringUnit" : { "state" : "translated", - "value" : "Téléchargement du raccourcis Fallback " + "value" : "Téléchargement du raccourci Fallback" + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Télécharger le raccourci de secours" } }, "hu" : { @@ -2287,6 +2759,12 @@ "value" : "Tartalék parancs letöltése" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Scarica il comando rapido di riserva" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -2335,6 +2813,12 @@ "value" : "Tải xuống Phím tắt dự phòng" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "下载备用快捷指令" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -2363,6 +2847,12 @@ "value" : "تحميل ملف Tendies" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Изтегляне на файл Tendies" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -2411,16 +2901,28 @@ "value" : "Télécharger le fichier Tendies" } }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Télécharger le fichier Tendies" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Tendies fájl letöltése" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Scarica file tende" + } + }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "Tendiesファイルをダウンロード" + "value" : "tendiesファイルをダウンロード" } }, "ko" : { @@ -2444,7 +2946,7 @@ "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Скачать файл Tendies" + "value" : "Скачать Tendies файл" } }, "th" : { @@ -2465,6 +2967,12 @@ "value" : "Tải xuống tệp tendies" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "下载 Tendies 文件" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -2493,6 +3001,12 @@ "value" : "يتم التحميل" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Изтегляне" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -2541,12 +3055,24 @@ "value" : "Téléchargement" } }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Téléchargement" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Letöltés folyamatban" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Scaricando" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -2595,6 +3121,12 @@ "value" : "Đang Tải xuống" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "下载中" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -2623,6 +3155,12 @@ "value" : "استمتع!" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Насладете се!" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -2665,12 +3203,30 @@ "value" : "Profitez!" } }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Profitez-en !" + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Amusez-vous !" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Élvezd!" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Divertiti!" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -2719,6 +3275,12 @@ "value" : "Hãy thưởng thức!" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "尽情享受吧!" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -2748,6 +3310,12 @@ "value" : "ادخل هاش البرنامج" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Въведете хеш на приложението" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -2796,12 +3364,24 @@ "value" : "Insérer le Hash de l'app" } }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Entrer le Hash de l'appli" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Írd be az App hashjét" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inserisci l'hash dell'app" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -2850,10 +3430,16 @@ "value" : "Nhập mã định danh Ứng dụng" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "输入 APP 哈希值" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", - "value" : "輸入應用程式雜湊值" + "value" : "輸入應用程式哈希值" } } } @@ -2887,6 +3473,12 @@ "value" : "ادخل هاش البرنامج من الاعدادات" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Въведете хеша на приложението PosterBoard в настройките." + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -2932,7 +3524,13 @@ "fr-CH" : { "stringUnit" : { "state" : "translated", - "value" : "Insérer votre PosterBoard hash de l'app dans les paramètres." + "value" : "Insérer le hash de votre PosterBoard de l'app dans les paramètres." + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Entrez votre hash d'appli PosterBoard dans les réglages." } }, "hu" : { @@ -2941,6 +3539,12 @@ "value" : "Írd be a PosterBoard app hashedet a Beállításokban." } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inserisci il tuo hash dell'app PosterBoard nelle impostazioni." + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -2989,10 +3593,16 @@ "value" : "Nhập mã định danh của PosterBoard trong Cài đặt." } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "请在设置中输入您的 PosterBoard App 的哈希值。" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", - "value" : "在設定中輸入您的 PosterBoard 應用程式雜湊值。" + "value" : "在設定中輸入您的 PosterBoard 應用程式哈希值。" } } } @@ -3017,6 +3627,12 @@ "value" : "خطأ" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Грешка" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -3065,12 +3681,24 @@ "value" : "Erreur" } }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erreur" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Hiba" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Errore" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -3119,6 +3747,12 @@ "value" : "Lỗi" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "错误" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -3147,6 +3781,12 @@ "value" : "مؤسس الثغرة" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Експлойт" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -3156,7 +3796,7 @@ "de" : { "stringUnit" : { "state" : "translated", - "value" : "Ausnutzen" + "value" : "Exploit" } }, "es" : { @@ -3195,16 +3835,28 @@ "value" : "Exploit" } }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exploit" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Exploit" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vunnerabilità" + } + }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "Exploit" + "value" : "エクスプロイト" } }, "ko" : { @@ -3249,6 +3901,12 @@ "value" : "Khai thác" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "漏洞利用者" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -3281,6 +3939,12 @@ "value" : "جارٍ استخراج tendies..." } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Извличане на tendies..." + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -3329,16 +3993,28 @@ "value" : "Excraction des tendies..." } }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Extraction des tendies..." + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Tendies kicsomagolása..." } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Estraendo tendie..." + } + }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "Tendiesを解凍中…" + "value" : "tendiesを解凍中…" } }, "ko" : { @@ -3383,6 +4059,12 @@ "value" : "Đang giải nén tendies..." } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "提取 Tendies 文件中..." + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -3411,6 +4093,12 @@ "value" : "فشل" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Неуспешно" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -3420,7 +4108,7 @@ "de" : { "stringUnit" : { "state" : "translated", - "value" : "Gescheitert" + "value" : "Fehlgeschlagen" } }, "es" : { @@ -3459,12 +4147,24 @@ "value" : "Échué" } }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Échec" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Sikertelen" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Errore" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -3474,7 +4174,7 @@ "ko" : { "stringUnit" : { "state" : "translated", - "value" : "실패함" + "value" : "실패" } }, "nl" : { @@ -3513,6 +4213,12 @@ "value" : "Thất bại" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "失败" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -3544,6 +4250,12 @@ "value" : "فشل في استيراد ملفات tendies" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Неуспешен внос на tendies" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -3553,7 +4265,7 @@ "de" : { "stringUnit" : { "state" : "translated", - "value" : "Die Einfuhr von Tendies ist fehlgeschlagen" + "value" : "Import von Tendies-Datei fehlgeschlagen" } }, "es" : { @@ -3592,16 +4304,28 @@ "value" : "Échec de l'importation des tendies" } }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Échec de l'importation des tendies" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "A tendies importálása sikertelen" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Impossibile importare i tendie" + } + }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "Tendiesのインポートに失敗しました" + "value" : "tendiesのインポートに失敗しました" } }, "ko" : { @@ -3646,6 +4370,12 @@ "value" : "Nhập tendies thất bại" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "导入 Tendies 文件失败" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -3674,6 +4404,12 @@ "value" : "فشل استيراد الفيديو" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Неуспешен внос на видео" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -3716,12 +4452,30 @@ "value" : "Échec lors de l'importation de la vidéo." } }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Échec de l'importation de la vidéo" + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Échec de l'importation de la vidéo" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Videó importálása sikertelen" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Impossibile importare il video" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -3770,6 +4524,12 @@ "value" : "Nhập Video bị lỗi" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "导入视频失败" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -3801,6 +4561,12 @@ "value" : "صانع اختصار Fallback" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Създател на резервен пряк път" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -3849,12 +4615,24 @@ "value" : "Créateur de raccourcis Fallback" } }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Créateur de raccourci de secours" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Tartalék parancs készítő" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Creatore del comando rapido di riserva" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -3864,7 +4642,7 @@ "ko" : { "stringUnit" : { "state" : "translated", - "value" : "예비 단축어 생성기" + "value" : "대체 단축어 생성기" } }, "nl" : { @@ -3903,6 +4681,12 @@ "value" : "Bộ tạo Phím tắt dự phòng" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "备用快捷指令创建者" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -3931,6 +4715,12 @@ "value" : "يتم استخدام الاختصار" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Връщане към пряк път" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -3979,12 +4769,24 @@ "value" : "Revenir au raccourcis" } }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Retour au raccourci" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Visszatérés a parancshoz" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Provo ad usare il comando rapido di riserva" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -3994,7 +4796,7 @@ "ko" : { "stringUnit" : { "state" : "translated", - "value" : "예비 단축어로 전환 중..." + "value" : "대체 단축어로 전환 중..." } }, "nl" : { @@ -4033,6 +4835,12 @@ "value" : "Quay lại Phím tắt" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "返回“快捷指令”" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -4061,6 +4869,12 @@ "value" : "ابحث عن الخلفيات" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Намерете тапети" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -4103,12 +4917,30 @@ "value" : "Trouver des fonds d'écran " } }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trouver des Wallpapers" + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trouver des fonds d'écran" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Háttérképek találása" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trova sfondi" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -4157,6 +4989,12 @@ "value" : "Tìm kiếm Hình nền" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "查找墙纸" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -4185,6 +5023,12 @@ "value" : "أنهاء" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Край" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -4233,12 +5077,24 @@ "value" : "Terminer" } }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Terminer" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Befejezés" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Finisci" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -4287,6 +5143,12 @@ "value" : "Hoàn thành" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "结束" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -4315,6 +5177,12 @@ "value" : "جارٍ إنشاء الفيديو..." } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Генериране на видео..." + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -4363,12 +5231,24 @@ "value" : "Géneration de la vidéo..." } }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Génération de la vidéo..." + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Videó generálása..." } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Generando il video..." + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -4417,6 +5297,12 @@ "value" : "Đang tạo video..." } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "生成视频中..." + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -4445,6 +5331,12 @@ "value" : "احصل على الأختصار" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Вземете пряк път" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -4487,12 +5379,30 @@ "value" : "Obtenir raccourci" } }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Obtenir le Raccourci" + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Obtenir le raccourci" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Shortcut letöltése" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ottieni comando rapido" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -4541,6 +5451,12 @@ "value" : "Tải xuống Phím tắt" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "获取快捷指令" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -4569,6 +5485,12 @@ "value" : "إليك دليل تعليمي لمساعدتك على البدء باستخدام التطبيق." } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ето един урок, който да ви помогне да започнете с приложението." + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -4611,16 +5533,34 @@ "value" : "Voici un tutoriel qui vous aidera à utiliser cette application" } }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voici un tutoriel pour vous aider à démarrer avec l'application." + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voici un tutoriel pour vous aider à démarrer avec l'appli." + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Íme egy oktatóanyag, amely segít az alkalmazás használatának megkezdésében." } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ecco un tutorial per aiutarti a prendere mano con l'app." + } + }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "アプリの使い方を説明するチュートリアルはこちらです。" + "value" : "アプリを使い始める際に役立つチュートリアルをご紹介します。" } }, "ko" : { @@ -4665,6 +5605,12 @@ "value" : "Đây là hướng dẫn trước khi bạn bắt đầu sử dụng ứng dụng này." } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "以下是帮助您快速开始使用本 App 的教程。" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -4693,6 +5639,12 @@ "value" : "الصفحة الرئيسية" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Начало" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -4741,12 +5693,24 @@ "value" : "Acceuil" } }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Accueil" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Főképernyő" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Home" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -4795,6 +5759,12 @@ "value" : "Trang chủ" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "主页" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -4823,6 +5793,12 @@ "value" : "نزل Nuggrt" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Инсталиране на Nugget" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -4865,12 +5841,30 @@ "value" : "Installer Nugget" } }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Installer Nugget" + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Installer Nugget" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Nugget telepítése" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Installa Nugget" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -4919,6 +5913,12 @@ "value" : "Tải xuống Nugget" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "安装 Nugget" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -4947,6 +5947,12 @@ "value" : "تثبيت اختصار fallback (اختياري)" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Инсталирайте резервния пряк път (по избор)" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -4989,16 +5995,34 @@ "value" : "Installer le raccourci de secours (optionnel)" } }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Installer le raccourci de secours (Optionnel)" + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Installer le raccourci de secours (facultatif)" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Tartalék parancs telepítése (Opcionális)" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Installa il comando rapido di riserva (Opzionale)" + } + }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "代替ショートカットをインストール(任意)" + "value" : "フォールバックショートカットをインストール(任意)" } }, "ko" : { @@ -5022,7 +6046,7 @@ "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Установите Fallback Shortcut (По желанию)" + "value" : "Установите Fallback Shortcut" } }, "th" : { @@ -5043,6 +6067,12 @@ "value" : "Cài đặt Phím tắt Dự phòng (Thích thì tải)" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "安装备用快捷指令(可选)" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -5071,6 +6101,12 @@ "value" : "انضم الى الدسكورد" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Присъединете се към Discord" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -5119,12 +6155,24 @@ "value" : "Rejoigner le Discord" } }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rejoindre le Discord" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Csatlakozz a Discordhoz" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Unisciti al Discord" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -5173,6 +6221,12 @@ "value" : "Tham gia Discord" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "加入 Discord" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -5201,6 +6255,12 @@ "value" : "روابط" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Връзки" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -5249,12 +6309,24 @@ "value" : "Liens" } }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Liens" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Linkek" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Collegamenti" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -5303,6 +6375,12 @@ "value" : "Liên kết" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "链接" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -5332,6 +6410,12 @@ "value" : "المطور الرئيسي" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Основен разработчик" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -5380,12 +6464,24 @@ "value" : "Développeur principal" } }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Développeur principal" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Főfejlesztő" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sviluppatore principale" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -5434,6 +6530,12 @@ "value" : "Nhà phát triển chính" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "主要开发者" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -5462,6 +6564,12 @@ "value" : "الحد الاقصى لـtendies وصل" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Достигнат е максимум Tendies" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -5510,12 +6618,24 @@ "value" : "Tendies maximum atteint" } }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nombre maximal de Tendies atteint" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Maximum Tendies elérve" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "È stato raggiunto il massimo di tendie" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -5564,6 +6684,12 @@ "value" : "Số lượng tendies đã đạt tối đa" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "已达到 Tendies 最大数量限制" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -5592,6 +6718,12 @@ "value" : "التالي" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Напред" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -5640,12 +6772,24 @@ "value" : "Suivant" } }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Suivant" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Következő" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Avanti" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -5694,6 +6838,12 @@ "value" : "Tiếp theo" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "下一个" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -5722,6 +6872,12 @@ "value" : "Nugget Github" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nugget GitHub" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -5770,12 +6926,24 @@ "value" : "Nugget GitHub" } }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nugget GitHub" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Nugget GitHub" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "GitHub di Nugget" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -5824,6 +6992,12 @@ "value" : "Nugget GitHub" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nugget GitHub" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -5852,6 +7026,12 @@ "value" : "أوك" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "ОК" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -5900,12 +7080,24 @@ "value" : "OK" } }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "OK" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -5954,6 +7146,12 @@ "value" : "OK" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "好" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -5982,6 +7180,12 @@ "value" : "قم بتنزيل Nugget على جهاز الكمبيوتر الخاص بك من GitHub." } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "На вашия компютър изтеглете Nugget от GitHub." + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -6024,12 +7228,30 @@ "value" : "Sur votre ordinateur, téléchargez Nugget à partir du GitHub" } }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sur votre ordinateur, téléchargez Nugget depuis GitHub." + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sur votre ordinateur, téléchargez Nugget depuis GitHub." + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "A számítógépeden, töltsd le a Nuggetet a GitHubról." } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sul tuo computer, scarica Nugget da GitHub." + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -6057,7 +7279,7 @@ "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Установите Nugget из официального GitHub на ваш компьютер." + "value" : "Установите Nugget из официального репозитория GitHub на ваш компьютер." } }, "th" : { @@ -6078,6 +7300,12 @@ "value" : "Tải về Nugget trên máy tính từ Github." } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "请从 GitHub 下载 Nugget 至您的电脑。" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -6106,6 +7334,12 @@ "value" : "فقط ملفات .tendies يمكن تحميلها!" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Могат да се изтеглят само .tendies файлове!" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -6154,12 +7388,24 @@ "value" : "Seulement les fichiers .tendies peuvent être téléchargés!" } }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Seuls les fichiers .tendies peuvent être téléchargés !" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Csak .tendies fájlt lehet letölteni!" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Solo i file .tendies possono essere scaricati!" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -6187,7 +7433,7 @@ "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Только файлы .tendies могут быть загружены!" + "value" : "Только .tendies файлы могут быть загружены!" } }, "th" : { @@ -6208,6 +7454,12 @@ "value" : "Chỉ có thể tải xuống các tập tin .tendies!" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "仅可下载 .tendies 文件!" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -6236,6 +7488,12 @@ "value" : "افتح على GitHub" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Отворете GitHub" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -6278,12 +7536,30 @@ "value" : "Ouvrir GitHub" } }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ouvrir GitHub" + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ouvrir GitHub" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "GitHub megnyitésa" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apri GitHub" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -6332,6 +7608,12 @@ "value" : "Mở Github" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "打开 GitHub" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -6360,6 +7642,12 @@ "value" : "يرجى الانتظار" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Моля, изчакайте" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -6408,12 +7696,24 @@ "value" : "Attendez s'il vous plait" } }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Veuillez patienter" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Kérlek várj" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Attendi" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -6462,6 +7762,12 @@ "value" : "Vui lòng chờ" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "请稍候" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -6490,6 +7796,12 @@ "value" : "Pocket Poster" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -6538,12 +7850,24 @@ "value" : "Pocket Poster" } }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Pocket Poster" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -6592,6 +7916,12 @@ "value" : "Pocket Poster" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -6600,6 +7930,53 @@ } } }, + "Pocket Poster %@ is available, do you want to visit releases page?" : { + "comment" : "app update available on GitHub", + "localizations" : { + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster %@ je k dispozici, přejete si ho stáhnout z GitHubu?" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster %@ esta disponible, ¿quieres visitar la pagina de lanzamientos?" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster %@ est disponible, voulez-vous visiter la page des communiqués?" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster %@ พร้อมใช้งาน ต้องการไปหน้าดาวน์โหลดหรือไป" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster %@ kullanılabilir, yayınlamaları görmek ister misin?" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster %@ đã được phát hành, bạn có muốn đến trang tải xuống không?" + } + }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster %@ 已推出,您想访问发布页面吗?" + } + } + } + }, "PosterBoard failed to open directly. The fallback shortcut will now be opened." : { "localizations" : { "ar" : { @@ -6620,6 +7997,12 @@ "value" : "فشل فتح PosterBoard مباشرةً. سيتم الآن فتح الاختصار fallback." } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "PosterBoard не успя да се отвори директно. Сега ще се отвори резервният пряк път." + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -6662,12 +8045,30 @@ "value" : "PosterBoard a échoué d'ouvrir directement. Le raccourci de secours sera lancé." } }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "L'ouverture directe de PosterBoard a échoué. Le raccourci de secours va maintenant être ouvert." + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "L'ouverture de PosterBoard a échoué directement. Le raccourci de secours va maintenant s'ouvrir." + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "A PosterBoard közvetlen megnyitása sikertelen. A tartalék parancs most elindul." } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "PosterBoard non si è aperto direttamente. Il comando rapido di riserva verrà ora aperto." + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -6689,7 +8090,7 @@ "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Nie udało sie otworzyć PosterBoard. Skrot fallback zostanie otwarty." + "value" : "Nie udało się otworzyć PosterBoard bezpośrednio. Otwieram zapasowy skrót." } }, "ru" : { @@ -6716,6 +8117,12 @@ "value" : "PosterBoard không thể mở trực tiếp. Phím tắt dự phòng bây giờ sẽ được mở." } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "直接打开 PosterBoard 失败。现在将启动备用快捷指令。" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -6744,6 +8151,12 @@ "value" : "التفضيلات" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Предпочитания" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -6786,12 +8199,30 @@ "value" : "Préférences" } }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Préférences" + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Préférences" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Beállítások" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Preferenze" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -6840,6 +8271,12 @@ "value" : "Tùy chọn" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "偏好设置" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -6868,6 +8305,12 @@ "value" : "الإصدار" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Издание" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -6910,12 +8353,30 @@ "value" : "Version" } }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Version" + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Version" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Kiadás" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rilascia" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -6925,7 +8386,7 @@ "ko" : { "stringUnit" : { "state" : "translated", - "value" : "릴리스" + "value" : "릴리즈" } }, "nl" : { @@ -6964,6 +8425,12 @@ "value" : "Phát hành" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "发布" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -6992,6 +8459,12 @@ "value" : "إعادة تشغيل الدليل التعليمي" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Повторете урока" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -7034,12 +8507,30 @@ "value" : "Revoir le tutoriel" } }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Revoir le Tutoriel" + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Revoir le tutoriel" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Tutorial újrajátszása" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ripeti il tutorial" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -7067,7 +8558,7 @@ "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Воспроизвести иструкцию заново" + "value" : "Воспроизвести инструкцию заново" } }, "th" : { @@ -7088,6 +8579,12 @@ "value" : "Xem lại Hướng dẫn" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "再次查看教程" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -7119,6 +8616,12 @@ "value" : "إعادة تعيين المجموعات" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Нулиране на колекции" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -7161,12 +8664,30 @@ "value" : "Réinitialiser collections" } }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Réinitialiser les Collections" + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Réinitialiser les collections" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Gyűjetmények visszaállítása" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ripristina le raccolte" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -7215,6 +8736,12 @@ "value" : "Đặt lại Bộ sưu tập" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "重置“收藏”" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -7246,6 +8773,12 @@ "value" : "اختار ملفات Tendies" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Изберете Tendies" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -7288,12 +8821,30 @@ "value" : "Sélectionner Tendies" } }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sélectionner des Tendies" + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sélectionner Tendies" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Tendies kiválasztása" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Seleziona Tendie" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -7342,6 +8893,12 @@ "value" : "Chọn Tendies" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "选择 Tendies 文件" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -7370,6 +8927,12 @@ "value" : "ملفات Tendies المختارة" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Избрани Tendies" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -7412,12 +8975,30 @@ "value" : "Tendies sélectionnés" } }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tendies Sélectionnés" + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tendies sélectionnées" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Kiválasztott Tendies" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tendie Selezionato" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -7466,6 +9047,12 @@ "value" : "Đã chọn Tendies" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "已选择的 Tendies 文件" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -7494,6 +9081,12 @@ "value" : "تخطي" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Пропусни" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -7536,12 +9129,30 @@ "value" : "Passer" } }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Passer" + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Passer" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Kihagyás" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Salta" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -7590,6 +9201,12 @@ "value" : "Bỏ qua" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "跳过" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -7618,6 +9235,12 @@ "value" : "روابط" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Социални мрежи" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -7660,12 +9283,30 @@ "value" : "Médias sociaux" } }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Réseaux Sociaux" + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Réseaux sociaux" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Közösségi profilok" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Social" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -7693,7 +9334,7 @@ "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Социальные сети" + "value" : "Соцсети" } }, "th" : { @@ -7714,6 +9355,12 @@ "value" : "Mạng Xã hội" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "社交媒体" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -7742,6 +9389,12 @@ "value" : "نجاح!" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Успех!" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -7784,12 +9437,30 @@ "value" : "Succès!" } }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Succès !" + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Succès !" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Siker!" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Successo!" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -7838,6 +9509,12 @@ "value" : "Thành công!" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "成功!" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -7869,6 +9546,12 @@ "value" : "تم استيراد %@" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Успешно импортиран %@" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -7911,12 +9594,30 @@ "value" : "Importation de %@ succédée" } }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Importation réussie de %@" + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ importé avec succès" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Sikeresen importáltuk a %@" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ importato con successo" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -7965,6 +9666,12 @@ "value" : "Nhập thành công %@" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "成功导入 %@" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -7993,6 +9700,12 @@ "value" : "ادعمني في Ko-Fi" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Подкрепете в Ko-Fi" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -8002,7 +9715,7 @@ "de" : { "stringUnit" : { "state" : "translated", - "value" : "Unterstütze bei Ko-Fi" + "value" : "Mit Ko-Fi unterstützen" } }, "es" : { @@ -8035,12 +9748,30 @@ "value" : "Supporter sur Ko-Fi" } }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Soutien sur Ko-Fi" + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Soutien sur Ko-Fi" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Támogass minket Ko-Fi-n" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Supporta su Ko-Fi" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -8089,6 +9820,12 @@ "value" : "Hỗ trợ trên Ko-Fi" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "在 Ko-fi 上支持我们" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -8117,6 +9854,12 @@ "value" : "المجلد مُعد بشكل غير صحيح. يرجى الضغط على \"إعادة تعيين المجموعات\" وحاول مرة أخرى." } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Папката е неправилно настроена. Моля, докоснете „Нулиране на колекции“ и опитайте отново." + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -8159,12 +9902,30 @@ "value" : "Le dossier est mal installé. Veuillez cliquer sur \"réinitialiser collections\" et réessayer." } }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Le dossier est mal configuré. Veuillez appuyer sur \"Réinitialiser les Collections\" et réessayer." + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Le dossier est mal configuré. Veuillez appuyer sur \"Réinitialiser les 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." } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "La cartella non è stata configurata correttamente. Tocca su \"Ripristina le raccolte\" e riprova." + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -8174,7 +9935,7 @@ "ko" : { "stringUnit" : { "state" : "translated", - "value" : "폴더 설정이 올바르지 않습니다. \"컬렉션 초기화\"를 누른 후 다시 시도해주세요." + "value" : "폴더 설정이 올바르지 않습니다. \"컬렉션 초기화\"를 누른 후 다시 시도해 주십시오." } }, "nl" : { @@ -8192,7 +9953,7 @@ "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Ошибка. Нажмите \"Сбросить коллекции\" и попробуйте снова." + "value" : "Ошибка. Нажмите \"Сбросить коллекции\" и повторите попытку." } }, "th" : { @@ -8213,6 +9974,12 @@ "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-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "文件夹设置不正确。请点击“重置‘收藏’”并重试。" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -8241,6 +10008,12 @@ "value" : "تطبيق PosterBoard بيفتح الان. قفله من السويتشر." } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Приложението PosterBoard ще се отвори сега. Моля, затворете го от превключвателя на приложения." + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -8283,12 +10056,30 @@ "value" : "L'appli PosterBoard sera maintenant lancé. Veuillez le fermer a partir du sélecteur d'applications." } }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "L'application PosterBoard va maintenant s'ouvrir. Veuillez la fermer depuis le switcher d'applications." + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "L'appli PosterBoard va maintenant s'ouvrir. Veuillez la fermer depuis le sélecteur d'applis." + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Megnyílik a PosterBoard alkalmazás. Kérjük, zárja be az alkalmazásváltóból." } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "L'app PosterBoard ora si aprirà. Chiudila dallo switcher delle applicazioni" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -8298,7 +10089,7 @@ "ko" : { "stringUnit" : { "state" : "translated", - "value" : "PosterBoard 앱이 열립니다. 앱 전환기에서 닫아주세요." + "value" : "곧 PosterBoard 앱이 열립니다. 앱 전환기에서 닫아주십시오." } }, "nl" : { @@ -8337,6 +10128,12 @@ "value" : "Ứng dụng PosterBoard đã được mở. Hãy đóng nó trong đa nhiệm." } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "即将打开 PosterBoard App。请从 App 切换器将其关闭。" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -8365,6 +10162,12 @@ "value" : "الفيديو الذي استوردته طويل جدًا! يجب أن يكون طول الفيديو %@ ثانية أو أقل." } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Импортираното от вас видео е твърде дълго! Вашето видео трябва да е %@ секунди или по-малко." + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -8407,12 +10210,30 @@ "value" : "La vidéo que vous avez sélectionné est trop long! Votre vidéo doit être de %@ secondes ou moins." } }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "La vidéo que vous avez importée est trop longue ! Votre vidéo doit durer %@ secondes ou moins." + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "La vidéo que vous avez importée est trop longue ! Votre vidéo doit durer %@ secondes ou moins." + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Az importált videó túl hosszú! A videó hossza legfeljebb %@ másodperc lehet." } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Il video che hai importato è troppo lungo! Deve essere di %@ secondi o meno." + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -8461,6 +10282,12 @@ "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-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "您导入的视频太长了!视频长度不得超过 %@ 秒。" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -8489,6 +10316,12 @@ "value" : "لتطبيق ذلك، سيحتاج PosterBoard إلى الفتح." } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "За да се приложи, PosterBoard ще трябва да се отвори." + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -8531,12 +10364,30 @@ "value" : "Pour appliquer, PosterBoard devra ouvrir." } }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pour appliquer, PosterBoard devra s'ouvrir." + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pour postuler, PosterBoard devra s'ouvrir." + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Az alkalmazáshoz a PosterBoardnak meg kell nyílnia." } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Per applicarlo, PosterBoard dovrà essere aperto." + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -8585,6 +10436,12 @@ "value" : "Để áp dụng, PosterBoard sẽ cần phải được mở." } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "若要应用,需打开 PosterBoard。" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -8613,6 +10470,12 @@ "value" : "للحصول على معرف حزمة التطبيق، يلزم استخدام Nugget." } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "За да получите ID на пакета на приложението, е необходим Nugget." + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -8655,12 +10518,30 @@ "value" : "Pour récupérer le Bundle ID de l'application, Nugget est requis." } }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pour obtenir l'app bundle id, Nugget est requis." + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pour obtenir l'app bundle id, Nugget est requis." + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Nuggetre van szükség az App Bundle id megszerzéséhez." } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Per ottenere l'id pacchetto dell'app, Nugget è richiesto." + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -8709,6 +10590,12 @@ "value" : "Để lấy ID gói của ứng dụng, bạn cần phải sử dụng Nugget." } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "若要获取 App 的 Bundle ID,需要 Nugget。" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -8717,6 +10604,53 @@ } } }, + "Update Available" : { + "comment" : "app update available on GitHub", + "localizations" : { + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Je K Dispozici Aktualizace" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hay una actualización disponible" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mise à jour disponible" + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "มีอัพเดทพร้อมใช้งาน" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Güncelleme Kullanılabilir" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đã có bản cập nhật mới" + } + }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "有更新可用" + } + } + } + }, "Version %@ (%@)" : { "localizations" : { "ar" : { @@ -8737,6 +10671,12 @@ "value" : "الإصدار %1$@ (%2$@)" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Версия %1$@ (%2$@)" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -8785,12 +10725,30 @@ "value" : "Version %1$@ (%2$@)" } }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Version %1$@ (%2$@)" + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Version %1$@ (%2$@)" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Verzió %1$@ (%2$@)" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Versione %1$@ (%2$@)" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -8839,6 +10797,12 @@ "value" : "Phiên bản %1@ (%2$@)" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "版本 %1$@ (%2$@)" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -8867,6 +10831,12 @@ "value" : "فيديو" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Видеоклипове" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -8909,12 +10879,30 @@ "value" : "Vidéos" } }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vidéos" + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vidéos" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Videók" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Video" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -8963,6 +10951,12 @@ "value" : "Videos" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "视频" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -8991,6 +10985,12 @@ "value" : "انظر على Github" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Вижте в GitHub" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -9033,12 +11033,30 @@ "value" : "Voir sur GitHub" } }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voir sur GitHub" + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voir sur GitHub" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Megtekintés a GitHubon" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vedi su GitHub" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -9087,6 +11105,12 @@ "value" : "Xem trên Github" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "在 GitHub 上查看" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -9095,6 +11119,46 @@ } } }, + "Waiting for app hash..." : { + "localizations" : { + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Esperando por el App Hash" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "En attente de l’app hash..." + } + }, + "th" : { + "stringUnit" : { + "state" : "translated", + "value" : "กำลังรอแฮชแอป" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Uygulama hash'i bekleniyor..." + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đang chờ mã định danh ứng dụng..." + } + }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "正在等待 App 哈希值" + } + } + } + }, "Website Designer" : { "localizations" : { "ar" : { @@ -9115,6 +11179,12 @@ "value" : "ديزانير الموقع" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Уеб дизайнер" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -9157,12 +11227,30 @@ "value" : "Designer de site" } }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Concepteur de Site Web" + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Concepteur de site web" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Weboldal Designere" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sviluppatore sito web" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -9211,6 +11299,12 @@ "value" : "Nhà thiết kế Website" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "网站设计者" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -9239,6 +11333,12 @@ "value" : "مرحبا الى Pocket Poster!" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Добре дошли в Pocket Poster!" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -9281,12 +11381,30 @@ "value" : "Bienvenue à Pocket Poster" } }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bienvenue sur Pocket Poster !" + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bienvenue sur Pocket Poster !" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Üdvözlünk a Pocket Poster-be!" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Benvenuto su Pocket Poster!" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -9335,6 +11453,12 @@ "value" : "Chào mừng đến với Pocket Poster!" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "欢迎来到 Pocket Poster!" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -9363,6 +11487,12 @@ "value" : "هل ترغب في تنزيل الملف %@؟" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Искате ли да изтеглите файла %@?" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -9405,12 +11535,30 @@ "value" : "Voulez-vous télécharger le fichier %@?" } }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Souhaitez-vous télécharger le fichier %@ ?" + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voulez-vous télécharger le fichier %@ ?" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Szeretnéd letölteni a(z) %@ fájlt?" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vorresti scaricare il file %@?" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -9459,6 +11607,12 @@ "value" : "Bạn có muốn tải xuống tệp %@ không?" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "您想要下载文件 %@ 吗?" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -9487,6 +11641,12 @@ "value" : "يمكنك العثور على الخلفيات على الموقع الرسمي Cowabun.ga." } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Можете да намерите тапети на официалния уебсайт Cowabun.ga." + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -9529,12 +11689,30 @@ "value" : "Vous pouvez trouver des fonds d'écran sur le site officiel Cowabun.ga." } }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vous pouvez trouver des wallpapers sur le site officiel Cowabun.ga." + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vous pouvez trouver des fonds d'écran sur le site web officiel de Cowabun.ga." + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Háttérképeket a hivatalos Cowabun.ga weboldalon találhatsz." } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Puoi trovare sfondi sul sito ufficiale Cowabun.ga." + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -9583,6 +11761,12 @@ "value" : "Bạn có thể tìm kiếm các hình nền trên trang web Cowabun.ga." } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "您可在官方网站 Cowabun.ga 上找到墙纸。" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -9611,6 +11795,12 @@ "value" : "يمكنك تثبيت اختصار اختياري إذا فشلت الطريقة الأصلية." } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Можете да инсталирате незадължителен пряк път, ако оригиналният метод се провали." + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -9653,16 +11843,34 @@ "value" : "Vous pouvez installer un raccourci optionnel si la méthode originelle échoue." } }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vous pouvez installer un raccourci optionnel si la méthode originale échoue." + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vous pouvez installer un shortcut optionnel si la méthode originale échoue." + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Telepíthetsz egy opcionális parancsot, ha az eredeti módszer nem működik." } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Puoi installare un comando rapido opzionale se il metodo originale fallisce." + } + }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : " 元の方法がうまくいかない場合は、オプションのショートカットをインストールできます。" + "value" : "元の方法がうまくいかない場合は、オプションのショートカットをインストールできます。" } }, "ko" : { @@ -9707,6 +11915,12 @@ "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-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "如果初始方法失败,您可以安装备用的快捷指令。" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -9738,6 +11952,12 @@ "value" : "يمكنك تطبيق أوصاف %@ فقط." } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Можете да приложите само %@ дескриптори." + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -9780,12 +12000,30 @@ "value" : "Vous pouvez que appliquer des descripteurs %@." } }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vous ne pouvez appliquer que des descripteurs %@" + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vous ne pouvez appliquer que %@ descripteurs." + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Csak %@ descriptort alkalmazhatsz." } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Puoi solo applicare %@ descrittori." + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -9834,6 +12072,12 @@ "value" : "Bạn chỉ có thể áp dụng %@ mô tả." } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "您只能应用 %@ 描述符。" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -9862,6 +12106,12 @@ "value" : "هاش البرنامج غير صحيح. يرجى إعادة تعيينه." } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Вашият хеш на приложение е грешен. Моля, задайте го отново." + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -9904,12 +12154,30 @@ "value" : "Votre hach d'application est incorrect. Veuillez le régler de nouveau." } }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Votre app hash est incorrect. Veuillez le définir à nouveau." + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Votre hash d'appli est incorrect. Veuillez le définir à nouveau." + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Az App hashed helytelen. Kérlek állítsd be újra." } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Il tuo hash dell'app non è corretto. Inseriscilo di nuovo." + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -9919,7 +12187,7 @@ "ko" : { "stringUnit" : { "state" : "translated", - "value" : "앱 해시가 올바르지 않습니다. 다시 설정해주세요." + "value" : "앱 해시가 올바르지 않습니다. 다시 설정해 주십시오." } }, "nl" : { @@ -9937,7 +12205,7 @@ "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Ваш App hash неправильный. Впишите его заново." + "value" : "Указан некорректный App Hash. Повторите попытку." } }, "th" : { @@ -9958,6 +12226,12 @@ "value" : "Mã định danh Ứng dụng chưa chính xác. Vui lòng đặt lại." } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "您的 App 哈希值不正确。请重新设置。" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -9989,6 +12263,12 @@ "value" : "سيتم تحديث PosterBoard تلقائيًا." } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Вашият PosterBoard ще се опресни автоматично." + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -10031,12 +12311,30 @@ "value" : "Votre PosterBoard sera rafraîchi automatiquement." } }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Votre PosterBoard va se rafraîchir automatiquement." + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Votre PosterBoard se rafraîchira automatiquement." + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "A PosterBoardod automatikusan újra fog tölteni." } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Il tuo PosterBoard si ricaricherà in autormatico." + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -10085,6 +12383,12 @@ "value" : "PosterBoard sẽ được tự động làm mới." } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "您的 PosterBoard 将自动刷新。" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", diff --git a/Pocket Poster/Pocket-Poster-InfoPlist.xcstrings b/Pocket Poster/Pocket-Poster-InfoPlist.xcstrings index 57245f9..385ba38 100644 --- a/Pocket Poster/Pocket-Poster-InfoPlist.xcstrings +++ b/Pocket Poster/Pocket-Poster-InfoPlist.xcstrings @@ -23,6 +23,12 @@ "value" : "Pocket Poster" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -71,12 +77,30 @@ "value" : "Pocket Poster" } }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Pocket Poster" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -125,6 +149,12 @@ "value" : "Pocket Poster" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pocket Poster" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", @@ -153,6 +183,12 @@ "value" : "خلفيات Nugget" } }, + "bg" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nugget Wallpaper" + } + }, "cs" : { "stringUnit" : { "state" : "translated", @@ -195,12 +231,30 @@ "value" : "Fond d'écran Nugget" } }, + "fr-CH" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nugget Wallpaper" + } + }, + "fr-LU" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nugget Wallpaper" + } + }, "hu" : { "stringUnit" : { "state" : "translated", "value" : "Nugget Háttérkép" } }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sfondo di Nugget" + } + }, "ja" : { "stringUnit" : { "state" : "translated", @@ -249,6 +303,12 @@ "value" : "Hình nền Nugget" } }, + "zh-CN" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nugget 墙纸" + } + }, "zh-Hant" : { "stringUnit" : { "state" : "translated", diff --git a/Pocket Poster/Pocket_PosterApp.swift b/Pocket Poster/Pocket_PosterApp.swift index c30dc7e..20f8077 100644 --- a/Pocket Poster/Pocket_PosterApp.swift +++ b/Pocket Poster/Pocket_PosterApp.swift @@ -15,6 +15,9 @@ struct Pocket_PosterApp: App { @AppStorage("finishedTutorial") var finishedTutorial: Bool = false @AppStorage("pbHash") var pbHash: String = "" + @State var downloadURL: String? = nil + @State var checkedForUpdate: Bool = false + var body: some Scene { WindowGroup { Group { @@ -26,6 +29,29 @@ struct Pocket_PosterApp: App { } .transition(.opacity) .animation(.easeOut(duration: 0.5), value: finishedTutorial) + .onAppear { + // check for update + if !checkedForUpdate { + checkedForUpdate = true + if let version = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String, let url = URL(string: "https://api.github.com/leminlimez/Pocket-Poster/releases/latest") { + let task = URLSession.shared.dataTask(with: url) {(data, response, error) in + guard let data = data else { return } + + if let json = try? JSONSerialization.jsonObject(with: data, options: .mutableContainers) as? [String: Any] { + if (json["tag_name"] as? String)?.replacingOccurrences(of: "v", with: "").compare(version, options: .numeric) == .orderedDescending { + UIApplication.shared.confirmAlert( + title: NSLocalizedString("Update Available", comment: "app update available on GitHub"), + body: String(format: NSLocalizedString("Pocket Poster %@ is available, do you want to visit releases page?", comment: "app update available on GitHub"), json["tag_name"] as? String ?? "update"), + onOK: { + UIApplication.shared.open(URL(string: "https://github.com/leminlimez/Pocket-Poster/releases/latest")!) + }, noCancel: false) + } + } + } + task.resume() + } + } + } .onOpenURL(perform: { url in // Download URL if url.absoluteString.starts(with: "pocketposter://download") { diff --git a/Pocket Poster/Views/ContentView.swift b/Pocket Poster/Views/ContentView.swift index 576c748..3383456 100644 --- a/Pocket Poster/Views/ContentView.swift +++ b/Pocket Poster/Views/ContentView.swift @@ -99,17 +99,21 @@ struct ContentView: View { .buttonStyle(TintedButton(color: .blue, fullwidth: true)) } Button(action: { - 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)") + if #available(iOS 18.0, *) { + guard let lang = UserDefaults.standard.stringArray(forKey: "AppleLanguages")?.first else { + hideResetHelp = false // fallback to tutorial + return } - }, noCancel: false) + 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) + } else { + hideResetHelp = false + } }) { Label("Reset Collections", systemImage: "arrow.clockwise.circle") } diff --git a/Pocket Poster/Views/SettingsView.swift b/Pocket Poster/Views/SettingsView.swift index a10a7da..d87ee9d 100644 --- a/Pocket Poster/Views/SettingsView.swift +++ b/Pocket Poster/Views/SettingsView.swift @@ -26,30 +26,16 @@ struct SettingsView: View { TextField("Enter CarPlayWallpaper App Hash", text: $cpHash) .textFieldStyle(RoundedBorderTextFieldStyle()) .font(.system(.body, design: .monospaced)) - .onChange(of: pbHash) { _ in - var separator: String? = nil - if pbHash.contains(" ") { - separator = " " - } else if pbHash.contains("\n") { - separator = "\n" - } - if let separator = separator { - let items = pbHash.split(separator: separator) - if let pb = items.first { - pbHash = String(pb) - } - if items.count >= 2 { - cpHash = String(items[1]) - } - } - } HStack { Spacer() // Run task to check until file exists from Nugget pc over AFC Button(action: { - UIApplication.shared.confirmAlert(title: "Waiting for app hashes...", body: "Connect your device to Nugget and click the \"Pocket Poster Helper\" button.", confirmTitle: "Cancel", onOK: { - cancelWaitForHash() - }, noCancel: true) + if !FileManager.default.fileExists(atPath: SymHandler.getPosterBoardHashURL().path()) { + // don't show the alert because it is already there + UIApplication.shared.confirmAlert(title: NSLocalizedString("Waiting for app hash...", comment: ""), body: NSLocalizedString("Connect your device to Nugget and click the \"Pocket Poster Helper\" button.", comment: ""), confirmTitle: NSLocalizedString("Cancel", comment: ""), onOK: { + cancelWaitForHash() + }, noCancel: true) + } startWaitForHash() }) { Text("Detect") @@ -165,7 +151,7 @@ struct SettingsView: View { func startWaitForHash() { checkingForHash = true hashCheckTask = Task { - let filePath = SymHandler.getLCDocumentsDirectory().appendingPathComponent("NuggetAppHash") + let filePath = SymHandler.getPosterBoardHashURL() while !FileManager.default.fileExists(atPath: filePath.path()) { try? await Task.sleep(nanoseconds: 500_000_000) // Sleep 0.5s try Task.checkCancellation() @@ -175,16 +161,15 @@ struct SettingsView: View { let contents = try String(contentsOf: filePath) try? FileManager.default.removeItem(at: filePath) await MainActor.run { - var separator = " " - if contents.contains("\n") { - separator = "\n" - } - let items = contents.split(separator: separator) - if let pb = items.first { - pbHash = String(pb) - } - if items.count >= 2 { - cpHash = String(items[1]) + pbHash = contents + } + // check for carplay hash + let carplayPath = SymHandler.getCarPlayHashURL() + if FileManager.default.fileExists(atPath: carplayPath.path()) { + let carplayContents = try String(contentsOf: carplayPath) + try? FileManager.default.removeItem(at: carplayPath) + await MainActor.run { + cpHash = carplayContents } } } catch {