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: 'Видалити',
    open: 'Відкрити',
    deleteConfirmTask: 'Видалити задачу «{title}»? Дію не можна скасувати.',
    deleteConfirmProject: 'Видалити проєкт «{name}»? Задачі залишаться, але без проєкту.',
    saved: 'Збережено',
    created: 'Створено',
    create: 'Створити',
    taskDeleted: 'Задачу видалено',
    projectDeleted: 'Проєкт видалено',
    taskApproved: 'Задачу затверджено',
    taskTaken: 'Задачу взято в роботу',
    taskFinished: 'Задачу завершено',
  },
  nav: {
    sections: 'Розділи',
    subtitle: 'gntodo — особисті задачі',
    signIn: 'Увійти',
    account: 'Акаунт',
    signOut: 'Вийти',
    task: 'Завдання',
    home: 'Головна',
    stack: 'Вхідний стек',
    list: 'Список задач',
    projects: 'Проєкти',
    options: '3 варіанти',
    settings: 'Налаштування',
  },
  home: {
    title: 'Головне',
    stackCount: 'у стеці: {n}',
    activeCount: 'активних: {n}',
    inProgress: 'У роботі',
    overdue: 'Прострочено',
    deadlines: 'Дедлайни на тиждень',
    next: 'Наступні',
    overview: 'Огляд',
    projects: 'Активні проєкти',
    clearTitle: 'Усе спокійно',
    clearText: 'Немає активних завдань — гарний момент розібрати стек.',
  },
  stack: {
    title: 'Вхідний стек',
    count: 'Завдань у стеці: {n}',
    quickPlaceholder: 'Кинути задачу — лише текст, решта потім…',
    quickAdd: 'Кинути',
    newTask: 'Нове завдання',
    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: 'Пріоритет',
      estimate: 'Оцінка часу, хвилин',
      budget: 'Бюджет (у валюті налаштувань)',
      cost: 'Оцінка витрат (у валюті налаштувань)',
    },
    deadline: {
      legend: 'Дедлайн',
      date: 'Строгий — дата',
      period: 'Нестрогий — період',
    },
    recur: {
      legend: 'Тип задачі',
      oneTime: 'Одноразова',
      recurring: 'Регулярна (повторюється)',
      kind: 'Правило повторення',
      interval: 'Інтервал, днів',
      weekdays: 'Дні тижня',
      monthlyDay: 'День місяця (1–31, без дня — останній)',
    },
  },
  tree: {
    addSubtask: 'Додати підзадачу',
    promptSubtask: 'Підзадача:',
  },
  task: {
    notFoundTitle: 'Задачу не знайдено',
    notFoundText: 'Можливо, задачу видалено або посилання застаріло.',
    proposalTitle: 'Пропозиція ШІ',
    proposalHint: 'Перевірте деталі та затвердіть — задача потрапить до списку.',
    description: 'Опис',
    descriptionEmpty: 'Опис порожній — деталізуйте задачу.',
    attachments: 'Вкладення',
    fields: 'Параметри',
    dates: 'Дати',
    field: {
      project: 'Проєкт',
      taskType: 'Тип задачі',
      priority: 'Пріоритет',
      estimate: 'Оцінка часу',
      actual: 'Фактично',
      money: 'Гроші',
      deadline: 'Дедлайн',
      recurrence: 'Повторення',
      created: 'Створено',
      approved: 'Затверджено',
      done: 'Завершено',
    },
    subtasks: 'Підзадачі',
    noSubtasks: 'Підзадач немає',
    statusTitle: 'Статус',
    changeStatus: 'Змінити статус',
    subtaskCreated: 'Підзадачу створено — потрапила у стек на деталізацію',
    createdRaw: 'Завдання потрапило у стек — деталізуйте його там',
    actions: 'Дії',
    addTag: 'Додати теґ…',
  },
  projectPage: {
    notFoundTitle: 'Проєкт не знайдено',
    notFoundText: 'Можливо, проєкт видалено або посилання застаріло.',
    note: 'Нотатка',
    noteEmpty: 'Нотатки ще немає — додайте її через «Редагувати».',
    progress: 'Задачі проєкту: {done}/{total}',
    newTask: 'Нова задача',
    taskCreated: 'Задачу створено — потрапила у стек на деталізацію',
    promptTask: 'Нова задача проєкту:',
    emptyTitle: 'Задач немає',
    emptyText: 'Створіть першу задачу проєкту або послабте фільтри.',
    tree: 'Дерево проєкту',
    stats: 'Статистика',
    total: 'Всього задач',
    doneN: 'Завершено',
    inProgress: 'У роботі',
    toDo: 'До виконання',
    overdue: 'Прострочено',
    taskCount: '{n} задач',
  },
  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: 'Пріоритет',
      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: {
    priority: {
      very_low: 'Дуже низький',
      low: 'Низький',
      medium: 'Середній',
      high: 'Високий',
      urgent: 'Терміново',
    },
    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