This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
export const de = {
|
||||
invalid: {
|
||||
title: "Einladung nicht gefunden",
|
||||
description: "Wir konnten diese Einladung nicht finden. Bitte prüfe den Link oder kontaktiere uns.",
|
||||
},
|
||||
hero: {
|
||||
eyebrow: "Hochzeitseinladung",
|
||||
title: "Wir freuen uns sehr, mit dir zu feiern",
|
||||
greeting: "Hallo, {name}!",
|
||||
description:
|
||||
"Bitte bestätige, wer kommen wird, und teile ein paar Reisedetails, damit wir alles gut planen können.",
|
||||
},
|
||||
deadline: {
|
||||
open: "Du kannst diese Antwort bis zum {date} bearbeiten.",
|
||||
closed: "Die RSVP-Frist ist abgelaufen. Deine Antworten sind jetzt schreibgeschützt.",
|
||||
},
|
||||
sections: {
|
||||
wedding: "Hochzeitsdetails",
|
||||
rsvp: "RSVP",
|
||||
travel: "Reisedetails",
|
||||
interactions: "Mach es persönlich",
|
||||
},
|
||||
wedding: {
|
||||
dateLabel: "Datum",
|
||||
dateValue: "Das Hochzeitsdatum wird bald ergänzt",
|
||||
locationLabel: "Ort",
|
||||
locationValue: "Details zum Veranstaltungsort folgen bald",
|
||||
accommodationLabel: "Unterkunft",
|
||||
accommodationValue: "Empfehlungen für Unterkünfte in der Nähe werden später ergänzt.",
|
||||
},
|
||||
form: {
|
||||
attending: "Nimmt teil?",
|
||||
yes: "Ja",
|
||||
no: "Nein",
|
||||
mealPreference: "Essenswunsch",
|
||||
mealPlaceholder: "Essen auswählen",
|
||||
dietaryRestrictions: "Ernährungseinschränkungen",
|
||||
noRestrictions: "Keine Einschränkungen",
|
||||
arrivalDate: "Anreisedatum",
|
||||
departureDate: "Abreisedatum",
|
||||
stayLocation: "Wo übernachtest du?",
|
||||
needsTransportHelp: "Brauchst du Hilfe beim Transport?",
|
||||
messageToCouple: "Nachricht an das Paar",
|
||||
submit: "RSVP speichern",
|
||||
submitted: "Danke — deine RSVP wurde gespeichert.",
|
||||
},
|
||||
meals: {
|
||||
meat: "Fleisch",
|
||||
fish: "Fisch",
|
||||
vegetarian: "Vegetarisch",
|
||||
vegan: "Vegan",
|
||||
kids: "Kindermenü",
|
||||
other: "Andere",
|
||||
},
|
||||
errors: {
|
||||
generic: "Bitte prüfe das Formular und versuche es erneut.",
|
||||
closed: "Die RSVP-Frist ist abgelaufen.",
|
||||
},
|
||||
interactions: {
|
||||
intro: "Diese Frage ist optional und hilft uns, den Ablauf der Feier zu planen.",
|
||||
toastTitle: "Toast oder Rede",
|
||||
toastDescription: "Möchte jemand aus deiner Gruppe ein paar Worte sagen? Das ist optional und wird von uns geplant.",
|
||||
wantsToast: "Jemand möchte sprechen",
|
||||
speakerName: "Name der sprechenden Person",
|
||||
estimatedMinutes: "Ungefähre Minuten",
|
||||
},
|
||||
upload: {
|
||||
title: "Foto für die Hochzeitsüberraschung",
|
||||
description: "Lade ein Foto von dir oder deiner Gruppe für eine Hochzeitsaktivität hoch. Du kannst es bis zur Frist ersetzen.",
|
||||
current: "Aktuell hochgeladenes Foto: {filename}",
|
||||
choose: "Bild auswählen",
|
||||
upload: "Foto hochladen",
|
||||
replace: "Foto ersetzen",
|
||||
uploading: "Wird hochgeladen...",
|
||||
success: "Foto erfolgreich hochgeladen.",
|
||||
error: "Das Foto konnte nicht hochgeladen werden. Bitte versuche es erneut.",
|
||||
disabled: "Foto-Uploads sind geschlossen, da die RSVP-Frist abgelaufen ist.",
|
||||
requirements: "JPG, PNG oder WebP. Maximal 10 MB.",
|
||||
},
|
||||
} as const
|
||||
@@ -0,0 +1,80 @@
|
||||
export const en = {
|
||||
invalid: {
|
||||
title: "Invitation not found",
|
||||
description: "We could not find this invitation. Please check the link or contact us.",
|
||||
},
|
||||
hero: {
|
||||
eyebrow: "Wedding invitation",
|
||||
title: "We cannot wait to celebrate with you",
|
||||
greeting: "Hello, {name}!",
|
||||
description:
|
||||
"Please confirm who will attend and share a few travel details so we can plan everything with care.",
|
||||
},
|
||||
deadline: {
|
||||
open: "You can edit this response until {date}.",
|
||||
closed: "The RSVP deadline has passed. Your answers are now read-only.",
|
||||
},
|
||||
sections: {
|
||||
wedding: "Wedding details",
|
||||
rsvp: "RSVP",
|
||||
travel: "Travel details",
|
||||
interactions: "Make it personal",
|
||||
},
|
||||
wedding: {
|
||||
dateLabel: "Date",
|
||||
dateValue: "Wedding date coming soon",
|
||||
locationLabel: "Location",
|
||||
locationValue: "Venue details coming soon",
|
||||
accommodationLabel: "Accommodation",
|
||||
accommodationValue: "Nearby stay recommendations will be added later.",
|
||||
},
|
||||
form: {
|
||||
attending: "Attending?",
|
||||
yes: "Yes",
|
||||
no: "No",
|
||||
mealPreference: "Meal preference",
|
||||
mealPlaceholder: "Select a meal",
|
||||
dietaryRestrictions: "Dietary restrictions",
|
||||
noRestrictions: "No restrictions",
|
||||
arrivalDate: "Arrival date",
|
||||
departureDate: "Departure date",
|
||||
stayLocation: "Where are you staying?",
|
||||
needsTransportHelp: "Do you need transportation help?",
|
||||
messageToCouple: "Message to the couple",
|
||||
submit: "Save RSVP",
|
||||
submitted: "Thank you — your RSVP was saved.",
|
||||
},
|
||||
meals: {
|
||||
meat: "Meat",
|
||||
fish: "Fish",
|
||||
vegetarian: "Vegetarian",
|
||||
vegan: "Vegan",
|
||||
kids: "Kids menu",
|
||||
other: "Other",
|
||||
},
|
||||
errors: {
|
||||
generic: "Please check the RSVP form and try again.",
|
||||
closed: "The RSVP deadline has passed.",
|
||||
},
|
||||
interactions: {
|
||||
intro: "This question is optional and helps us plan the celebration schedule.",
|
||||
toastTitle: "Toast or speech",
|
||||
toastDescription: "Would someone in your group like to say a few words? This is optional and will be scheduled by us.",
|
||||
wantsToast: "Someone would like to speak",
|
||||
speakerName: "Speaker name",
|
||||
estimatedMinutes: "Estimated minutes",
|
||||
},
|
||||
upload: {
|
||||
title: "Wedding surprise photo",
|
||||
description: "Upload one photo of yourself or your group for a wedding activity. You can replace it until the deadline.",
|
||||
current: "Current photo uploaded: {filename}",
|
||||
choose: "Choose image",
|
||||
upload: "Upload photo",
|
||||
replace: "Replace photo",
|
||||
uploading: "Uploading...",
|
||||
success: "Photo uploaded successfully.",
|
||||
error: "We could not upload the photo. Please try again.",
|
||||
disabled: "Photo uploads are closed because the RSVP deadline has passed.",
|
||||
requirements: "JPG, PNG, or WebP. Maximum 10 MB.",
|
||||
},
|
||||
} as const
|
||||
@@ -0,0 +1,80 @@
|
||||
export const es = {
|
||||
invalid: {
|
||||
title: "Invitación no encontrada",
|
||||
description: "No pudimos encontrar esta invitación. Revisa el enlace o contáctanos.",
|
||||
},
|
||||
hero: {
|
||||
eyebrow: "Invitación de boda",
|
||||
title: "Nos emociona mucho celebrar contigo",
|
||||
greeting: "¡Hola, {name}!",
|
||||
description:
|
||||
"Confirma quién asistirá y comparte algunos detalles del viaje para que podamos planificar todo con cariño.",
|
||||
},
|
||||
deadline: {
|
||||
open: "Puedes editar esta respuesta hasta el {date}.",
|
||||
closed: "La fecha límite para confirmar asistencia ya pasó. Tus respuestas están en modo lectura.",
|
||||
},
|
||||
sections: {
|
||||
wedding: "Detalles de la boda",
|
||||
rsvp: "Confirmación",
|
||||
travel: "Detalles del viaje",
|
||||
interactions: "Hazlo personal",
|
||||
},
|
||||
wedding: {
|
||||
dateLabel: "Fecha",
|
||||
dateValue: "La fecha de la boda se agregará pronto",
|
||||
locationLabel: "Lugar",
|
||||
locationValue: "Los detalles del lugar se agregarán pronto",
|
||||
accommodationLabel: "Alojamiento",
|
||||
accommodationValue: "Pronto agregaremos recomendaciones para quedarse cerca.",
|
||||
},
|
||||
form: {
|
||||
attending: "¿Asiste?",
|
||||
yes: "Sí",
|
||||
no: "No",
|
||||
mealPreference: "Preferencia de comida",
|
||||
mealPlaceholder: "Selecciona una opción",
|
||||
dietaryRestrictions: "Restricciones alimentarias",
|
||||
noRestrictions: "Sin restricciones",
|
||||
arrivalDate: "Fecha de llegada",
|
||||
departureDate: "Fecha de salida",
|
||||
stayLocation: "¿Dónde te hospedarás?",
|
||||
needsTransportHelp: "¿Necesitas ayuda con transporte?",
|
||||
messageToCouple: "Mensaje para la pareja",
|
||||
submit: "Guardar confirmación",
|
||||
submitted: "Gracias — guardamos tu confirmación.",
|
||||
},
|
||||
meals: {
|
||||
meat: "Carne",
|
||||
fish: "Pescado",
|
||||
vegetarian: "Vegetariano",
|
||||
vegan: "Vegano",
|
||||
kids: "Menú infantil",
|
||||
other: "Otro",
|
||||
},
|
||||
errors: {
|
||||
generic: "Revisa el formulario e inténtalo de nuevo.",
|
||||
closed: "La fecha límite para confirmar asistencia ya pasó.",
|
||||
},
|
||||
interactions: {
|
||||
intro: "Esta pregunta es opcional y nos ayuda a organizar el horario de la celebración.",
|
||||
toastTitle: "Brindis o discurso",
|
||||
toastDescription: "¿Alguien de tu grupo quiere decir unas palabras? Es opcional y nosotros lo organizaremos.",
|
||||
wantsToast: "Alguien quiere hablar",
|
||||
speakerName: "Nombre de la persona",
|
||||
estimatedMinutes: "Minutos aproximados",
|
||||
},
|
||||
upload: {
|
||||
title: "Foto para la sorpresa de la boda",
|
||||
description: "Sube una foto tuya o de tu grupo para una actividad de la boda. Puedes reemplazarla hasta la fecha límite.",
|
||||
current: "Foto actual subida: {filename}",
|
||||
choose: "Elegir imagen",
|
||||
upload: "Subir foto",
|
||||
replace: "Reemplazar foto",
|
||||
uploading: "Subiendo...",
|
||||
success: "Foto subida correctamente.",
|
||||
error: "No pudimos subir la foto. Inténtalo de nuevo.",
|
||||
disabled: "La subida de fotos está cerrada porque ya pasó la fecha límite.",
|
||||
requirements: "JPG, PNG o WebP. Máximo 10 MB.",
|
||||
},
|
||||
} as const
|
||||
@@ -0,0 +1,11 @@
|
||||
import { de } from "./de"
|
||||
import { en } from "./en"
|
||||
import { es } from "./es"
|
||||
|
||||
export const dictionaries = {
|
||||
en,
|
||||
es,
|
||||
de,
|
||||
} as const
|
||||
|
||||
export type GuestDictionary = typeof en
|
||||
Reference in New Issue
Block a user