From 71a784e69b6e72b491852f98cb3f54e07fa4831f Mon Sep 17 00:00:00 2001 From: Serge D Date: Wed, 9 Oct 2024 16:52:36 +0100 Subject: [PATCH] add ua-UA --- messages/de-DE.json | 3 +- messages/en-US.json | 3 +- messages/es.json | 3 +- messages/fi.json | 3 +- messages/fr-FR.json | 3 +- messages/it-IT.json | 3 +- messages/ru-RU.json | 3 +- messages/ua-UA.json | 398 ++++++++++++++++++++++++++++++++++++++++++++ messages/zh-CN.json | 3 +- src/i18n.ts | 1 + 10 files changed, 415 insertions(+), 8 deletions(-) create mode 100644 messages/ua-UA.json diff --git a/messages/de-DE.json b/messages/de-DE.json index db9d3f01..022b9f25 100644 --- a/messages/de-DE.json +++ b/messages/de-DE.json @@ -301,7 +301,8 @@ "de-DE": "Deutsch", "zh-CN": "Chinese (Simplified)", "ru-RU": "Русский", - "it-IT": "Italiano" + "it-IT": "Italiano", + "ua-UA": "Українська" }, "Share": { "title": "Teilen", diff --git a/messages/en-US.json b/messages/en-US.json index f1ba2767..ff8eb8ac 100644 --- a/messages/en-US.json +++ b/messages/en-US.json @@ -301,7 +301,8 @@ "de-DE": "Deutsch", "zh-CN": "Chinese (Simplified)", "ru-RU": "Русский", - "it-IT": "Italiano" + "it-IT": "Italiano", + "ua-UA": "Українська" }, "Share": { "title": "Share", diff --git a/messages/es.json b/messages/es.json index 8c4edb56..b7ccd46e 100644 --- a/messages/es.json +++ b/messages/es.json @@ -301,7 +301,8 @@ "de-DE": "Deutsch", "zh-CN": "Chinese (Simplified)", "ru-RU": "Русский", - "it-IT": "Italiano" + "it-IT": "Italiano", + "ua-UA": "Українська" }, "Share": { "title": "Compartir", diff --git a/messages/fi.json b/messages/fi.json index d47a86ce..dd8cb2bc 100644 --- a/messages/fi.json +++ b/messages/fi.json @@ -301,7 +301,8 @@ "de-DE": "Deutsch", "zh-CN": "Chinese (Simplified)", "ru-RU": "Русский", - "it-IT": "Italiano" + "it-IT": "Italiano", + "ua-UA": "Українська" }, "Share": { "title": "Jaa", diff --git a/messages/fr-FR.json b/messages/fr-FR.json index e3504005..bdce43ee 100644 --- a/messages/fr-FR.json +++ b/messages/fr-FR.json @@ -301,7 +301,8 @@ "de-DE": "Deutsch", "zh-CN": "Chinese (Simplified)", "ru-RU": "Русский", - "it-IT": "Italiano" + "it-IT": "Italiano", + "ua-UA": "Українська" }, "Share": { "title": "Partager", diff --git a/messages/it-IT.json b/messages/it-IT.json index 6a6220eb..dd95a950 100644 --- a/messages/it-IT.json +++ b/messages/it-IT.json @@ -301,7 +301,8 @@ "de-DE": "Deutsch", "zh-CN": "Chinese (Simplified)", "ru-RU": "Русский", - "it-IT": "Italiano" + "it-IT": "Italiano", + "ua-UA": "Українська" }, "Share": { "title": "Condividi", diff --git a/messages/ru-RU.json b/messages/ru-RU.json index 9a9923cf..417dbc38 100644 --- a/messages/ru-RU.json +++ b/messages/ru-RU.json @@ -301,7 +301,8 @@ "de-DE": "Deutsch", "zh-CN": "Chinese (Simplified)", "ru-RU": "Русский", - "it-IT": "Italiano" + "it-IT": "Italiano", + "ua-UA": "Українська" }, "Share": { "title": "Поделиться", diff --git a/messages/ua-UA.json b/messages/ua-UA.json new file mode 100644 index 00000000..b2f80e38 --- /dev/null +++ b/messages/ua-UA.json @@ -0,0 +1,398 @@ +{ + "Homepage": { + "title": "Ділися витратами з друзями та родиною", + "description": "Ласкаво просимо у ваш новий Spliit!", + "button": { + "groups": "Перейти до груп", + "github": "GitHub" + } + }, + "Header": { + "groups": "Групи" + }, + "Footer": { + "madeIn": "Зроблено в Монреалі, Квебек 🇨🇦", + "builtBy": "Створено Себастіаном Кастіелем та учасниками" + }, + "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": "Сплачено {paidBy} за ", + "receivedBy": "Отримано {paidBy} за ", + "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": "Скасувати" + }, + "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": "{from} винен {to}", + "markAsPaid": "Позначити як сплачене" + } + }, + "Stats": { + "title": "Статистика", + "Totals": { + "title": "Загальні дані", + "description": "Загальний огляд витрат групи", + "groupSpendings": "Загальні витрати групи", + "groupEarnings": "Загальні доходи групи", + "yourSpendings": "Ваші загальні витрати", + "yourEarnings": "Ваші загальні доходи", + "yourShare": "Ваша частка" + } + }, + "Activity": { + "title": "Активність", + "description": "Огляд усієї активності в цій групі", + "noActivity": "У вашій групі ще немає активності", + "someone": "Хтось", + "settingsModified": "Налаштування групи змінені {participant}", + "expenseCreated": "Витрата {expense} створена {participant}", + "expenseUpdated": "Витрата {expense} оновлена {participant}", + "expenseDeleted": "Витрата {expense} видалена {participant}", + "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)", + "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": "Вода" + } + } +} diff --git a/messages/zh-CN.json b/messages/zh-CN.json index 2065369d..8942c786 100644 --- a/messages/zh-CN.json +++ b/messages/zh-CN.json @@ -301,7 +301,8 @@ "de-DE": "Deutsch", "zh-CN": "Chinese (Simplified)", "ru-RU": "Русский", - "it-IT": "Italiano" + "it-IT": "Italiano", + "ua-UA": "Українська" }, "Share": { "title": "分享", diff --git a/src/i18n.ts b/src/i18n.ts index 8334b8c8..0aeede2d 100644 --- a/src/i18n.ts +++ b/src/i18n.ts @@ -10,6 +10,7 @@ export const locales = [ 'zh-CN', 'ru-RU', 'it-IT', + 'ua-UA', ] as const export type Locale = (typeof locales)[number] export type Locales = ReadonlyArray