diff --git a/ApplicationLibrary/Views/Tools/CrashReportListView.swift b/ApplicationLibrary/Views/Tools/CrashReportListView.swift index 20e0be3..7f5fdc0 100644 --- a/ApplicationLibrary/Views/Tools/CrashReportListView.swift +++ b/ApplicationLibrary/Views/Tools/CrashReportListView.swift @@ -77,7 +77,7 @@ public struct CrashReportListView: View { CrashTriggerView() } .toolbar { - if SharedPreferences.inDebug { + if Variant.inDebug { ToolbarItem(placement: .confirmationAction) { Button { showCrashTrigger = true @@ -101,9 +101,9 @@ public struct CrashReportListView: View { } #else .toolbar { - if !manager.reports.isEmpty || SharedPreferences.inDebug { + if !manager.reports.isEmpty || Variant.inDebug { Menu { - if SharedPreferences.inDebug { + if Variant.inDebug { Menu { Menu("Application") { Button("Go Crash") { diff --git a/ApplicationLibrary/Views/Tools/ExportReportView.swift b/ApplicationLibrary/Views/Tools/ExportReportView.swift index 27abef5..b78bc2b 100644 --- a/ApplicationLibrary/Views/Tools/ExportReportView.swift +++ b/ApplicationLibrary/Views/Tools/ExportReportView.swift @@ -5,7 +5,7 @@ import Network import SwiftUI - private struct StreamedReportFile: Sendable { + private struct StreamedReportFile { let name: String let fileURL: URL let size: UInt64 diff --git a/Library/Network/ExtensionProvider.swift b/Library/Network/ExtensionProvider.swift index ecdda75..0b1882a 100644 --- a/Library/Network/ExtensionProvider.swift +++ b/Library/Network/ExtensionProvider.swift @@ -150,7 +150,7 @@ open class ExtensionProvider: NEPacketTunnelProvider { options.tempPath = tempPath options.logMaxLines = 3000 - options.debug = SharedPreferences.inDebug + options.debug = Variant.inDebug options.crashReportSource = "NetworkExtension" #if os(tvOS) diff --git a/Localizable.xcstrings b/Localizable.xcstrings index a39e81c..c86793c 100644 --- a/Localizable.xcstrings +++ b/Localizable.xcstrings @@ -599,7 +599,32 @@ } }, "Auth URL" : { - + "localizations" : { + "fa" : { + "stringUnit" : { + "state" : "translated", + "value" : "لینک احراز هویت" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "URL авторизации" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "认证链接" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "認證連結" + } + } + } }, "Authorize" : { "localizations" : { @@ -786,13 +811,41 @@ "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "测试版" + "value" : "Beta 版" } }, "zh-Hant" : { "stringUnit" : { "state" : "translated", - "value" : "測試版" + "value" : "Beta 版" + } + } + } + }, + "Beta Settings" : { + "localizations" : { + "fa" : { + "stringUnit" : { + "state" : "translated", + "value" : "تنظیمات بتا" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Настройки беты" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Beta 版设置" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "Beta 版設置" } } } @@ -6527,7 +6580,32 @@ } }, "Open Auth URL as QR Code" : { - + "localizations" : { + "fa" : { + "stringUnit" : { + "state" : "translated", + "value" : "باز کردن لینک احراز هویت به‌صورت کد QR" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Открыть URL авторизации как QR-код" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "以二维码打开认证链接" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "以二維碼開啟認證連結" + } + } + } }, "Open Settings" : { "localizations" : { @@ -7281,6 +7359,34 @@ } } }, + "Reasserting" : { + "localizations" : { + "fa" : { + "stringUnit" : { + "state" : "translated", + "value" : "در حال اتصال مجدد" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Переподключение" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "重新连接中" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "重新連接中" + } + } + } + }, "Reboot required." : { "localizations" : { "fa" : { @@ -8591,6 +8697,62 @@ } } }, + "Started" : { + "localizations" : { + "fa" : { + "stringUnit" : { + "state" : "translated", + "value" : "شروع‌شده" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Запущено" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "已启动" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "已啟動" + } + } + } + }, + "Starting" : { + "localizations" : { + "fa" : { + "stringUnit" : { + "state" : "translated", + "value" : "در حال شروع" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Запуск" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "启动中" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "啟動中" + } + } + } + }, "State" : { "localizations" : { "fa" : { @@ -8731,6 +8893,62 @@ } } }, + "Stopped" : { + "localizations" : { + "fa" : { + "stringUnit" : { + "state" : "translated", + "value" : "متوقف‌شده" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Остановлено" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "已停止" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "已停止" + } + } + } + }, + "Stopping" : { + "localizations" : { + "fa" : { + "stringUnit" : { + "state" : "translated", + "value" : "در حال توقف" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Остановка" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "停止中" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "停止中" + } + } + } + }, "STUN Server" : { "extractionState" : "stale", "localizations" : { @@ -9600,6 +9818,34 @@ } } }, + "Unknown" : { + "localizations" : { + "fa" : { + "stringUnit" : { + "state" : "translated", + "value" : "ناشناخته" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Неизвестно" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "未知" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "未知" + } + } + } + }, "Unknown message type %u" : { "localizations" : { "fa" : {