Newer
Older
gnexus-tasks / frontend / src / locales / uk.ts
// Українська локаль — типізована як typeof ru, щоб пропущені ключі ловив vue-tsc.
import type ru from './ru'

export default {
  common: {
    any: '— будь-який —',
    anyStatus: '— будь-який статус —',
    noProject: '— без проєкту —',
    none: '— немає —',
    choose: '— оберіть —',
    error: 'Помилка запиту',
    save: 'Зберегти',
    cancel: 'Скасувати',
    edit: 'Редагувати',
    preview: 'Попередній перегляд',
    confirmTitle: 'Підтвердження',
    delete: 'Видалити',
    deleteConfirmTask: 'Видалити задачу «{title}»? Дію не можна скасувати.',
    deleteConfirmProject: 'Видалити проєкт «{name}»? Задачі залишаться, але без проєкту.',
    saved: 'Збережено',
    created: 'Створено',
    taskDeleted: 'Задачу видалено',
    projectDeleted: 'Проєкт видалено',
    taskApproved: 'Задачу затверджено',
    taskTaken: 'Задачу взято в роботу',
    taskFinished: 'Задачу завершено',
  },
  nav: {
    sections: 'Розділи',
    subtitle: 'gntodo — особисті задачі',
    signIn: 'Увійти',
    account: 'Акаунт',
    signOut: 'Вийти',
    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: 'Проєкт',
      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: 'Розгорнути',
  },
  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: 'Українська',
  },
  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