- Create String+Localization extension with .localized property - Add LabelUtils for consistent label splitting and deduplication logic - Implement Legal & Privacy settings section with Privacy Policy and Legal Notice views - Add German/English localization for all navigation states and settings sections - Fix navigationDestination placement warning in PadSidebarView - Unify label input handling across main app and share extension - Support for space-separated label input in share extension Navigation & Settings now fully localized: - All/Unread/Favorites/Archive → Alle/Ungelesen/Favoriten/Archiv - Font/Appearance/Cache/General/Server Settings → German equivalents - Legal section with GitHub issue reporting and email support contact
42 lines
945 B
Swift
42 lines
945 B
Swift
//
|
|
// BookmarkState.swift
|
|
// readeck
|
|
//
|
|
// Created by Ilyas Hallak on 01.07.25.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
enum BookmarkState: String, CaseIterable {
|
|
case all = "all"
|
|
case unread = "unread"
|
|
case favorite = "favorite"
|
|
case archived = "archived"
|
|
|
|
var displayName: String {
|
|
switch self {
|
|
case .all:
|
|
return NSLocalizedString("All", comment: "")
|
|
case .unread:
|
|
return NSLocalizedString("Unread", comment: "")
|
|
case .favorite:
|
|
return NSLocalizedString("Favorites", comment: "")
|
|
case .archived:
|
|
return NSLocalizedString("Archive", comment: "")
|
|
}
|
|
}
|
|
|
|
var systemImage: String {
|
|
switch self {
|
|
case .all:
|
|
return "list.bullet"
|
|
case .unread:
|
|
return "house"
|
|
case .favorite:
|
|
return "heart"
|
|
case .archived:
|
|
return "archivebox"
|
|
}
|
|
}
|
|
}
|