624 lines
18 KiB
TypeScript
624 lines
18 KiB
TypeScript
export const en = {
|
|
common: {
|
|
languageSwitcher: {
|
|
label: "Language",
|
|
options: {
|
|
en: "English",
|
|
es: "Spanish",
|
|
},
|
|
},
|
|
search: {
|
|
placeholder: "Search...",
|
|
label: "Search",
|
|
clearLabel: "Clear search",
|
|
},
|
|
pagination: {
|
|
summaryPrefix: "Showing page",
|
|
summarySeparator: "of",
|
|
previous: "Previous",
|
|
next: "Next",
|
|
},
|
|
submitButton: {
|
|
defaultLabel: "Submit",
|
|
processing: "Processing",
|
|
success: "Success",
|
|
},
|
|
forbidden: {
|
|
title: "Access denied",
|
|
description: "You do not have permission to access this section.",
|
|
homeLink: "Back to home",
|
|
},
|
|
},
|
|
layout: {
|
|
sidebar: {
|
|
home: "Home",
|
|
inventory: "Inventory",
|
|
items: "Items",
|
|
categories: "Categories",
|
|
assets: "Assets",
|
|
recipients: "Recipients",
|
|
people: "People",
|
|
movements: "Movements",
|
|
assignments: "Assignments",
|
|
users: "Users",
|
|
},
|
|
navbar: {
|
|
accountLabel: "My Account",
|
|
},
|
|
addMenu: {
|
|
add: "Add",
|
|
import: "Import",
|
|
category: "Category",
|
|
item: "Item",
|
|
asset: "Asset",
|
|
recipient: "Recipient",
|
|
person: "Person",
|
|
assignment: "Assignment",
|
|
},
|
|
resetDatabase: {
|
|
idle: "Reset Database",
|
|
loading: "Resetting...",
|
|
successToast: "Database reset successfully",
|
|
errorToast: "Error resetting database",
|
|
},
|
|
logout: {
|
|
label: "Sign Out",
|
|
},
|
|
},
|
|
inventory: {
|
|
categories: {
|
|
list: {
|
|
title: "Categories",
|
|
addLabel: "Add Category",
|
|
empty: "No categories found.",
|
|
columns: {
|
|
name: "Name",
|
|
items: "Items",
|
|
actions: "Actions",
|
|
},
|
|
actions: {
|
|
edit: "Edit category",
|
|
delete: "Delete category",
|
|
},
|
|
},
|
|
new: {
|
|
title: "New Category",
|
|
},
|
|
edit: {
|
|
title: "Edit Category",
|
|
},
|
|
form: {
|
|
nameLabel: "Name",
|
|
namePlaceholder: "Category name",
|
|
createSubmit: "Create Category",
|
|
updateSubmit: "Update Category",
|
|
},
|
|
delete: {
|
|
label: "Delete category",
|
|
pending: "Deleting...",
|
|
unknownError: "Unknown error",
|
|
},
|
|
actions: {
|
|
createSuccess: "Category created successfully",
|
|
createFailure: "Failed to create category",
|
|
updateSuccess: "Category updated successfully",
|
|
updateFailure: "Failed to update category",
|
|
deleteSuccess: "Category deleted successfully",
|
|
deleteFailure: "Failed to delete category",
|
|
duplicateName: "Category already exists",
|
|
unchangedName: "Category name unchanged",
|
|
notFound: "Category not found",
|
|
hasItems: "Cannot delete category with items",
|
|
},
|
|
schema: {
|
|
nameRequired: "Name is required and must be at least 3 characters long",
|
|
idRequired: "ID is required",
|
|
},
|
|
},
|
|
items: {
|
|
list: {
|
|
title: "Items",
|
|
addLabel: "Add Item",
|
|
empty: "No items found.",
|
|
columns: {
|
|
name: "Name",
|
|
category: "Category",
|
|
assets: "Assets",
|
|
stock: "Stock",
|
|
actions: "Actions",
|
|
},
|
|
actions: {
|
|
view: "View item",
|
|
edit: "Edit item",
|
|
delete: "Delete item",
|
|
},
|
|
},
|
|
detail: {
|
|
notFound: "Item not found",
|
|
labels: {
|
|
category: "Category",
|
|
stock: "Stock",
|
|
},
|
|
},
|
|
new: {
|
|
title: "New Item",
|
|
},
|
|
edit: {
|
|
title: "Edit Item",
|
|
notFound: "Item not found",
|
|
hasAssetsWarning: "This item has already assets assigned to it.",
|
|
},
|
|
form: {
|
|
nameLabel: "Name",
|
|
namePlaceholder: "Item name",
|
|
categoryLabel: "Category",
|
|
categoryPlaceholder: "Select a category",
|
|
stockLabel: "Stock",
|
|
stockPlaceholder: "0",
|
|
createSubmit: "Create Item",
|
|
updateSubmit: "Update Item",
|
|
},
|
|
delete: {
|
|
label: "Delete item",
|
|
pending: "Deleting...",
|
|
unknownError: "Unknown error",
|
|
},
|
|
actions: {
|
|
createSuccess: "Item created successfully!",
|
|
createFailure: "Error creating item",
|
|
updateSuccess: "Item updated successfully!",
|
|
updateFailure: "Failed to update item",
|
|
deleteSuccess: "Item deleted successfully!",
|
|
deleteFailure: "Failed to delete item",
|
|
duplicateName: "Item already exists",
|
|
notFound: "Item not found",
|
|
hasAssets: "Cannot delete item with assets",
|
|
hasStock: "Cannot delete item with stock",
|
|
invalidStock: "Invalid stock",
|
|
negativeStock: "Stock cannot be negative",
|
|
},
|
|
schema: {
|
|
nameRequired: "Name is required",
|
|
categoryRequired: "Category is required",
|
|
stockRequired: "Stock is required",
|
|
itemRequired: "Item is required",
|
|
},
|
|
},
|
|
assets: {
|
|
list: {
|
|
title: "Assets",
|
|
addLabel: "Add Asset",
|
|
empty: "No assets found.",
|
|
columns: {
|
|
item: "Item",
|
|
category: "Category",
|
|
serialNumber: "Serial Number",
|
|
status: "Status",
|
|
actions: "Actions",
|
|
},
|
|
actions: {
|
|
edit: "Edit asset",
|
|
},
|
|
},
|
|
new: {
|
|
title: "New Asset",
|
|
},
|
|
edit: {
|
|
title: "Edit Asset",
|
|
notFound: "Asset not found",
|
|
},
|
|
form: {
|
|
itemLabel: "Item",
|
|
itemPlaceholder: "Select an item",
|
|
serialNumberLabel: "Serial Number",
|
|
serialNumberPlaceholder: "Serial number",
|
|
deliveryNoteLabel: "Delivery Note",
|
|
deliveryNotePlaceholder: "Delivery note",
|
|
statusLabel: "Status",
|
|
statusPlaceholder: "Select a status",
|
|
recipientLabel: "Recipient",
|
|
recipientPlaceholder: "Select a recipient",
|
|
createSubmit: "Create Asset",
|
|
updateSubmit: "Update Asset",
|
|
},
|
|
status: {
|
|
AVAILABLE: "Available",
|
|
ASSIGNED: "Assigned",
|
|
RESERVED: "Reserved",
|
|
IN_REPAIR: "In repair",
|
|
BROKEN: "Broken",
|
|
STOLEN: "Stolen",
|
|
DISPOSED: "Disposed",
|
|
},
|
|
fallback: {
|
|
unknownStatus: "Unknown status",
|
|
},
|
|
actions: {
|
|
createSuccess: "Asset created successfully",
|
|
createFailure: "Error creating asset",
|
|
updateSuccess: "Asset updated successfully",
|
|
updateFailure: "Error updating asset",
|
|
duplicateSerialNumber: "This serial number already exists",
|
|
notFound: "Asset not found",
|
|
itemNotFound: "Item not found",
|
|
assignmentAlreadyReturned: "Assignment already returned",
|
|
previousItemNotFound: "Previous item not found for available asset",
|
|
insufficientStock: "Item does not have enough stock",
|
|
recipientRequired: "Recipient is required",
|
|
invalidStatus: "Invalid status",
|
|
genericFailure: "Error processing asset",
|
|
},
|
|
schema: {
|
|
itemRequired: "Item is required",
|
|
serialNumberRequired: "Serial number is required",
|
|
idRequired: "ID is required",
|
|
statusRequired: "Status is required",
|
|
invalidCreateStatus: "Status must be Available or Assigned",
|
|
invalidUpdateStatus: "Invalid status",
|
|
},
|
|
},
|
|
assignments: {
|
|
list: {
|
|
title: "Assignments",
|
|
addLabel: "Add Assignment",
|
|
empty: "No assignments found.",
|
|
columns: {
|
|
recipient: "Recipient",
|
|
item: "Item",
|
|
serialNumber: "Serial Number",
|
|
quantity: "Quantity",
|
|
actions: "Actions",
|
|
},
|
|
actions: {
|
|
edit: "Edit assignment",
|
|
return: "Return assignment",
|
|
},
|
|
},
|
|
new: {
|
|
title: "New Assignment",
|
|
},
|
|
edit: {
|
|
title: "Edit Assignment",
|
|
notFound: "Assignment not found",
|
|
},
|
|
form: {
|
|
recipientLabel: "Recipient",
|
|
recipientPlaceholder: "Select a recipient",
|
|
itemLabel: "Item",
|
|
itemPlaceholder: "Select an item",
|
|
assetLabel: "Asset",
|
|
assetPlaceholder: "Select an asset",
|
|
quantityLabel: "Quantity",
|
|
quantityPlaceholder: "1",
|
|
createSubmit: "Create Assignment",
|
|
updateSubmit: "Update Assignment",
|
|
},
|
|
fallback: {
|
|
missingValue: "N/A",
|
|
},
|
|
actions: {
|
|
createSuccess: "Assignment created successfully",
|
|
createFailure: "Error creating assignment",
|
|
updateSuccess: "Assignment updated successfully",
|
|
updateFailure: "Error updating assignment",
|
|
returnSuccess: "Assignment returned successfully",
|
|
returnFailure: "Error returning assignment",
|
|
notFound: "Assignment not found",
|
|
itemNotFound: "Item not found",
|
|
itemInsufficientStock: "Item does not have enough stock",
|
|
assetNotFound: "Asset not found",
|
|
assetItemMismatch: "Asset does not belong to item",
|
|
assignmentAlreadyReturned: "Assignment already returned",
|
|
invalidData: "Invalid assignment data",
|
|
genericFailure: "Error processing assignment",
|
|
},
|
|
schema: {
|
|
recipientRequired: "Recipient is required",
|
|
itemIdRequired: "Item is required",
|
|
quantityMinOne: "Quantity must be at least 1",
|
|
assetIdRequired: "Asset ID is required when item ID is provided",
|
|
idRequired: "Assignment ID is required",
|
|
},
|
|
},
|
|
people: {
|
|
list: {
|
|
title: "People",
|
|
addLabel: "Add Person",
|
|
empty: "No people found.",
|
|
columns: {
|
|
name: "Name",
|
|
email: "Email",
|
|
phone: "Phone",
|
|
department: "Department",
|
|
actions: "Actions",
|
|
},
|
|
actions: {
|
|
view: "View person",
|
|
edit: "Edit person",
|
|
},
|
|
},
|
|
detail: {
|
|
notFound: "Person not found",
|
|
labels: {
|
|
email: "Email",
|
|
phone: "Phone",
|
|
department: "Department",
|
|
},
|
|
},
|
|
new: {
|
|
title: "Add Person",
|
|
},
|
|
edit: {
|
|
title: "Edit Person",
|
|
notFound: "Person not found",
|
|
},
|
|
form: {
|
|
firstNameLabel: "First Name",
|
|
firstNamePlaceholder: "First name",
|
|
lastNameLabel: "Last Name",
|
|
lastNamePlaceholder: "Last name",
|
|
departmentLabel: "Department",
|
|
departmentPlaceholder: "Select a department",
|
|
emailLabel: "Email",
|
|
emailPlaceholder: "Email",
|
|
phoneLabel: "Phone",
|
|
phonePlaceholder: "Phone",
|
|
createSubmit: "Create Person",
|
|
updateSubmit: "Update Person",
|
|
},
|
|
fallback: {
|
|
unknownDepartment: "Unknown department",
|
|
},
|
|
departments: {
|
|
IT: "IT",
|
|
ENGINEERING: "Engineering",
|
|
LOGISTICS: "Logistics",
|
|
TRAFFIC: "Traffic",
|
|
DRIVER: "Driver",
|
|
ADMINISTRATION: "Administration",
|
|
SALES: "Sales",
|
|
OTHER: "Other",
|
|
},
|
|
actions: {
|
|
createSuccess: "Person created successfully",
|
|
createFailure: "Failed to create person",
|
|
updateSuccess: "Person updated successfully",
|
|
updateFailure: "Failed to update person",
|
|
duplicateEmail: "Email already exists",
|
|
},
|
|
schema: {
|
|
firstNameRequired: "First name is required",
|
|
lastNameRequired: "Last name is required",
|
|
departmentRequired: "Department is required",
|
|
emailInvalid: "Email format is invalid",
|
|
idRequired: "ID is required",
|
|
},
|
|
},
|
|
recipients: {
|
|
list: {
|
|
title: "Recipients",
|
|
addLabel: "Add Recipient",
|
|
empty: "No recipients found.",
|
|
columns: {
|
|
username: "Username",
|
|
name: "Name",
|
|
email: "Email",
|
|
phone: "Phone",
|
|
department: "Department",
|
|
actions: "Actions",
|
|
},
|
|
actions: {
|
|
view: "View recipient",
|
|
edit: "Edit recipient",
|
|
},
|
|
},
|
|
detail: {
|
|
notFound: "Recipient not found",
|
|
labels: {
|
|
username: "Username",
|
|
email: "Email",
|
|
phone: "Phone",
|
|
department: "Department",
|
|
},
|
|
},
|
|
new: {
|
|
title: "Add Recipient",
|
|
},
|
|
edit: {
|
|
title: "Edit Recipient",
|
|
notFound: "Recipient not found",
|
|
},
|
|
form: {
|
|
usernameLabel: "Username",
|
|
usernamePlaceholder: "Username",
|
|
firstNameLabel: "First Name",
|
|
firstNamePlaceholder: "First name",
|
|
lastNameLabel: "Last Name",
|
|
lastNamePlaceholder: "Last name",
|
|
departmentLabel: "Department",
|
|
departmentPlaceholder: "Select a department",
|
|
emailLabel: "Email",
|
|
emailPlaceholder: "Email",
|
|
phoneLabel: "Phone",
|
|
phonePlaceholder: "Phone",
|
|
createSubmit: "Create Recipient",
|
|
updateSubmit: "Update Recipient",
|
|
},
|
|
fallback: {
|
|
unknownDepartment: "Unknown department",
|
|
},
|
|
departments: {
|
|
IT: "IT",
|
|
ENGINEERING: "Engineering",
|
|
LOGISTICS: "Logistics",
|
|
TRAFFIC: "Traffic",
|
|
DRIVER: "Driver",
|
|
ADMINISTRATION: "Administration",
|
|
SALES: "Sales",
|
|
OTHER: "Other",
|
|
},
|
|
actions: {
|
|
createSuccess: "Recipient created successfully",
|
|
createFailure: "Failed to create recipient",
|
|
updateSuccess: "Recipient updated successfully",
|
|
updateFailure: "Failed to update recipient",
|
|
duplicateUsername: "Username already exists",
|
|
duplicateEmail: "Email already exists",
|
|
},
|
|
schema: {
|
|
usernameRequired: "Username is required",
|
|
firstNameRequired: "First name is required",
|
|
lastNameRequired: "Last name is required",
|
|
departmentRequired: "Department is required",
|
|
emailInvalid: "Email format is invalid",
|
|
idRequired: "ID is required",
|
|
},
|
|
},
|
|
movements: {
|
|
list: {
|
|
title: "Movements",
|
|
empty: "No movements found",
|
|
columns: {
|
|
type: "Type",
|
|
item: "Item",
|
|
serialNumber: "Serial Number",
|
|
quantity: "Quantity",
|
|
recipient: "Recipient",
|
|
date: "Date",
|
|
},
|
|
},
|
|
snippet: {
|
|
title: "Movements",
|
|
labels: {
|
|
type: "Type",
|
|
quantity: "Quantity",
|
|
},
|
|
},
|
|
types: {
|
|
IN: "In",
|
|
OUT: "Out",
|
|
ASSIGNMENT: "Assignment",
|
|
RETURN: "Return",
|
|
ADJUSTMENT: "Adjustment",
|
|
DELETED: "Deleted",
|
|
},
|
|
fallback: {
|
|
missingValue: "-",
|
|
unknownType: "Unknown movement type",
|
|
},
|
|
},
|
|
},
|
|
admin: {
|
|
users: {
|
|
list: {
|
|
title: "Users",
|
|
addLabel: "Add User",
|
|
empty: "No users found.",
|
|
columns: {
|
|
name: "Name",
|
|
username: "Username",
|
|
email: "Email",
|
|
role: "Role",
|
|
status: "Status",
|
|
actions: "Actions",
|
|
},
|
|
actions: {
|
|
edit: "Edit user",
|
|
},
|
|
},
|
|
new: {
|
|
title: "New User",
|
|
},
|
|
edit: {
|
|
title: "Edit User",
|
|
},
|
|
form: {
|
|
nameLabel: "Name",
|
|
namePlaceholder: "Full name",
|
|
usernameLabel: "Username",
|
|
usernamePlaceholder: "Username",
|
|
emailLabel: "Email",
|
|
emailPlaceholder: "user@example.com",
|
|
passwordLabel: "Password",
|
|
passwordPlaceholder: "Minimum 8 characters",
|
|
roleLabel: "Role",
|
|
activeLabel: "Active user",
|
|
createSubmit: "Create User",
|
|
updateSubmit: "Update User",
|
|
},
|
|
resetPassword: {
|
|
title: "Reset password",
|
|
passwordLabel: "New password",
|
|
passwordPlaceholder: "Minimum 8 characters",
|
|
submit: "Reset Password",
|
|
},
|
|
roles: {
|
|
ADMIN: "Admin",
|
|
MANAGER: "Manager",
|
|
STAFF: "Staff",
|
|
VIEWER: "Viewer",
|
|
},
|
|
status: {
|
|
active: "Active",
|
|
inactive: "Inactive",
|
|
},
|
|
actions: {
|
|
createSuccess: "User created successfully",
|
|
createFailure: "Failed to create user",
|
|
updateSuccess: "User updated successfully",
|
|
updateFailure: "Failed to update user",
|
|
toggleStatusSuccess: "User status updated successfully",
|
|
toggleStatusFailure: "Failed to update user status",
|
|
resetPasswordSuccess: "Password reset successfully",
|
|
resetPasswordFailure: "Failed to reset password",
|
|
duplicateUsername: "Username already exists",
|
|
duplicateEmail: "Email already exists",
|
|
notFound: "User not found",
|
|
lastActiveAdmin:
|
|
"Cannot remove access from the last active administrator",
|
|
selfAdminAccess: "You cannot remove your own administrator access",
|
|
selfDeactivate: "You cannot deactivate your own user",
|
|
},
|
|
schema: {
|
|
usernameRequired: "Username is required",
|
|
nameRequired: "Name is required",
|
|
emailInvalid: "Invalid email",
|
|
passwordMinLength: "Password must be at least 8 characters",
|
|
userIdRequired: "User id is required",
|
|
},
|
|
fallback: {
|
|
unknownRole: "Unknown role",
|
|
},
|
|
},
|
|
},
|
|
login: {
|
|
title: "Sign In",
|
|
usernameLabel: "Username",
|
|
passwordLabel: "Password",
|
|
submitLabel: "Sign In",
|
|
},
|
|
dashboardHome: {
|
|
heading: "Dashboard",
|
|
cards: {
|
|
items: {
|
|
title: "Total Items",
|
|
countLabel: "Total",
|
|
},
|
|
assets: {
|
|
title: "Total Assets",
|
|
countLabel: "Total",
|
|
},
|
|
recipients: {
|
|
title: "Total Recipients",
|
|
countLabel: "Total",
|
|
},
|
|
people: {
|
|
title: "Total People",
|
|
countLabel: "Total",
|
|
},
|
|
},
|
|
},
|
|
}
|
|
|
|
export type Dictionary = typeof en
|