mirror of
https://github.com/spliit-app/spliit.git
synced 2026-02-14 19:46:12 +01:00
Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
727803ea5c | ||
|
|
7add7efea2 | ||
|
|
a7c80f65c3 | ||
|
|
1e4edf7504 | ||
|
|
24053ca5ab | ||
|
|
343363d54f |
13
Dockerfile
13
Dockerfile
@@ -1,9 +1,9 @@
|
||||
FROM node:21-alpine as base
|
||||
FROM node:21-alpine AS base
|
||||
|
||||
WORKDIR /usr/app
|
||||
COPY ./package.json \
|
||||
./package-lock.json \
|
||||
./next.config.js \
|
||||
./next.config.mjs \
|
||||
./tsconfig.json \
|
||||
./reset.d.ts \
|
||||
./tailwind.config.js \
|
||||
@@ -16,6 +16,7 @@ RUN apk add --no-cache openssl && \
|
||||
npx prisma generate
|
||||
|
||||
COPY ./src ./src
|
||||
COPY ./messages ./messages
|
||||
|
||||
ENV NEXT_TELEMETRY_DISABLED=1
|
||||
|
||||
@@ -24,21 +25,21 @@ RUN npm run build
|
||||
|
||||
RUN rm -r .next/cache
|
||||
|
||||
FROM node:21-alpine as runtime-deps
|
||||
FROM node:21-alpine AS runtime-deps
|
||||
|
||||
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
|
||||
|
||||
RUN npm ci --omit=dev --omit=optional --ignore-scripts && \
|
||||
npx prisma generate
|
||||
|
||||
FROM node:21-alpine as runner
|
||||
FROM node:21-alpine AS runner
|
||||
|
||||
EXPOSE 3000/tcp
|
||||
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 ./public ./public
|
||||
COPY ./scripts ./scripts
|
||||
|
||||
@@ -203,7 +203,8 @@
|
||||
"creating": "Erstellt…",
|
||||
"save": "Speichern",
|
||||
"saving": "Speichert…",
|
||||
"cancel": "Abbrechen"
|
||||
"cancel": "Abbrechen",
|
||||
"reimbursement": "Rückzahlung"
|
||||
},
|
||||
"ExpenseDocumentsInput": {
|
||||
"TooBigToast": {
|
||||
@@ -300,7 +301,10 @@
|
||||
"es": "Español",
|
||||
"de-DE": "Deutsch",
|
||||
"zh-CN": "Chinese (Simplified)",
|
||||
"ru-RU": "Русский"
|
||||
"pl-PL": "Polski",
|
||||
"ru-RU": "Русский",
|
||||
"it-IT": "Italiano",
|
||||
"ua-UA": "Українська"
|
||||
},
|
||||
"Share": {
|
||||
"title": "Teilen",
|
||||
|
||||
@@ -203,7 +203,8 @@
|
||||
"creating": "Creating…",
|
||||
"save": "Save",
|
||||
"saving": "Saving…",
|
||||
"cancel": "Cancel"
|
||||
"cancel": "Cancel",
|
||||
"reimbursement": "Reimbursement"
|
||||
},
|
||||
"ExpenseDocumentsInput": {
|
||||
"TooBigToast": {
|
||||
@@ -300,7 +301,10 @@
|
||||
"es": "Español",
|
||||
"de-DE": "Deutsch",
|
||||
"zh-CN": "Chinese (Simplified)",
|
||||
"ru-RU": "Русский"
|
||||
"pl-PL": "Polski",
|
||||
"ru-RU": "Русский",
|
||||
"it-IT": "Italiano",
|
||||
"ua-UA": "Українська"
|
||||
},
|
||||
"Share": {
|
||||
"title": "Share",
|
||||
|
||||
@@ -203,7 +203,9 @@
|
||||
"creating": "Creando",
|
||||
"save": "Guardar",
|
||||
"saving": "Guardando",
|
||||
"cancel": "Cancelar"
|
||||
"cancel": "Cancelar",
|
||||
"reimbursement": "Reembolso"
|
||||
|
||||
},
|
||||
"ExpenseDocumentsInput": {
|
||||
"TooBigToast": {
|
||||
@@ -300,7 +302,10 @@
|
||||
"es": "Español",
|
||||
"de-DE": "Deutsch",
|
||||
"zh-CN": "Chinese (Simplified)",
|
||||
"ru-RU": "Русский"
|
||||
"pl-PL": "Polski",
|
||||
"ru-RU": "Русский",
|
||||
"it-IT": "Italiano",
|
||||
"ua-UA": "Українська"
|
||||
},
|
||||
"Share": {
|
||||
"title": "Compartir",
|
||||
|
||||
@@ -203,7 +203,8 @@
|
||||
"creating": "Luodaan kulua…",
|
||||
"save": "Tallenna",
|
||||
"saving": "Tallennetaan…",
|
||||
"cancel": "Peruuta"
|
||||
"cancel": "Peruuta",
|
||||
"reimbursement": "Velanmaksu"
|
||||
},
|
||||
"ExpenseDocumentsInput": {
|
||||
"TooBigToast": {
|
||||
@@ -300,7 +301,10 @@
|
||||
"es": "Español",
|
||||
"de-DE": "Deutsch",
|
||||
"zh-CN": "Chinese (Simplified)",
|
||||
"ru-RU": "Русский"
|
||||
"pl-PL": "Polski",
|
||||
"ru-RU": "Русский",
|
||||
"it-IT": "Italiano",
|
||||
"ua-UA": "Українська"
|
||||
},
|
||||
"Share": {
|
||||
"title": "Jaa",
|
||||
|
||||
@@ -203,7 +203,8 @@
|
||||
"creating": "Création…",
|
||||
"save": "Sauvegarder",
|
||||
"saving": "Sauvegarde…",
|
||||
"cancel": "Annuler"
|
||||
"cancel": "Annuler",
|
||||
"reimbursement": "Remboursement"
|
||||
},
|
||||
"ExpenseDocumentsInput": {
|
||||
"TooBigToast": {
|
||||
@@ -300,7 +301,10 @@
|
||||
"es": "Español",
|
||||
"de-DE": "Deutsch",
|
||||
"zh-CN": "Chinese (Simplified)",
|
||||
"ru-RU": "Русский"
|
||||
"pl-PL": "Polski",
|
||||
"ru-RU": "Русский",
|
||||
"it-IT": "Italiano",
|
||||
"ua-UA": "Українська"
|
||||
},
|
||||
"Share": {
|
||||
"title": "Partager",
|
||||
|
||||
400
messages/it-IT.json
Normal file
400
messages/it-IT.json
Normal file
@@ -0,0 +1,400 @@
|
||||
{
|
||||
"Homepage": {
|
||||
"title": "Condividi <strong>Spese</strong> con <strong>Amici & Familiari</strong>",
|
||||
"description": "Benvenuto nella tua nuova instanza di <strong>Spliit</strong>!",
|
||||
"button": {
|
||||
"groups": "Vai ai gruppi",
|
||||
"github": "GitHub"
|
||||
}
|
||||
},
|
||||
"Header": {
|
||||
"groups": "Gruppi"
|
||||
},
|
||||
"Footer": {
|
||||
"madeIn": "Made in Montréal, Québec 🇨🇦",
|
||||
"builtBy": "Built by <author>Sebastien Castiel</author> and <source>contributors</source>"
|
||||
},
|
||||
"Expenses": {
|
||||
"title": "Spese",
|
||||
"description": "Ecco le spese che hai creato per il tuo gruppo.",
|
||||
"create": "Crea spesa",
|
||||
"createFirst": "Crea la prima",
|
||||
"noExpenses": "Il tuo gruppo non contiene ancora spese.",
|
||||
"exportJson": "Esporta file JSON",
|
||||
"searchPlaceholder": "Cerca una spesa…",
|
||||
"ActiveUserModal": {
|
||||
"title": "Chi sei?",
|
||||
"description": "Dicci quale partecipante sei per consentirci di personalizzare la modalità di visualizzazione delle informazioni.",
|
||||
"nobody": "Non voglio selezionare nessuno",
|
||||
"save": "Salva cambiamenti",
|
||||
"footer": "Questa impostazione può essere modificata successivamente nelle impostazioni del gruppo."
|
||||
},
|
||||
"Groups": {
|
||||
"upcoming": "In arrivo",
|
||||
"thisWeek": "Questa settimana",
|
||||
"earlierThisMonth": "All'inizio di questo mese",
|
||||
"lastMonth": "Ultimo mese",
|
||||
"earlierThisYear": "All'inizio di quest'anno",
|
||||
"lastYera": "Ultimo anno",
|
||||
"older": "Più vecchio"
|
||||
}
|
||||
},
|
||||
"ExpenseCard": {
|
||||
"paidBy": "Pagato da <strong>{paidBy}</strong> per <paidFor></paidFor>",
|
||||
"receivedBy": "Ricevuto da <strong>{paidBy}</strong> per <paidFor></paidFor>",
|
||||
"yourBalance": "Il tuo bilancio:"
|
||||
},
|
||||
"Groups": {
|
||||
"myGroups": "I miei gruppi",
|
||||
"create": "Crea",
|
||||
"loadingRecent": "Caricamento gruppi recenti…",
|
||||
"NoRecent": {
|
||||
"description": "Non hai visitato nessun gruppo di recente.",
|
||||
"create": "Creane una",
|
||||
"orAsk": "oppure chiedi a un amico di inviarti il collegamento a uno esistente."
|
||||
},
|
||||
"recent": "Gruppi recenti",
|
||||
"starred": "Gruppi speciali",
|
||||
"archived": "Gruppi archiviati",
|
||||
"archive": "Archivia gruppo",
|
||||
"unarchive": "Rimuovi dall'archivio il gruppo",
|
||||
"removeRecent": "Rimuovi dai gruppi recenti",
|
||||
"RecentRemovedToast": {
|
||||
"title": "Il gruppo è stato rimosso",
|
||||
"description": "Il gruppo è stato rimosso dall'elenco dei gruppi recenti.",
|
||||
"undoAlt": "Annulla la rimozione del gruppo",
|
||||
"undo": "Annulla"
|
||||
},
|
||||
"AddByURL": {
|
||||
"button": "Aggiungi tramite URL",
|
||||
"title": "Aggiungi un gruppo tramite URL",
|
||||
"description": "Se un gruppo è stato condiviso con te, puoi incollare qui il suo URL per aggiungerlo al tuo elenco.",
|
||||
"error": "Spiacenti, non siamo in grado di trovare il gruppo dall'URL che hai fornito..."
|
||||
},
|
||||
"NotFound": {
|
||||
"text": "Questo gruppo non esiste.",
|
||||
"link": "Vai ai gruppi visitati di recente"
|
||||
}
|
||||
},
|
||||
"GroupForm": {
|
||||
"title": "Informazioni del gruppo",
|
||||
"NameField": {
|
||||
"label": "Nome del gruppo",
|
||||
"placeholder": "Vacanze estive",
|
||||
"description": "Inserisci il nome del gruppo."
|
||||
},
|
||||
"InformationField": {
|
||||
"label": "Informazioni del gruppo",
|
||||
"placeholder": "Quali informazioni sono rilevanti per i partecipanti al gruppo?"
|
||||
},
|
||||
"CurrencyField": {
|
||||
"label": "Simbolo valuta",
|
||||
"placeholder": "$, €, £…",
|
||||
"description": "Lo useremo per visualizzare gli importi."
|
||||
},
|
||||
"Participants": {
|
||||
"title": "Partecipanti",
|
||||
"description": "Immettere il nome per ciascun partecipante.",
|
||||
"protectedParticipant": "Questo partecipante fa parte delle spese e non può essere rimosso.",
|
||||
"new": "Nuovo",
|
||||
"add": "Aggiungi partecipante",
|
||||
"John": "John",
|
||||
"Jane": "Jane",
|
||||
"Jack": "Jack"
|
||||
},
|
||||
"Settings": {
|
||||
"title": "Impostazioni locali",
|
||||
"description": "Queste impostazioni sono impostate per dispositivo e vengono utilizzate per personalizzare la tua esperienza.",
|
||||
"ActiveUserField": {
|
||||
"label": "Utente attivo",
|
||||
"placeholder": "Seleziona un partecipante",
|
||||
"none": "Nessuno",
|
||||
"description": "Utente utilizzato come predefinito per il pagamento delle spese."
|
||||
},
|
||||
"save": "Salva",
|
||||
"saving": "Salvataggio…",
|
||||
"create": "Crea",
|
||||
"creating": "Sto creando…",
|
||||
"cancel": "Annulla"
|
||||
}
|
||||
},
|
||||
"ExpenseForm": {
|
||||
"Income": {
|
||||
"create": "Crea entrata",
|
||||
"edit": "Modifica entrata",
|
||||
"TitleField": {
|
||||
"label": "Titolo entrata",
|
||||
"placeholder": "Ristorante del lunedì sera",
|
||||
"description": "Inserisci una descrizione per l'entrata."
|
||||
},
|
||||
"DateField": {
|
||||
"label": "Data entrata",
|
||||
"description": "Inserisci la data in cui è stato ricevuta l'entrata."
|
||||
},
|
||||
"categoryFieldDescription": "Seleziona categoria entrata.",
|
||||
"paidByField": {
|
||||
"label": "Ricevuto da",
|
||||
"description": "Seleziona partecipante che ha ricevuto l'entrata."
|
||||
},
|
||||
"paidFor": {
|
||||
"title": "Ricevuto per",
|
||||
"description": "Seleziona per chi è stato ricevuta l'entrata."
|
||||
},
|
||||
"splitModeDescription": "Seleziona come dividere l'entrata.",
|
||||
"attachDescription": "Vedi allegati entrata."
|
||||
},
|
||||
"Expense": {
|
||||
"create": "Crea spesa",
|
||||
"edit": "Modifica spesa",
|
||||
"TitleField": {
|
||||
"label": "Titolo spesa",
|
||||
"placeholder": "Ristorante del lunedì sera",
|
||||
"description": "Inserisci una descrizione per l'uscita."
|
||||
},
|
||||
"DateField": {
|
||||
"label": "Data spesa",
|
||||
"description": "Inserisci la data di quando è stata fatta la spesa"
|
||||
},
|
||||
"categoryFieldDescription": "Seleziona una categoria per la spesa.",
|
||||
"paidByField": {
|
||||
"label": "Pagato da",
|
||||
"description": "Seleziona il partecipante che ha pagato la spesa."
|
||||
},
|
||||
"paidFor": {
|
||||
"title": "Pagato per",
|
||||
"description": "Seleziona per chi è stata pagato."
|
||||
},
|
||||
"splitModeDescription": "Seleziona come dividere la spesa.",
|
||||
"attachDescription": "Vedi allegati spesa."
|
||||
},
|
||||
"amountField": {
|
||||
"label": "Quantità"
|
||||
},
|
||||
"isReimbursementField": {
|
||||
"label": "Questo è un rimborso"
|
||||
},
|
||||
"categoryField": {
|
||||
"label": "Categoria"
|
||||
},
|
||||
"notesField": {
|
||||
"label": "Note"
|
||||
},
|
||||
"selectNone": "Seleziona nessuna",
|
||||
"selectAll": "Seleziona tutto",
|
||||
"shares": "condividi",
|
||||
"advancedOptions": "Opzioni di divisione avanzate…",
|
||||
"SplitModeField": {
|
||||
"label": "Modalità split",
|
||||
"evenly": "Uniforme",
|
||||
"byShares": "Non uniforme – Per scelta",
|
||||
"byPercentage": "Non uniforme – Per percentuale",
|
||||
"byAmount": "Non uniforme – Per quantità",
|
||||
"saveAsDefault": "Salva come opzioni di suddivisione predefinite"
|
||||
},
|
||||
"DeletePopup": {
|
||||
"label": "Rimuovi",
|
||||
"title": "Rimuovere questa spesa?",
|
||||
"description": "Vuoi davvero eliminare questa spesa? Questa azione è irreversibile.",
|
||||
"yes": "Si",
|
||||
"cancel": "Annulla"
|
||||
},
|
||||
"attachDocuments": "Documenti allegati",
|
||||
"create": "Crea",
|
||||
"creating": "Sto creando…",
|
||||
"save": "Salva",
|
||||
"saving": "Sto salvando…",
|
||||
"cancel": "Annulla",
|
||||
"reimbursement": "Rimborso"
|
||||
},
|
||||
"ExpenseDocumentsInput": {
|
||||
"TooBigToast": {
|
||||
"title": "Il file è troppo grande",
|
||||
"description": "La dimensione massima del file che puoi caricare è {maxSize}. Il tuo è ${size}."
|
||||
},
|
||||
"ErrorToast": {
|
||||
"title": "Errore durante il caricamento del documento",
|
||||
"description": "Si è verificato un errore durante il caricamento del documento. Riprova più tardi o seleziona un file diverso.",
|
||||
"retry": "Riprova"
|
||||
}
|
||||
},
|
||||
"CreateFromReceipt": {
|
||||
"Dialog": {
|
||||
"triggerTitle": "Crea spesa dalla ricevuta",
|
||||
"title": "Crea dalla ricevuta",
|
||||
"description": "Estrai le informazioni sulla spesa da una foto della ricevuta.",
|
||||
"body": "Carica la foto di una ricevuta e, se possibile, la scannerizzeremo per estrarre le informazioni sulle spese.",
|
||||
"selectImage": "Seleziona immagine…",
|
||||
"titleLabel": "Titolo:",
|
||||
"categoryLabel": "Categoria:",
|
||||
"amountLabel": "Quantità:",
|
||||
"dateLabel": "Data:",
|
||||
"editNext": "Successivamente potrai modificare le informazioni sulle spese.",
|
||||
"continue": "Continua"
|
||||
},
|
||||
"unknown": "Unknown",
|
||||
"TooBigToast": {
|
||||
"title": "Il file è troppo grande",
|
||||
"description": "La dimensione massima del file che puoi caricare è {maxSize}. Il tuo è ${size}."
|
||||
},
|
||||
"ErrorToast": {
|
||||
"title": "Errore durante il caricamento del documento",
|
||||
"description": "Si è verificato un errore durante il caricamento del documento. Riprova più tardi o seleziona un file diverso.",
|
||||
"retry": "Riprova"
|
||||
}
|
||||
},
|
||||
"Balances": {
|
||||
"title": "Bilanci",
|
||||
"description": "Questo è l'importo che ciascun partecipante ha pagato o è stato pagato.",
|
||||
"Reimbursements": {
|
||||
"title": "Rimborsi suggeriti",
|
||||
"description": "Ecco alcuni suggerimenti per ottimizzare i rimborsi tra i partecipanti.",
|
||||
"noImbursements": "Sembra che il tuo gruppo non abbia bisogno di alcun rimborso 😁",
|
||||
"owes": "<strong>{from}</strong> deve <strong>{to}</strong>",
|
||||
"markAsPaid": "Marca come pagato"
|
||||
}
|
||||
},
|
||||
"Stats": {
|
||||
"title": "Statistiche",
|
||||
"Totals": {
|
||||
"title": "Totali",
|
||||
"description": "Riepilogo delle spese dell'intero gruppo.",
|
||||
"groupSpendings": "Spese totali del gruppo",
|
||||
"groupEarnings": "Guadagno totale del gruppo",
|
||||
"yourSpendings": "Le tue spese totali",
|
||||
"yourEarnings": "I tuoi guadagni totali",
|
||||
"yourShare": "La tua quota totale"
|
||||
}
|
||||
},
|
||||
"Activity": {
|
||||
"title": "Attività",
|
||||
"description": "Panoramica di tutte le attività in questo gruppo.",
|
||||
"noActivity": "Non c'è ancora alcuna attività nel tuo gruppo.",
|
||||
"someone": "Qualcuno",
|
||||
"settingsModified": "Le impostazioni del gruppo sono state modificate da <strong>{participant}</strong>.",
|
||||
"expenseCreated": "Spesa <em>{expense}</em> creata da <strong>{participant}</strong>.",
|
||||
"expenseUpdated": "Spesa <em>{expense}</em> aggiornata da <strong>{participant}</strong>.",
|
||||
"expenseDeleted": "Spesa <em>{expense}</em> cancellata da <strong>{participant}</strong>.",
|
||||
"Groups": {
|
||||
"today": "Oggi",
|
||||
"yesterday": "Ieri",
|
||||
"earlierThisWeek": "All'inizio di questa settimana",
|
||||
"lastWeek": "La settimana scorsa",
|
||||
"earlierThisMonth": "All'inizio di questo mese",
|
||||
"lastMonth": "Lo scorso mese",
|
||||
"earlierThisYear": "All'inizio di questo anno",
|
||||
"lastYear": "Lo scorso anno",
|
||||
"older": "Più vecchio"
|
||||
}
|
||||
},
|
||||
"Information": {
|
||||
"title": "Informazioni",
|
||||
"description": "Utilizza questo posto per aggiungere qualsiasi informazione che possa essere rilevante per i partecipanti al gruppo.",
|
||||
"empty": "Nessuna informazione sul gruppo ancora."
|
||||
},
|
||||
"Settings": {
|
||||
"title": "Impostazioni"
|
||||
},
|
||||
"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": "Condividi",
|
||||
"description": "Per consentire agli altri partecipanti di vedere il gruppo e aggiungere spese, condividi il suo URL con loro.",
|
||||
"warning": "Attenzione!",
|
||||
"warningHelp": "Ogni persona con l'URL del gruppo potrà vedere e modificare le spese. Condividi con cautela!"
|
||||
},
|
||||
"SchemaErrors": {
|
||||
"min1": "Inserisci almeno un carattere.",
|
||||
"min2": "Inserisci almeno due caratteri.",
|
||||
"max5": "Inserisci al massimo cinque caratteri.",
|
||||
"max50": "Inserisci al massimo cinquanta caratteri.",
|
||||
"duplicateParticipantName": "Un altro partecipante ha già questo nome.",
|
||||
"titleRequired": "Inserisci un titolo.",
|
||||
"invalidNumber": "Numero invalido.",
|
||||
"amountRequired": "Devi inserire una quanttà",
|
||||
"amountNotZero": "La quantità non deve essere zero.",
|
||||
"amountTenMillion": "L'importo deve essere inferiore a 10.000.000.",
|
||||
"paidByRequired": "È necessario selezionare un partecipante.",
|
||||
"paidForMin1": "La spesa dovrà essere sostenuta per almeno un partecipante.",
|
||||
"noZeroShares": "Tutte le condivisioni devono essere superiori a 0.",
|
||||
"amountSum": "La somma degli importi deve essere uguale all'importo della spesa.",
|
||||
"percentageSum": "La somma delle percentuali deve essere uguale a 100."
|
||||
},
|
||||
"Categories": {
|
||||
"search": "Cerca categoria...",
|
||||
"noCategory": "Nessuna categoria trovata.",
|
||||
"Uncategorized": {
|
||||
"heading": "Senza categoria",
|
||||
"General": "Generale",
|
||||
"Payment": "Pagamento"
|
||||
},
|
||||
"Entertainment": {
|
||||
"heading": "Intrattenimento",
|
||||
"Entertainment": "Intrattenimento",
|
||||
"Games": "Games",
|
||||
"Movies": "Film",
|
||||
"Music": "Musica",
|
||||
"Sports": "Sports"
|
||||
},
|
||||
"Food and Drink": {
|
||||
"heading": "Cibo e Bevande",
|
||||
"Food and Drink": "Cibo e Bevande",
|
||||
"Dining Out": "Mangiare fuori",
|
||||
"Groceries": "Generi alimentari",
|
||||
"Liquor": "Liquori"
|
||||
},
|
||||
"Home": {
|
||||
"heading": "Home",
|
||||
"Home": "Home",
|
||||
"Electronics": "Elettronica",
|
||||
"Furniture": "Mobilia",
|
||||
"Household Supplies": "Forniture per la casa",
|
||||
"Maintenance": "Manutenzione",
|
||||
"Mortgage": "Mutuo",
|
||||
"Pets": "Animali",
|
||||
"Rent": "Affitti",
|
||||
"Services": "Servizi"
|
||||
},
|
||||
"Life": {
|
||||
"heading": "Life",
|
||||
"Childcare": "Assistenza all'infanzia",
|
||||
"Clothing": "Vestiti",
|
||||
"Education": "Educazione",
|
||||
"Gifts": "Regali",
|
||||
"Insurance": "Assicurazione",
|
||||
"Medical Expenses": "Spese Mediche",
|
||||
"Taxes": "Tasse"
|
||||
},
|
||||
"Transportation": {
|
||||
"heading": "Trasporti",
|
||||
"Transportation": "Trasporti",
|
||||
"Bicycle": "Bicicletta",
|
||||
"Bus/Train": "Bus/Treno",
|
||||
"Car": "Auto",
|
||||
"Gas/Fuel": "Gas/Carburante",
|
||||
"Hotel": "Hotel",
|
||||
"Parking": "Parcheggio",
|
||||
"Plane": "Aereo",
|
||||
"Taxi": "Taxi"
|
||||
},
|
||||
"Utilities": {
|
||||
"heading": "Utilità",
|
||||
"Utilities": "Utilità",
|
||||
"Cleaning": "Pulizia",
|
||||
"Electricity": "Elettricità",
|
||||
"Heat/Gas": "Riscaldamento/Gas",
|
||||
"Trash": "Spazzatura",
|
||||
"TV/Phone/Internet": "TV/Telefono/Internet",
|
||||
"Water": "Acqua"
|
||||
}
|
||||
}
|
||||
}
|
||||
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": "Создание…",
|
||||
"save": "Сохранить",
|
||||
"saving": "Сохранение…",
|
||||
"cancel": "Отмена"
|
||||
"cancel": "Отмена",
|
||||
"reimbursement": "Возмещение"
|
||||
},
|
||||
"ExpenseDocumentsInput": {
|
||||
"TooBigToast": {
|
||||
@@ -300,7 +301,10 @@
|
||||
"es": "Español",
|
||||
"de-DE": "Deutsch",
|
||||
"zh-CN": "Chinese (Simplified)",
|
||||
"ru-RU": "Русский"
|
||||
"pl-PL": "Polski",
|
||||
"ru-RU": "Русский",
|
||||
"it-IT": "Italiano",
|
||||
"ua-UA": "Українська"
|
||||
},
|
||||
"Share": {
|
||||
"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": "创建中……",
|
||||
"save": "保存",
|
||||
"saving": "保存中……",
|
||||
"cancel": "取消"
|
||||
"cancel": "取消",
|
||||
"reimbursement": "报销"
|
||||
},
|
||||
"ExpenseDocumentsInput": {
|
||||
"TooBigToast": {
|
||||
@@ -300,7 +301,10 @@
|
||||
"es": "Español",
|
||||
"de-DE": "Deutsch",
|
||||
"zh-CN": "Chinese (Simplified)",
|
||||
"ru-RU": "Русский"
|
||||
"pl-PL": "Polski",
|
||||
"ru-RU": "Русский",
|
||||
"it-IT": "Italiano",
|
||||
"ua-UA": "Українська"
|
||||
},
|
||||
"Share": {
|
||||
"title": "分享",
|
||||
|
||||
@@ -186,7 +186,7 @@ export function ExpenseForm({
|
||||
}
|
||||
: searchParams.get('reimbursement')
|
||||
? {
|
||||
title: 'Reimbursement',
|
||||
title: t('reimbursement'),
|
||||
expenseDate: new Date(),
|
||||
amount: String(
|
||||
(Number(searchParams.get('amount')) || 0) / 100,
|
||||
|
||||
@@ -9,6 +9,8 @@ export const locales = [
|
||||
'de-DE',
|
||||
'zh-CN',
|
||||
'ru-RU',
|
||||
'it-IT',
|
||||
'ua-UA',
|
||||
] as const
|
||||
export type Locale = (typeof locales)[number]
|
||||
export type Locales = ReadonlyArray<Locale>
|
||||
|
||||
Reference in New Issue
Block a user