Files
casadoc-app/src/i18n/en.ts
T
2026-08-26 23:01:07 +03:00

358 lines
12 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
export default {
common: {
cancel: 'Cancel',
delete: 'Delete',
retry: 'Retry',
optional: '(optional)',
all: 'All',
seeAll: 'See all',
tryAgain: 'Please try again.',
loading: 'Loading…',
},
tabs: {
home: 'Home',
search: 'Search',
profile: 'Profile',
upload: 'Upload',
scan: 'Scan',
expiring: 'Expiring',
},
expiring: {
title: 'Expiring',
subtitle: { one: '%{count} document needs attention', other: '%{count} documents need attention' },
emptyTitle: 'Nothing expiring',
emptySubtitle: 'All your documents are up to date.',
},
login: {
tagline: 'Every property document, organized and always within reach.',
email: 'Email',
emailPlaceholder: 'you@example.com',
password: 'Password',
passwordPlaceholder: 'Your password',
show: 'Show',
hide: 'Hide',
signIn: 'Sign in',
missingFields: 'Enter your email and password.',
failed: 'Sign in failed. Check your credentials.',
demoHint: 'Demo mode — any credentials sign you in.',
forgot: 'Forgot your password?',
noAccount: 'No account yet?',
trust: 'Encrypted connection · secure cloud storage',
},
register: {
title: 'Create your account',
subtitle: 'One place for every document of every property you own.',
firstName: 'First name',
lastName: 'Last name',
passwordHint: 'At least %{count} characters',
submit: 'Create account',
haveAccount: 'Already have an account?',
badEmail: 'Enter a valid email address.',
shortPassword: 'The password must be at least %{count} characters.',
emailTaken: 'That email is already registered. Try signing in instead.',
},
verify: {
title: 'Check your email',
subtitle: 'We sent a 6-digit code to %{email}. Enter it below to finish.',
code: 'Verification code',
submit: 'Confirm',
resend: 'Send a new code',
resendIn: 'You can request a new code in %{count}s',
invalid: 'That code is not right. Check it and try again.',
expired: 'That code has expired. Request a new one.',
},
forgot: {
title: 'Reset your password',
subtitle: 'Enter your email and we will send you a code to set a new password.',
submit: 'Send code',
},
reset: {
title: 'Set a new password',
newPassword: 'New password',
submit: 'Save password',
doneTitle: 'Password changed',
doneBody: 'You have been signed out everywhere. Sign in with the new password.',
},
editProfile: {
title: 'Personal details',
save: 'Save changes',
phone: 'Phone',
address: 'Address',
emailReadOnly: 'Email cannot be changed here — contact support if you need to.',
failed: 'Could not save your details',
photo: 'Change photo',
},
changePassword: {
title: 'Change password',
current: 'Current password',
next: 'New password',
submit: 'Change password',
wrongCurrent: 'That is not your current password.',
doneTitle: 'Password changed',
doneBody: 'Other devices have been signed out.',
failed: 'Could not change the password',
},
properties: {
title: 'My Properties',
count: { one: '%{count} property', other: '%{count} properties' },
loading: 'Loading properties…',
loadError: "Couldn't load properties",
searchPlaceholder: 'Search documents by name or category…',
add: 'Add property',
emptyTitle: 'No properties yet',
emptySubtitle: 'Add your first property to start organizing its documents.',
docCount: { one: '%{count} document', other: '%{count} documents' },
expiringCount: '%{count} expiring',
allValid: 'All valid',
counting: 'Counting documents…',
noPhoto: 'No photo',
},
property: {
fallbackTitle: 'Property',
addDocument: 'Add document',
needAttention: {
one: '%{count} document needs attention',
other: '%{count} documents need attention',
},
categories: 'Categories',
folders: { one: '%{count} folder', other: '%{count} folders' },
noDocuments: 'No documents yet. Tap “Add document” to start.',
recent: 'Recent documents',
addAddress: 'Add an address',
noRecent: 'Recently uploaded documents will show up here.',
},
addProperty: {
title: 'Add property',
name: 'Property name',
namePlaceholder: 'e.g. Villa Bellavista',
type: 'Type',
address: 'Address',
addressPlaceholder: 'Street, number',
zip: 'ZIP',
city: 'City',
description: 'Description',
descriptionPlaceholder: 'Notes about this property…',
save: 'Save property',
nameRequired: 'Name required',
nameRequiredBody: 'Give the property a name.',
saveFailed: 'Could not save',
addPhoto: 'Add cover photo',
photoSourceTitle: 'Property photo',
takePhoto: 'Take a photo',
fromGallery: 'Choose from gallery',
changePhoto: 'Change photo',
photoFailed: 'Property saved, but the photo failed to upload',
},
location: {
title: 'Location',
field: 'Map location',
set: 'Pin on map',
change: 'Change location',
notSet: 'No location set',
noPin: 'Tap the map to drop a pin',
tapHint: 'Tap the map to place the pin',
fromAddress: 'Find from the address above',
confirm: 'Use this location',
notFound: 'Address not found',
notFoundBody: 'Try a more specific address, or drop the pin by hand.',
permission: 'Allow location access to use your current position.',
gpsFailed: "Couldn't get your position",
servicesOff: 'Turn on Location Services',
servicesOffBody:
'Location Services are off for this device. Turn them on in Settings → Privacy & Security → Location Services, then try again.',
fillTitle: 'Use this address?',
fillBody: 'The map knows this place as:\n\n%{address}\n\nReplace the address fields with it?',
fillApply: 'Replace',
fillKeep: 'Keep mine',
},
editProperty: {
title: 'Edit property',
save: 'Save changes',
action: 'Edit',
delete: 'Delete property',
deleteTitle: 'Delete this property?',
deleteBody: '“%{name}” will be permanently deleted. This cannot be undone.',
deleteBodyWithDocs:
'“%{name}” and its %{count} document(s) will be permanently deleted. This cannot be undone.',
deleteFailed: 'Could not delete the property',
},
editDocument: {
title: 'Edit document',
save: 'Save changes',
name: 'Document name',
namePlaceholder: 'Leave empty to use the default name',
note: 'Note',
notePlaceholder: 'Anything worth remembering about this document…',
noExpiry: 'No expiry date',
failed: 'Could not save',
hint: 'These details are updated without touching the stored file.',
file: 'File',
replace: 'Replace file',
replaceHint: 'Re-scan, pick another file or take a new photo — the document keeps its history.',
replacing: 'Replacing…',
replaced: 'File replaced',
replaceFailed: 'Could not replace the file',
},
propertyTypes: {
apartment: 'Apartment',
house: 'House',
villa: 'Villa',
commercial: 'Commercial',
land: 'Land',
building: 'Building',
},
documents: {
allTitle: 'All documents',
filterAttention: 'Needs attention',
filterValid: 'Valid',
filterExpiring: 'Expiring',
filterExpired: 'Expired',
emptyTitle: 'Nothing here',
emptySubtitle: 'No documents match this filter.',
},
document: {
title: 'Document',
expired: 'Expired',
expiringSoon: 'Expiring soon',
expiresOn: 'Expires %{date}.',
checkExpiry: 'Check the expiry date.',
loadingFile: 'Loading file…',
pages: { one: '%{count} page', other: '%{count} pages' },
uploaded: 'Uploaded',
expires: 'Expires',
fileSize: 'File size',
format: 'Format',
formatImage: 'Image',
formatPdf: 'PDF',
share: 'Save / Share',
openOnPhone: 'Open on my phone',
deleteTitle: 'Delete document',
deleteBody: 'This permanently removes the file. Continue?',
cannotOpen: 'Cannot open',
cannotOpenBody: 'The file could not be opened.',
cannotSave: 'Cannot save',
cannotSaveBody: 'The file could not be shared.',
pdfCard: 'PDF document',
pdfTapToOpen: 'Tap to open on your phone',
pdfPreparing: 'Preparing…',
},
upload: {
title: 'Add document',
source: 'Source',
scan: 'Scan',
scanning: 'Scanning…',
chooseFile: 'Choose file',
gallery: 'Gallery',
scanHint: 'Scan photographs multiple pages and combines them into a single PDF.',
readyToUpload: 'ready to upload',
name: 'Document name',
namePlaceholder: 'e.g. Energy Certificate 2026',
property: 'Property',
selectProperty: 'Select a property',
category: 'Category',
requirement: 'Document type',
selectRequirement: 'Choose a document type',
requirementHint: 'Picking the right type keeps the document where the portal expects it.',
noRequirementTitle: 'Choose a document type',
noRequirementBody: 'Pick which type of document this is, so it is filed correctly.',
expiry: 'Expiration date',
submit: 'Upload document',
scannedName: 'Scanned document',
photoName: 'Photo document',
noFileTitle: 'Add a file',
noFileBody: 'Choose, photograph or scan a document first.',
nameRequired: 'Name required',
nameRequiredBody: 'Give the document a name.',
noPropertyTitle: 'Select a property',
noPropertyBody: 'Pick which property this belongs to.',
failed: 'Upload failed',
scannerUnavailable: 'Scanner unavailable',
scannerUnavailableBody: 'Could not open the scanner.',
permissionTitle: 'Permission needed',
photoPermission: 'Allow photo access to attach an image.',
},
profile: {
title: 'Profile',
account: 'Account',
legal: 'Legal',
personalDetails: 'Personal details',
personalDetailsSub: 'Name, email, phone',
security: 'Password & security',
securitySub: 'Change password',
biometrics: 'Biometric sign-in',
biometricsSub: 'Faster, secure login',
signOut: 'Sign out',
demoMode: 'Demo mode · running on mock data',
language: 'Language',
languageSystem: 'System',
languageSystemSub: 'Follow the phone’s language',
dangerZone: 'Danger zone',
deleteAccount: 'Delete my account',
deleteAccountSub: 'Permanently erases your account, properties and documents',
deleteConfirmTitle: 'Delete your account?',
deleteConfirmBody:
'This permanently deletes your account together with every property and document you stored. It cannot be undone.',
deleteConfirmCta: 'Delete everything',
deleteFailed: 'Could not delete the account',
privacy: 'Privacy policy',
terms: 'Terms of use',
},
permissions: {
primerTitle: 'Camera access',
primerBody:
'CasaDoc uses the camera to scan documents into PDF. Nothing is uploaded until you tap Upload.',
continue: 'Continue',
notNow: 'Not now',
blockedTitle: 'Permission is switched off',
photosBody:
'Photo access is off. Tap “Open settings”, then choose Permissions › Photos and music (or Files) and allow it.',
cameraBody:
'Camera access is off. Tap “Open settings”, then choose Permissions › Camera and allow it.',
locationBody:
'Location access is off, and the address lookup needs it. Tap “Open settings”, then choose Permissions › Location and allow it. You can still place the pin by hand.',
openSettings: 'Open settings',
},
network: {
offline: 'No connection — showing saved data',
},
files: {
noFile: 'This document has no file attached.',
missingOnServer: 'The file is missing on the server (404).',
downloadFailed: 'Could not download the file (HTTP %{status}).',
noViewer: 'No app available to open this file.',
sharingUnavailable: 'Sharing is not available on this device.',
scannerNeedsDevBuild:
'Native document scanner is unavailable. Run a Dev Client / EAS build (not Expo Go).',
},
expiry: {
valid: 'Valid',
expired: 'Expired',
expiring: 'Expiring',
days: '%{count} days',
},
};