mirror of
https://github.com/spliit-app/spliit.git
synced 2026-02-15 03:56:13 +01:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
727803ea5c | ||
|
|
7add7efea2 | ||
|
|
a7c80f65c3 | ||
|
|
1e4edf7504 | ||
|
|
24053ca5ab |
13
Dockerfile
13
Dockerfile
@@ -1,9 +1,9 @@
|
|||||||
FROM node:21-alpine as base
|
FROM node:21-alpine AS base
|
||||||
|
|
||||||
WORKDIR /usr/app
|
WORKDIR /usr/app
|
||||||
COPY ./package.json \
|
COPY ./package.json \
|
||||||
./package-lock.json \
|
./package-lock.json \
|
||||||
./next.config.js \
|
./next.config.mjs \
|
||||||
./tsconfig.json \
|
./tsconfig.json \
|
||||||
./reset.d.ts \
|
./reset.d.ts \
|
||||||
./tailwind.config.js \
|
./tailwind.config.js \
|
||||||
@@ -16,6 +16,7 @@ RUN apk add --no-cache openssl && \
|
|||||||
npx prisma generate
|
npx prisma generate
|
||||||
|
|
||||||
COPY ./src ./src
|
COPY ./src ./src
|
||||||
|
COPY ./messages ./messages
|
||||||
|
|
||||||
ENV NEXT_TELEMETRY_DISABLED=1
|
ENV NEXT_TELEMETRY_DISABLED=1
|
||||||
|
|
||||||
@@ -24,21 +25,21 @@ RUN npm run build
|
|||||||
|
|
||||||
RUN rm -r .next/cache
|
RUN rm -r .next/cache
|
||||||
|
|
||||||
FROM node:21-alpine as runtime-deps
|
FROM node:21-alpine AS runtime-deps
|
||||||
|
|
||||||
WORKDIR /usr/app
|
WORKDIR /usr/app
|
||||||
COPY --from=base /usr/app/package.json /usr/app/package-lock.json /usr/app/next.config.js ./
|
COPY --from=base /usr/app/package.json /usr/app/package-lock.json /usr/app/next.config.mjs ./
|
||||||
COPY --from=base /usr/app/prisma ./prisma
|
COPY --from=base /usr/app/prisma ./prisma
|
||||||
|
|
||||||
RUN npm ci --omit=dev --omit=optional --ignore-scripts && \
|
RUN npm ci --omit=dev --omit=optional --ignore-scripts && \
|
||||||
npx prisma generate
|
npx prisma generate
|
||||||
|
|
||||||
FROM node:21-alpine as runner
|
FROM node:21-alpine AS runner
|
||||||
|
|
||||||
EXPOSE 3000/tcp
|
EXPOSE 3000/tcp
|
||||||
WORKDIR /usr/app
|
WORKDIR /usr/app
|
||||||
|
|
||||||
COPY --from=base /usr/app/package.json /usr/app/package-lock.json /usr/app/next.config.js ./
|
COPY --from=base /usr/app/package.json /usr/app/package-lock.json /usr/app/next.config.mjs ./
|
||||||
COPY --from=runtime-deps /usr/app/node_modules ./node_modules
|
COPY --from=runtime-deps /usr/app/node_modules ./node_modules
|
||||||
COPY ./public ./public
|
COPY ./public ./public
|
||||||
COPY ./scripts ./scripts
|
COPY ./scripts ./scripts
|
||||||
|
|||||||
@@ -203,7 +203,8 @@
|
|||||||
"creating": "Erstellt…",
|
"creating": "Erstellt…",
|
||||||
"save": "Speichern",
|
"save": "Speichern",
|
||||||
"saving": "Speichert…",
|
"saving": "Speichert…",
|
||||||
"cancel": "Abbrechen"
|
"cancel": "Abbrechen",
|
||||||
|
"reimbursement": "Rückzahlung"
|
||||||
},
|
},
|
||||||
"ExpenseDocumentsInput": {
|
"ExpenseDocumentsInput": {
|
||||||
"TooBigToast": {
|
"TooBigToast": {
|
||||||
@@ -300,8 +301,10 @@
|
|||||||
"es": "Español",
|
"es": "Español",
|
||||||
"de-DE": "Deutsch",
|
"de-DE": "Deutsch",
|
||||||
"zh-CN": "Chinese (Simplified)",
|
"zh-CN": "Chinese (Simplified)",
|
||||||
|
"pl-PL": "Polski",
|
||||||
"ru-RU": "Русский",
|
"ru-RU": "Русский",
|
||||||
"it-IT": "Italiano"
|
"it-IT": "Italiano",
|
||||||
|
"ua-UA": "Українська"
|
||||||
},
|
},
|
||||||
"Share": {
|
"Share": {
|
||||||
"title": "Teilen",
|
"title": "Teilen",
|
||||||
|
|||||||
@@ -203,7 +203,8 @@
|
|||||||
"creating": "Creating…",
|
"creating": "Creating…",
|
||||||
"save": "Save",
|
"save": "Save",
|
||||||
"saving": "Saving…",
|
"saving": "Saving…",
|
||||||
"cancel": "Cancel"
|
"cancel": "Cancel",
|
||||||
|
"reimbursement": "Reimbursement"
|
||||||
},
|
},
|
||||||
"ExpenseDocumentsInput": {
|
"ExpenseDocumentsInput": {
|
||||||
"TooBigToast": {
|
"TooBigToast": {
|
||||||
@@ -300,8 +301,10 @@
|
|||||||
"es": "Español",
|
"es": "Español",
|
||||||
"de-DE": "Deutsch",
|
"de-DE": "Deutsch",
|
||||||
"zh-CN": "Chinese (Simplified)",
|
"zh-CN": "Chinese (Simplified)",
|
||||||
|
"pl-PL": "Polski",
|
||||||
"ru-RU": "Русский",
|
"ru-RU": "Русский",
|
||||||
"it-IT": "Italiano"
|
"it-IT": "Italiano",
|
||||||
|
"ua-UA": "Українська"
|
||||||
},
|
},
|
||||||
"Share": {
|
"Share": {
|
||||||
"title": "Share",
|
"title": "Share",
|
||||||
|
|||||||
@@ -203,7 +203,9 @@
|
|||||||
"creating": "Creando",
|
"creating": "Creando",
|
||||||
"save": "Guardar",
|
"save": "Guardar",
|
||||||
"saving": "Guardando",
|
"saving": "Guardando",
|
||||||
"cancel": "Cancelar"
|
"cancel": "Cancelar",
|
||||||
|
"reimbursement": "Reembolso"
|
||||||
|
|
||||||
},
|
},
|
||||||
"ExpenseDocumentsInput": {
|
"ExpenseDocumentsInput": {
|
||||||
"TooBigToast": {
|
"TooBigToast": {
|
||||||
@@ -300,8 +302,10 @@
|
|||||||
"es": "Español",
|
"es": "Español",
|
||||||
"de-DE": "Deutsch",
|
"de-DE": "Deutsch",
|
||||||
"zh-CN": "Chinese (Simplified)",
|
"zh-CN": "Chinese (Simplified)",
|
||||||
|
"pl-PL": "Polski",
|
||||||
"ru-RU": "Русский",
|
"ru-RU": "Русский",
|
||||||
"it-IT": "Italiano"
|
"it-IT": "Italiano",
|
||||||
|
"ua-UA": "Українська"
|
||||||
},
|
},
|
||||||
"Share": {
|
"Share": {
|
||||||
"title": "Compartir",
|
"title": "Compartir",
|
||||||
|
|||||||
@@ -203,7 +203,8 @@
|
|||||||
"creating": "Luodaan kulua…",
|
"creating": "Luodaan kulua…",
|
||||||
"save": "Tallenna",
|
"save": "Tallenna",
|
||||||
"saving": "Tallennetaan…",
|
"saving": "Tallennetaan…",
|
||||||
"cancel": "Peruuta"
|
"cancel": "Peruuta",
|
||||||
|
"reimbursement": "Velanmaksu"
|
||||||
},
|
},
|
||||||
"ExpenseDocumentsInput": {
|
"ExpenseDocumentsInput": {
|
||||||
"TooBigToast": {
|
"TooBigToast": {
|
||||||
@@ -300,8 +301,10 @@
|
|||||||
"es": "Español",
|
"es": "Español",
|
||||||
"de-DE": "Deutsch",
|
"de-DE": "Deutsch",
|
||||||
"zh-CN": "Chinese (Simplified)",
|
"zh-CN": "Chinese (Simplified)",
|
||||||
|
"pl-PL": "Polski",
|
||||||
"ru-RU": "Русский",
|
"ru-RU": "Русский",
|
||||||
"it-IT": "Italiano"
|
"it-IT": "Italiano",
|
||||||
|
"ua-UA": "Українська"
|
||||||
},
|
},
|
||||||
"Share": {
|
"Share": {
|
||||||
"title": "Jaa",
|
"title": "Jaa",
|
||||||
|
|||||||
@@ -203,7 +203,8 @@
|
|||||||
"creating": "Création…",
|
"creating": "Création…",
|
||||||
"save": "Sauvegarder",
|
"save": "Sauvegarder",
|
||||||
"saving": "Sauvegarde…",
|
"saving": "Sauvegarde…",
|
||||||
"cancel": "Annuler"
|
"cancel": "Annuler",
|
||||||
|
"reimbursement": "Remboursement"
|
||||||
},
|
},
|
||||||
"ExpenseDocumentsInput": {
|
"ExpenseDocumentsInput": {
|
||||||
"TooBigToast": {
|
"TooBigToast": {
|
||||||
@@ -300,8 +301,10 @@
|
|||||||
"es": "Español",
|
"es": "Español",
|
||||||
"de-DE": "Deutsch",
|
"de-DE": "Deutsch",
|
||||||
"zh-CN": "Chinese (Simplified)",
|
"zh-CN": "Chinese (Simplified)",
|
||||||
|
"pl-PL": "Polski",
|
||||||
"ru-RU": "Русский",
|
"ru-RU": "Русский",
|
||||||
"it-IT": "Italiano"
|
"it-IT": "Italiano",
|
||||||
|
"ua-UA": "Українська"
|
||||||
},
|
},
|
||||||
"Share": {
|
"Share": {
|
||||||
"title": "Partager",
|
"title": "Partager",
|
||||||
|
|||||||
@@ -42,7 +42,7 @@
|
|||||||
"ExpenseCard": {
|
"ExpenseCard": {
|
||||||
"paidBy": "Pagato da <strong>{paidBy}</strong> per <paidFor></paidFor>",
|
"paidBy": "Pagato da <strong>{paidBy}</strong> per <paidFor></paidFor>",
|
||||||
"receivedBy": "Ricevuto da <strong>{paidBy}</strong> per <paidFor></paidFor>",
|
"receivedBy": "Ricevuto da <strong>{paidBy}</strong> per <paidFor></paidFor>",
|
||||||
"yourBalance": "Il to bilancio:"
|
"yourBalance": "Il tuo bilancio:"
|
||||||
},
|
},
|
||||||
"Groups": {
|
"Groups": {
|
||||||
"myGroups": "I miei gruppi",
|
"myGroups": "I miei gruppi",
|
||||||
@@ -203,7 +203,8 @@
|
|||||||
"creating": "Sto creando…",
|
"creating": "Sto creando…",
|
||||||
"save": "Salva",
|
"save": "Salva",
|
||||||
"saving": "Sto salvando…",
|
"saving": "Sto salvando…",
|
||||||
"cancel": "Annulla"
|
"cancel": "Annulla",
|
||||||
|
"reimbursement": "Rimborso"
|
||||||
},
|
},
|
||||||
"ExpenseDocumentsInput": {
|
"ExpenseDocumentsInput": {
|
||||||
"TooBigToast": {
|
"TooBigToast": {
|
||||||
@@ -300,8 +301,10 @@
|
|||||||
"es": "Español",
|
"es": "Español",
|
||||||
"de-DE": "Deutsch",
|
"de-DE": "Deutsch",
|
||||||
"zh-CN": "Chinese (Simplified)",
|
"zh-CN": "Chinese (Simplified)",
|
||||||
|
"pl-PL": "Polski",
|
||||||
"ru-RU": "Русский",
|
"ru-RU": "Русский",
|
||||||
"it-IT": "Italiano"
|
"it-IT": "Italiano",
|
||||||
|
"ua-UA": "Українська"
|
||||||
},
|
},
|
||||||
"Share": {
|
"Share": {
|
||||||
"title": "Condividi",
|
"title": "Condividi",
|
||||||
|
|||||||
400
messages/pl-PL.json
Normal file
400
messages/pl-PL.json
Normal file
@@ -0,0 +1,400 @@
|
|||||||
|
{
|
||||||
|
"Homepage": {
|
||||||
|
"title": "Podziel <strong>Wydatki</strong> z <strong>Rodziną i Przyjaciółmi</strong>",
|
||||||
|
"description": "Witaj na twojej nowej instancji <strong>Spliita</strong> !",
|
||||||
|
"button": {
|
||||||
|
"groups": "Przejdź do grup",
|
||||||
|
"github": "GitHub"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Header": {
|
||||||
|
"groups": "Grupy"
|
||||||
|
},
|
||||||
|
"Footer": {
|
||||||
|
"madeIn": "Stworzone Montréalu, Québec 🇨🇦",
|
||||||
|
"builtBy": "Napisane przez <author>Sebastien Castiela</author> i <source>kontrybutorów</source>"
|
||||||
|
},
|
||||||
|
"Expenses": {
|
||||||
|
"title": "Wydatki",
|
||||||
|
"description": "Tutaj są wydatki, które utworzyłeś dla twojej grupy.",
|
||||||
|
"create": "Dodaj wydatek",
|
||||||
|
"createFirst": "Stwórz swój pierwszy",
|
||||||
|
"noExpenses": "Twoja grupa nie ma jeszcze żadnych wydatków.",
|
||||||
|
"exportJson": "Eksportuj do JSONa",
|
||||||
|
"searchPlaceholder": "Szukaj wydatku...",
|
||||||
|
"ActiveUserModal": {
|
||||||
|
"title": "Kim jesteś?",
|
||||||
|
"description": "Podaj, którym uczestnikiem jesteś aby pozwolić nam określić jakie informacje mają być wyświetlane.",
|
||||||
|
"nobody": "Nie chcę wybierać nikogo",
|
||||||
|
"save": "Zapisz zmiany",
|
||||||
|
"footer": "To ustawienie może być potem zmienione w ustawieniach grupy."
|
||||||
|
},
|
||||||
|
"Groups": {
|
||||||
|
"upcoming": "Nadchodzące",
|
||||||
|
"thisWeek": "Ten tydzień",
|
||||||
|
"earlierThisMonth": "Wcześniej w tym miesiącu",
|
||||||
|
"lastMonth": "Ostatni miesiąc",
|
||||||
|
"earlierThisYear": "Wcześniej w tym roku",
|
||||||
|
"lastYera": "Poprzedni rok",
|
||||||
|
"older": "Starsze"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ExpenseCard": {
|
||||||
|
"paidBy": "Opłacone przez <strong>{paidBy}</strong> dla <paidFor></paidFor>",
|
||||||
|
"receivedBy": "Otrzymane przez <strong>{paidBy}</strong> od <paidFor></paidFor>",
|
||||||
|
"yourBalance": "Twjoje saldo:"
|
||||||
|
},
|
||||||
|
"Groups": {
|
||||||
|
"myGroups": "Moje grupy",
|
||||||
|
"create": "Stwórz",
|
||||||
|
"loadingRecent": "Wczytywanie ostatnich grup...",
|
||||||
|
"NoRecent": {
|
||||||
|
"description": "Nie odwiedzałeś ostatnio żadnych grup.",
|
||||||
|
"create": "Stwórz",
|
||||||
|
"orAsk": "albo poproś przyjaciela, aby ci wysłał link do już istniejącej."
|
||||||
|
},
|
||||||
|
"recent": "Ostatnie grupy",
|
||||||
|
"starred": "Ogwiazdkowane grupy",
|
||||||
|
"archived": "Zarchiwizowane grupy",
|
||||||
|
"archive": "Zarchiwizuj grupę",
|
||||||
|
"unarchive": "Odarchwiruj grupę",
|
||||||
|
"removeRecent": "Usuń z ostatnich grup",
|
||||||
|
"RecentRemovedToast": {
|
||||||
|
"title": "Grupa została usunięta",
|
||||||
|
"description": "Grupa została usunięta z listy twoich ostatnich grup.",
|
||||||
|
"undoAlt": "Cofnij usunięcie grupy",
|
||||||
|
"undo": "Cofnij"
|
||||||
|
},
|
||||||
|
"AddByURL": {
|
||||||
|
"button": "Dodaj poprzez link URL",
|
||||||
|
"title": "Dodaj grupę poprzez link URL",
|
||||||
|
"description": "Jeśli grupa została ci udostępniona możesz wkleić jej link tutaj, aby dodać ją do twojej listy.",
|
||||||
|
"error": "Ups, nie możemy znaleźć grupy z podanego linka..."
|
||||||
|
},
|
||||||
|
"NotFound": {
|
||||||
|
"text": "Ta grupa nie istnieje.",
|
||||||
|
"link": "Idź do ostatnio odwiedzanych grup"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"GroupForm": {
|
||||||
|
"title": "Informacje o grupie",
|
||||||
|
"NameField": {
|
||||||
|
"label": "Nazwa grupy",
|
||||||
|
"placeholder": "Letni wyjazd",
|
||||||
|
"description": "Podaj nazwę dla twojej grupy."
|
||||||
|
},
|
||||||
|
"InformationField": {
|
||||||
|
"label": "Informacje o grupie",
|
||||||
|
"placeholder": "Jakie informacje mogą być ważne dla członków grupy?"
|
||||||
|
},
|
||||||
|
"CurrencyField": {
|
||||||
|
"label": "Symbol waluty",
|
||||||
|
"placeholder": "PLN, zł, $, €, £…",
|
||||||
|
"description": "Użyjemy go do wyświetlania ilości."
|
||||||
|
},
|
||||||
|
"Participants": {
|
||||||
|
"title": "Członkowie",
|
||||||
|
"description": "Podaj nazwę dla każdego członka.",
|
||||||
|
"protectedParticipant": "Ten członek wciąż bierze udział w rozliczeniach i nie może być usunięty.",
|
||||||
|
"new": "Nowy",
|
||||||
|
"add": "Dodaj członka",
|
||||||
|
"John": "Jan",
|
||||||
|
"Jane": "Joanna",
|
||||||
|
"Jack": "Jacek"
|
||||||
|
},
|
||||||
|
"Settings": {
|
||||||
|
"title": "Ustawienia lokalne",
|
||||||
|
"description": "Te ustawienia są ustawiane dla konkretnego urządzenia i służą do dostosowania twoich doświadczeń z aplikacją.",
|
||||||
|
"ActiveUserField": {
|
||||||
|
"label": "Aktywny użytkownik",
|
||||||
|
"placeholder": "Wybierz członka",
|
||||||
|
"none": "Brak",
|
||||||
|
"description": "Użytkownik używany domyślnie do wprowadzania wydatków."
|
||||||
|
},
|
||||||
|
"save": "Zapisz",
|
||||||
|
"saving": "Zapisywanie…",
|
||||||
|
"create": "Stwórz",
|
||||||
|
"creating": "Tworzenie…",
|
||||||
|
"cancel": "Anuluj"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ExpenseForm": {
|
||||||
|
"Income": {
|
||||||
|
"create": "Dodaj wpływ",
|
||||||
|
"edit": "Edytuj wpływ",
|
||||||
|
"TitleField": {
|
||||||
|
"label": "Tytuł wpływu",
|
||||||
|
"placeholder": "Zwrot kaucji",
|
||||||
|
"description": "Podaj opis wpływu."
|
||||||
|
},
|
||||||
|
"DateField": {
|
||||||
|
"label": "Data wpływu",
|
||||||
|
"description": "Podaj datę otrzymania wpływu."
|
||||||
|
},
|
||||||
|
"categoryFieldDescription": "Wybierz typ wpływu.",
|
||||||
|
"paidByField": {
|
||||||
|
"label": "Otrzymane przez",
|
||||||
|
"description": "Wybierz członka, który otrzymał wpływ."
|
||||||
|
},
|
||||||
|
"paidFor": {
|
||||||
|
"title": "Otrzymany dla",
|
||||||
|
"description": "Podaj dla kogo wpływ był przeznaczony."
|
||||||
|
},
|
||||||
|
"splitModeDescription": "Wybierz jak podzielić wpływ.",
|
||||||
|
"attachDescription": "Zobacz i załącz rachunki do wpływu."
|
||||||
|
},
|
||||||
|
"Expense": {
|
||||||
|
"create": "Stwórz wydatek",
|
||||||
|
"edit": "Edytuj wydatek",
|
||||||
|
"TitleField": {
|
||||||
|
"label": "Tytuł wydatku",
|
||||||
|
"placeholder": "Poniedziałkowe wyjście do restauracji",
|
||||||
|
"description": "Podaj opis wydatku."
|
||||||
|
},
|
||||||
|
"DateField": {
|
||||||
|
"label": "Data wydatku",
|
||||||
|
"description": "Podaj datę opłacenia wydatku."
|
||||||
|
},
|
||||||
|
"categoryFieldDescription": "Podaj kategorię wydatku.",
|
||||||
|
"paidByField": {
|
||||||
|
"label": "Opłacone przez",
|
||||||
|
"description": "Wybierz członka, który zapłacił."
|
||||||
|
},
|
||||||
|
"paidFor": {
|
||||||
|
"title": "Opłacone dla",
|
||||||
|
"description": "Wybierz kogo dotyczył wydatek."
|
||||||
|
},
|
||||||
|
"splitModeDescription": "Wybierz jak podzielić wydatek.",
|
||||||
|
"attachDescription": "Zobacz i załącz rachunki do wydatku."
|
||||||
|
},
|
||||||
|
"amountField": {
|
||||||
|
"label": "Ilość"
|
||||||
|
},
|
||||||
|
"isReimbursementField": {
|
||||||
|
"label": "To jest zwrot kosztów"
|
||||||
|
},
|
||||||
|
"categoryField": {
|
||||||
|
"label": "Kategoria"
|
||||||
|
},
|
||||||
|
"notesField": {
|
||||||
|
"label": "Notatki"
|
||||||
|
},
|
||||||
|
"selectNone": "Nie wybieraj żadnego",
|
||||||
|
"selectAll": "Wybierz wszystkie",
|
||||||
|
"shares": "udział(y)",
|
||||||
|
"advancedOptions": "Zaawansowane opcje podziału...",
|
||||||
|
"SplitModeField": {
|
||||||
|
"label": "Typ podziału",
|
||||||
|
"evenly": "Równy",
|
||||||
|
"byShares": "Nierówny – Poprzez udziały",
|
||||||
|
"byPercentage": "Nierówny – Procentowo",
|
||||||
|
"byAmount": "Nierówny – Na konkretne sumy",
|
||||||
|
"saveAsDefault": "Wybierz jako domyślny typ podziału"
|
||||||
|
},
|
||||||
|
"DeletePopup": {
|
||||||
|
"label": "Usuń",
|
||||||
|
"title": "Usunąć ten wydatek?",
|
||||||
|
"description": "Czy na pewno chcesz usunąć ten wydatek? Ta akcja jest nieodwracalna.",
|
||||||
|
"yes": "Tak",
|
||||||
|
"cancel": "Anuluj"
|
||||||
|
},
|
||||||
|
"attachDocuments": "Załącz dokumenty",
|
||||||
|
"create": "Stwórz",
|
||||||
|
"creating": "Tworzenie…",
|
||||||
|
"save": "Zapisz",
|
||||||
|
"saving": "Zapisywanie…",
|
||||||
|
"cancel": "Anuluj"
|
||||||
|
},
|
||||||
|
"ExpenseDocumentsInput": {
|
||||||
|
"TooBigToast": {
|
||||||
|
"title": "Ten plik jest zbyt duży",
|
||||||
|
"description": "Maksymalny rozmiar pliku to: {maxSize}. Twój plik ma: ${size}."
|
||||||
|
},
|
||||||
|
"ErrorToast": {
|
||||||
|
"title": "Błąd podczas wysyłania dokumentu",
|
||||||
|
"description": "Coś poszło nie tak podczas wysyłania dokumentu. Proszę spróbuj ponownie później, albo wybierz inny plik.",
|
||||||
|
"retry": "Ponów"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"CreateFromReceipt": {
|
||||||
|
"Dialog": {
|
||||||
|
"triggerTitle": "Utwórz wydatek z paragonu",
|
||||||
|
"title": "Utwórz z paragonu",
|
||||||
|
"description": "Wyodrębnianie informacji o wydatkach ze zdjęcia paragonu.",
|
||||||
|
"body": "Prześlij zdjęcie paragonu, a my zeskanujemy je, aby wyodrębnić informacje o wydatkach, jeśli to możliwe.",
|
||||||
|
"selectImage": "Wybierz obraz...",
|
||||||
|
"titleLabel": "Tytuł:",
|
||||||
|
"categoryLabel": "Kategoria:",
|
||||||
|
"amountLabel": "Ilość:",
|
||||||
|
"dateLabel": "Data:",
|
||||||
|
"editNext": "Następnie będziesz mógł edytować informacje o wydatkach.",
|
||||||
|
"continue": "Kontynuuj"
|
||||||
|
},
|
||||||
|
"unknown": "Nieznany",
|
||||||
|
"TooBigToast": {
|
||||||
|
"title": "Ten plik jest zbyt duży",
|
||||||
|
"description": "Maksymalny rozmiar pliku to: {maxSize}. Twój plik ma: ${size}."
|
||||||
|
},
|
||||||
|
"ErrorToast": {
|
||||||
|
"title": "Błąd podczas wysyłania dokumentu",
|
||||||
|
"description": "Coś poszło nie tak podczas wysyłania dokumentu. Proszę spróbuj ponownie później, albo wybierz inny plik.",
|
||||||
|
"retry": "Ponów"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Balances": {
|
||||||
|
"title": "Salda",
|
||||||
|
"description": "Jest to kwota, którą każdy członek zapłacił lub za którą otrzymał zapłatę.",
|
||||||
|
"Reimbursements": {
|
||||||
|
"title": "Sugerowane zwroty",
|
||||||
|
"description": "Oto sugestie dotyczące optymalizacji zwrotów między uczestnikami.",
|
||||||
|
"noImbursements": "Wygląda na to, że w twojej grupie nie ma potrzeby żadnych zwrotów 😁",
|
||||||
|
"owes": "<strong>{from}</strong> jest winny dla <strong>{to}</strong>",
|
||||||
|
"markAsPaid": "Zaznacz jako opłacone"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Stats": {
|
||||||
|
"title": "Statystyki",
|
||||||
|
"Totals": {
|
||||||
|
"title": "Podsumowanie",
|
||||||
|
"description": "Podsumowanie wydatków dla całej grupy.",
|
||||||
|
"groupSpendings": "Wydatki grupy",
|
||||||
|
"groupEarnings": "Wpływy grupy",
|
||||||
|
"yourSpendings": "Twoje wydatki",
|
||||||
|
"yourEarnings": "Twoje wpływy",
|
||||||
|
"yourShare": "Twoje udziały"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Activity": {
|
||||||
|
"title": "Aktywność",
|
||||||
|
"description": "Przegląd wszystkich działań w tej grupie.",
|
||||||
|
"noActivity": "W grupie nie ma jeszcze żadnej aktywności.",
|
||||||
|
"someone": "Ktoś",
|
||||||
|
"settingsModified": "Ustawienia grupy zostały zmienione przez <strong>{participant}</strong>.",
|
||||||
|
"expenseCreated": "Wydatek <em>{expense}</em> stworzony przez <strong>{participant}</strong>.",
|
||||||
|
"expenseUpdated": "Wydatek <em>{expense}</em> zaktualizowany przez <strong>{participant}</strong>.",
|
||||||
|
"expenseDeleted": "Wydatek <em>{expense}</em> usunięty przez <strong>{participant}</strong>.",
|
||||||
|
"Groups":
|
||||||
|
{
|
||||||
|
"today": "Dzisiaj",
|
||||||
|
"yesterday": "Wczoraj",
|
||||||
|
"earlierThisWeek": "Wcześniej w tym tygodniu",
|
||||||
|
"lastWeek": "W zeszłym tygodniu",
|
||||||
|
"earlierThisMonth": "Wcześniej w tym miesiącu",
|
||||||
|
"lastMonth": "Ostatni miesiąc",
|
||||||
|
"earlierThisYear": "Wcześniej w tym roku",
|
||||||
|
"lastYera": "Poprzedni rok",
|
||||||
|
"older": "Starsze"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Information": {
|
||||||
|
"title": "Informacje",
|
||||||
|
"description": "Użyj tego miejsca, aby dodać wszelkie informacje, które mogą być istotne dla uczestników grupy..",
|
||||||
|
"empty": "Jeszcze nic tu nie ma."
|
||||||
|
},
|
||||||
|
"Settings": {
|
||||||
|
"title": "Ustawienia"
|
||||||
|
},
|
||||||
|
"Locale": {
|
||||||
|
"en-US": "English",
|
||||||
|
"fi": "Suomi",
|
||||||
|
"fr-FR": "Français",
|
||||||
|
"es": "Español",
|
||||||
|
"de-DE": "Deutsch",
|
||||||
|
"zh-CN": "Chinese (Simplified)",
|
||||||
|
"pl-PL": "Polski",
|
||||||
|
"ru-RU": "Русский",
|
||||||
|
"it-IT": "Italiano",
|
||||||
|
"ua-UA": "Українська"
|
||||||
|
},
|
||||||
|
"Share": {
|
||||||
|
"title": "Udostępnij",
|
||||||
|
"description": "Aby inni uczestnicy mogli zobaczyć grupę i dodać wydatki, udostępnij im jej adres URL.",
|
||||||
|
"warning": "Uwaga!",
|
||||||
|
"warningHelp": "Każda osoba posiadająca adres URL grupy będzie mogła przeglądać i edytować wydatki. Udostępniaj ostrożnie!"
|
||||||
|
},
|
||||||
|
"SchemaErrors": {
|
||||||
|
"min1": "Wprowadź co najmniej jeden znak.",
|
||||||
|
"min2": "Wprowadź co najmniej dwa znaki.",
|
||||||
|
"max5": "Wprowadź maksymalnie pięć znaków.",
|
||||||
|
"max50": "Wprowadź maksymalnie 50 znaków.",
|
||||||
|
"duplicateParticipantName": "Ta nazwa jest już zajęta.",
|
||||||
|
"titleRequired": "Podaj tytuł.",
|
||||||
|
"invalidNumber": "Niewłaściwa liczba.",
|
||||||
|
"amountRequired": "Należy wprowadzić kwotę.",
|
||||||
|
"amountNotZero": "Kwota nie może być zerem.",
|
||||||
|
"amountTenMillion": "Kwota musi być niższa niż 10,000,000.",
|
||||||
|
"paidByRequired": "Musisz wybrać członka.",
|
||||||
|
"paidForMin1": "Wydatek musi zostać opłacony za co najmniej jednego uczestnika.",
|
||||||
|
"noZeroShares": "Wszystkie udziały muszą być większe niż 0.",
|
||||||
|
"amountSum": "Suma udziałów musi być równa wydatkowi.",
|
||||||
|
"percentageSum": "Suma procentów musi być równa 100."
|
||||||
|
},
|
||||||
|
"Categories": {
|
||||||
|
"search": "Szukaj kategorii...",
|
||||||
|
"noCategory": "Nie znaleziono kategorii.",
|
||||||
|
"Uncategorized": {
|
||||||
|
"heading": "Bez kategorii",
|
||||||
|
"General": "Ogólne",
|
||||||
|
"Payment": "Płatność"
|
||||||
|
},
|
||||||
|
"Entertainment": {
|
||||||
|
"heading": "Rozrywka",
|
||||||
|
"Entertainment": "Rozrywka",
|
||||||
|
"Games": "Gry",
|
||||||
|
"Movies": "Filmy",
|
||||||
|
"Music": "Muzyka",
|
||||||
|
"Sports": "Sporty"
|
||||||
|
},
|
||||||
|
"Food and Drink": {
|
||||||
|
"heading": "Jedzenie i Napoje",
|
||||||
|
"Food and Drink": "Jedzenie i Napoje",
|
||||||
|
"Dining Out": "Jedzenie na mieście",
|
||||||
|
"Groceries": "Zakupy",
|
||||||
|
"Liquor": "Alkohole"
|
||||||
|
},
|
||||||
|
"Home": {
|
||||||
|
"heading": "Dom",
|
||||||
|
"Home": "Dom",
|
||||||
|
"Electronics": "Elektronika",
|
||||||
|
"Furniture": "Meble",
|
||||||
|
"Household Supplies": "Artykuły gospodarstwa domowego",
|
||||||
|
"Maintenance": "Utrzymanie",
|
||||||
|
"Mortgage": "Czynsz",
|
||||||
|
"Pets": "Zwierzaki",
|
||||||
|
"Rent": "Czynsz",
|
||||||
|
"Services": "Usługi"
|
||||||
|
},
|
||||||
|
"Life": {
|
||||||
|
"heading": "Życie",
|
||||||
|
"Childcare": "Opieka nad dzieckiem",
|
||||||
|
"Clothing": "Ubrania",
|
||||||
|
"Education": "Edukacja",
|
||||||
|
"Gifts": "Prezenty",
|
||||||
|
"Insurance": "Ubezpieczenie",
|
||||||
|
"Medical Expenses": "Wydatki medyczne",
|
||||||
|
"Taxes": "Podatki"
|
||||||
|
},
|
||||||
|
"Transportation": {
|
||||||
|
"heading": "Transport",
|
||||||
|
"Transportation": "Transport",
|
||||||
|
"Bicycle": "Rower",
|
||||||
|
"Bus/Train": "Bus/Pociąg",
|
||||||
|
"Car": "Samochód",
|
||||||
|
"Gas/Fuel": "Paliwo",
|
||||||
|
"Hotel": "Hotel",
|
||||||
|
"Parking": "Parking",
|
||||||
|
"Plane": "Pociąg",
|
||||||
|
"Taxi": "Taxi"
|
||||||
|
},
|
||||||
|
"Utilities": {
|
||||||
|
"heading": "Media",
|
||||||
|
"Utilities": "Media",
|
||||||
|
"Cleaning": "Sprzątanie",
|
||||||
|
"Electricity": "Prąg",
|
||||||
|
"Heat/Gas": "Ogrzewanie",
|
||||||
|
"Trash": "Śmieci",
|
||||||
|
"TV/Phone/Internet": "TV/Telefon/Internet",
|
||||||
|
"Water": "Woda"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -203,7 +203,8 @@
|
|||||||
"creating": "Создание…",
|
"creating": "Создание…",
|
||||||
"save": "Сохранить",
|
"save": "Сохранить",
|
||||||
"saving": "Сохранение…",
|
"saving": "Сохранение…",
|
||||||
"cancel": "Отмена"
|
"cancel": "Отмена",
|
||||||
|
"reimbursement": "Возмещение"
|
||||||
},
|
},
|
||||||
"ExpenseDocumentsInput": {
|
"ExpenseDocumentsInput": {
|
||||||
"TooBigToast": {
|
"TooBigToast": {
|
||||||
@@ -300,8 +301,10 @@
|
|||||||
"es": "Español",
|
"es": "Español",
|
||||||
"de-DE": "Deutsch",
|
"de-DE": "Deutsch",
|
||||||
"zh-CN": "Chinese (Simplified)",
|
"zh-CN": "Chinese (Simplified)",
|
||||||
|
"pl-PL": "Polski",
|
||||||
"ru-RU": "Русский",
|
"ru-RU": "Русский",
|
||||||
"it-IT": "Italiano"
|
"it-IT": "Italiano",
|
||||||
|
"ua-UA": "Українська"
|
||||||
},
|
},
|
||||||
"Share": {
|
"Share": {
|
||||||
"title": "Поделиться",
|
"title": "Поделиться",
|
||||||
|
|||||||
400
messages/ua-UA.json
Normal file
400
messages/ua-UA.json
Normal file
@@ -0,0 +1,400 @@
|
|||||||
|
{
|
||||||
|
"Homepage": {
|
||||||
|
"title": "Ділися <strong>витратами</strong> з <strong>друзями та родиною</strong>",
|
||||||
|
"description": "Ласкаво просимо у ваш новий <strong>Spliit</strong>!",
|
||||||
|
"button": {
|
||||||
|
"groups": "Перейти до груп",
|
||||||
|
"github": "GitHub"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Header": {
|
||||||
|
"groups": "Групи"
|
||||||
|
},
|
||||||
|
"Footer": {
|
||||||
|
"madeIn": "Зроблено в Монреалі, Квебек 🇨🇦",
|
||||||
|
"builtBy": "Створено <author>Себастіаном Кастіелем</author> та <source>учасниками</source>"
|
||||||
|
},
|
||||||
|
"Expenses": {
|
||||||
|
"title": "Витрати",
|
||||||
|
"description": "Тут знаходяться витрати вашої групи",
|
||||||
|
"create": "Створити витрату",
|
||||||
|
"createFirst": "Створіть першу витрату",
|
||||||
|
"noExpenses": "У вашій групі ще немає витрат",
|
||||||
|
"exportJson": "Експортувати у JSON",
|
||||||
|
"searchPlaceholder": "Пошук витрат...",
|
||||||
|
"ActiveUserModal": {
|
||||||
|
"title": "Хто ви?",
|
||||||
|
"description": "Скажіть нам, хто ви серед учасників, щоб ми могли налаштувати відображення інформації під вас",
|
||||||
|
"nobody": "Я не хочу нікого обирати",
|
||||||
|
"save": "Зберегти зміни",
|
||||||
|
"footer": "Це налаштування можна змінити пізніше в налаштуваннях групи"
|
||||||
|
},
|
||||||
|
"Groups": {
|
||||||
|
"upcoming": "Майбутні",
|
||||||
|
"thisWeek": "Цього тижня",
|
||||||
|
"earlierThisMonth": "Раніше цього місяця",
|
||||||
|
"lastMonth": "Минулого місяця",
|
||||||
|
"earlierThisYear": "Раніше цього року",
|
||||||
|
"lastYera": "Минулого року",
|
||||||
|
"older": "Старіші"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ExpenseCard": {
|
||||||
|
"paidBy": "Сплачено <strong>{paidBy}</strong> за <paidFor></paidFor>",
|
||||||
|
"receivedBy": "Отримано <strong>{paidBy}</strong> за <paidFor></paidFor>",
|
||||||
|
"yourBalance": "Ваш баланс:"
|
||||||
|
},
|
||||||
|
"Groups": {
|
||||||
|
"myGroups": "Мої групи",
|
||||||
|
"create": "Створити",
|
||||||
|
"loadingRecent": "Завантаження нещодавніх груп...",
|
||||||
|
"NoRecent": {
|
||||||
|
"description": "Ви не відвідували жодних груп останнім часом",
|
||||||
|
"create": "Створіть групу",
|
||||||
|
"orAsk": "або попросіть друга надіслати вам посилання на існуючу"
|
||||||
|
},
|
||||||
|
"recent": "Нещодавні групи",
|
||||||
|
"starred": "Обрані групи",
|
||||||
|
"archived": "Архівовані групи",
|
||||||
|
"archive": "Архівувати групу",
|
||||||
|
"unarchive": "Розархівувати групу",
|
||||||
|
"removeRecent": "Видалити з останніх груп",
|
||||||
|
"RecentRemovedToast": {
|
||||||
|
"title": "Група була видалена",
|
||||||
|
"description": "Група видалена зі списку ваших нещодавніх груп",
|
||||||
|
"undoAlt": "Скасувати видалення групи",
|
||||||
|
"undo": "Скасувати"
|
||||||
|
},
|
||||||
|
"AddByURL": {
|
||||||
|
"button": "Додати за URL",
|
||||||
|
"title": "Додати групу за URL",
|
||||||
|
"description": "Якщо з вами поділились групою, ви можете вставити її URL тут, щоб додати до свого списку",
|
||||||
|
"error": "На жаль, ми не змогли знайти групу за наданим URL"
|
||||||
|
},
|
||||||
|
"NotFound": {
|
||||||
|
"text": "Цієї групи не існує",
|
||||||
|
"link": "Перейти до нещодавно відвіданих груп"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"GroupForm": {
|
||||||
|
"title": "Інформація про групу",
|
||||||
|
"NameField": {
|
||||||
|
"label": "Назва групи",
|
||||||
|
"placeholder": "Літні канікули",
|
||||||
|
"description": "Введіть назву для вашої групи"
|
||||||
|
},
|
||||||
|
"InformationField": {
|
||||||
|
"label": "Інформація про групу",
|
||||||
|
"placeholder": "Яка інформація важлива для учасників групи?"
|
||||||
|
},
|
||||||
|
"CurrencyField": {
|
||||||
|
"label": "Символ валюти",
|
||||||
|
"placeholder": "₴, $, €, £..",
|
||||||
|
"description": "Ми будемо використовувати його для відображення сум"
|
||||||
|
},
|
||||||
|
"Participants": {
|
||||||
|
"title": "Учасники",
|
||||||
|
"description": "Введіть ім'я кожного учасника",
|
||||||
|
"protectedParticipant": "Цей учасник бере участь у витратах і не може бути видалений",
|
||||||
|
"new": "Новий",
|
||||||
|
"add": "Додати учасника",
|
||||||
|
"John": "Андрій",
|
||||||
|
"Jane": "Оксана",
|
||||||
|
"Jack": "Василь"
|
||||||
|
},
|
||||||
|
"Settings": {
|
||||||
|
"title": "Локальні налаштування",
|
||||||
|
"description": "Ці налаштування встановлюються на кожному пристрої окремо і використовуються для налаштування інтерфейсу під вас",
|
||||||
|
"ActiveUserField": {
|
||||||
|
"label": "Активний користувач",
|
||||||
|
"placeholder": "Обрати учасника",
|
||||||
|
"none": "Ніхто",
|
||||||
|
"description": "Користувач використовується за замовчуванням для оплати витрат"
|
||||||
|
},
|
||||||
|
"save": "Зберегти",
|
||||||
|
"saving": "Збереження...",
|
||||||
|
"create": "Створити",
|
||||||
|
"creating": "Створення...",
|
||||||
|
"cancel": "Скасувати"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ExpenseForm": {
|
||||||
|
"Income": {
|
||||||
|
"create": "Створити дохід",
|
||||||
|
"edit": "Редагувати дохід",
|
||||||
|
"TitleField": {
|
||||||
|
"label": "Назва доходу",
|
||||||
|
"placeholder": "Ресторан в понеділок ввечері",
|
||||||
|
"description": "Введіть опис для доходу"
|
||||||
|
},
|
||||||
|
"DateField": {
|
||||||
|
"label": "Дата доходу",
|
||||||
|
"description": "Введіть дату, коли було отримано дохід"
|
||||||
|
},
|
||||||
|
"categoryFieldDescription": "Оберіть категорію доходу",
|
||||||
|
"paidByField": {
|
||||||
|
"label": "Отримав",
|
||||||
|
"description": "Оберіть учасника, який отримав дохід"
|
||||||
|
},
|
||||||
|
"paidFor": {
|
||||||
|
"title": "Учасники",
|
||||||
|
"description": "Виберіть тих, між ким цей дохід буде розподілено"
|
||||||
|
},
|
||||||
|
"splitModeDescription": "Оберіть, як розділити дохід між учасниками",
|
||||||
|
"attachDescription": "Перегляньте та прикріпіть чеки до доходу"
|
||||||
|
},
|
||||||
|
"Expense": {
|
||||||
|
"create": "Створити витрату",
|
||||||
|
"edit": "Редагувати витрату",
|
||||||
|
"TitleField": {
|
||||||
|
"label": "Назва витрати",
|
||||||
|
"placeholder": "Ресторан в понеділок ввечері",
|
||||||
|
"description": "Введіть опис для витрати"
|
||||||
|
},
|
||||||
|
"DateField": {
|
||||||
|
"label": "Дата витрати",
|
||||||
|
"description": "Введіть дату, коли було сплачено"
|
||||||
|
},
|
||||||
|
"categoryFieldDescription": "Оберіть категорію витрати",
|
||||||
|
"paidByField": {
|
||||||
|
"label": "Сплатив",
|
||||||
|
"description": "Оберіть учасника, який сплатив"
|
||||||
|
},
|
||||||
|
"paidFor": {
|
||||||
|
"title": "Учасники",
|
||||||
|
"description": "Оберіть тих, між ким цю витрату буде розподілено. Якщо ця витрата - відшкодування учаснику (учасникам), виберіть тільки його (їх)."
|
||||||
|
},
|
||||||
|
"splitModeDescription": "Оберіть, як розділити витрату",
|
||||||
|
"attachDescription": "Перегляньте та прикріпіть чеки до витрати"
|
||||||
|
},
|
||||||
|
"amountField": {
|
||||||
|
"label": "Сума"
|
||||||
|
},
|
||||||
|
"isReimbursementField": {
|
||||||
|
"label": "Це відшкодування"
|
||||||
|
},
|
||||||
|
"categoryField": {
|
||||||
|
"label": "Категорія"
|
||||||
|
},
|
||||||
|
"notesField": {
|
||||||
|
"label": "Примітки"
|
||||||
|
},
|
||||||
|
"selectNone": "Обрати жодного",
|
||||||
|
"selectAll": "Обрати всіх",
|
||||||
|
"shares": "частка(и)",
|
||||||
|
"advancedOptions": "Розширені опції поділу..",
|
||||||
|
"SplitModeField": {
|
||||||
|
"label": "Режим поділу",
|
||||||
|
"evenly": "Рівномірно",
|
||||||
|
"byShares": "Нерівномірно – за частками",
|
||||||
|
"byPercentage": "Нерівномірно – за відсотками",
|
||||||
|
"byAmount": "Нерівномірно – за сумами",
|
||||||
|
"saveAsDefault": "Зберегти як параметри поділу за замовчуванням"
|
||||||
|
},
|
||||||
|
"DeletePopup": {
|
||||||
|
"label": "Видалити",
|
||||||
|
"title": "Видалити цю витрату?",
|
||||||
|
"description": "Ви дійсно хочете видалити цю витрату? Ця дія не може бути скасована",
|
||||||
|
"yes": "Так",
|
||||||
|
"cancel": "Скасувати"
|
||||||
|
},
|
||||||
|
"attachDocuments": "Прикріпити документи",
|
||||||
|
"create": "Створити",
|
||||||
|
"creating": "Створення..",
|
||||||
|
"save": "Зберегти",
|
||||||
|
"saving": "Збереження..",
|
||||||
|
"cancel": "Скасувати",
|
||||||
|
"reimbursement": "Відшкодування"
|
||||||
|
},
|
||||||
|
"ExpenseDocumentsInput": {
|
||||||
|
"TooBigToast": {
|
||||||
|
"title": "Файл занадто великий",
|
||||||
|
"description": "Максимальний розмір файлу, який можна завантажити, становить {maxSize}. Ваш файл {size}"
|
||||||
|
},
|
||||||
|
"ErrorToast": {
|
||||||
|
"title": "Помилка під час завантаження документа",
|
||||||
|
"description": "Виникла помилка під час завантаження документа. Будь ласка, спробуйте ще раз пізніше або виберіть інший файл",
|
||||||
|
"retry": "Спробувати ще раз"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"CreateFromReceipt": {
|
||||||
|
"Dialog": {
|
||||||
|
"triggerTitle": "Створити витрату з чека",
|
||||||
|
"title": "Створити з чека",
|
||||||
|
"description": "Отримайте інформацію про витрати з фото чека",
|
||||||
|
"body": "Завантажте фото чека, і ми спробуємо витягнути інформацію про витрати, якщо це можливо",
|
||||||
|
"selectImage": "Вибрати зображення..",
|
||||||
|
"titleLabel": "Назва:",
|
||||||
|
"categoryLabel": "Категорія:",
|
||||||
|
"amountLabel": "Сума:",
|
||||||
|
"dateLabel": "Дата:",
|
||||||
|
"editNext": "Ви зможете відредагувати інформацію про витрати пізніше",
|
||||||
|
"continue": "Продовжити"
|
||||||
|
},
|
||||||
|
"unknown": "Невідомо",
|
||||||
|
"TooBigToast": {
|
||||||
|
"title": "Файл занадто великий",
|
||||||
|
"description": "Максимальний розмір файлу, який можна завантажити, становить {maxSize}. Ваш файл {size}"
|
||||||
|
},
|
||||||
|
"ErrorToast": {
|
||||||
|
"title": "Помилка під час завантаження документа",
|
||||||
|
"description": "Виникла помилка під час завантаження документа. Будь ласка, спробуйте ще раз пізніше або виберіть інший файл",
|
||||||
|
"retry": "Спробувати ще раз"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Balances": {
|
||||||
|
"title": "Баланси",
|
||||||
|
"description": "Це список балансів всіх учасників групи. Баланс збільшується у тих, хто слачує витрату, і зменшується в тих, між ким вона була розподілена",
|
||||||
|
"Reimbursements": {
|
||||||
|
"title": "Запропоновані відшкодування",
|
||||||
|
"description": "Ось пропозиції для оптимізованих відшкодувань між учасниками",
|
||||||
|
"noImbursements": "Схоже, ніхто нікому не винен 😁",
|
||||||
|
"owes": "<strong>{from}</strong> винен <strong>{to}</strong>",
|
||||||
|
"markAsPaid": "Позначити як сплачене"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Stats": {
|
||||||
|
"title": "Статистика",
|
||||||
|
"Totals": {
|
||||||
|
"title": "Загальні дані",
|
||||||
|
"description": "Загальний огляд витрат групи",
|
||||||
|
"groupSpendings": "Загальні витрати групи",
|
||||||
|
"groupEarnings": "Загальні доходи групи",
|
||||||
|
"yourSpendings": "Ваші загальні витрати",
|
||||||
|
"yourEarnings": "Ваші загальні доходи",
|
||||||
|
"yourShare": "Ваша частка"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Activity": {
|
||||||
|
"title": "Активність",
|
||||||
|
"description": "Огляд усієї активності в цій групі",
|
||||||
|
"noActivity": "У вашій групі ще немає активності",
|
||||||
|
"someone": "Хтось",
|
||||||
|
"settingsModified": "Налаштування групи змінені <strong>{participant}</strong>",
|
||||||
|
"expenseCreated": "Витрата <em>{expense}</em> створена <strong>{participant}</strong>",
|
||||||
|
"expenseUpdated": "Витрата <em>{expense}</em> оновлена <strong>{participant}</strong>",
|
||||||
|
"expenseDeleted": "Витрата <em>{expense}</em> видалена <strong>{participant}</strong>",
|
||||||
|
"Groups": {
|
||||||
|
"today": "Сьогодні",
|
||||||
|
"yesterday": "Вчора",
|
||||||
|
"earlierThisWeek": "Раніше цього тижня",
|
||||||
|
"lastWeek": "Минулого тижня",
|
||||||
|
"earlierThisMonth": "Раніше цього місяця",
|
||||||
|
"lastMonth": "Минулого місяця",
|
||||||
|
"earlierThisYear": "Раніше цього року",
|
||||||
|
"lastYear": "Минулого року",
|
||||||
|
"older": "Старіші"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Information": {
|
||||||
|
"title": "Інформація",
|
||||||
|
"description": "Використовуйте це місце, щоб додати будь-яку інформацію, яка може бути корисною для учасників групи",
|
||||||
|
"empty": "Ще немає інформації про групу"
|
||||||
|
},
|
||||||
|
"Settings": {
|
||||||
|
"title": "Налаштування"
|
||||||
|
},
|
||||||
|
"Locale": {
|
||||||
|
"en-US": "English",
|
||||||
|
"fi": "Suomi",
|
||||||
|
"fr-FR": "Français",
|
||||||
|
"es": "Español",
|
||||||
|
"de-DE": "Deutsch",
|
||||||
|
"zh-CN": "Chinese (Simplified)",
|
||||||
|
"pl-PL": "Polski",
|
||||||
|
"ru-RU": "Русский",
|
||||||
|
"it-IT": "Italiano",
|
||||||
|
"ua-UA": "Українська"
|
||||||
|
},
|
||||||
|
"Share": {
|
||||||
|
"title": "Поділитися",
|
||||||
|
"description": "Щоб інші учасники могли побачити групу і додати витрати, поділіться з ними її URL",
|
||||||
|
"warning": "Попередження!",
|
||||||
|
"warningHelp": "Кожна людина з URL групи зможе переглядати та редагувати витрати. Діліться з обережністю!"
|
||||||
|
},
|
||||||
|
"SchemaErrors": {
|
||||||
|
"min1": "Введіть принаймні один символ",
|
||||||
|
"min2": "Введіть принаймні два символи",
|
||||||
|
"max5": "Введіть не більше п'яти символів",
|
||||||
|
"max50": "Введіть не більше 50 символів",
|
||||||
|
"duplicateParticipantName": "Інший учасник уже має це ім'я",
|
||||||
|
"titleRequired": "Будь ласка, введіть назву",
|
||||||
|
"invalidNumber": "Невірний номер",
|
||||||
|
"amountRequired": "Необхідно ввести суму",
|
||||||
|
"amountNotZero": "Сума не повинна дорівнювати нулю",
|
||||||
|
"amountTenMillion": "Сума повинна бути меншою за 10,000,000",
|
||||||
|
"paidByRequired": "Ви повинні обрати учасника",
|
||||||
|
"paidForMin1": "Витрата повинна бути сплачена принаймні для одного учасника",
|
||||||
|
"noZeroShares": "Усі частки повинні бути більшими за 0",
|
||||||
|
"amountSum": "Сума повинна відповідати витраті",
|
||||||
|
"percentageSum": "Сума відсотків повинна дорівнювати 100"
|
||||||
|
},
|
||||||
|
"Categories": {
|
||||||
|
"search": "Шукати категорію..",
|
||||||
|
"noCategory": "Категорії не знайдено",
|
||||||
|
"Uncategorized": {
|
||||||
|
"heading": "Без категорії",
|
||||||
|
"General": "Загальне",
|
||||||
|
"Payment": "Оплата"
|
||||||
|
},
|
||||||
|
"Entertainment": {
|
||||||
|
"heading": "Розваги",
|
||||||
|
"Entertainment": "Розваги",
|
||||||
|
"Games": "Ігри",
|
||||||
|
"Movies": "Фільми",
|
||||||
|
"Music": "Музика",
|
||||||
|
"Sports": "Спорт"
|
||||||
|
},
|
||||||
|
"Food and Drink": {
|
||||||
|
"heading": "Їжа та напої",
|
||||||
|
"Food and Drink": "Їжа та напої",
|
||||||
|
"Dining Out": "Ресторани",
|
||||||
|
"Groceries": "Продукти",
|
||||||
|
"Liquor": "Алкоголь"
|
||||||
|
},
|
||||||
|
"Home": {
|
||||||
|
"heading": "Дім",
|
||||||
|
"Home": "Дім",
|
||||||
|
"Electronics": "Електроніка",
|
||||||
|
"Furniture": "Меблі",
|
||||||
|
"Household Supplies": "Домашні потреби",
|
||||||
|
"Maintenance": "Обслуговування",
|
||||||
|
"Mortgage": "Іпотека",
|
||||||
|
"Pets": "Домашні тварини",
|
||||||
|
"Rent": "Оренда",
|
||||||
|
"Services": "Послуги"
|
||||||
|
},
|
||||||
|
"Life": {
|
||||||
|
"heading": "Життя",
|
||||||
|
"Childcare": "Догляд за дітьми",
|
||||||
|
"Clothing": "Одяг",
|
||||||
|
"Education": "Освіта",
|
||||||
|
"Gifts": "Подарунки",
|
||||||
|
"Insurance": "Страхування",
|
||||||
|
"Medical Expenses": "Медичні витрати",
|
||||||
|
"Taxes": "Податки"
|
||||||
|
},
|
||||||
|
"Transportation": {
|
||||||
|
"heading": "Транспорт",
|
||||||
|
"Transportation": "Транспорт",
|
||||||
|
"Bicycle": "Велосипед",
|
||||||
|
"Bus/Train": "Автобус/Поїзд",
|
||||||
|
"Car": "Автомобіль",
|
||||||
|
"Gas/Fuel": "Паливо",
|
||||||
|
"Hotel": "Готель",
|
||||||
|
"Parking": "Паркінг",
|
||||||
|
"Plane": "Літак",
|
||||||
|
"Taxi": "Таксі"
|
||||||
|
},
|
||||||
|
"Utilities": {
|
||||||
|
"heading": "Комунальні послуги",
|
||||||
|
"Utilities": "Комунальні послуги",
|
||||||
|
"Cleaning": "Прибирання",
|
||||||
|
"Electricity": "Електроенергія",
|
||||||
|
"Heat/Gas": "Опалення/Газ",
|
||||||
|
"Trash": "Сміття",
|
||||||
|
"TV/Phone/Internet": "ТБ/Телефон/Інтернет",
|
||||||
|
"Water": "Вода"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -203,7 +203,8 @@
|
|||||||
"creating": "创建中……",
|
"creating": "创建中……",
|
||||||
"save": "保存",
|
"save": "保存",
|
||||||
"saving": "保存中……",
|
"saving": "保存中……",
|
||||||
"cancel": "取消"
|
"cancel": "取消",
|
||||||
|
"reimbursement": "报销"
|
||||||
},
|
},
|
||||||
"ExpenseDocumentsInput": {
|
"ExpenseDocumentsInput": {
|
||||||
"TooBigToast": {
|
"TooBigToast": {
|
||||||
@@ -300,8 +301,10 @@
|
|||||||
"es": "Español",
|
"es": "Español",
|
||||||
"de-DE": "Deutsch",
|
"de-DE": "Deutsch",
|
||||||
"zh-CN": "Chinese (Simplified)",
|
"zh-CN": "Chinese (Simplified)",
|
||||||
|
"pl-PL": "Polski",
|
||||||
"ru-RU": "Русский",
|
"ru-RU": "Русский",
|
||||||
"it-IT": "Italiano"
|
"it-IT": "Italiano",
|
||||||
|
"ua-UA": "Українська"
|
||||||
},
|
},
|
||||||
"Share": {
|
"Share": {
|
||||||
"title": "分享",
|
"title": "分享",
|
||||||
|
|||||||
@@ -186,7 +186,7 @@ export function ExpenseForm({
|
|||||||
}
|
}
|
||||||
: searchParams.get('reimbursement')
|
: searchParams.get('reimbursement')
|
||||||
? {
|
? {
|
||||||
title: 'Reimbursement',
|
title: t('reimbursement'),
|
||||||
expenseDate: new Date(),
|
expenseDate: new Date(),
|
||||||
amount: String(
|
amount: String(
|
||||||
(Number(searchParams.get('amount')) || 0) / 100,
|
(Number(searchParams.get('amount')) || 0) / 100,
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ export const locales = [
|
|||||||
'zh-CN',
|
'zh-CN',
|
||||||
'ru-RU',
|
'ru-RU',
|
||||||
'it-IT',
|
'it-IT',
|
||||||
|
'ua-UA',
|
||||||
] as const
|
] as const
|
||||||
export type Locale = (typeof locales)[number]
|
export type Locale = (typeof locales)[number]
|
||||||
export type Locales = ReadonlyArray<Locale>
|
export type Locales = ReadonlyArray<Locale>
|
||||||
|
|||||||
Reference in New Issue
Block a user