feat: polish language
Deploy On Server / Prepare Repository Remotely (push) Successful in 8s
Deploy On Server / Docker Compose Up (push) Successful in 16s
Deploy On Server / Prune Images (push) Successful in 2s
Deploy On Server / Remove .env File (push) Successful in 2s

This commit is contained in:
Raul Lugo
2026-08-11 23:27:32 +02:00
parent a4a77a3fa2
commit d1a352a473
3 changed files with 83 additions and 0 deletions
+1
View File
@@ -2,6 +2,7 @@ export const supportedLanguages = [
{ code: "en", label: "English" },
{ code: "es", label: "Spanish" },
{ code: "de", label: "German" },
{ code: "pl", label: "Polish" },
] as const
export type SupportedLanguage = (typeof supportedLanguages)[number]["code"]
+2
View File
@@ -1,11 +1,13 @@
import { de } from "./de"
import { en } from "./en"
import { es } from "./es"
import { pl } from "./pl"
export const dictionaries = {
en,
es,
de,
pl,
} as const
export type GuestDictionary = typeof en
+80
View File
@@ -0,0 +1,80 @@
export const pl = {
invalid: {
title: "Nie znaleziono zaproszenia",
description: "Nie mogliśmy znaleźć tego zaproszenia. Sprawdź link albo skontaktuj się z nami.",
},
hero: {
eyebrow: "Zaproszenie ślubne",
title: "Nie możemy się doczekać wspólnego świętowania",
greeting: "Cześć, {name}!",
description:
"Potwierdź proszę, kto będzie z nami, i podziel się kilkoma szczegółami podróży, żebyśmy mogli wszystko dobrze zaplanować.",
},
deadline: {
open: "Możesz edytować odpowiedź do {date}.",
closed: "Termin potwierdzenia obecności już minął. Twoje odpowiedzi są teraz tylko do odczytu.",
},
sections: {
wedding: "Szczegóły ślubu",
rsvp: "Potwierdzenie obecności",
travel: "Szczegóły podróży",
interactions: "Dodaj coś od siebie",
},
wedding: {
dateLabel: "Data",
dateValue: "Data ślubu zostanie dodana wkrótce",
locationLabel: "Miejsce",
locationValue: "Szczegóły miejsca zostaną dodane wkrótce",
accommodationLabel: "Nocleg",
accommodationValue: "Rekomendacje noclegów w pobliżu dodamy później.",
},
form: {
attending: "Czy będziesz obecny/obecna?",
yes: "Tak",
no: "Nie",
mealPreference: "Preferencje dotyczące posiłku",
mealPlaceholder: "Wybierz posiłek",
dietaryRestrictions: "Ograniczenia żywieniowe",
noRestrictions: "Brak ograniczeń",
arrivalDate: "Data przyjazdu",
departureDate: "Data wyjazdu",
stayLocation: "Gdzie się zatrzymasz?",
needsTransportHelp: "Czy potrzebujesz pomocy z transportem?",
messageToCouple: "Wiadomość dla pary młodej",
submit: "Zapisz odpowiedź",
submitted: "Dziękujemy — Twoja odpowiedź została zapisana.",
},
meals: {
meat: "Mięso",
fish: "Ryba",
vegetarian: "Wegetariańskie",
vegan: "Wegańskie",
kids: "Menu dziecięce",
other: "Inne",
},
errors: {
generic: "Sprawdź formularz i spróbuj ponownie.",
closed: "Termin potwierdzenia obecności już minął.",
},
interactions: {
intro: "To pytanie jest opcjonalne i pomoże nam zaplanować przebieg uroczystości.",
toastTitle: "Toast lub przemówienie",
toastDescription: "Czy ktoś z Waszej grupy chciałby powiedzieć kilka słów? To opcjonalne — my zajmiemy się harmonogramem.",
wantsToast: "Ktoś chciałby zabrać głos",
speakerName: "Imię osoby przemawiającej",
estimatedMinutes: "Szacowany czas w minutach",
},
upload: {
title: "Zdjęcie do ślubnej niespodzianki",
description: "Prześlij jedno zdjęcie siebie lub Waszej grupy do ślubnej aktywności. Możesz je zastąpić do terminu odpowiedzi.",
current: "Aktualnie przesłane zdjęcie: {filename}",
choose: "Wybierz obraz",
upload: "Prześlij zdjęcie",
replace: "Zastąp zdjęcie",
uploading: "Przesyłanie...",
success: "Zdjęcie zostało przesłane.",
error: "Nie udało się przesłać zdjęcia. Spróbuj ponownie.",
disabled: "Przesyłanie zdjęć jest zamknięte, ponieważ termin odpowiedzi już minął.",
requirements: "JPG, PNG lub WebP. Maksymalnie 10 MB.",
},
} as const