// Українська локаль — типізована як typeof ru, щоб пропущені ключі ловив vue-tsc.
import type ru from './ru'
export default {
common: {
any: '— будь-який —',
anyStatus: '— будь-який статус —',
noProject: '— без проєкту —',
none: '— немає —',
choose: '— оберіть —',
error: 'Помилка запиту',
save: 'Зберегти',
cancel: 'Скасувати',
edit: 'Редагувати',
preview: 'Попередній перегляд',
confirmTitle: 'Підтвердження',
delete: 'Видалити',
open: 'Відкрити',
deleteConfirmTask: 'Видалити задачу «{title}»? Дію не можна скасувати.',
deleteConfirmProject: 'Видалити проєкт «{name}»? Задачі залишаться, але без проєкту.',
saved: 'Збережено',
created: 'Створено',
taskDeleted: 'Задачу видалено',
projectDeleted: 'Проєкт видалено',
taskApproved: 'Задачу затверджено',
taskTaken: 'Задачу взято в роботу',
taskFinished: 'Задачу завершено',
},
nav: {
sections: 'Розділи',
subtitle: 'gntodo — особисті задачі',
signIn: 'Увійти',
account: 'Акаунт',
signOut: 'Вийти',
task: 'Завдання',
stack: 'Вхідний стек',
tree: 'Дерево задач',
list: 'Список задач',
projects: 'Проєкти',
options: '3 варіанти',
settings: 'Налаштування',
},
stack: {
title: 'Вхідний стек',
count: 'Завдань у стеці: {n}',
quickPlaceholder: 'Кинути задачу — лише текст, решта потім…',
quickAdd: 'Кинути',
added: 'Задачу кинуто в стек',
detailTitle: 'Деталізація задачі',
emptyTitle: 'Стек порожній',
emptyText: 'Киньте першу задачу — деталізація підбереться автоматично.',
inStack: 'у стеці',
uploading: 'завантаження…',
proposal: 'Пропозиція ШІ:',
proposalPending: 'Деталізація підбирається…',
proposalNewProject: '+ проєкт «{name}»',
proposalPriority: 'пріоритет {n}',
approveProposal: 'Так, все вірно',
detail: 'Деталізувати',
redetail: 'Перепитати ШІ',
deleteTask: 'Видалити задачу',
deleteAttachment: 'Видалити вкладення',
promptProject: 'Назва нового проєкту:',
promptTag: 'Назва нового теґу:',
newProject: 'Новий проєкт',
newTag: 'Новий теґ',
approve: 'Затвердити',
form: {
title: 'Заголовок',
description: 'Опис (Markdown, Ctrl+V — картинка)',
preview: 'Попередній перегляд Markdown',
project: 'Проєкт',
tagsPlaceholder: 'Додати теґ…',
tags: 'Теґи',
priority: 'Пріоритет (0–10)',
estimate: 'Оцінка часу, хвилин',
budget: 'Бюджет (у валюті налаштувань)',
cost: 'Оцінка витрат (у валюті налаштувань)',
},
deadline: {
legend: 'Дедлайн',
date: 'Строгий — дата',
period: 'Нестрогий — період',
},
recur: {
legend: 'Тип задачі',
oneTime: 'Одноразова',
recurring: 'Регулярна (повторюється)',
kind: 'Правило повторення',
interval: 'Інтервал, днів',
weekdays: 'Дні тижня',
monthlyDay: 'День місяця (1–31, без дня — останній)',
},
},
tree: {
title: 'Дерево задач',
count: 'Завдань: {n}',
emptyTitle: 'Завдань ще немає',
emptyText: 'Затвердіть задачі у стеці — тут виросте дерево.',
addSubtask: 'Додати підзадачу',
promptSubtask: 'Підзадача:',
collapse: 'Згорнути',
expand: 'Розгорнути',
},
task: {
notFoundTitle: 'Задачу не знайдено',
notFoundText: 'Можливо, задачу видалено або посилання застаріло.',
proposalTitle: 'Пропозиція ШІ',
description: 'Опис',
descriptionEmpty: 'Опис порожній — деталізуйте задачу.',
fields: 'Параметри',
field: {
project: 'Проєкт',
priority: 'Пріоритет',
estimate: 'Оцінка часу',
money: 'Гроші',
deadline: 'Дедлайн',
recurrence: 'Повторення',
},
subtasks: 'Підзадачі',
noSubtasks: 'Підзадач немає',
},
projectPage: {
notFoundTitle: 'Проєкт не знайдено',
notFoundText: 'Можливо, проєкт видалено або посилання застаріло.',
note: 'Нотатка',
progress: 'Задачі проєкту: {done}/{total}',
newTask: 'Нова задача',
taskCreated: 'Задачу створено — потрапила у стек на деталізацію',
promptTask: 'Нова задача проєкту:',
emptyTitle: 'Задач немає',
emptyText: 'Створіть першу задачу проєкту або послабте фільтри.',
tree: 'Дерево проєкту',
},
list: {
title: 'Список задач',
count: 'Знайдено: {n}',
emptyTitle: 'Нічого не знайдено',
emptyText: 'Спробуйте послабити фільтри або киньте нову задачу у стек.',
filterStatus: 'Статус',
filterProject: 'Проєкт',
filterTag: 'Теґ',
},
options: {
title: '3 варіанти',
done: 'Готово',
notNow: 'Не зараз — інші варіанти',
available: 'Доступний час, хвилин',
suggest: 'Запропонувати',
choose: 'Робимо зараз',
emptyTitle: 'Варіантів немає',
emptyText: 'Вільних задач під цей час не знайшлося — киньте щось у стек або зменште час.',
},
projects: {
title: 'Проєкти',
count: 'Проєктів: {n}',
new: 'Новий проєкт',
emptyTitle: 'Проєктів немає',
emptyText:
'Створіть проєкт — задачі можна буде групувати й додавати нотатки з ресурсами.',
prompt: 'Назва нового проєкту:',
edit: 'Редагувати',
delete: 'Видалити проєкт',
form: {
name: 'Назва',
relevance: 'Актуальність',
priority: 'Пріоритет (0–10)',
note: 'Нотатка (Markdown: посилання, контекст)',
preview: 'Попередній перегляд',
},
},
settings: {
title: 'Налаштування',
currencyTitle: 'Валюта бюджетів',
currencyHint:
'Одиниця обирається один раз і застосовується в усіх сумах: бюджет задачі, оцінка витрат.',
currencyUnit: 'Одиниця вимірювання',
saved: 'Збережено — застосовується в усіх видах.',
languageTitle: 'Мова інтерфейсу',
languageHint:
'Обрана мова застосовується одразу. «Як в акаунті» — мова береться з gnexus auth.',
languageUnit: 'Мова',
languageAuto: 'Як в акаунті (SSO)',
langRu: 'Русский',
langEn: 'English',
langUk: 'Українська',
},
md: {
bold: 'Жирний',
boldText: 'жирний текст',
italic: 'Курсив',
italicText: 'курсивний текст',
heading: 'Заголовок',
list: 'Список',
checklist: 'Чек-ліст',
link: 'Посилання',
linkText: 'текст посилання',
code: 'Код',
},
taskui: {
status: {
to_do: 'До виконання',
in_progress: 'У роботі',
done: 'Завершено',
cancelled: 'Скасовано',
deferred: 'Відкладено',
},
relevance: {
active: 'Активний',
paused: 'Призупинено',
archived: 'Закрито',
},
time: {
hm: '{h} год {m} хв',
h: '{h} год',
m: '{m} хв',
},
money: {
budget: 'бюджет {amount}',
estimate: 'оцінка {amount}',
},
currency: {
UAH: '₴ Гривня (UAH)',
USD: '$ Долар (USD)',
EUR: '€ Євро (EUR)',
GBP: '£ Фунт (GBP)',
PLN: 'zł Злотий (PLN)',
},
deadline: {
day: 'протягом дня',
week: 'протягом тижня',
month: 'протягом місяця',
year: 'протягом року',
until: 'до {date}',
},
recur: {
kind: {
interval: 'Кожні N днів',
weekdays: 'Дні тижня',
monthly: 'День місяця',
},
daily: 'щодня',
weekly: 'щотижня',
everyN: 'кожні {n} дн.',
byWeekdays: 'за днями тижня',
monthlyDay: 'щомісяця {day}-го',
recurring: 'регулярна',
},
},
} satisfies typeof ru