Files
honeyDueKMP/iosApp/iosApp/Helpers/L10n.swift
Trey t 4a04aff1e6 Replace status_id with in_progress boolean across mobile apps
- Remove TaskStatus model and status_id foreign key references
- Add in_progress boolean field to task models and forms
- Update TaskApi to use dedicated POST endpoints for task actions:
  - POST /tasks/:id/cancel/ instead of PATCH with is_cancelled
  - POST /tasks/:id/uncancel/
  - POST /tasks/:id/archive/
  - POST /tasks/:id/unarchive/
- Fix iOS TaskViewModel to use error-first pattern for Kotlin-Swift
  generic type bridging issues
- Update iOS callback signatures to pass full TaskResponse instead
  of just taskId to avoid stale closure lookups
- Add in_progress localization strings
- Update widget preview data to use inProgress boolean

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-08 20:47:59 -06:00

601 lines
41 KiB
Swift

import Foundation
// MARK: - L10n - Type-safe Localized Strings
// Usage: L10n.auth.loginTitle
enum L10n {
// MARK: - App
enum App {
static var name: String { String(localized: "app_name") }
static var tagline: String { String(localized: "app_tagline") }
}
// MARK: - Auth
enum Auth {
// Login
static var loginTitle: String { String(localized: "auth_login_title") }
static var loginSubtitle: String { String(localized: "auth_login_subtitle") }
static var loginUsernameLabel: String { String(localized: "auth_login_username_label") }
static var loginPasswordLabel: String { String(localized: "auth_login_password_label") }
static var loginButton: String { String(localized: "auth_login_button") }
static var forgotPassword: String { String(localized: "auth_forgot_password") }
static var noAccount: String { String(localized: "auth_no_account") }
static var loginFailed: String { String(localized: "auth_login_failed") }
static var showPassword: String { String(localized: "auth_show_password") }
static var hidePassword: String { String(localized: "auth_hide_password") }
static var welcomeBack: String { String(localized: "auth_welcome_back") }
static var signInSubtitle: String { String(localized: "auth_sign_in_subtitle") }
static var enterEmail: String { String(localized: "auth_enter_email") }
static var enterPassword: String { String(localized: "auth_enter_password") }
static var signingIn: String { String(localized: "auth_signing_in") }
static var orDivider: String { String(localized: "auth_or_divider") }
static var signingInWithApple: String { String(localized: "auth_signing_in_with_apple") }
static var dontHaveAccount: String { String(localized: "auth_dont_have_account") }
static var signUp: String { String(localized: "auth_sign_up") }
// Register
static var registerTitle: String { String(localized: "auth_register_title") }
static var registerSubtitle: String { String(localized: "auth_register_subtitle") }
static var registerFirstName: String { String(localized: "auth_register_first_name") }
static var registerLastName: String { String(localized: "auth_register_last_name") }
static var registerEmail: String { String(localized: "auth_register_email") }
static var registerUsername: String { String(localized: "auth_register_username") }
static var registerPassword: String { String(localized: "auth_register_password") }
static var registerConfirmPassword: String { String(localized: "auth_register_confirm_password") }
static var registerButton: String { String(localized: "auth_register_button") }
static var haveAccount: String { String(localized: "auth_have_account") }
static var passwordsDontMatch: String { String(localized: "auth_passwords_dont_match") }
static var joinCasera: String { String(localized: "auth_join_casera") }
static var startManaging: String { String(localized: "auth_start_managing") }
static var accountInfo: String { String(localized: "auth_account_info") }
static var security: String { String(localized: "auth_security") }
static var passwordSuggestion: String { String(localized: "auth_password_suggestion") }
// Verify Email
static var verifyTitle: String { String(localized: "auth_verify_title") }
static var verifySubtitle: String { String(localized: "auth_verify_subtitle") }
static var verifyCodeLabel: String { String(localized: "auth_verify_code_label") }
static var verifyButton: String { String(localized: "auth_verify_button") }
static var verifyResend: String { String(localized: "auth_verify_resend") }
static var verifySuccess: String { String(localized: "auth_verify_success") }
static var verifyYourEmail: String { String(localized: "auth_verify_your_email") }
static var verifyMustVerify: String { String(localized: "auth_verify_must_verify") }
static var verifyCheckInbox: String { String(localized: "auth_verify_check_inbox") }
static var verifyCodeMustBe6: String { String(localized: "auth_verify_code_must_be_6") }
static var verifyEmailButton: String { String(localized: "auth_verify_email_button") }
static var verifyHelpText: String { String(localized: "auth_verify_help_text") }
static var logout: String { String(localized: "auth_logout") }
// Forgot Password
static var forgotTitle: String { String(localized: "auth_forgot_title") }
static var forgotSubtitle: String { String(localized: "auth_forgot_subtitle") }
static var forgotEmailLabel: String { String(localized: "auth_forgot_email_label") }
static var forgotButton: String { String(localized: "auth_forgot_button") }
static var forgotSuccess: String { String(localized: "auth_forgot_success") }
// Reset Password
static var resetTitle: String { String(localized: "auth_reset_title") }
static var resetSubtitle: String { String(localized: "auth_reset_subtitle") }
static var resetCodeLabel: String { String(localized: "auth_reset_code_label") }
static var resetNewPassword: String { String(localized: "auth_reset_new_password") }
static var resetConfirmPassword: String { String(localized: "auth_reset_confirm_password") }
static var resetButton: String { String(localized: "auth_reset_button") }
static var resetSuccess: String { String(localized: "auth_reset_success") }
}
// MARK: - Properties
enum Properties {
static var title: String { String(localized: "properties_title") }
static var emptyTitle: String { String(localized: "properties_empty_title") }
static var emptySubtitle: String { String(localized: "properties_empty_subtitle") }
static var addButton: String { String(localized: "properties_add_button") }
static var addTitle: String { String(localized: "properties_add_title") }
static var editTitle: String { String(localized: "properties_edit_title") }
static var nameLabel: String { String(localized: "properties_name_label") }
static var addressLabel: String { String(localized: "properties_address_label") }
static var typeLabel: String { String(localized: "properties_type_label") }
static var notesLabel: String { String(localized: "properties_notes_label") }
static var deleteConfirm: String { String(localized: "properties_delete_confirm") }
static var deleted: String { String(localized: "properties_deleted") }
}
// MARK: - Residences
enum Residences {
// List
static var title: String { String(localized: "residences_title") }
static var yourProperties: String { String(localized: "residences_your_properties") }
static var property: String { String(localized: "residences_property") }
static var properties: String { String(localized: "residences_properties") }
// Form
static var addTitle: String { String(localized: "residences_add_title") }
static var editTitle: String { String(localized: "residences_edit_title") }
static var propertyName: String { String(localized: "residences_property_name") }
static var propertyType: String { String(localized: "residences_property_type") }
static var selectType: String { String(localized: "residences_select_type") }
static var propertyDetails: String { String(localized: "residences_property_details") }
static var requiredName: String { String(localized: "residences_required_name") }
static var nameRequired: String { String(localized: "residences_name_required") }
// Address
static var address: String { String(localized: "residences_address") }
static var streetAddress: String { String(localized: "residences_street_address") }
static var apartmentUnit: String { String(localized: "residences_apartment_unit") }
static var city: String { String(localized: "residences_city") }
static var stateProvince: String { String(localized: "residences_state_province") }
static var postalCode: String { String(localized: "residences_postal_code") }
static var country: String { String(localized: "residences_country") }
// Features
static var propertyFeatures: String { String(localized: "residences_property_features") }
static var bedrooms: String { String(localized: "residences_bedrooms") }
static var bathrooms: String { String(localized: "residences_bathrooms") }
static var squareFootage: String { String(localized: "residences_square_footage") }
static var lotSize: String { String(localized: "residences_lot_size") }
static var yearBuilt: String { String(localized: "residences_year_built") }
// Additional
static var additionalDetails: String { String(localized: "residences_additional_details") }
static var description: String { String(localized: "residences_description") }
static var primaryResidence: String { String(localized: "residences_primary_residence") }
// Detail
static var loadingResidence: String { String(localized: "residences_loading_residence") }
static var generateReport: String { String(localized: "residences_generate_report") }
static var generateReportMessage: String { String(localized: "residences_generate_report_message") }
static var maintenanceReport: String { String(localized: "residences_maintenance_report") }
static var contractors: String { String(localized: "residences_contractors") }
static var noContractors: String { String(localized: "residences_no_contractors") }
static var addContractorsPrompt: String { String(localized: "residences_add_contractors_prompt") }
static var loadingTasks: String { String(localized: "residences_loading_tasks") }
static var errorLoadingTasks: String { String(localized: "residences_error_loading_tasks") }
static var generate: String { String(localized: "residences_generate") }
// Delete
static var deleteTitle: String { String(localized: "residences_delete_title") }
static var deleteConfirmMessage: String { String(localized: "residences_delete_confirm_message") }
// Join
static var joinTitle: String { String(localized: "residences_join_title") }
static var shareCode: String { String(localized: "residences_share_code") }
static var enterShareCode: String { String(localized: "residences_enter_share_code") }
static var shareCodeFooter: String { String(localized: "residences_share_code_footer") }
static var joinButton: String { String(localized: "residences_join_button") }
static var shareCodeMust6: String { String(localized: "residences_share_code_must_6") }
// Manage Users
static var manageUsers: String { String(localized: "residences_manage_users") }
static var users: String { String(localized: "residences_users") }
}
// MARK: - Tasks
enum Tasks {
static var title: String { String(localized: "tasks_title") }
static var emptyTitle: String { String(localized: "tasks_empty_title") }
static var emptySubtitle: String { String(localized: "tasks_empty_subtitle") }
static var addButton: String { String(localized: "tasks_add_button") }
static var addTitle: String { String(localized: "tasks_add_title") }
static var editTitle: String { String(localized: "tasks_edit_title") }
static var titleLabel: String { String(localized: "tasks_title_label") }
static var descriptionLabel: String { String(localized: "tasks_description_label") }
static var deleteConfirm: String { String(localized: "tasks_delete_confirm") }
// Form Fields
static var property: String { String(localized: "tasks_property") }
static var selectProperty: String { String(localized: "tasks_select_property") }
static var required: String { String(localized: "tasks_required") }
static var taskDetails: String { String(localized: "tasks_task_details") }
static var titleRequired: String { String(localized: "tasks_title_required") }
static var descriptionOptional: String { String(localized: "tasks_description_optional") }
static var category: String { String(localized: "tasks_category") }
static var selectCategory: String { String(localized: "tasks_select_category") }
static var scheduling: String { String(localized: "tasks_scheduling") }
static var frequency: String { String(localized: "tasks_frequency") }
static var selectFrequency: String { String(localized: "tasks_select_frequency") }
static var customInterval: String { String(localized: "tasks_custom_interval") }
static var dueDate: String { String(localized: "tasks_due_date") }
static var priorityAndStatus: String { String(localized: "tasks_priority_status") }
static var priority: String { String(localized: "tasks_priority") }
static var selectPriority: String { String(localized: "tasks_select_priority") }
static var status: String { String(localized: "tasks_status") }
static var selectStatus: String { String(localized: "tasks_select_status") }
static var bothRequired: String { String(localized: "tasks_both_required") }
static var cost: String { String(localized: "tasks_cost") }
static var estimatedCost: String { String(localized: "tasks_estimated_cost") }
static var loading: String { String(localized: "tasks_loading") }
// All Tasks View
static var allTasks: String { String(localized: "tasks_all_tasks") }
static var noTasksYet: String { String(localized: "tasks_no_tasks_yet") }
static var createFirst: String { String(localized: "tasks_create_first") }
static var addPropertyFirst: String { String(localized: "tasks_add_property_first") }
static var archiveTask: String { String(localized: "tasks_archive_task") }
static var deleteTask: String { String(localized: "tasks_delete_task") }
static var archiveConfirm: String { String(localized: "tasks_archive_confirm") }
static var archive: String { String(localized: "tasks_archive") }
static var noTasks: String { String(localized: "tasks_no_tasks") }
// Complete Task View
static var completeTask: String { String(localized: "tasks_complete_task") }
static var selectContractor: String { String(localized: "tasks_select_contractor") }
static var contractorOptional: String { String(localized: "tasks_contractor_optional") }
static var contractorHelper: String { String(localized: "tasks_contractor_helper") }
static var completedBy: String { String(localized: "tasks_completed_by") }
static var yourName: String { String(localized: "tasks_your_name") }
static var actualCost: String { String(localized: "tasks_actual_cost") }
static var optionalInfo: String { String(localized: "tasks_optional_info") }
static var optionalDetails: String { String(localized: "tasks_optional_details") }
static var notes: String { String(localized: "tasks_notes") }
static var optionalNotes: String { String(localized: "tasks_optional_notes") }
static var qualityRating: String { String(localized: "tasks_quality_rating") }
static var rateQuality: String { String(localized: "tasks_rate_quality") }
static var photos: String { String(localized: "tasks_photos") }
static var addPhotos: String { String(localized: "tasks_add_photos") }
static var takePhoto: String { String(localized: "tasks_take_photo") }
static var library: String { String(localized: "tasks_library") }
static var none: String { String(localized: "tasks_none") }
static var noneManual: String { String(localized: "tasks_none_manual") }
static var enterManually: String { String(localized: "tasks_enter_manually") }
static var error: String { String(localized: "tasks_error") }
// Completion History
static var completionHistory: String { String(localized: "tasks_completion_history") }
static var loadingCompletions: String { String(localized: "tasks_loading_completions") }
static var failedToLoad: String { String(localized: "tasks_failed_to_load") }
static var noCompletionsYet: String { String(localized: "tasks_no_completions_yet") }
static var notCompleted: String { String(localized: "tasks_not_completed") }
static var completions: String { String(localized: "tasks_completions") }
static var completion: String { String(localized: "tasks_completion") }
static var completedByName: String { String(localized: "tasks_completed_by_name") }
static var viewPhotos: String { String(localized: "tasks_view_photos") }
// Task Card Actions
static var inProgress: String { String(localized: "tasks_in_progress") }
static var inProgressLabel: String { String(localized: "tasks_in_progress_label") }
static var complete: String { String(localized: "tasks_complete") }
static var edit: String { String(localized: "tasks_edit") }
static var cancel: String { String(localized: "tasks_cancel") }
static var restore: String { String(localized: "tasks_restore") }
static var unarchive: String { String(localized: "tasks_unarchive") }
// Task Templates
static var browseTemplates: String { String(localized: "tasks_browse_templates") }
static var searchTemplates: String { String(localized: "tasks_search_templates") }
static var noTemplatesFound: String { String(localized: "tasks_no_templates_found") }
static var tryDifferentSearch: String { String(localized: "tasks_try_different_search") }
static var result: String { String(localized: "tasks_result") }
static var results: String { String(localized: "tasks_results") }
}
// MARK: - Contractors
enum Contractors {
static var title: String { String(localized: "contractors_title") }
static var emptyTitle: String { String(localized: "contractors_empty_title") }
static var emptySubtitle: String { String(localized: "contractors_empty_subtitle") }
static var emptyNoFilters: String { String(localized: "contractors_empty_no_filters") }
static var emptyFiltered: String { String(localized: "contractors_empty_filtered") }
static var addButton: String { String(localized: "contractors_add_button") }
static var addTitle: String { String(localized: "contractors_add_title") }
static var editTitle: String { String(localized: "contractors_edit_title") }
// Search & Filter
static var searchPlaceholder: String { String(localized: "contractors_search_placeholder") }
static var favorites: String { String(localized: "contractors_favorites") }
static var allSpecialties: String { String(localized: "contractors_all_specialties") }
// Form Fields
static var nameLabel: String { String(localized: "contractors_name_label") }
static var companyLabel: String { String(localized: "contractors_company_label") }
static var phoneLabel: String { String(localized: "contractors_phone_label") }
static var emailLabel: String { String(localized: "contractors_email_label") }
static var websiteLabel: String { String(localized: "contractors_website_label") }
static var streetAddressLabel: String { String(localized: "contractors_street_address_label") }
static var cityLabel: String { String(localized: "contractors_city_label") }
static var stateLabel: String { String(localized: "contractors_state_label") }
static var zipLabel: String { String(localized: "contractors_zip_label") }
static var notesLabel: String { String(localized: "contractors_notes_label") }
// Form Sections
static var basicInfoSection: String { String(localized: "contractors_basic_info_section") }
static var basicInfoFooter: String { String(localized: "contractors_basic_info_footer") }
static var residenceSection: String { String(localized: "contractors_residence_section") }
static var residenceFooterPersonal: String { String(localized: "contractors_residence_footer_personal") }
static var residenceFooterShared: String { String(localized: "contractors_residence_footer_shared") }
static var contactInfoSection: String { String(localized: "contractors_contact_info_section") }
static var specialtiesSection: String { String(localized: "contractors_specialties_section") }
static var addressSection: String { String(localized: "contractors_address_section") }
static var notesSection: String { String(localized: "contractors_notes_section") }
static var notesFooter: String { String(localized: "contractors_notes_footer") }
static var favoriteLabel: String { String(localized: "contractors_favorite_label") }
// Detail View
static var removeFromFavorites: String { String(localized: "contractors_remove_from_favorites") }
static var addToFavorites: String { String(localized: "contractors_add_to_favorites") }
static var deleteConfirm: String { String(localized: "contractors_delete_confirm") }
static var deleteMessage: String { String(localized: "contractors_delete_message") }
static var completedTasks: String { String(localized: "contractors_completed_tasks") }
static var callAction: String { String(localized: "contractors_call_action") }
static var emailAction: String { String(localized: "contractors_email_action") }
static var websiteAction: String { String(localized: "contractors_website_action") }
static var directionsAction: String { String(localized: "contractors_directions_action") }
static var locationLabel: String { String(localized: "contractors_location_label") }
static var propertyLabel: String { String(localized: "contractors_property_label") }
static var associatedPropertySection: String { String(localized: "contractors_associated_property_section") }
static var statisticsSection: String { String(localized: "contractors_statistics_section") }
static var tasksCompletedLabel: String { String(localized: "contractors_tasks_completed_label") }
static var averageRatingLabel: String { String(localized: "contractors_average_rating_label") }
static var infoSection: String { String(localized: "contractors_info_section") }
static var addedByLabel: String { String(localized: "contractors_added_by_label") }
static var memberSinceLabel: String { String(localized: "contractors_member_since_label") }
// Picker Sheets
static var selectResidence: String { String(localized: "contractors_select_residence") }
static var personalNoResidence: String { String(localized: "contractors_personal_no_residence") }
static var selectSpecialties: String { String(localized: "contractors_select_specialties") }
static var selectSpecialtiesPlaceholder: String { String(localized: "contractors_select_specialties_placeholder") }
static var clearAction: String { String(localized: "contractors_clear_action") }
// Stats
static var tasksLabel: String { String(localized: "contractors_tasks_label") }
}
// MARK: - Documents
enum Documents {
// Main view
static var title: String { String(localized: "documents_title") }
static var documentsAndWarranties: String { String(localized: "documents_and_warranties") }
static var warranties: String { String(localized: "documents_warranties") }
static var documents: String { String(localized: "documents_documents") }
static var searchPlaceholder: String { String(localized: "documents_search_placeholder") }
// Filters
static var activeOnly: String { String(localized: "documents_active_only") }
static var allCategories: String { String(localized: "documents_all_categories") }
static var allTypes: String { String(localized: "documents_all_types") }
// Empty states
static var emptyTitle: String { String(localized: "documents_empty_title") }
static var emptySubtitle: String { String(localized: "documents_empty_subtitle") }
static var noDocumentsFound: String { String(localized: "documents_no_documents_found") }
static var noDocumentsMessage: String { String(localized: "documents_no_documents_message") }
static var noWarrantiesFound: String { String(localized: "documents_no_warranties_found") }
static var noWarrantiesMessage: String { String(localized: "documents_no_warranties_message") }
// Actions
static var addButton: String { String(localized: "documents_add_button") }
// Form titles
static var addWarranty: String { String(localized: "documents_add_warranty") }
static var addDocument: String { String(localized: "documents_add_document") }
static var editWarranty: String { String(localized: "documents_edit_warranty") }
static var editDocument: String { String(localized: "documents_edit_document") }
// Form sections
static var property: String { String(localized: "documents_property") }
static var selectProperty: String { String(localized: "documents_select_property") }
static var documentType: String { String(localized: "documents_document_type") }
static var documentTypeCannotChange: String { String(localized: "documents_document_type_cannot_change") }
static var basicInformation: String { String(localized: "documents_basic_information") }
static var warrantyDetails: String { String(localized: "documents_warranty_details") }
static var warrantyClaims: String { String(localized: "documents_warranty_claims") }
static var warrantyDates: String { String(localized: "documents_warranty_dates") }
static var category: String { String(localized: "documents_category") }
static var additionalInformation: String { String(localized: "documents_additional_information") }
static var active: String { String(localized: "documents_active") }
static var photos: String { String(localized: "documents_photos") }
static var existingPhotos: String { String(localized: "documents_existing_photos") }
// Form fields
static var titleField: String { String(localized: "documents_title_field") }
static var description: String { String(localized: "documents_description") }
static var descriptionOptional: String { String(localized: "documents_description_optional") }
static var itemName: String { String(localized: "documents_item_name") }
static var modelNumber: String { String(localized: "documents_model_number") }
static var modelNumberOptional: String { String(localized: "documents_model_number_optional") }
static var serialNumber: String { String(localized: "documents_serial_number") }
static var serialNumberOptional: String { String(localized: "documents_serial_number_optional") }
static var provider: String { String(localized: "documents_provider") }
static var providerCompany: String { String(localized: "documents_provider_company") }
static var providerContact: String { String(localized: "documents_provider_contact") }
static var providerContactOptional: String { String(localized: "documents_provider_contact_optional") }
static var claimPhone: String { String(localized: "documents_claim_phone") }
static var claimPhoneOptional: String { String(localized: "documents_claim_phone_optional") }
static var claimEmail: String { String(localized: "documents_claim_email") }
static var claimEmailOptional: String { String(localized: "documents_claim_email_optional") }
static var claimWebsite: String { String(localized: "documents_claim_website") }
static var claimWebsiteOptional: String { String(localized: "documents_claim_website_optional") }
static var purchaseDate: String { String(localized: "documents_purchase_date") }
static var startDate: String { String(localized: "documents_start_date") }
static var endDate: String { String(localized: "documents_end_date") }
static var tags: String { String(localized: "documents_tags") }
static var tagsOptional: String { String(localized: "documents_tags_optional") }
static var notes: String { String(localized: "documents_notes") }
static var notesOptional: String { String(localized: "documents_notes_optional") }
static var categoryOptional: String { String(localized: "documents_category_optional") }
// Form footer messages
static var required: String { String(localized: "documents_required") }
static var requiredTitle: String { String(localized: "documents_required_title") }
static var requiredWarrantyFields: String { String(localized: "documents_required_warranty_fields") }
// Photo actions
static var selectFromLibrary: String { String(localized: "documents_select_from_library") }
static var takePhoto: String { String(localized: "documents_take_photo") }
static var photosSelected: String { String(localized: "documents_photos_selected") }
// Detail view
static var documentDetails: String { String(localized: "documents_document_details") }
static var loadingDocument: String { String(localized: "documents_loading_document") }
static var status: String { String(localized: "documents_status") }
static var daysRemaining: String { String(localized: "documents_days_remaining") }
static var itemDetails: String { String(localized: "documents_item_details") }
static var claimInformation: String { String(localized: "documents_claim_information") }
static var importantDates: String { String(localized: "documents_important_dates") }
static var images: String { String(localized: "documents_images") }
static var associations: String { String(localized: "documents_associations") }
static var residence: String { String(localized: "documents_residence") }
static var contractor: String { String(localized: "documents_contractor") }
static var contractorPhone: String { String(localized: "documents_contractor_phone") }
static var attachedFile: String { String(localized: "documents_attached_file") }
static var fileType: String { String(localized: "documents_file_type") }
static var fileSize: String { String(localized: "documents_file_size") }
static var downloadFile: String { String(localized: "documents_download_file") }
static var metadata: String { String(localized: "documents_metadata") }
static var uploadedBy: String { String(localized: "documents_uploaded_by") }
static var created: String { String(localized: "documents_created") }
static var updated: String { String(localized: "documents_updated") }
// Warranty statuses
static var inactive: String { String(localized: "documents_inactive") }
static var expired: String { String(localized: "documents_expired") }
static var expiringSoon: String { String(localized: "documents_expiring_soon") }
static var activeStatus: String { String(localized: "documents_active_status") }
// Warranty card
static var expires: String { String(localized: "documents_expires") }
static var daysRemainingCount: String { String(localized: "documents_days_remaining_count") }
// Delete
static var deleteDocument: String { String(localized: "documents_delete_document") }
static var deleteConfirmMessage: String { String(localized: "documents_delete_confirm_message") }
// Validation errors
static var titleRequired: String { String(localized: "documents_title_required") }
static var propertyRequired: String { String(localized: "documents_property_required") }
static var itemNameRequired: String { String(localized: "documents_item_name_required") }
static var providerRequired: String { String(localized: "documents_provider_required") }
static var fillRequiredFields: String { String(localized: "documents_fill_required_fields") }
static var noResidenceSelected: String { String(localized: "documents_no_residence_selected") }
static var documentIdMissing: String { String(localized: "documents_document_id_missing") }
static var failedToUpdate: String { String(localized: "documents_failed_to_update") }
static var failedToCreate: String { String(localized: "documents_failed_to_create") }
// Document type names
static var typeWarranty: String { String(localized: "documents_type_warranty") }
static var typeManual: String { String(localized: "documents_type_manual") }
static var typeReceipt: String { String(localized: "documents_type_receipt") }
static var typeInspection: String { String(localized: "documents_type_inspection") }
static var typePermit: String { String(localized: "documents_type_permit") }
static var typeDeed: String { String(localized: "documents_type_deed") }
static var typeInsurance: String { String(localized: "documents_type_insurance") }
static var typeContract: String { String(localized: "documents_type_contract") }
static var typePhoto: String { String(localized: "documents_type_photo") }
static var typeOther: String { String(localized: "documents_type_other") }
static var typeUnknown: String { String(localized: "documents_type_unknown") }
// Category names
static var categoryAppliance: String { String(localized: "documents_category_appliance") }
static var categoryHvac: String { String(localized: "documents_category_hvac") }
static var categoryPlumbing: String { String(localized: "documents_category_plumbing") }
static var categoryElectrical: String { String(localized: "documents_category_electrical") }
static var categoryRoofing: String { String(localized: "documents_category_roofing") }
static var categoryStructural: String { String(localized: "documents_category_structural") }
static var categoryOther: String { String(localized: "documents_category_other") }
static var categoryUnknown: String { String(localized: "documents_category_unknown") }
// Common labels
static var none: String { String(localized: "documents_none") }
static var na: String { String(localized: "documents_na") }
static var update: String { String(localized: "documents_update") }
}
// MARK: - Profile
enum Profile {
static var title: String { String(localized: "profile_title") }
static var logout: String { String(localized: "profile_logout") }
static var logoutConfirm: String { String(localized: "profile_logout_confirm") }
static var loadingProfile: String { String(localized: "profile_loading_profile") }
static var profileSettings: String { String(localized: "profile_profile_settings") }
static var firstName: String { String(localized: "profile_first_name") }
static var lastName: String { String(localized: "profile_last_name") }
static var personalInformation: String { String(localized: "profile_personal_information") }
static var email: String { String(localized: "profile_email") }
static var contact: String { String(localized: "profile_contact") }
static var emailRequiredUnique: String { String(localized: "profile_email_required_unique") }
static var saveChanges: String { String(localized: "profile_save_changes") }
static var editProfile: String { String(localized: "profile_edit_profile") }
static var account: String { String(localized: "profile_account") }
static var notifications: String { String(localized: "profile_notifications") }
static var privacy: String { String(localized: "profile_privacy") }
static var subscription: String { String(localized: "profile_subscription") }
static var proPlan: String { String(localized: "profile_pro_plan") }
static var freePlan: String { String(localized: "profile_free_plan") }
static var activeUntil: String { String(localized: "profile_active_until") }
static var limitedFeatures: String { String(localized: "profile_limited_features") }
static var upgradeToPro: String { String(localized: "profile_upgrade_to_pro") }
static var manageSubscription: String { String(localized: "profile_manage_subscription") }
static var restorePurchases: String { String(localized: "profile_restore_purchases") }
static var appearance: String { String(localized: "profile_appearance") }
static var theme: String { String(localized: "profile_theme") }
static var appName: String { String(localized: "profile_app_name") }
static var version: String { String(localized: "profile_version") }
static var purchasesRestored: String { String(localized: "profile_purchases_restored") }
static var purchasesRestoredMessage: String { String(localized: "profile_purchases_restored_message") }
// Notification Preferences
static var notificationPreferences: String { String(localized: "profile_notification_preferences") }
static var notificationPreferencesSubtitle: String { String(localized: "profile_notification_preferences_subtitle") }
static var taskDueSoon: String { String(localized: "profile_task_due_soon") }
static var taskDueSoonDescription: String { String(localized: "profile_task_due_soon_description") }
static var taskOverdue: String { String(localized: "profile_task_overdue") }
static var taskOverdueDescription: String { String(localized: "profile_task_overdue_description") }
static var taskCompleted: String { String(localized: "profile_task_completed") }
static var taskCompletedDescription: String { String(localized: "profile_task_completed_description") }
static var taskAssigned: String { String(localized: "profile_task_assigned") }
static var taskAssignedDescription: String { String(localized: "profile_task_assigned_description") }
static var taskNotifications: String { String(localized: "profile_task_notifications") }
static var propertyShared: String { String(localized: "profile_property_shared") }
static var propertySharedDescription: String { String(localized: "profile_property_shared_description") }
static var warrantyExpiring: String { String(localized: "profile_warranty_expiring") }
static var warrantyExpiringDescription: String { String(localized: "profile_warranty_expiring_description") }
static var dailyDigest: String { String(localized: "profile_daily_digest") }
static var dailyDigestDescription: String { String(localized: "profile_daily_digest_description") }
static var otherNotifications: String { String(localized: "profile_other_notifications") }
// Email Notifications
static var emailNotifications: String { String(localized: "profile_email_notifications") }
static var emailTaskCompleted: String { String(localized: "profile_email_task_completed") }
static var emailTaskCompletedDescription: String { String(localized: "profile_email_task_completed_description") }
// Support
static var support: String { String(localized: "profile_support") }
static var contactSupport: String { String(localized: "profile_contact_support") }
static var contactSupportSubtitle: String { String(localized: "profile_contact_support_subtitle") }
}
// MARK: - Settings
enum Settings {
static var title: String { String(localized: "settings_title") }
static var language: String { String(localized: "settings_language") }
}
// MARK: - Common
enum Common {
static var save: String { String(localized: "common_save") }
static var cancel: String { String(localized: "common_cancel") }
static var delete: String { String(localized: "common_delete") }
static var edit: String { String(localized: "common_edit") }
static var done: String { String(localized: "common_done") }
static var close: String { String(localized: "common_close") }
static var back: String { String(localized: "common_back") }
static var loading: String { String(localized: "common_loading") }
static var error: String { String(localized: "common_error") }
static var retry: String { String(localized: "common_retry") }
static var success: String { String(localized: "common_success") }
static var yes: String { String(localized: "common_yes") }
static var no: String { String(localized: "common_no") }
static var ok: String { String(localized: "common_ok") }
static var share: String { String(localized: "common_share") }
static var `import`: String { String(localized: "common_import") }
}
// MARK: - Errors
enum Error {
static var generic: String { String(localized: "error_generic") }
static var network: String { String(localized: "error_network") }
static var unauthorized: String { String(localized: "error_unauthorized") }
static var notFound: String { String(localized: "error_not_found") }
static var requiredField: String { String(localized: "error_required_field") }
}
}