Add comprehensive i18n localization for KMM and iOS
KMM (Android/Shared): - Add strings.xml with 200+ localized strings - Add translation files for es, fr, de, pt languages - Update all screens to use stringResource() for i18n - Add Accept-Language header to API client for all platforms iOS: - Add L10n.swift helper with type-safe string accessors - Add Localizable.xcstrings with translations for all 5 languages - Update all SwiftUI views to use L10n.* for localized strings - Localize Auth, Residence, Task, Contractor, Document, and Profile views Supported languages: English, Spanish, French, German, Portuguese 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,577 @@
|
||||
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 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") }
|
||||
}
|
||||
|
||||
// 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 otherNotifications: String { String(localized: "profile_other_notifications") }
|
||||
}
|
||||
|
||||
// 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") }
|
||||
}
|
||||
|
||||
// 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") }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user