mirror of
https://github.com/passepartoutvpn/passepartout-apple.git
synced 2025-02-15 12:22:06 +00:00
parent
d6c2a7f58c
commit
965c39ab51
@ -107,22 +107,24 @@ private extension ProfileEditView {
|
||||
|
||||
func moduleRow(for module: any ModuleBuilder) -> some View {
|
||||
EditorModuleToggle(profileEditor: profileEditor, module: module) {
|
||||
Button {
|
||||
push(.moduleDetail(moduleId: module.id))
|
||||
} label: {
|
||||
HStack {
|
||||
Text(module.description(inEditor: profileEditor))
|
||||
if errorModuleIds.contains(module.id) {
|
||||
ThemeImage(.warning)
|
||||
} else if profileEditor.isActiveModule(withId: module.id) {
|
||||
PurchaseRequiredView(for: module as? AppFeatureRequiring)
|
||||
}
|
||||
Spacer()
|
||||
HStack {
|
||||
Text(module.description(inEditor: profileEditor))
|
||||
if errorModuleIds.contains(module.id) {
|
||||
ThemeImage(.warning)
|
||||
} else if profileEditor.isActiveModule(withId: module.id) {
|
||||
PurchaseRequiredView(for: module as? AppFeatureRequiring)
|
||||
}
|
||||
.contentShape(.rect)
|
||||
Button {
|
||||
push(.moduleDetail(moduleId: module.id))
|
||||
} label: {
|
||||
Spacer()
|
||||
ThemeImage(.navigate)
|
||||
.contentShape(.rect)
|
||||
.imageScale(.large)
|
||||
}
|
||||
.buttonStyle(.borderless)
|
||||
.uiAccessibility(.Profile.moduleLink)
|
||||
}
|
||||
.buttonStyle(.plain)
|
||||
.uiAccessibility(.Profile.moduleLink)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -838,8 +838,8 @@ public enum Strings {
|
||||
}
|
||||
public enum ModuleList {
|
||||
public enum Section {
|
||||
/// Drag modules to rearrange them, as their order determines priority.
|
||||
public static let footer = Strings.tr("Localizable", "views.profile.module_list.section.footer", fallback: "Drag modules to rearrange them, as their order determines priority.")
|
||||
/// Tap modules to edit their settings. Modules may be dragged to determine priority.
|
||||
public static let footer = Strings.tr("Localizable", "views.profile.module_list.section.footer", fallback: "Tap modules to edit their settings. Modules may be dragged to determine priority.")
|
||||
}
|
||||
}
|
||||
public enum Rows {
|
||||
|
@ -270,7 +270,7 @@
|
||||
"views.preferences.locks_in_background" = "Im Hintergrund sperren";
|
||||
"views.preferences.locks_in_background.footer" = "Sperre die App mit FaceID, wenn sie in den Hintergrund geschickt wird.";
|
||||
"views.profile.alerts.purchase.buttons.ok" = "Trotzdem speichern";
|
||||
"views.profile.module_list.section.footer" = "Ziehe die Module, um sie neu anzuordnen, da ihre Reihenfolge die Priorität bestimmt.";
|
||||
"views.profile.module_list.section.footer" = "Tippen Sie auf Module, um ihre Einstellungen zu bearbeiten. Module können gezogen werden, um die Priorität festzulegen.";
|
||||
"views.profile.rows.add_module" = "Modul hinzufügen";
|
||||
"views.profile.sections.name.footer" = "Verwenden Sie diesen Namen, um Ihre VPN-Automationen in der Kurzbefehle-App zu erstellen.";
|
||||
"views.providers.clear_filters" = "Filter löschen";
|
||||
|
@ -270,7 +270,7 @@
|
||||
"views.preferences.locks_in_background" = "Κλείδωμα στο παρασκήνιο";
|
||||
"views.preferences.locks_in_background.footer" = "Κλειδώστε την εφαρμογή με το FaceID όταν αποστέλλεται στο παρασκήνιο.";
|
||||
"views.profile.alerts.purchase.buttons.ok" = "Αποθήκευση ούτως ή άλλως";
|
||||
"views.profile.module_list.section.footer" = "Σύρετε τις μονάδες για να τις αναδιατάξετε, καθώς η σειρά τους καθορίζει την προτεραιότητα.";
|
||||
"views.profile.module_list.section.footer" = "Πατήστε σε ένα module για να επεξεργαστείτε τις ρυθμίσεις του. Τα modules μπορούν να μετακινηθούν για να καθορίσετε την προτεραιότητά τους.";
|
||||
"views.profile.rows.add_module" = "Προσθήκη μονάδας";
|
||||
"views.profile.sections.name.footer" = "Χρησιμοποιήστε αυτό το όνομα για να δημιουργήσετε αυτοματισμούς VPN στην εφαρμογή Συντομεύσεις.";
|
||||
"views.providers.clear_filters" = "Καθαρισμός φίλτρων";
|
||||
|
@ -106,7 +106,7 @@
|
||||
|
||||
"views.profile.sections.name.footer" = "Use this name to create your VPN automations from the Shortcuts app.";
|
||||
"views.profile.rows.add_module" = "Add module";
|
||||
"views.profile.module_list.section.footer" = "Drag modules to rearrange them, as their order determines priority.";
|
||||
"views.profile.module_list.section.footer" = "Tap modules to edit their settings. Modules may be dragged to determine priority.";
|
||||
"views.profile.alerts.purchase.buttons.ok" = "Save anyway";
|
||||
|
||||
"views.providers.no_provider" = "None";
|
||||
|
@ -270,7 +270,7 @@
|
||||
"views.preferences.locks_in_background" = "Bloquear en segundo plano";
|
||||
"views.preferences.locks_in_background.footer" = "Bloquea la app con FaceID cuando se envíe al fondo.";
|
||||
"views.profile.alerts.purchase.buttons.ok" = "Guardar de todos modos";
|
||||
"views.profile.module_list.section.footer" = "Arrastra los módulos para reorganizarlos, ya que su orden determina la prioridad.";
|
||||
"views.profile.module_list.section.footer" = "Toca los módulos para editar su configuración. Se pueden arrastrar para establecer la prioridad.";
|
||||
"views.profile.rows.add_module" = "Añadir módulo";
|
||||
"views.profile.sections.name.footer" = "Usa este nombre para crear automatizaciones VPN en la app Atajos.";
|
||||
"views.providers.clear_filters" = "Borrar filtros";
|
||||
|
@ -270,7 +270,7 @@
|
||||
"views.preferences.locks_in_background" = "Verrouiller en arrière-plan";
|
||||
"views.preferences.locks_in_background.footer" = "Verrouillez l'application avec FaceID lorsqu'elle est envoyée en arrière-plan.";
|
||||
"views.profile.alerts.purchase.buttons.ok" = "Enregistrer quand même";
|
||||
"views.profile.module_list.section.footer" = "Faites glisser les modules pour les réorganiser, car leur ordre détermine la priorité.";
|
||||
"views.profile.module_list.section.footer" = "Touchez les modules pour modifier leurs paramètres. Ils peuvent être glissés pour définir leur priorité.";
|
||||
"views.profile.rows.add_module" = "Ajouter un module";
|
||||
"views.profile.sections.name.footer" = "Utilisez ce nom pour créer vos automatisations VPN dans l'app Raccourcis.";
|
||||
"views.providers.clear_filters" = "Effacer les filtres";
|
||||
|
@ -270,7 +270,7 @@
|
||||
"views.preferences.locks_in_background" = "Blocca in background";
|
||||
"views.preferences.locks_in_background.footer" = "Blocca l'app con FaceID quando viene inviata in background.";
|
||||
"views.profile.alerts.purchase.buttons.ok" = "Salva comunque";
|
||||
"views.profile.module_list.section.footer" = "Trascina i moduli per riordinarli, poiché il loro ordine determina la priorità.";
|
||||
"views.profile.module_list.section.footer" = "Tocca i moduli per modificarne le impostazioni. Possono essere trascinati per determinare la priorità.";
|
||||
"views.profile.rows.add_module" = "Aggiungi modulo";
|
||||
"views.profile.sections.name.footer" = "Usa questo nome per creare le automazioni VPN nell'app Comandi Rapidi.";
|
||||
"views.providers.clear_filters" = "Cancella filtri";
|
||||
|
@ -270,7 +270,7 @@
|
||||
"views.preferences.locks_in_background" = "Vergrendelen in achtergrond";
|
||||
"views.preferences.locks_in_background.footer" = "Vergrendel de app met FaceID wanneer deze naar de achtergrond wordt gestuurd.";
|
||||
"views.profile.alerts.purchase.buttons.ok" = "Toch opslaan";
|
||||
"views.profile.module_list.section.footer" = "Sleep modules om ze opnieuw te rangschikken, omdat hun volgorde de prioriteit bepaalt.";
|
||||
"views.profile.module_list.section.footer" = "Tik op modules om hun instellingen te bewerken. Modules kunnen worden versleept om de prioriteit te bepalen.";
|
||||
"views.profile.rows.add_module" = "Module toevoegen";
|
||||
"views.profile.sections.name.footer" = "Gebruik deze naam om uw VPN-automatiseringen in de app Opdrachten te maken.";
|
||||
"views.providers.clear_filters" = "Filters wissen";
|
||||
|
@ -270,7 +270,7 @@
|
||||
"views.preferences.locks_in_background" = "Blokuj w tle";
|
||||
"views.preferences.locks_in_background.footer" = "Zablokuj aplikację za pomocą FaceID, gdy zostanie przeniesiona w tle.";
|
||||
"views.profile.alerts.purchase.buttons.ok" = "Zapisz mimo to";
|
||||
"views.profile.module_list.section.footer" = "Przeciągnij moduły, aby je uporządkować, ponieważ ich kolejność określa priorytet.";
|
||||
"views.profile.module_list.section.footer" = "Stuknij moduły, aby edytować ich ustawienia. Można je przeciągnąć, aby ustalić priorytet.";
|
||||
"views.profile.rows.add_module" = "Dodaj moduł";
|
||||
"views.profile.sections.name.footer" = "Użyj tej nazwy, aby tworzyć automatyzacje VPN w aplikacji Skróty.";
|
||||
"views.providers.clear_filters" = "Wyczyść filtry";
|
||||
|
@ -270,7 +270,7 @@
|
||||
"views.preferences.locks_in_background" = "Bloquear em segundo plano";
|
||||
"views.preferences.locks_in_background.footer" = "Bloqueie o app com o FaceID ao enviá-lo para segundo plano.";
|
||||
"views.profile.alerts.purchase.buttons.ok" = "Salvar assim mesmo";
|
||||
"views.profile.module_list.section.footer" = "Arraste os módulos para reorganizá-los, pois sua ordem determina a prioridade.";
|
||||
"views.profile.module_list.section.footer" = "Toque nos módulos para editar suas configurações. Eles podem ser arrastados para definir a prioridade.";
|
||||
"views.profile.rows.add_module" = "Adicionar módulo";
|
||||
"views.profile.sections.name.footer" = "Use este nome para criar automações VPN no app Atalhos.";
|
||||
"views.providers.clear_filters" = "Limpar filtros";
|
||||
|
@ -270,7 +270,7 @@
|
||||
"views.preferences.locks_in_background" = "Блокировка в фоновом режиме";
|
||||
"views.preferences.locks_in_background.footer" = "Блокируйте приложение с помощью FaceID, когда оно переводится в фоновый режим.";
|
||||
"views.profile.alerts.purchase.buttons.ok" = "Сохранить в любом случае";
|
||||
"views.profile.module_list.section.footer" = "Перетащите модули для их переупорядочивания, так как их порядок определяет приоритет.";
|
||||
"views.profile.module_list.section.footer" = "Нажмите на модули, чтобы изменить их настройки. Их можно перетаскивать для установки приоритета.";
|
||||
"views.profile.rows.add_module" = "Добавить модуль";
|
||||
"views.profile.sections.name.footer" = "Используйте это имя для создания автоматизаций VPN в приложении Команды.";
|
||||
"views.providers.clear_filters" = "Очистить фильтры";
|
||||
|
@ -270,7 +270,7 @@
|
||||
"views.preferences.locks_in_background" = "Lås i bakgrunden";
|
||||
"views.preferences.locks_in_background.footer" = "Lås appen med FaceID när den skickas till bakgrunden.";
|
||||
"views.profile.alerts.purchase.buttons.ok" = "Spara ändå";
|
||||
"views.profile.module_list.section.footer" = "Dra moduler för att ordna om dem, eftersom deras ordning avgör prioritet.";
|
||||
"views.profile.module_list.section.footer" = "Tryck på moduler för att redigera inställningarna. Moduler kan dras för att bestämma prioritet.";
|
||||
"views.profile.rows.add_module" = "Lägg till modul";
|
||||
"views.profile.sections.name.footer" = "Använd detta namn för att skapa VPN-automatiseringar i appen Genvägar.";
|
||||
"views.providers.clear_filters" = "Rensa filter";
|
||||
|
@ -270,7 +270,7 @@
|
||||
"views.preferences.locks_in_background" = "Блокування у фоновому режимі";
|
||||
"views.preferences.locks_in_background.footer" = "Блокуйте додаток за допомогою FaceID, коли він переходе у фоновий режим.";
|
||||
"views.profile.alerts.purchase.buttons.ok" = "Зберегти все одно";
|
||||
"views.profile.module_list.section.footer" = "Перетягніть модулі, щоб змінити їх порядок, оскільки їх порядок визначає пріоритет.";
|
||||
"views.profile.module_list.section.footer" = "Торкніться модулів, щоб змінити їхні налаштування. Їх можна перетягувати для визначення пріоритету.";
|
||||
"views.profile.rows.add_module" = "Додати модуль";
|
||||
"views.profile.sections.name.footer" = "Використовуйте цю назву для створення автоматизацій VPN у додатку Команди.";
|
||||
"views.providers.clear_filters" = "Очистити фільтри";
|
||||
|
@ -270,7 +270,7 @@
|
||||
"views.preferences.locks_in_background" = "后台锁定";
|
||||
"views.preferences.locks_in_background.footer" = "当应用切换到后台时,使用 FaceID 锁定它。";
|
||||
"views.profile.alerts.purchase.buttons.ok" = "仍然保存";
|
||||
"views.profile.module_list.section.footer" = "拖动模块重新排列,因为它们的顺序决定了优先级。";
|
||||
"views.profile.module_list.section.footer" = "点击模块以编辑其设置。可以拖动模块来确定优先级。";
|
||||
"views.profile.rows.add_module" = "添加模块";
|
||||
"views.profile.sections.name.footer" = "使用此名称在快捷指令应用中创建您的 VPN 自动化。";
|
||||
"views.providers.clear_filters" = "清除筛选";
|
||||
|
@ -46,6 +46,7 @@ extension Theme {
|
||||
case info
|
||||
case marked
|
||||
case moreDetails
|
||||
case navigate
|
||||
case pending
|
||||
case profileEdit
|
||||
case profileImport
|
||||
@ -98,6 +99,7 @@ extension Theme.ImageName {
|
||||
case .info: return "info.circle"
|
||||
case .marked: return "checkmark"
|
||||
case .moreDetails: return "ellipsis.circle"
|
||||
case .navigate: return "chevron.forward.circle.fill"
|
||||
case .pending: return "clock"
|
||||
case .profileEdit: return "square.and.pencil"
|
||||
case .profileImport: return "square.and.arrow.down"
|
||||
|
Loading…
Reference in New Issue
Block a user