mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-06-21 06:11:45 +00:00
164 lines
11 KiB
TypeScript
164 lines
11 KiB
TypeScript
import type { TranslationStrings } from '../types';
|
||
|
||
const reservations: TranslationStrings = {
|
||
'reservations.title': 'Бронирования',
|
||
'reservations.empty': 'Пока нет бронирований',
|
||
'reservations.emptyHint': 'Добавьте бронирования на авиабилеты, отели и другое',
|
||
'reservations.add': 'Добавить бронирование',
|
||
'reservations.addManual': 'Ручное бронирование',
|
||
'reservations.placeHint': 'Совет: бронирования лучше создавать прямо из места, чтобы связать их с планом дня.',
|
||
'reservations.confirmed': 'Подтверждено',
|
||
'reservations.pending': 'Ожидание',
|
||
'reservations.summary': '{confirmed} подтв., {pending} ожид.',
|
||
'reservations.fromPlan': 'Из плана',
|
||
'reservations.showFiles': 'Показать файлы',
|
||
'reservations.editTitle': 'Редактировать бронирование',
|
||
'reservations.status': 'Статус',
|
||
'reservations.datetime': 'Дата и время',
|
||
'reservations.startTime': 'Время начала',
|
||
'reservations.endTime': 'Время окончания',
|
||
'reservations.date': 'Дата',
|
||
'reservations.time': 'Время',
|
||
'reservations.timeAlt': 'Время (альтернативное, напр. 19:30)',
|
||
'reservations.notes': 'Заметки',
|
||
'reservations.notesPlaceholder': 'Дополнительные заметки...',
|
||
'reservations.meta.airline': 'Авиакомпания',
|
||
'reservations.meta.flightNumber': 'Номер рейса',
|
||
'reservations.meta.from': 'Откуда',
|
||
'reservations.meta.to': 'Куда',
|
||
'reservations.layover.route': 'Маршрут',
|
||
'reservations.layover.stop': 'Остановка',
|
||
'reservations.layover.addStop': 'Добавить остановку',
|
||
'reservations.layover.connection': 'Стыковка',
|
||
'reservations.layover.layover': 'Пересадка',
|
||
'reservations.needsReview': 'Проверить',
|
||
'reservations.needsReviewHint': 'Аэропорт не удалось определить автоматически — подтвердите местоположение.',
|
||
'reservations.searchLocation': 'Искать станцию, порт, адрес...',
|
||
'reservations.meta.trainNumber': 'Номер поезда',
|
||
'reservations.meta.platform': 'Платформа',
|
||
'reservations.meta.seat': 'Место',
|
||
'reservations.meta.checkIn': 'Заезд',
|
||
'reservations.meta.checkInUntil': 'Заселение до',
|
||
'reservations.meta.checkOut': 'Выезд',
|
||
'reservations.meta.linkAccommodation': 'Жильё',
|
||
'reservations.meta.pickAccommodation': 'Привязать к жилью',
|
||
'reservations.meta.noAccommodation': 'Нет',
|
||
'reservations.meta.hotelPlace': 'Жильё',
|
||
'reservations.meta.pickHotel': 'Выбрать жильё',
|
||
'reservations.meta.fromDay': 'С',
|
||
'reservations.meta.toDay': 'По',
|
||
'reservations.meta.selectDay': 'Выбрать день',
|
||
'reservations.type.flight': 'Авиабилет',
|
||
'reservations.type.hotel': 'Жильё',
|
||
'reservations.type.restaurant': 'Ресторан',
|
||
'reservations.type.train': 'Поезд',
|
||
'reservations.type.car': 'Автомобиль',
|
||
'reservations.type.cruise': 'Круиз',
|
||
'reservations.type.event': 'Мероприятие',
|
||
'reservations.type.tour': 'Экскурсия',
|
||
'reservations.type.other': 'Другое',
|
||
'reservations.type.bus': 'Автобус',
|
||
'reservations.type.ferry': 'Паром',
|
||
'reservations.type.bicycle': 'Велосипед',
|
||
'reservations.type.taxi': 'Такси',
|
||
'reservations.type.transport_other': 'Другое',
|
||
'reservations.confirm.delete': 'Вы уверены, что хотите удалить бронирование «{name}»?',
|
||
'reservations.confirm.deleteTitle': 'Удалить бронирование?',
|
||
'reservations.confirm.deleteBody': '«{name}» будет удалено навсегда.',
|
||
'reservations.toast.updated': 'Бронирование обновлено',
|
||
'reservations.toast.removed': 'Бронирование удалено',
|
||
'reservations.toast.fileUploaded': 'Файл загружен',
|
||
'reservations.toast.uploadError': 'Ошибка загрузки',
|
||
'reservations.newTitle': 'Новое бронирование',
|
||
'reservations.bookingType': 'Тип бронирования',
|
||
'reservations.titleLabel': 'Название',
|
||
'reservations.titlePlaceholder': 'напр. Lufthansa LH123, Hotel Adlon, ...',
|
||
'reservations.locationAddress': 'Местоположение / Адрес',
|
||
'reservations.locationPlaceholder': 'Адрес, аэропорт, отель...',
|
||
'reservations.confirmationCode': 'Код бронирования',
|
||
'reservations.confirmationPlaceholder': 'напр. ABC12345',
|
||
'reservations.day': 'День',
|
||
'reservations.noDay': 'Без дня',
|
||
'reservations.place': 'Место',
|
||
'reservations.noPlace': 'Без места',
|
||
'reservations.pendingSave': 'будет сохранено…',
|
||
'reservations.uploading': 'Загрузка...',
|
||
'reservations.attachFile': 'Прикрепить файл',
|
||
'reservations.linkExisting': 'Привязать существующий файл',
|
||
'reservations.toast.saveError': 'Ошибка сохранения',
|
||
'reservations.toast.updateError': 'Ошибка обновления',
|
||
'reservations.toast.deleteError': 'Ошибка удаления',
|
||
'reservations.confirm.remove': 'Удалить бронирование для «{name}»?',
|
||
'reservations.linkAssignment': 'Привязать к назначению дня',
|
||
'reservations.pickAssignment': 'Выберите назначение из вашего плана...',
|
||
'reservations.noAssignment': 'Без привязки (самостоятельное)',
|
||
'reservations.price': 'Цена',
|
||
'reservations.budgetCategory': 'Категория бюджета',
|
||
'reservations.budgetCategoryPlaceholder': 'напр. Транспорт, Проживание',
|
||
'reservations.budgetCategoryAuto': 'Авто (по типу бронирования)',
|
||
'reservations.budgetHint': 'При сохранении будет автоматически создана запись бюджета.',
|
||
'reservations.departureDate': 'Вылет',
|
||
'reservations.arrivalDate': 'Прилёт',
|
||
'reservations.departureTime': 'Время вылета',
|
||
'reservations.arrivalTime': 'Время прилёта',
|
||
'reservations.pickupDate': 'Получение',
|
||
'reservations.returnDate': 'Возврат',
|
||
'reservations.pickupTime': 'Время получения',
|
||
'reservations.returnTime': 'Время возврата',
|
||
'reservations.endDate': 'Дата окончания',
|
||
'reservations.meta.departureTimezone': 'TZ вылета',
|
||
'reservations.meta.arrivalTimezone': 'TZ прилёта',
|
||
'reservations.span.departure': 'Вылет',
|
||
'reservations.span.arrival': 'Прилёт',
|
||
'reservations.span.inTransit': 'В пути',
|
||
'reservations.span.pickup': 'Получение',
|
||
'reservations.span.return': 'Возврат',
|
||
'reservations.span.active': 'Активно',
|
||
'reservations.span.start': 'Начало',
|
||
'reservations.span.end': 'Конец',
|
||
'reservations.span.ongoing': 'Продолжается',
|
||
'reservations.validation.endBeforeStart': 'Дата/время окончания должны быть позже даты/времени начала',
|
||
'reservations.addBooking': 'Добавить бронирование',
|
||
'reservations.import.title': 'Импорт подтверждений бронирования',
|
||
'reservations.import.cta': 'Импортировать из файла',
|
||
'reservations.import.dropHere': 'Перетащите файлы подтверждений бронирования сюда или нажмите для выбора',
|
||
'reservations.import.dropActive': 'Отпустите файлы для импорта',
|
||
'reservations.import.acceptedFormats': 'Принимаются: EML, PDF, PKPass, HTML, TXT (макс. 10 МБ каждый, до 5 файлов)',
|
||
'reservations.import.parsing': 'Обработка файлов…',
|
||
'reservations.import.previewHeading': 'Найдено {count} бронирование(й)',
|
||
'reservations.import.previewEmpty': 'Из загруженных файлов не удалось извлечь бронирования.',
|
||
'reservations.import.removeItem': 'Удалить',
|
||
'reservations.import.confirm': 'Импортировать {count} бронирование(й)',
|
||
'reservations.import.back': 'Назад',
|
||
'reservations.import.success': '{count} бронирование(й) импортировано',
|
||
'reservations.import.partialFailure': '{created} импортировано, {failed} не удалось',
|
||
'reservations.import.error':
|
||
'Обработка не удалась. Убедитесь, что файл является действительным подтверждением бронирования.',
|
||
'reservations.import.unavailable': 'Импорт бронирований недоступен на этом сервере.',
|
||
'reservations.import.unsupportedFormat': 'Неподдерживаемый формат файла. Используйте EML, PDF, PKPass, HTML или TXT.',
|
||
'reservations.import.fileTooLarge': 'Файл «{name}» превышает ограничение в 10 МБ.',
|
||
'reservations.airtrail.title': 'Импорт из AirTrail',
|
||
'reservations.airtrail.cta': 'AirTrail',
|
||
'reservations.airtrail.synced': 'AirTrail',
|
||
'reservations.airtrail.syncedHint': 'Синхронизировано с AirTrail — изменения синхронизируются в обе стороны.',
|
||
'reservations.airtrail.notSynced': 'Не синхронизировано',
|
||
'reservations.airtrail.notSyncedHint': 'Этот рейс был удалён в AirTrail и больше не синхронизируется.',
|
||
'reservations.airtrail.loadError': 'Не удалось загрузить ваши рейсы из AirTrail.',
|
||
'reservations.airtrail.imported': 'Импортировано рейсов: {count}',
|
||
'reservations.airtrail.skippedDuplicate': '{count} уже в этой поездке, пропущено',
|
||
'reservations.airtrail.nothingImported': 'Нечего импортировать.',
|
||
'reservations.airtrail.importError': 'Импорт не удался. Повторите попытку.',
|
||
'reservations.airtrail.undo': 'Импорт из AirTrail',
|
||
'reservations.airtrail.alreadyImported': 'Импортировано',
|
||
'reservations.airtrail.duringTrip': 'Во время этой поездки',
|
||
'reservations.airtrail.otherFlights': 'Другие рейсы',
|
||
'reservations.airtrail.empty': 'В вашей учётной записи AirTrail не найдено рейсов.',
|
||
'reservations.airtrail.importCta': 'Импортировать {count}',
|
||
'reservations.costsLabel': 'Costs',
|
||
'reservations.createExpense': 'Create expense',
|
||
'reservations.createExpenseHint': 'Saves the booking, then opens the Costs editor.',
|
||
'reservations.linkedExpense': 'Linked expense',
|
||
'reservations.removeExpense': 'Remove expense',
|
||
};
|
||
export default reservations;
|