241b2fdf63
Eingeladene Nutzer konnten nach Registrierung/Login kein Logbuch öffnen, weil der Beitritt nicht abgeschlossen wurde und der Collaboration-Schlüssel falsch importiert wurde. Co-authored-by: Cursor <cursoragent@cursor.com>
298 lines
14 KiB
JSON
298 lines
14 KiB
JSON
{
|
|
"translation": {
|
|
"app": {
|
|
"name": "Kapteins Daagbok",
|
|
"tagline": "Private Yacht Logbook"
|
|
},
|
|
"nav": {
|
|
"dashboard": "Dashboard",
|
|
"vessel": "Vessel Profile",
|
|
"crew": "Crew List",
|
|
"deviation": "Deviation Table",
|
|
"logs": "Logbook Entries",
|
|
"settings": "Settings"
|
|
},
|
|
"auth": {
|
|
"welcome": "Welcome to Kapteins Daagbok",
|
|
"tagline": "Secure, E2E encrypted maritime logbook.",
|
|
"register": "Register with Passkey",
|
|
"login": "Login with Passkey",
|
|
"login_as": "Login as {{name}}",
|
|
"quick_login": "Quick login",
|
|
"forget_account": "Forget account on this device",
|
|
"not_user": "Not {{name}}?",
|
|
"recovery_title": "Your Recovery Phrase",
|
|
"recovery_warning": "IMPORTANT: Write down these 12 words. If you lose your Passkey and these words, your data cannot be recovered.",
|
|
"confirm_recovery": "I have written down the recovery phrase",
|
|
"status_logged_in": "Logged in",
|
|
"status_logged_out": "Logged out",
|
|
"copied": "Copied!",
|
|
"copy_phrase": "Copy Phrase",
|
|
"enter_recovery": "Enter Recovery Phrase",
|
|
"recovery_fallback_warning": "Your Passkey authenticated successfully, but your device does not support hardware key derivation. Enter your 12-word recovery phrase to decrypt your logbook.",
|
|
"recovery_placeholder": "Enter your 12-word recovery phrase separated by spaces...",
|
|
"back": "Back",
|
|
"decrypting": "Decrypting...",
|
|
"decrypt_logbook": "Decrypt Logbook",
|
|
"error_incorrect_recovery": "Incorrect recovery phrase. Decryption failed.",
|
|
"error_decryption_failed": "Decryption failed. Please check your recovery phrase.",
|
|
"or_register": "or register",
|
|
"username_placeholder": "Username / Skipper Name",
|
|
"processing": "Processing...",
|
|
"help": "Help",
|
|
"setup_pin_title": "Setup Local PIN (Optional)",
|
|
"setup_pin_warning": "Since your device does not support hardware passkey key derivation, you would otherwise need to enter your 12-word recovery phrase on every login on this device. Setup a local PIN to avoid this.",
|
|
"pin_placeholder": "E.g. 123456",
|
|
"pin_label": "Local PIN Code (4-8 digits)",
|
|
"save_pin": "Save PIN & Continue",
|
|
"skip_pin": "Skip & use recovery phrase",
|
|
"enter_pin_title": "Decrypt with PIN",
|
|
"enter_pin_warning": "Enter your local PIN to unlock the decryption key on this device.",
|
|
"enter_pin_placeholder": "Enter your PIN...",
|
|
"decrypt_with_pin": "Decrypt",
|
|
"use_recovery_instead": "Use recovery phrase instead",
|
|
"error_incorrect_pin": "Incorrect PIN. Decryption failed."
|
|
},
|
|
"pwa": {
|
|
"title": "Install app",
|
|
"generic_benefit": "Install Kapteins Daagbok on your device for faster access, offline use, and persistent data storage.",
|
|
"ios_instructions": "On iPad/iPhone: Add the app to your Home Screen so your logbook data stays protected and the app launches like a native app.",
|
|
"ios_step_share": "Tap the Share button in the Safari toolbar",
|
|
"ios_step_add": "Choose “Add to Home Screen”",
|
|
"install_now": "Install now",
|
|
"installing": "Installing…",
|
|
"later": "Later",
|
|
"never": "Don't show again",
|
|
"platform_ios": "Install via Safari",
|
|
"platform_android": "Install via browser",
|
|
"platform_desktop": "Install as desktop app",
|
|
"settings_section": "App installation"
|
|
},
|
|
"sync": {
|
|
"status_synced": "Synced",
|
|
"status_offline": "Offline Cache",
|
|
"status_unsynced": "Unsynced changes"
|
|
},
|
|
"vessel": {
|
|
"title": "Vessel Master Data",
|
|
"name": "Yacht Name",
|
|
"port": "Home Port",
|
|
"owner": "Owner",
|
|
"charter": "Charter Company",
|
|
"registration": "Registration Number",
|
|
"callsign": "Call Sign",
|
|
"atis": "ATIS Number",
|
|
"mmsi": "MMSI Number",
|
|
"save": "Save Vessel Data",
|
|
"saving": "Saving...",
|
|
"saved": "Vessel details saved successfully!",
|
|
"loading": "Loading vessel details...",
|
|
"sails_list": "Sails (Available Sails)",
|
|
"sails_help": "List the sails available on your vessel (e.g. Mainsail, Genoa, Jib).",
|
|
"add_sail": "Add Sail",
|
|
"sail_name_placeholder": "e.g. Mainsail",
|
|
"no_sails": "No sails defined.",
|
|
"photo_add": "Add Photo",
|
|
"photo_change": "Change Photo",
|
|
"photo_delete": "Delete Photo"
|
|
},
|
|
"logs": {
|
|
"title": "Logbook Journal",
|
|
"new_entry": "New Travel Day",
|
|
"travel_details": "Travel Details",
|
|
"add_event": "Add Event Log Record",
|
|
"date": "Date",
|
|
"day_of_travel": "Day of Travel",
|
|
"departure": "Departure Port (von)",
|
|
"destination": "Destination Port (nach)",
|
|
"route": "Route / Journey",
|
|
"freshwater": "Freshwater (Liters)",
|
|
"fuel": "Fuel (Liters)",
|
|
"morning": "Morning Level",
|
|
"refilled": "Refilled",
|
|
"evening": "Evening Level",
|
|
"consumption": "Consumption",
|
|
"signatures": "Signatures / Sign-Off",
|
|
"sign_skipper": "Skipper signature",
|
|
"sign_crew": "Crew signature",
|
|
"sign_hint": "Sign with finger, stylus, or mouse",
|
|
"sign_clear": "Clear",
|
|
"sign_export_image": "[Signature]",
|
|
"sign_with_passkey": "Sign with Passkey",
|
|
"sign_passkey_signing": "Requesting Passkey…",
|
|
"sign_passkey_signed": "Signed by {{username}}",
|
|
"sign_passkey_export": "Passkey: {{username}} ({{date}})",
|
|
"sign_passkey_clear": "Remove Passkey signature",
|
|
"sign_mode_passkey": "Passkey",
|
|
"sign_mode_classic": "Classic",
|
|
"sign_passkey_failed": "Passkey signing failed",
|
|
"sign_passkey_cancelled": "Passkey signing cancelled",
|
|
"sign_invalid": "Signature invalid — entry content changed",
|
|
"sign_classic_or_passkey": "Optional: sign classically below or use Passkey above",
|
|
"sign_crew_passkey_hint": "Write collaborators can sign with their Passkey",
|
|
"sign_offline_hint": "Passkey signing requires internet — classic signature works offline",
|
|
"sign_lock_notice": "After signing, log entry changes (except photos) require Skipper and Crew to sign again.",
|
|
"sign_lock_active": "This entry is signed. Changes to the log (except photos) will automatically remove Skipper and Crew signatures.",
|
|
"sign_lock_warning_title": "Confirm signature",
|
|
"sign_lock_warning": "After signing, changes to the log entry (except photos) are not possible without Skipper and Crew signing again.\n\nDo you want to proceed?",
|
|
"sign_proceed": "Sign",
|
|
"sign_cancel": "Cancel",
|
|
"sign_cleared_re_sign_title": "Signatures removed",
|
|
"sign_cleared_re_sign": "The log entry was changed. Skipper and Crew signatures were removed. Please sign again.",
|
|
"no_entries": "No logbook entries found for this yacht. Create your first travel day to begin!",
|
|
"back_to_list": "Back to Journal List",
|
|
"save": "Save Logbook Page",
|
|
"saving": "Saving...",
|
|
"saved": "Logbook page saved successfully!",
|
|
"loading": "Loading journal...",
|
|
"delete_entry": "Delete Day",
|
|
"delete_confirm": "Are you sure you want to permanently delete this travel day?",
|
|
"carry_over_tanks_title": "Carry over tank levels?",
|
|
"carry_over_tanks_confirm": "Use the previous travel day's closing levels as morning levels?\n\nFreshwater: {{fw}} L\nFuel: {{fuel}} L",
|
|
"carry_over_tanks_yes": "Carry over",
|
|
"carry_over_tanks_no": "Start at 0",
|
|
"event_title": "Chronological Event Logbook",
|
|
"no_events": "No events logged for this travel day yet.",
|
|
"event_time": "Time",
|
|
"event_mgk": "MgK Course",
|
|
"event_rwk": "RwK Course",
|
|
"event_wind_direction": "Wind Dir",
|
|
"event_wind_strength": "Wind Str",
|
|
"event_sea_state": "Sea State",
|
|
"event_weather": "Weather",
|
|
"event_log": "Log (nm)",
|
|
"event_gps": "GPS Position",
|
|
"event_location": "Location / Port",
|
|
"event_location_placeholder": "e.g. Kiel",
|
|
"event_remarks": "Remarks / Events",
|
|
"gps_btn": "Get GPS Location",
|
|
"weather_btn": "Fetch OpenWeatherMap Weather",
|
|
"event_wind_pressure": "Barometer (hPa)",
|
|
"event_heel": "Heel Angle (°)",
|
|
"event_sails": "Sails / Motor Status",
|
|
"motor_propulsion": "Engine Propulsion",
|
|
"event_distance": "Distance (nm)",
|
|
"export_csv": "Download CSV",
|
|
"share_csv": "Share CSV",
|
|
"export_pdf": "Download PDF",
|
|
"exporting_pdf": "Generating PDF...",
|
|
"photos_title": "Photo Attachments (E2E Encrypted)",
|
|
"photo_caption_label": "Photo Caption / Label (Optional)",
|
|
"photo_caption_placeholder": "e.g. Setting sails near harbor entrance",
|
|
"photo_btn": "Take Photo / Upload",
|
|
"photo_processing": "Processing...",
|
|
"no_photos": "No photos attached to this journal entry yet.",
|
|
"photo_delete_confirm": "Are you sure you want to permanently delete this photo?",
|
|
"confirm_yes": "Yes",
|
|
"confirm_no": "No",
|
|
"track_upload_title": "GPS track file",
|
|
"track_upload_points": "points",
|
|
"gps_tracking_btn_gpx": "Download track file",
|
|
"gps_track_upload_help": "Drag & drop a GPX, KML, or GeoJSON file here, or click to select",
|
|
"gps_track_upload_btn": "Upload GPS Track File",
|
|
"gps_track_delete": "Delete Track File",
|
|
"gps_track_delete_confirm": "Are you sure you want to permanently delete this track file?",
|
|
"track_distance": "GPS distance (nm)",
|
|
"track_speed_max": "Max speed (kn)",
|
|
"track_speed_avg": "Avg speed (kn)",
|
|
"track_map_title": "GPS track on OpenSeaMap",
|
|
"track_map_start": "Start",
|
|
"track_map_end": "End",
|
|
"track_map_speed_slow": "slow",
|
|
"track_map_speed_fast": "fast",
|
|
"track_map_error": "Could not load map.",
|
|
"exporting": "Exporting...",
|
|
"share_unsupported": "Web sharing is not supported on this device. File downloaded instead.",
|
|
"invite_crew": "Invite Crew",
|
|
"invite_link_copied": "Invitation link copied to clipboard!",
|
|
"invite_link_desc": "Share this link with crew members to grant them write permissions for this logbook.",
|
|
"collaborators_list": "Members / Crew",
|
|
"revoke": "Revoke Access",
|
|
"revoke_confirm": "Are you sure you want to revoke access for this crew member?",
|
|
"invite_role": "Role",
|
|
"invite_expires": "Link expires in 48 hours"
|
|
},
|
|
"dashboard": {
|
|
"title": "Your Logbooks",
|
|
"subtitle": "Select a logbook or create a new one to manage your journeys.",
|
|
"create_btn": "Create Logbook",
|
|
"new_logbook_placeholder": "Logbook or Yacht Name",
|
|
"logout": "Logout",
|
|
"delete_confirm": "Are you sure you want to permanently delete this logbook? All local cache and server backups will be destroyed.",
|
|
"no_logbooks": "No logbooks found. Create your first logbook to begin!",
|
|
"loading": "Loading logbooks...",
|
|
"status_synced": "Synced",
|
|
"status_local": "Local Cache Only",
|
|
"delete_btn": "Delete logbook"
|
|
},
|
|
"crew": {
|
|
"title": "Skipper & Crew Profiles",
|
|
"skipper_section": "Skipper Profile",
|
|
"crew_section": "Crew List",
|
|
"add_crew": "Add Crew Member",
|
|
"edit_crew": "Edit Crew Member",
|
|
"no_crew": "No crew members added yet.",
|
|
"max_crew": "Maximum of 5 crew members reached.",
|
|
"name": "Full Name",
|
|
"address": "Address",
|
|
"birthdate": "Date of Birth",
|
|
"phone": "Phone Number",
|
|
"nationality": "Nationality",
|
|
"passport": "Passport / ID Number",
|
|
"bloodtype": "Blood Type",
|
|
"allergies": "Allergies",
|
|
"diseases": "Medical Conditions / Diseases",
|
|
"save": "Save Skipper Data",
|
|
"save_member": "Save Member",
|
|
"saved": "Skipper profile saved successfully!",
|
|
"loading": "Loading crew files...",
|
|
"delete_confirm": "Are you sure you want to remove this crew member?"
|
|
},
|
|
"deviation": {
|
|
"title": "Compass Deviation Table",
|
|
"subtitle": "Calibrate magnetic compass headings (MgK) from 000° to 360° in 10° steps.",
|
|
"heading": "MgK",
|
|
"deviation": "Deviation",
|
|
"save": "Save Calibration Grid",
|
|
"saving": "Saving...",
|
|
"saved": "Calibration grid saved successfully!",
|
|
"loading": "Loading calibration table..."
|
|
},
|
|
"settings": {
|
|
"title": "System Settings",
|
|
"subtitle": "Configure external integrations and client credentials.",
|
|
"owm_title": "Weather Integration",
|
|
"owm_key": "OpenWeatherMap API Key",
|
|
"save": "Save Configuration",
|
|
"saving": "Saving...",
|
|
"saved": "Settings saved successfully!",
|
|
"key_help": "An API key is required to automatically fetch real-time weather and sea state parameters based on your vessel's GPS coordinates.",
|
|
"no_key": "Please set your OpenWeatherMap API Key in settings to enable weather auto-fill.",
|
|
"weather_success": "Weather details fetched successfully!",
|
|
"weather_error": "Failed to fetch weather. Check your API key and connection.",
|
|
"weather_date_mismatch": "Weather data can only be fetched for today ({{today}}). This logbook entry is dated {{date}}.",
|
|
"gps_error": "Please enter a location or fetch GPS coordinates first.",
|
|
"theme_title": "UI Customization",
|
|
"theme_label": "Application Style / Theme",
|
|
"theme_auto": "Auto (OS Detect)",
|
|
"theme_ocean": "Ocean (Glassmorphism)",
|
|
"theme_material": "Material (Android)",
|
|
"theme_cupertino": "Cupertino (iOS)",
|
|
"share_title": "Share Logbook (Read-Only)",
|
|
"share_desc": "Enable this to generate a public, read-only link. Anyone with the link can view your travels, yacht profile, and crew members. Decryption keys are never transmitted to the server (they stay in the hash part of the URL).",
|
|
"share_enable": "Enable Public Link",
|
|
"share_copied": "Link copied!",
|
|
"share_copy_btn": "Copy Link",
|
|
"danger_zone_title": "Danger Zone",
|
|
"danger_zone_desc": "Deleting your account will permanently delete all your passkeys, logbooks, vessel data, crew profiles, travel logs, and E2E keys. This action cannot be undone.",
|
|
"delete_account_btn": "Permanently Delete Account",
|
|
"delete_account_confirm_title": "Delete Account?",
|
|
"delete_account_confirm_desc": "Are you absolutely sure you want to permanently delete your account and all associated logbooks and E2E-encrypted data?",
|
|
"delete_account_confirm_yes": "Yes, Delete Account and All Data",
|
|
"delete_account_confirm_no": "Cancel",
|
|
"delete_account_failed": "Failed to delete account. Please try again.",
|
|
"deleting_account": "Deleting account…"
|
|
}
|
|
}
|
|
}
|