feat: add data-test attributes for improved testing in various components

This commit is contained in:
T. Zehetbauer
2026-04-01 10:23:35 +02:00
parent fd8c2cc32a
commit 3bcc5c70a3
20 changed files with 802 additions and 31 deletions

View File

@@ -0,0 +1,171 @@
{
"nav": {
"overview": "Overview",
"waters": "Waters",
"species": "Fish Species",
"stocking": "Stocking",
"leases": "Leases",
"catchBooks": "Catch Books",
"permits": "Permits",
"competitions": "Competitions",
"statistics": "Statistics"
},
"pages": {
"overviewTitle": "Fisheries",
"watersTitle": "Fisheries - Waters",
"speciesTitle": "Fisheries - Fish Species",
"stockingTitle": "Fisheries - Stocking",
"leasesTitle": "Fisheries - Leases",
"catchBooksTitle": "Fisheries - Catch Books",
"permitsTitle": "Fisheries - Permits",
"competitionsTitle": "Fisheries - Competitions",
"statisticsTitle": "Fisheries - Statistics"
},
"dashboard": {
"title": "Fisheries Overview",
"subtitle": "Manage waters, fish species, stocking, catch books, and more",
"waters": "Waters",
"species": "Fish Species",
"activeLeases": "Active Leases",
"openCatchBooks": "Open Catch Books",
"upcomingCompetitions": "Upcoming Competitions",
"stockingCostsYtd": "Stocking Costs (YTD)",
"recentStocking": "Recent Stocking Activities",
"noRecentStocking": "No stocking activities yet.",
"pendingCatchBooks": "Pending Catch Books",
"noPendingCatchBooks": "No catch books pending review."
},
"waters": {
"searchPlaceholder": "Search waters...",
"newWater": "New Water",
"title": "Waters ({count})",
"noWaters": "No waters found",
"createFirst": "Create your first water body to get started.",
"shortName": "Short Name",
"surfaceArea": "Surface Area (ha)"
},
"waterForm": {
"basicData": "Basic Data",
"name": "Name *",
"shortName": "Short Name",
"waterType": "Water Type",
"description": "Description",
"surfaceArea": "Surface Area (ha)",
"length": "Length (m)",
"width": "Width (m)",
"avgDepth": "Average Depth (m)",
"maxDepth": "Maximum Depth (m)",
"geography": "Geography",
"drainage": "Drainage",
"location": "Location",
"district": "District",
"latitude": "Latitude",
"longitude": "Longitude",
"administration": "Administration",
"lfvNumber": "LFV Number",
"costSharePercent": "Cost Share (%)",
"waterUpdated": "Water updated",
"waterCreated": "Water created",
"errorSaving": "Error saving",
"waterTypes": {
"still": "Still Water",
"flowing": "Flowing Water",
"pond": "Pond",
"lake": "Lake",
"river": "River",
"stream": "Stream",
"canal": "Canal",
"reservoir": "Reservoir"
}
},
"species": {
"searchPlaceholder": "Search species...",
"newSpecies": "New Species",
"title": "Fish Species ({count})",
"noSpecies": "No fish species found",
"createFirst": "Create your first fish species.",
"latinName": "Latin Name",
"localName": "Local Name"
},
"speciesForm": {
"name": "Name *",
"latinName": "Latin Name",
"localName": "Local Name",
"protectionRules": "Protection Rules",
"minimumSize": "Minimum Size (cm)",
"closedSeasonStart": "Closed Season Start (MM.DD)",
"closedSeasonEnd": "Closed Season End (MM.DD)",
"datePlaceholder": "e.g. {example}",
"catchLimits": "Catch Limits",
"maxCatchPerDay": "Max Catch/Day",
"maxCatchPerYear": "Max Catch/Year",
"speciesUpdated": "Species updated",
"speciesCreated": "Species created",
"errorSaving": "Error saving"
},
"stocking": {
"newStocking": "Record Stocking",
"title": "Stocking Records ({count})",
"noStocking": "No stocking records found",
"createFirst": "Record your first stocking activity.",
"date": "Date",
"water": "Water",
"fishSpecies": "Fish Species",
"quantity": "Quantity",
"weight": "Weight (kg)",
"ageClass": "Age Class",
"cost": "Cost (€)"
},
"stockingForm": {
"title": "Stocking Data",
"water": "Water *",
"selectWater": "— Select water —",
"species": "Species *",
"selectSpecies": "— Select species —",
"date": "Stocking Date *",
"quantity": "Quantity (pcs) *",
"weight": "Weight (kg)",
"ageClass": "Age Class",
"cost": "Cost (EUR)",
"remarks": "Remarks",
"created": "Stocking recorded",
"errorSaving": "Error saving"
},
"catchBooks": {
"title": "Catch Books ({count})",
"noCatchBooks": "No catch books found",
"createFirst": "Create your first catch book.",
"year": "Year",
"allYears": "All Years",
"catchBookStatus": {
"open": "Open",
"submitted": "Submitted",
"approved": "Approved",
"rejected": "Rejected",
"archived": "Archived"
}
},
"competitions": {
"title": "Competitions ({count})",
"newCompetition": "New Competition",
"noCompetitions": "No competitions found",
"createFirst": "Create your first competition."
},
"leases": {
"title": "Leases",
"startDate": "Start",
"endDate": "End",
"indefinite": "indefinite",
"cost": "Lease Cost"
},
"permits": {
"title": "Permits"
},
"common": {
"search": "Search",
"cancel": "Cancel",
"save": "Save",
"update": "Update",
"create": "Create"
}
}

View File

@@ -0,0 +1,168 @@
{
"nav": {
"members": "Members",
"newMember": "New Member",
"applications": "Applications",
"dues": "Dues Categories",
"departments": "Departments",
"cards": "Member Cards",
"import": "Import",
"statistics": "Statistics"
},
"list": {
"searchPlaceholder": "Search name, email, or member no...",
"title": "Members ({count})",
"noMembers": "No members found",
"createFirst": "Create your first member to get started.",
"newMember": "New Member"
},
"detail": {
"personalData": "Personal Data",
"firstName": "First Name",
"lastName": "Last Name",
"dateOfBirth": "Date of Birth",
"gender": "Gender",
"salutation": "Salutation",
"age": "{age} years",
"contactData": "Contact Information",
"email": "Email",
"phone": "Phone",
"mobile": "Mobile",
"address": "Address",
"street": "Street",
"houseNumber": "House No.",
"postalCode": "ZIP",
"city": "City",
"country": "Country",
"membership": "Membership",
"memberNumber": "Member No.",
"status": "Status",
"entryDate": "Entry Date",
"exitDate": "Exit Date",
"exitReason": "Exit Reason",
"membershipYears": "{years} years",
"bankData": "Bank Details",
"iban": "IBAN",
"bic": "BIC",
"accountHolder": "Account Holder",
"editMember": "Edit",
"terminateMember": "Terminate",
"terminateConfirm": "Are you sure you want to terminate {name}?",
"terminated": "Member terminated",
"errorTerminating": "Error terminating member",
"reactivated": "Member reactivated",
"errorReactivating": "Error reactivating member",
"notFound": "Member not found"
},
"form": {
"createTitle": "Create New Member",
"editTitle": "Edit Member",
"created": "Member created successfully",
"updated": "Member updated",
"errorCreating": "Error creating member",
"errorUpdating": "Error updating member",
"gdprConsent": "GDPR Consent",
"notes": "Notes"
},
"status": {
"active": "Active",
"inactive": "Inactive",
"pending": "Pending",
"resigned": "Resigned",
"excluded": "Excluded",
"deceased": "Deceased"
},
"applications": {
"title": "Membership Applications ({count})",
"noApplications": "No pending applications",
"approve": "Approve",
"reject": "Reject",
"approved": "Application approved — member created",
"rejected": "Application rejected",
"errorApproving": "Error approving application",
"errorRejecting": "Error rejecting application",
"approveConfirm": "Approve application from {name}?",
"rejectConfirm": "Reject application from {name}? Please provide a reason:",
"submitted": "Submitted"
},
"dues": {
"title": "Dues Categories",
"name": "Name",
"description": "Description",
"amount": "Amount",
"interval": "Interval",
"default": "Default",
"monthly": "Monthly",
"quarterly": "Quarterly",
"semiannual": "Semi-annual",
"annual": "Annual",
"create": "Create",
"created": "Dues category created",
"deleted": "Dues category deleted",
"errorCreating": "Error creating category",
"errorDeleting": "Error deleting category",
"deleteConfirm": "Delete dues category \"{name}\"?",
"noCategories": "No dues categories found."
},
"mandates": {
"title": "SEPA Mandates",
"iban": "IBAN *",
"bic": "BIC",
"accountHolder": "Account Holder *",
"mandateDate": "Mandate Date",
"primary": "Primary",
"createMandate": "Create Mandate",
"revoke": "Revoke",
"revokeConfirm": "Revoke mandate \"{reference}\"?",
"created": "SEPA mandate created",
"revoked": "Mandate revoked",
"errorCreating": "Error creating mandate",
"errorRevoking": "Error revoking mandate"
},
"departments": {
"title": "Departments",
"noDepartments": "No departments found.",
"createFirst": "Create your first department.",
"newDepartment": "New Department"
},
"cards": {
"title": "Member Cards",
"memberCard": "MEMBER CARD",
"memberSince": "Member since",
"validUntil": "Valid until",
"generate": "Generate Cards",
"download": "Download"
},
"import": {
"title": "Import Members",
"selectFile": "Select CSV file",
"mapColumns": "Map columns",
"preview": "Preview",
"importing": "Importing...",
"imported": "{count} members imported successfully",
"errorImporting": "Error importing"
},
"statistics": {
"title": "Member Statistics",
"totalMembers": "Total Members",
"activeMembers": "Active Members",
"newThisYear": "New This Year",
"resignedThisYear": "Resigned This Year"
},
"export": {
"csv": "Export CSV",
"excel": "Export Excel",
"memberNumber": "Member No.",
"firstName": "First Name",
"lastName": "Last Name",
"email": "Email",
"phone": "Phone",
"postalCode": "ZIP",
"city": "City",
"status": "Status",
"entryDate": "Entry Date",
"iban": "IBAN",
"bic": "BIC",
"accountHolder": "Account Holder"
}
}