Files
redlight/src/i18n/en.json
Michelle 00e563664e
All checks were successful
Build & Push Docker Image / build (push) Successful in 6m29s
feat(analytics): enhance analytics functionality with token validation and data extraction
2026-03-13 10:34:39 +01:00

634 lines
27 KiB
JSON

{
"common": {
"appName": "Redlight",
"loading": "Loading...",
"save": "Save",
"cancel": "Cancel",
"delete": "Delete",
"edit": "Edit",
"create": "Create",
"search": "Search...",
"close": "Close",
"confirm": "Confirm",
"back": "Back",
"yes": "Yes",
"no": "No",
"or": "or",
"optional": "Optional",
"unlimited": "Unlimited",
"none": "None",
"offline": "Offline",
"active": "Active",
"inactive": "Inactive",
"protected": "Protected",
"live": "Live",
"error": "Error",
"success": "Success"
},
"nav": {
"dashboard": "Dashboard",
"settings": "Settings",
"admin": "Administration",
"appearance": "Appearance",
"changeTheme": "Change theme",
"navigation": "Navigation",
"calendar": "Calendar",
"federation": "Invitations",
"imprint": "Imprint",
"privacy": "Privacy Policy"
},
"auth": {
"login": "Sign in",
"register": "Sign up",
"logout": "Sign out",
"email": "Email",
"password": "Password",
"name": "Name",
"welcomeBack": "Welcome back",
"loginSubtitle": "Sign in to access your rooms.",
"createAccount": "Create account",
"registerSubtitle": "Sign up to create rooms and start meetings.",
"noAccount": "Don't have an account?",
"hasAccount": "Already have an account?",
"signUpNow": "Sign up now",
"signInNow": "Sign in now",
"backToHome": "← Back to homepage",
"emailPlaceholder": "name@example.com",
"passwordPlaceholder": "••••••••",
"namePlaceholder": "John Doe",
"minPassword": "At least 6 characters",
"confirmPassword": "Confirm password",
"repeatPassword": "Repeat password",
"passwordMismatch": "Passwords do not match",
"passwordTooShort": "Password must be at least 6 characters",
"loginSuccess": "Welcome back!",
"registerSuccess": "Registration successful!",
"loginFailed": "Login failed",
"registerFailed": "Registration failed",
"allFieldsRequired": "All fields are required",
"verificationSent": "Verification email sent!",
"verificationSentDesc": "We've sent you an email with a verification link. Please click the link to activate your account.",
"checkYourEmail": "Check your inbox",
"verifying": "Verifying your email...",
"verifySuccess": "Your email has been verified successfully. You can now sign in.",
"verifySuccessTitle": "Email verified!",
"verifyFailed": "Verification failed",
"verifyFailedTitle": "Verification failed",
"verifyTokenMissing": "No verification token provided.",
"emailNotVerified": "Email not yet verified. Please check your inbox.",
"username": "Username",
"usernamePlaceholder": "e.g. johndoe",
"usernameHint": "Letters, numbers, _ and - only (3-30 chars)",
"displayName": "Display Name",
"displayNamePlaceholder": "John Doe",
"usernameTaken": "Username is already taken",
"usernameInvalid": "Username may only contain letters, numbers, _ and - (3-30 chars)",
"usernameRequired": "Username is required",
"displayNameRequired": "Display name is required",
"emailVerificationBanner": "Your email address has not been verified yet.",
"emailVerificationResend": "Click here to receive a new verification email",
"emailVerificationResendCooldown": "Resend in {seconds}s",
"emailVerificationResendSuccess": "Verification email sent!",
"emailVerificationResendFailed": "Could not send verification email",
"inviteOnly": "Invite Only",
"inviteOnlyDesc": "Registration is currently restricted. You need an invitation link from an administrator to create an account.",
"orContinueWith": "or continue with",
"loginWithOAuth": "Sign in with {provider}",
"registerWithOAuth": "Sign up with {provider}",
"backToLogin": "Back to login",
"oauthError": "Authentication failed",
"oauthNoToken": "No authentication token received.",
"oauthLoginFailed": "Could not complete sign in. Please try again.",
"oauthRedirecting": "Signing you in..."
},
"home": {
"madeFor": "Made for BigBlueButton",
"heroTitle": "Meetings re",
"heroTitleHighlight": "defined",
"heroSubtitle": "The modern, self-hosted BigBlueButton frontend. Create rooms, manage recordings and enjoy a beautiful interface with over 15 themes.",
"getStarted": "Get started",
"features": "Everything you need",
"featuresSubtitle": "Redlight provides all the features you need for professional video conferencing.",
"featureVideoTitle": "Video Conferencing",
"featureVideoDesc": "Create and manage meetings directly via BigBlueButton.",
"featureRoomsTitle": "Room Management",
"featureRoomsDesc": "Unlimited rooms with individual settings and access codes.",
"featureUsersTitle": "User Management",
"featureUsersDesc": "Registration, login and role management for your organization.",
"featureThemesTitle": "15+ Themes",
"featureThemesDesc": "Dracula, Nord, Catppuccin, Rosé Pine, Gruvbox and many more.",
"featureRecordingsTitle": "Recordings",
"featureRecordingsDesc": "View, publish or delete all recordings per room.",
"featureOpenSourceTitle": "Open Source",
"featureOpenSourceDesc": "Fully open source and self-hosted. Your data stays with you.",
"statThemes": "Themes",
"statRooms": "Rooms",
"statOpenSource": "Open Source",
"footer": "© {year} Redlight. An open source BigBlueButton frontend."
},
"dashboard": {
"myRooms": "My Rooms",
"roomCount": "{count} room created | {count} rooms created",
"newRoom": "New Room",
"noRooms": "No rooms yet",
"noRoomsSubtitle": "Create your first room to start meetings.",
"createFirst": "Create first room",
"createRoom": "Create new room",
"roomName": "Room name",
"roomNamePlaceholder": "e.g. Team Meeting",
"roomNameRequired": "Room name is required",
"welcomeMessage": "Welcome message",
"welcomeMessageDefault": "Welcome to the meeting!",
"maxParticipants": "Max. participants",
"maxParticipantsHint": "0 = unlimited",
"accessCode": "Access code",
"muteOnJoin": "Mute participants on join",
"allowRecording": "Allow recording",
"roomCreated": "Room created!",
"roomCreateFailed": "Room could not be created",
"roomDeleted": "Room deleted",
"roomDeleteFailed": "Room could not be deleted",
"roomDeleteConfirm": "Really delete room \"{name}\"?",
"loadFailed": "Rooms could not be loaded",
"sharedWithMe": "Shared with me",
"federatedRooms": "Rooms from other instances",
"federatedRoomsSubtitle": "Accepted meeting invitations from other Redlight instances. Settings cannot be changed here."
},
"room": {
"backToDashboard": "Back to Dashboard",
"start": "Start",
"startMeeting": "Start meeting",
"join": "Join",
"end": "End",
"openDetails": "Open details",
"overview": "Overview",
"recordings": "Recordings",
"settings": "Settings",
"participants": "{count} participants",
"copyLink": "Copy link",
"copyRoomLink": "Room Link",
"copyGuestLink": "Guest Link",
"linkCopied": "Link copied!",
"meetingDetails": "Meeting details",
"meetingId": "Meeting ID",
"status": "Status",
"maxParticipants": "Max. participants",
"accessCode": "Access code",
"roomSettings": "Room settings",
"mutedOnJoin": "Muted on join",
"micActiveOnJoin": "Microphone active on join",
"approvalRequired": "Approval required",
"freeJoin": "Free join",
"allModerators": "All as moderator",
"rolesAssigned": "Roles are assigned",
"recordingAllowed": "Recording allowed",
"recordingDisabled": "Recording disabled",
"welcomeMsg": "Welcome message",
"muteOnJoin": "Mute on join",
"requireApproval": "Moderator approval required",
"anyoneCanStart": "Anyone can start the meeting",
"allJoinModerator": "All participants as moderator",
"allowRecording": "Allow recording",
"noAccessCode": "No access code",
"emptyNoCode": "Empty = no code",
"settingsSaved": "Settings saved",
"settingsSaveFailed": "Settings could not be saved",
"meetingStarted": "Meeting started!",
"meetingStartFailed": "Meeting could not be started",
"meetingEnded": "Meeting ended",
"meetingEndFailed": "Meeting could not be ended",
"joinFailed": "Join failed",
"endConfirm": "Really end meeting?",
"enterAccessCode": "Enter access code:",
"notFound": "Room not found",
"guestAccessTitle": "Guest Access",
"guestAccess": "Enable guest access",
"guestAccessHint": "Allows unauthenticated users to join the meeting.",
"moderatorCode": "Moderator Code",
"moderatorCodeHint": "Optional code for moderator rights",
"moderatorCodeDesc": "Guests who enter this code will receive moderator rights.",
"guestLink": "Guest Invite Link",
"guestLinkCopied": "Guest link copied!",
"guestJoinTitle": "Join Meeting",
"guestCreatedBy": "Created by",
"guestMeetingRunning": "Meeting in progress",
"guestMeetingNotStarted": "Not started yet",
"guestYourName": "Your Name",
"guestNamePlaceholder": "John Doe",
"guestAccessCode": "Access Code",
"guestAccessCodePlaceholder": "Enter code",
"guestModeratorCode": "Moderator Code",
"guestModeratorOptional": "(optional)",
"guestModeratorPlaceholder": "Only if you are a moderator",
"guestJoinButton": "Join meeting",
"guestWaitingMessage": "The meeting has not started yet. Please wait for the moderator to start it.",
"guestWaitingTitle": "Waiting for meeting to start...",
"guestWaitingHint": "You will be joined automatically as soon as the meeting starts.",
"guestCancelWaiting": "Cancel",
"guestMeetingStartedJoining": "Meeting started! Joining now...",
"waitingToJoin": "Waiting...",
"guestAccessDenied": "Access denied",
"guestNameRequired": "Name is required",
"guestJoinFailed": "Join failed",
"guestAccessNotEnabled": "Guest access is not enabled for this room.",
"guestWrongAccessCode": "Wrong access code",
"guestHasAccount": "Have an account?",
"guestSignIn": "Sign in",
"guestRoomNotFound": "Room not found",
"guestRecordingNotice": "This meeting may be recorded, including your audio and video.",
"guestRecordingConsent": "I understand that this meeting may be recorded.",
"shared": "Shared",
"presentationTitle": "Default Presentation",
"presentationDesc": "This file will be automatically pre-loaded in BBB when the meeting starts.",
"presentationUpload": "Upload presentation",
"presentationRemove": "Remove presentation",
"presentationUploaded": "Presentation uploaded",
"presentationRemoved": "Presentation removed",
"presentationUploadFailed": "Could not upload presentation",
"presentationRemoveFailed": "Could not remove presentation",
"presentationAllowedTypes": "PDF, PPT, PPTX, ODP, DOC, DOCX · max. 50 MB",
"presentationCurrent": "Current:",
"shareTitle": "Share Room",
"shareDescription": "Share this room with other users so they can see it in their dashboard and join meetings.",
"shareSearchPlaceholder": "Search users (name or email)...",
"shareAdded": "User added",
"shareRemoved": "Share removed",
"shareFailed": "Share failed",
"shareRemove": "Remove share",
"defaultWelcome": "Welcome to the meeting!",
"analytics": "Learning Analytics",
"enableAnalytics": "Enable learning analytics",
"enableAnalyticsHint": "Collects participant engagement data after each meeting."
},
"recordings": {
"title": "Recordings",
"noRecordings": "No recordings available",
"published": "Published",
"unpublished": "Unpublished",
"presentation": "Presentation",
"deleted": "Recording deleted",
"deleteFailed": "Error deleting recording",
"deleteConfirm": "Really delete recording?",
"publishSuccess": "Recording published",
"unpublishSuccess": "Recording unpublished",
"publishFailed": "Error updating recording",
"hide": "Hide",
"publish": "Publish",
"loadFailed": "Recordings could not be loaded"
},
"analytics": {
"title": "Learning Analytics",
"noData": "No analytics data available",
"participants": "Participants",
"messages": "Messages",
"expand": "Show details",
"collapse": "Hide details",
"deleteConfirm": "Really delete analytics data?",
"deleted": "Analytics data deleted",
"deleteFailed": "Error deleting data",
"userName": "Name",
"role": "Role",
"moderator": "Moderator",
"viewer": "Viewer",
"talkTime": "Talk time",
"webcamTime": "Webcam time",
"duration": "Duration",
"meetingDuration": "Meeting duration",
"raiseHand": "Raise hand",
"reactions": "Reactions"
},
"settings": {
"title": "Settings",
"subtitle": "Manage your profile and settings",
"profile": "Profile",
"password": "Password",
"themes": "Themes",
"language": "Language",
"editProfile": "Edit profile",
"avatar": "Profile picture",
"avatarColor": "Avatar color",
"avatarColorHint": "Used as fallback when no image is uploaded.",
"uploadImage": "Upload image",
"removeImage": "Remove image",
"avatarHint": "JPG, PNG, GIF or WebP. Max. 2 MB.",
"avatarUploaded": "Profile picture updated",
"avatarUploadFailed": "Error uploading image",
"avatarRemoved": "Profile picture removed",
"avatarRemoveFailed": "Error removing image",
"avatarInvalidType": "Only image files are allowed",
"avatarTooLarge": "Image must be less than 2 MB",
"changePassword": "Change password",
"currentPassword": "Current password",
"newPassword": "New password",
"confirmNewPassword": "Confirm new password",
"profileSaved": "Profile saved",
"profileSaveFailed": "Error saving profile",
"passwordChanged": "Password changed",
"passwordChangeFailed": "Error changing password",
"passwordMismatch": "Passwords do not match",
"selectLanguage": "Select language",
"caldav": {
"title": "CalDAV",
"subtitle": "Connect your calendar app (e.g. Apple Calendar, Thunderbird, DAVx⁵) using the CalDAV protocol. Use your email address and an app token as password.",
"serverUrl": "Server URL",
"username": "Username (Email)",
"hint": "Never enter your real Redlight password in a calendar app. Use an app token instead.",
"newToken": "Generate new app token",
"tokenNamePlaceholder": "e.g. \"iPhone\" or \"Thunderbird\"",
"generate": "Generate",
"existingTokens": "Active tokens",
"noTokens": "No tokens created yet.",
"created": "Created",
"lastUsed": "Last used",
"revoke": "Revoke",
"revokeConfirm": "Really revoke this token? All connected calendar apps using this token will lose access.",
"revoked": "Token revoked",
"revokeFailed": "Could not revoke token",
"createFailed": "Could not create token",
"newTokenCreated": "Token created — copy it now!",
"newTokenHint": "This token will only be shown once. Copy it and enter it as the password in your calendar app.",
"dismiss": "I have copied the token"
}
},
"themes": {
"selectTheme": "Select theme",
"selectThemeSubtitle": "Choose your preferred color scheme",
"light": "Light",
"dark": "Dark"
},
"admin": {
"title": "Administration",
"userCount": "{count} user registered | {count} users registered",
"searchUsers": "Search users...",
"user": "User",
"role": "Role",
"rooms": "Rooms",
"registered": "Registered",
"actions": "Actions",
"admin": "Admin",
"makeAdmin": "Make admin",
"makeUser": "Make user",
"resetPassword": "Reset password",
"deleteUser": "Delete",
"createUser": "Create user",
"createUserTitle": "Create new user",
"userCreated": "User created",
"userCreateFailed": "User could not be created",
"newPasswordLabel": "New password",
"resetPasswordTitle": "Reset password",
"noUsersFound": "No users found",
"roleUpdated": "Role updated",
"roleUpdateFailed": "Error updating role",
"userDeleted": "User deleted",
"userDeleteFailed": "Error deleting user",
"passwordReset": "Password reset",
"passwordResetFailed": "Error resetting password",
"deleteUserConfirm": "Really delete user \"{name}\"? All rooms will also be deleted.",
"brandingTitle": "Branding",
"brandingDescription": "Customize the logo and app name shown across the application.",
"logoLabel": "Logo",
"logoUpload": "Upload logo",
"logoChange": "Change logo",
"logoHint": "PNG, JPG, SVG or WebP. Max 5 MB.",
"logoUploaded": "Logo uploaded",
"logoUploadFailed": "Logo upload failed",
"logoRemoved": "Logo removed",
"logoRemoveFailed": "Could not remove logo",
"appNameLabel": "App name",
"appNameUpdated": "App name updated",
"appNameUpdateFailed": "Could not update app name",
"hideAppNameLabel": "Hide app name",
"hideAppNameHint": "Only show the logo, hide the app name text next to it.",
"hideAppNameFailed": "Could not update setting",
"defaultThemeLabel": "Default Theme",
"defaultThemeDesc": "Applied to unauthenticated pages (guest join, login, home) when no personal preference is set.",
"defaultThemeSaved": "Default theme saved",
"defaultThemeUpdateFailed": "Could not update default theme",
"regModeTitle": "Registration Mode",
"regModeDescription": "Control how new users can register. \"Open\" allows everyone to sign up. \"Invite only\" requires an invitation link.",
"regModeOpen": "Open registration",
"regModeInvite": "Invite only",
"regModeSaved": "Registration mode updated",
"regModeFailed": "Could not update registration mode",
"inviteTitle": "User Invitations",
"inviteDescription": "Invite new users by email. They will receive a registration link valid for 7 days.",
"sendInvite": "Send invite",
"inviteSent": "Invitation sent!",
"inviteFailed": "Could not send invitation",
"inviteDeleted": "Invitation deleted",
"inviteDeleteFailed": "Could not delete invitation",
"inviteLinkCopied": "Invite link copied!",
"copyInviteLink": "Copy invite link",
"inviteExpired": "Expired",
"inviteUsedBy": "Used by",
"inviteExpiresAt": "Expires",
"noInvites": "No invitations yet",
"legalLinksTitle": "Legal Links",
"legalLinksDesc": "Show Imprint and Privacy Policy links at the bottom of the sidebar. Leave blank to hide.",
"imprintUrl": "Imprint URL",
"privacyUrl": "Privacy Policy URL",
"imprintUrlSaved": "Imprint URL saved",
"privacyUrlSaved": "Privacy Policy URL saved",
"imprintUrlFailed": "Could not save Imprint URL",
"privacyUrlFailed": "Could not save Privacy Policy URL",
"oauthTitle": "OAuth / SSO",
"oauthDescription": "Connect an OpenID Connect provider (e.g. Keycloak, Authentik, Google) to allow Single Sign-On.",
"oauthIssuer": "Issuer URL",
"oauthIssuerHint": "The OIDC issuer URL, e.g. https://auth.example.com/realms/main",
"oauthClientId": "Client ID",
"oauthClientSecret": "Client Secret",
"oauthClientSecretHint": "Leave blank to keep the existing secret",
"oauthDisplayName": "Button label",
"oauthDisplayNameHint": "Shown on the login page, e.g. \"Company SSO\"",
"oauthAutoRegister": "Auto-register new users",
"oauthAutoRegisterHint": "Automatically create accounts for users signing in via OAuth for the first time.",
"oauthSaved": "OAuth configuration saved",
"oauthSaveFailed": "Could not save OAuth configuration",
"oauthRemoved": "OAuth configuration removed",
"oauthRemoveFailed": "Could not remove OAuth configuration",
"oauthRemoveConfirm": "Really remove OAuth configuration? Users will no longer be able to sign in with SSO.",
"oauthNotConfigured": "OAuth is not configured yet.",
"oauthSave": "Save OAuth",
"oauthRemove": "Remove OAuth"
},
"notifications": {
"bell": "Notifications",
"markAllRead": "Mark all read",
"clearAll": "Clear all",
"delete": "Delete",
"noNotifications": "No notifications yet",
"roomShareAdded": "Room shared with you",
"roomShareRemoved": "Room access removed",
"federationInviteReceived": "New meeting invitation"
},
"federation": {
"inbox": "Invitations",
"inboxSubtitle": "Meeting invitations from other Redlight instances",
"inviteTitle": "Invite Remote User",
"inviteSubtitle": "Invite a user from another Redlight instance to this meeting.",
"addressLabel": "User address",
"addressPlaceholder": "@user@other-instance.com",
"addressHint": "Format: @username@domain of the Redlight instance",
"messageLabel": "Message (optional)",
"messagePlaceholder": "Hi, I'd like to invite you to our meeting!",
"send": "Send invitation",
"sent": "Invitation sent!",
"sendFailed": "Could not send invitation",
"from": "From",
"accept": "Accept",
"decline": "Decline",
"accepted": "Invitation accepted",
"declined": "Invitation declined",
"acceptFailed": "Error accepting invitation",
"declineFailed": "Error declining invitation",
"pending": "Pending",
"previousInvites": "Previous Invitations",
"noInvitations": "No invitations",
"noInvitationsSubtitle": "When you receive an invitation from another Redlight instance, it will appear here.",
"statusAccepted": "Accepted",
"statusDeclined": "Declined",
"openLink": "Open meeting",
"loadFailed": "Could not load invitations",
"inviteRemote": "Invite remote",
"federated": "Federated",
"readOnlyNotice": "This room belongs to another instance. Settings cannot be changed.",
"joinMeeting": "Join meeting",
"removeRoom": "Remove room",
"removeRoomConfirm": "Really remove this room?",
"roomRemoved": "Room removed",
"roomRemoveFailed": "Could not remove room",
"acceptedSaved": "Invitation accepted - room saved to your dashboard!",
"meetingId": "Meeting ID",
"maxParticipants": "Max. participants",
"recordingOn": "Recording enabled",
"recordingOff": "Recording disabled",
"unlimited": "Unlimited",
"backToDashboard": "Back to Dashboard",
"participantLimit": "Participant limit set",
"recordingLabel": "Recording",
"recordingOnHint": "Meetings in this room may be recorded",
"recordingOffHint": "Meetings in this room will not be recorded",
"roomDetails": "Room Details",
"joinUrl": "Join URL",
"roomDeleted": "Deleted",
"roomDeletedNotice": "This room has been deleted by the owner on the origin instance and is no longer available.",
"calendarEvent": "Calendar Invitation",
"calendarAccepted": "Calendar event accepted and added to your calendar!",
"localCalendarEvent": "Local Calendar Invitation",
"calendarLocalAccepted": "Invitation accepted - event added to your calendar!",
"invitationRemoved": "Invitation removed",
"removeInvitation": "Remove invitation"
},
"calendar": {
"title": "Calendar",
"subtitle": "Plan and manage your meetings",
"newEvent": "New Event",
"createEvent": "Create Event",
"editEvent": "Edit Event",
"eventTitle": "Title",
"eventTitlePlaceholder": "e.g. Team Meeting",
"description": "Description",
"descriptionPlaceholder": "Add a description...",
"startTime": "Start",
"endTime": "End",
"linkedRoom": "Linked Room",
"noRoom": "No room (no video meeting)",
"linkedRoomHint": "Link a room to automatically include the join-URL in the event.",
"reminderLabel": "Reminder",
"reminderNone": "No reminder",
"reminder5": "5 minutes before",
"reminder15": "15 minutes before",
"reminder30": "30 minutes before",
"reminder60": "1 hour before",
"reminder120": "2 hours before",
"reminder1440": "1 day before",
"timezone": "Timezone",
"color": "Color",
"eventCreated": "Event created!",
"eventUpdated": "Event updated!",
"eventDeleted": "Event deleted",
"saveFailed": "Could not save event",
"deleteFailed": "Could not delete event",
"deleteConfirm": "Really delete this event?",
"loadFailed": "Events could not be loaded",
"today": "Today",
"month": "Month",
"week": "Week",
"more": "more",
"mon": "Mon",
"tue": "Tue",
"wed": "Wed",
"thu": "Thu",
"fri": "Fri",
"sat": "Sat",
"sun": "Sun",
"downloadICS": "Download ICS",
"addToOutlook": "Add to Outlook",
"addToGoogleCalendar": "Google Calendar",
"icsDownloaded": "ICS file downloaded",
"icsFailed": "Could not download ICS file",
"share": "Share",
"shareEvent": "Share Event",
"shareAdded": "User added to event",
"shareRemoved": "Share removed",
"shareFailed": "Could not share event",
"invitationSent": "Invitation sent!",
"invitationCancelled": "Invitation cancelled",
"invitationPending": "Invitation pending",
"pendingInvitations": "Pending Invitations",
"accepted": "Accepted",
"sendFederated": "Send to remote",
"sendFederatedTitle": "Send Event to Remote Instance",
"sendFederatedDesc": "Send this calendar event to a user on another Redlight instance. The recipient must accept the invitation before the event appears in their calendar.",
"send": "Send",
"fedSent": "Calendar invitation sent! The recipient must accept it first.",
"fedFailed": "Could not send event to remote instance",
"openRoom": "Open linked room",
"organizer": "Organizer",
"federatedFrom": "From remote instance",
"joinFederatedMeeting": "Join remote meeting"
},
"email": {
"greeting": "Hey {name} 👋",
"viewInvitation": "View Invitation",
"invitationFooter": "Open the link above to accept or decline the invitation.",
"linkHint": "Or copy this link in your browser:",
"verify": {
"subject": "{appName} - Verify your email",
"intro": "Please verify your email address by clicking the button below:",
"button": "Verify Email",
"validity": "This link is valid for 24 hours.",
"footer": "If you didn't register, please ignore this email."
},
"invite": {
"subject": "{appName} - You've been invited",
"title": "You've been invited! 🎉",
"intro": "You have been invited to create an account on {appName}.",
"prompt": "Click the button below to register:",
"button": "Create Account",
"validity": "This link is valid for 7 days.",
"footer": "If you didn't expect this invitation, you can safely ignore this email."
},
"federationInvite": {
"subject": "{appName} - Meeting invitation from {fromUser}",
"intro": "You have received a meeting invitation from {fromUser}.",
"roomLabel": "Room:"
},
"calendarInvite": {
"subject": "{appName} - Calendar invitation from {fromUser}",
"intro": "You have received a calendar invitation from {fromUser}."
},
"calendarDeleted": {
"subject": "{appName} - Calendar event cancelled: {title}",
"intro": "The following calendar event was deleted by the organiser ({fromUser}) and is no longer available:",
"note": "The event has been automatically removed from your calendar.",
"footer": "This message was sent automatically by {appName}."
}
},
"notFound": {
"title": "Page not found",
"description": "The page you are looking for doesn't exist or has been moved.",
"goBack": "Go back",
"goHome": "Back to home"
}
}