- 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>
601 lines
41 KiB
Swift
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") }
|
|
}
|
|
}
|