diff --git a/messages/de-DE.json b/messages/de-DE.json
index add6e78e..6c01f148 100644
--- a/messages/de-DE.json
+++ b/messages/de-DE.json
@@ -304,7 +304,8 @@
"pl-PL": "Polski",
"ru-RU": "Русский",
"it-IT": "Italiano",
- "ua-UA": "Українська"
+ "ua-UA": "Українська",
+ "ro": "Română"
},
"Share": {
"title": "Teilen",
diff --git a/messages/en-US.json b/messages/en-US.json
index 90e7d871..3648012d 100644
--- a/messages/en-US.json
+++ b/messages/en-US.json
@@ -304,7 +304,8 @@
"pl-PL": "Polski",
"ru-RU": "Русский",
"it-IT": "Italiano",
- "ua-UA": "Українська"
+ "ua-UA": "Українська",
+ "ro": "Română"
},
"Share": {
"title": "Share",
diff --git a/messages/es.json b/messages/es.json
index 6c495124..8bdc42fd 100644
--- a/messages/es.json
+++ b/messages/es.json
@@ -205,7 +205,6 @@
"saving": "Guardando",
"cancel": "Cancelar",
"reimbursement": "Reembolso"
-
},
"ExpenseDocumentsInput": {
"TooBigToast": {
@@ -305,7 +304,8 @@
"pl-PL": "Polski",
"ru-RU": "Русский",
"it-IT": "Italiano",
- "ua-UA": "Українська"
+ "ua-UA": "Українська",
+ "ro": "Română"
},
"Share": {
"title": "Compartir",
diff --git a/messages/fi.json b/messages/fi.json
index 0724546d..97365e7f 100644
--- a/messages/fi.json
+++ b/messages/fi.json
@@ -304,7 +304,8 @@
"pl-PL": "Polski",
"ru-RU": "Русский",
"it-IT": "Italiano",
- "ua-UA": "Українська"
+ "ua-UA": "Українська",
+ "ro": "Română"
},
"Share": {
"title": "Jaa",
diff --git a/messages/fr-FR.json b/messages/fr-FR.json
index 4195693b..cc0649b1 100644
--- a/messages/fr-FR.json
+++ b/messages/fr-FR.json
@@ -304,7 +304,8 @@
"pl-PL": "Polski",
"ru-RU": "Русский",
"it-IT": "Italiano",
- "ua-UA": "Українська"
+ "ua-UA": "Українська",
+ "ro": "Română"
},
"Share": {
"title": "Partager",
diff --git a/messages/it-IT.json b/messages/it-IT.json
index 75ce2e5f..78dba416 100644
--- a/messages/it-IT.json
+++ b/messages/it-IT.json
@@ -4,7 +4,7 @@
"description": "Benvenuto nella tua nuova instanza di Spliit!",
"button": {
"groups": "Vai ai gruppi",
- "github": "GitHub"
+ "github": "GitHub"
}
},
"Header": {
@@ -304,7 +304,8 @@
"pl-PL": "Polski",
"ru-RU": "Русский",
"it-IT": "Italiano",
- "ua-UA": "Українська"
+ "ua-UA": "Українська",
+ "ro": "Română"
},
"Share": {
"title": "Condividi",
diff --git a/messages/pl-PL.json b/messages/pl-PL.json
index 3ada3753..22aba12e 100644
--- a/messages/pl-PL.json
+++ b/messages/pl-PL.json
@@ -273,8 +273,7 @@
"expenseCreated": "Wydatek {expense} stworzony przez {participant}.",
"expenseUpdated": "Wydatek {expense} zaktualizowany przez {participant}.",
"expenseDeleted": "Wydatek {expense} usunięty przez {participant}.",
- "Groups":
- {
+ "Groups": {
"today": "Dzisiaj",
"yesterday": "Wczoraj",
"earlierThisWeek": "Wcześniej w tym tygodniu",
@@ -304,7 +303,8 @@
"pl-PL": "Polski",
"ru-RU": "Русский",
"it-IT": "Italiano",
- "ua-UA": "Українська"
+ "ua-UA": "Українська",
+ "ro": "Română"
},
"Share": {
"title": "Udostępnij",
diff --git a/messages/ro.json b/messages/ro.json
new file mode 100644
index 00000000..8f2a7208
--- /dev/null
+++ b/messages/ro.json
@@ -0,0 +1,401 @@
+{
+ "Homepage": {
+ "title": "Distribuie Cheltuielile cu Prietenii & Familia",
+ "description": "Bine ai venit pe noua ta instanță de Spliit !",
+ "button": {
+ "groups": "Mergi la grupuri",
+ "github": "GitHub"
+ }
+ },
+ "Header": {
+ "groups": "Grupuri"
+ },
+ "Footer": {
+ "madeIn": "Dezvoltat în Montréal, Québec 🇨🇦",
+ "builtBy": "Dezvoltat de către Sebastien Castiel și "
+ },
+ "Expenses": {
+ "title": "Cheltuieli",
+ "description": "Aici sunt cheltuielile pe care le-ai creat pentru grupul tău.",
+ "create": "Adaugă o cheltuială",
+ "createFirst": "Adaug-o pe prima",
+ "noExpenses": "Grupul tău nu conține nicio cheltuială încă.",
+ "exportJson": "Salvează în JSON",
+ "searchPlaceholder": "Caută o cheltuială…",
+ "ActiveUserModal": {
+ "title": "Cum te numești?",
+ "description": "Spune-ne cine ești ca să putem îți afișăm informațiile relevante.",
+ "nobody": "Nu doresc să aleg pe nimeni",
+ "save": "Salvează",
+ "footer": "Această setare se poate schimba mai târziu din setările grupului."
+ },
+ "Groups": {
+ "upcoming": "Urmează",
+ "thisWeek": "În această săptămână",
+ "earlierThisMonth": "La începutul lunii",
+ "lastMonth": "Luna trecută",
+ "earlierThisYear": "La începutul anului",
+ "lastYera": "Anul trecut",
+ "older": "Mai vechi"
+ }
+ },
+ "ExpenseCard": {
+ "paidBy": "Plătit de {paidBy} pentru ",
+ "receivedBy": "Primit de {paidBy} pentru ",
+ "yourBalance": "Soldul tău:"
+ },
+ "Groups": {
+ "myGroups": "Grupurile mele",
+ "create": "Adaugă",
+ "loadingRecent": "Se încarcă ultimele tale grupuri…",
+ "NoRecent": {
+ "description": "Nu ai accesat niciun grup recent.",
+ "create": "Adaugă unul",
+ "orAsk": "sau roagă un prieten să îți trimită un link către unul deja existent."
+ },
+ "recent": "Ultimele grupuri",
+ "starred": "Grupuri favorite",
+ "archived": "Grupuri arhivate",
+ "archive": "Arhivează grupul",
+ "unarchive": "Dezarhivează grupul",
+ "removeRecent": "Șterge din ultimele grupuri",
+ "RecentRemovedToast": {
+ "title": "Grupul a fost șters.",
+ "description": "Grupul a fost șters din lista ta de grupuri recente.",
+ "undoAlt": "Anulează ștergerea grupului",
+ "undo": "Anulează"
+ },
+ "AddByURL": {
+ "button": "Adaugă folosind un URL",
+ "title": "Adaugă un grup folosind un URL",
+ "description": "Dacă un grup a fost distribuit cu tine, poți atașa URL-ul acestuia aici pentru a-l adăuga în listă.",
+ "error": "Ups, nu am găsit grupul folosind URL-ul primit de la tine…"
+ },
+ "NotFound": {
+ "text": "Acest grup nu există.",
+ "link": "Mergi la ultimele grupuri vizitate"
+ }
+ },
+ "GroupForm": {
+ "title": "Informații despre grup",
+ "NameField": {
+ "label": "Numele grupului",
+ "placeholder": "Vacanță de vară",
+ "description": "Adaugă un nume pentru grupul tău."
+ },
+ "InformationField": {
+ "label": "Informații despre grup",
+ "placeholder": "Ce informație este relevantă pentru membrii grupului?"
+ },
+ "CurrencyField": {
+ "label": "Monedă",
+ "placeholder": "$, €, £, RON …",
+ "description": "O vom folosi pentru a afișa sume."
+ },
+ "Participants": {
+ "title": "Membri",
+ "description": "Adaugă numele fiecărui membru.",
+ "protectedParticipant": "Acest membru a luat parte la cheltuieli și nu poate să fie șters.",
+ "new": "Nou",
+ "add": "Adaugă membru",
+ "John": "John",
+ "Jane": "Jane",
+ "Jack": "Jack"
+ },
+ "Settings": {
+ "title": "Setări locale",
+ "description": "Aceste setări sunt făcute pentru fiecare dispozitiv și sunt folosite pentru a-ți personaliza experiența.",
+ "ActiveUserField": {
+ "label": "Utilizator activ",
+ "placeholder": "Selectează un membru",
+ "none": "Niciunul",
+ "description": "Utilizatorul implicit pentru plata cheltuielilor."
+ },
+ "save": "Salvează",
+ "saving": "Se salvează…",
+ "create": "Adaugă",
+ "creating": "Se adaugă…",
+ "cancel": "Anulează"
+ }
+ },
+ "ExpenseForm": {
+ "Income": {
+ "create": "Adaugă un venit",
+ "edit": "Modifică venitul",
+ "TitleField": {
+ "label": "Titlul venitului",
+ "placeholder": "Cina de luni seară",
+ "description": "Adaugă o descriere pentru venit."
+ },
+ "DateField": {
+ "label": "Data venitului",
+ "description": "Adaugă data la care venitul a fost primit."
+ },
+ "categoryFieldDescription": "Selectează categoria venitului.",
+ "paidByField": {
+ "label": "Primit de către",
+ "description": "Selectează membrul care a primit venitul."
+ },
+ "paidFor": {
+ "title": "Primit pentru",
+ "description": "Selectează pentru cine a fost primit venitul."
+ },
+ "splitModeDescription": "Selectează cum să fie împărțit venitul.",
+ "attachDescription": "Vizualizează și atașează bonul pentru venit."
+ },
+ "Expense": {
+ "create": "Adaugă o cheltuială",
+ "edit": "Modifică cheltuiala",
+ "TitleField": {
+ "label": "Titlul cheltuielii",
+ "placeholder": "Cina de luni seară",
+ "description": "Adaugă o descriere pentru cheltuială."
+ },
+ "DateField": {
+ "label": "Data cheltuielii",
+ "description": "Adaugă data la care cheltuiala a fost facută."
+ },
+ "categoryFieldDescription": "Selectează categoria cheltuielii.",
+ "paidByField": {
+ "label": "Plătit de către",
+ "description": "Selectează membrul care a plătit cheltuiala."
+ },
+ "paidFor": {
+ "title": "Plătit pentru",
+ "description": "Selectează pentru cine a fost platită cheltuiala."
+ },
+ "splitModeDescription": "Selectează cum să fie împărțită cheltuiala.",
+ "attachDescription": "Vizualizează și atașează bonul pentru cheltuială."
+ },
+ "amountField": {
+ "label": "Sumă"
+ },
+ "isReimbursementField": {
+ "label": "Aceasta este o rambursare."
+ },
+ "categoryField": {
+ "label": "Categorie"
+ },
+ "notesField": {
+ "label": "Notițe"
+ },
+ "selectNone": "Nu selectez nimic",
+ "selectAll": "Selectez tot",
+ "shares": "distribuiri",
+ "advancedOptions": "Opțiuni avansate de împărțire…",
+ "SplitModeField": {
+ "label": "Împărțire",
+ "evenly": "Egal",
+ "byShares": "Inegal – În funcție de parte",
+ "byPercentage": "Inegal – În funcție de procentaj",
+ "byAmount": "Inegal – În funcție de sumă",
+ "saveAsDefault": "Salvează ca și implicite opțiunile de împărțire"
+ },
+ "DeletePopup": {
+ "label": "Șterge",
+ "title": "Ștergi această cheltuială?",
+ "description": "Ești sigur că vrei să ștergi această cheltuială? Această acțiune este ireversibilă.",
+ "yes": "Da",
+ "cancel": "Anulează"
+ },
+ "attachDocuments": "Atașează documente",
+ "create": "Adaugă",
+ "creating": "Se adaugă…",
+ "save": "Salvează",
+ "saving": "Se salvează…",
+ "cancel": "Anulează",
+ "reimbursement": "Rambursare"
+ },
+ "ExpenseDocumentsInput": {
+ "TooBigToast": {
+ "title": "Fișierul este prea mare",
+ "description": "Dimensiunea maximă a fișierului pe care îl poți atașa este {maxSize}. Fișierul tău are ${size}."
+ },
+ "ErrorToast": {
+ "title": "Eroare la adăugarea documentului.",
+ "description": "Ceva a mers greșit la adăugarea fișierului. Încearcă mai târziu sau cum un alt fișier.",
+ "retry": "Reîncearcă"
+ }
+ },
+ "CreateFromReceipt": {
+ "Dialog": {
+ "triggerTitle": "Adaugă o cheltuială dintr-un bon",
+ "title": "Adaugă din bon",
+ "description": "Extrage informații despre cheltuială dintr-o poză cu bonul.",
+ "body": "Adaugă o poză cu bonul și vom încerca să o scanăm pentru a extrage informații despre cheltuială.",
+ "selectImage": "Selectează o imagine…",
+ "titleLabel": "Titlu:",
+ "categoryLabel": "Categorie:",
+ "amountLabel": "Sumă:",
+ "dateLabel": "Data:",
+ "editNext": "Vei putea sa modifici informațiile despre cheltuială în continuare.",
+ "continue": "Continuă"
+ },
+ "unknown": "Necunoscut",
+ "TooBigToast": {
+ "title": "Fișierul este prea mare",
+ "description": "Dimensiunea maximă a fișierului pe care il poți atașa este {maxSize}. Fișierul tău are ${size}."
+ },
+ "ErrorToast": {
+ "title": "Eroare la adăugarea documentului.",
+ "description": "Ceva a mers greșit la adăugarea fișierului. Încearcă mai târziu sau cum un alt fișier.",
+ "retry": "Reîncearcă"
+ }
+ },
+ "Balances": {
+ "title": "Solduri",
+ "description": "Aceasta este suma pe care fiecare membru a plătit-o sau cu care a fost plătit.",
+ "Reimbursements": {
+ "title": "Rambursări sugerate",
+ "description": "Acestea sunt sugestiile pentru rambursări optimizate între membrii.",
+ "noImbursements": "Se pare că grupul tău nu are nevoie de rambursări 😁",
+ "owes": "{from} datorează {to}",
+ "markAsPaid": "Bifează ca plătit"
+ }
+ },
+ "Stats": {
+ "title": "Statistici",
+ "Totals": {
+ "title": "Totaluri",
+ "description": "Sumarul cheltuielior pentru întregul grup.",
+ "groupSpendings": "Totalul cheltuielilor din grup",
+ "groupEarnings": "Totalul veniturilor din grup",
+ "yourSpendings": "Totalul cheltuielilor tale",
+ "yourEarnings": "Totalul veniturilor tale",
+ "yourShare": "Partea ta"
+ }
+ },
+ "Activity": {
+ "title": "Activități",
+ "description": "Rezumatul întregii activități a grupului.",
+ "noActivity": "Nu este nicio activitate în grupul tău încă.",
+ "someone": "Cineva",
+ "settingsModified": "Setările grupului au fost modificate de {participant}.",
+ "expenseCreated": "Cheltuială {expense} adăugată de {participant}.",
+ "expenseUpdated": "Cheltuială {expense} modificată de {participant}.",
+ "expenseDeleted": "Cheltuială {expense} ștearsă de {participant}.",
+ "Groups": {
+ "today": "Azi",
+ "yesterday": "Ieri",
+ "earlierThisWeek": "La începutul săptămânii",
+ "lastWeek": "Săptămâna trecută",
+ "earlierThisMonth": "La începutul lunii",
+ "lastMonth": "Luna trecuta",
+ "earlierThisYear": "La începutul anului",
+ "lastYear": "Anul trecut",
+ "older": "Mai vechi"
+ }
+ },
+ "Information": {
+ "title": "Informații",
+ "description": "Adaugă aici orice informație care poate să fie relevantă pentru membrii grupului.",
+ "empty": "Nicio informație de grup încă."
+ },
+ "Settings": {
+ "title": "Setări"
+ },
+ "Locale": {
+ "en-US": "Engleză",
+ "fi": "Finlandeză",
+ "fr-FR": "Franceză",
+ "es": "Spaniolă",
+ "de-DE": "Germană",
+ "zh-CN": "Chineză (Simplificată)",
+ "pl-PL": "Poloneză",
+ "ru-RU": "Rusă",
+ "it-IT": "Italiană",
+ "ua-UA": "Ucraineană",
+ "ro": "Română"
+ },
+ "Share": {
+ "title": "Distribuie",
+ "description": "Pentru ca ceilalți participanți să poată vedea grupul și cheltuielile adăugate, distribuie URL-ul acestuia cu ei.",
+ "warning": "Avertisment!",
+ "warningHelp": "Oricine are URL-ul grupului va putea să vadă și să editeze cheltuielile. Distribuie cu grijă!"
+ },
+ "SchemaErrors": {
+ "min1": "Introduceți cel puțin un caracter.",
+ "min2": "Introduceți cel puțin două caractere.",
+ "max5": "Introduceți cel mult cinci caractere.",
+ "max50": "Introduceți cel mult 50 de caractere.",
+ "duplicateParticipantName": "Un alt membru are deja acest nume.",
+ "titleRequired": "Vă rugăm să introduceți un titlu.",
+ "invalidNumber": "Număr invalid.",
+ "amountRequired": "Trebuie să introduceți o sumă.",
+ "amountNotZero": "Suma nu trebuie să fie zero.",
+ "amountTenMillion": "Suma trebuie să fie mai mică de 10,000,000.",
+ "paidByRequired": "Trebuie să selectați un membru.",
+ "paidForMin1": "Cheltuiala trebuie plătită pentru cel puțin un membru.",
+ "noZeroShares": "Toate părțile trebuie să fie mai mari de 0.",
+ "amountSum": "Suma valorilor trebuie să fie egală cu suma cheltuielilor.",
+ "percentageSum": "Suma procentajelor trebuie să fie egală cu 100."
+ },
+ "Categories": {
+ "search": "Căutați categorie…",
+ "noCategory": "Nicio categorie găsită.",
+ "Uncategorized": {
+ "heading": "Fără categorie",
+ "General": "General",
+ "Payment": "Plată"
+ },
+ "Entertainment": {
+ "heading": "Divertisment",
+ "Entertainment": "Divertisment",
+ "Games": "Jocuri",
+ "Movies": "Filme",
+ "Music": "Muzică",
+ "Sports": "Sporturi"
+ },
+ "Food and Drink": {
+ "heading": "Mâncare și Băutură",
+ "Food and Drink": "Mâncare și Băutură",
+ "Dining Out": "Cină în oraș",
+ "Groceries": "Alimente",
+ "Liquor": "Băuturi alcoolice"
+ },
+ "Home": {
+ "heading": "Acasă",
+ "Home": "Acasă",
+ "Electronics": "Electronice",
+ "Furniture": "Mobilier",
+ "Household Supplies": "Produse de uz casnic",
+ "Maintenance": "Întreținere",
+ "Mortgage": "Ipotecă",
+ "Pets": "Animale de companie",
+ "Rent": "Chirie",
+ "Services": "Servicii"
+ },
+ "Life": {
+ "heading": "Viață",
+ "Childcare": "Îngrijirea copiilor",
+ "Clothing": "Îmbrăcăminte",
+ "Education": "Educație",
+ "Gifts": "Cadouri",
+ "Insurance": "Asigurare",
+ "Medical Expenses": "Cheltuieli medicale",
+ "Taxes": "Impozite"
+ },
+ "Transportation": {
+ "heading": "Transport",
+ "Transportation": "Transport",
+ "Bicycle": "Bicicletă",
+ "Bus/Train": "Autobuz/Tren",
+ "Car": "Mașină",
+ "Gas/Fuel": "Gaz/Combustibil",
+ "Hotel": "Hotel",
+ "Parking": "Parcare",
+ "Plane": "Avion",
+ "Taxi": "Taxi"
+ },
+ "Utilities": {
+ "heading": "Utilități",
+ "Utilities": "Utilități",
+ "Cleaning": "Curățenie",
+ "Electricity": "Electricitate",
+ "Heat/Gas": "Încălzire/Gaz",
+ "Trash": "Gunoi",
+ "TV/Phone/Internet": "TV/Telefon/Internet",
+ "Water": "Apă"
+ }
+ }
+}
diff --git a/messages/ru-RU.json b/messages/ru-RU.json
index 0dd2be61..e9679f5e 100644
--- a/messages/ru-RU.json
+++ b/messages/ru-RU.json
@@ -304,7 +304,8 @@
"pl-PL": "Polski",
"ru-RU": "Русский",
"it-IT": "Italiano",
- "ua-UA": "Українська"
+ "ua-UA": "Українська",
+ "ro": "Română"
},
"Share": {
"title": "Поделиться",
diff --git a/messages/ua-UA.json b/messages/ua-UA.json
index 517596ca..4a7d773a 100644
--- a/messages/ua-UA.json
+++ b/messages/ua-UA.json
@@ -304,7 +304,8 @@
"pl-PL": "Polski",
"ru-RU": "Русский",
"it-IT": "Italiano",
- "ua-UA": "Українська"
+ "ua-UA": "Українська",
+ "ro": "Română"
},
"Share": {
"title": "Поділитися",
diff --git a/messages/zh-CN.json b/messages/zh-CN.json
index 2c44f005..a0d0b0c6 100644
--- a/messages/zh-CN.json
+++ b/messages/zh-CN.json
@@ -304,7 +304,8 @@
"pl-PL": "Polski",
"ru-RU": "Русский",
"it-IT": "Italiano",
- "ua-UA": "Українська"
+ "ua-UA": "Українська",
+ "ro": "Română"
},
"Share": {
"title": "分享",
diff --git a/src/i18n.ts b/src/i18n.ts
index 0aeede2d..fd2eb6a8 100644
--- a/src/i18n.ts
+++ b/src/i18n.ts
@@ -11,6 +11,7 @@ export const locales = [
'ru-RU',
'it-IT',
'ua-UA',
+ 'ro',
] as const
export type Locale = (typeof locales)[number]
export type Locales = ReadonlyArray