mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-11-13 07:40:59 +00:00
b1037dec62
Four widgets instead of one plain text block, drawn in the phone tokens (warm paper by day, near black by night) with contour lines and a route arc as the travel motif: - Trip (small, medium, large, lock screen): the cover photo, a countdown ring and a plane on its arc before the trip; the day of the trip as segments, the weather and the next stops on frosted glass while it runs - Today (medium, large): the day as a timeline in its category colours, with a now line, the day's progress and the weather - Bookings (small, medium, large, lock screen): flights, trains, hotels and tables ahead as coloured tiles, the next one featured, status dots - To-dos (small, medium, large, lock screen): to-dos and packing as nested rings, the most pressing open to-dos with priority and due dates The app now sends the destination, a small cover JPEG, the weather where the trip is, the bookings ahead, the open to-dos and the packing count; every new field is optional on both sides, so older binaries and servers keep working. Timelines step every quarter hour so the now line moves without the app. client/ios/WidgetPreviews renders every widget in every size, light and dark, on the CI's Mac, uploaded as the widget-previews artifact.
101 lines
7.7 KiB
TypeScript
101 lines
7.7 KiB
TypeScript
import type { TranslationStrings } from '../types';
|
|
|
|
const native: TranslationStrings = {
|
|
'native.connect.title': 'Підключення до TREK',
|
|
'native.connect.hint': 'Введіть адресу, за якою ви відкриваєте TREK у браузері.',
|
|
'native.connect.placeholder': 'https://trek.example.com',
|
|
'native.connect.submit': 'Підключитися',
|
|
'native.connect.checking': 'Перевірка…',
|
|
'native.connect.tryDemo': 'Спробувати демо',
|
|
'native.connect.whatIsServer': 'Що таке сервер TREK?',
|
|
'native.connect.errorInvalid': 'Це не схоже на вебадресу.',
|
|
'native.connect.errorUnreachable': 'За цією адресою не відповідає жоден сервер. Перевірте адресу та з’єднання.',
|
|
'native.connect.errorNotTrek': 'Сервер за цією адресою не є TREK.',
|
|
'native.connect.errorTooOld': 'Цей сервер TREK застарий для застосунку. Спершу його потрібно оновити.',
|
|
'native.offline.title': 'Сервер недоступний',
|
|
'native.offline.hint': 'TREK не вдалося підключитися до {server}. Перевірте з’єднання та спробуйте ще раз.',
|
|
'native.offline.retry': 'Спробувати ще раз',
|
|
'native.changeServer': 'Змінити сервер',
|
|
'native.login.failed': 'Не вдалося увійти. Спробуйте ще раз.',
|
|
'native.handoff.title': 'Продовжити в застосунку',
|
|
'native.handoff.hint': 'Ви увійшли як {name}. Відкрийте застосунок TREK, щоб завершити вхід у ньому.',
|
|
'native.handoff.open': 'Відкрити застосунок TREK',
|
|
'native.handoff.switchAccount': 'Використати інший обліковий запис',
|
|
'native.privacy': 'Політика конфіденційності',
|
|
'native.settings.server': 'Сервер',
|
|
'native.settings.serverHint': 'Застосунок підключено до {server}.',
|
|
'native.welcome.headline': 'Ваші подорожі.\nВаш план.',
|
|
'native.welcome.sub': 'Плануйте разом у реальному часі: тури, бюджети, щоденники, фотокнига — з ШІ.',
|
|
'native.welcome.connect': 'Підключіть свій TREK',
|
|
'native.welcome.connectSub': 'Відкрийте адресу, якою вже користуєтеся',
|
|
'native.welcome.getCloud': 'Отримати TREK Cloud',
|
|
'native.welcome.getCloudSub': 'Розміщено для вас, без налаштування',
|
|
'native.cloud.title': 'TREK Cloud',
|
|
'native.cloud.sub':
|
|
'Ми розміщуємо TREK для вас, на вашій власній адресі. Нічого не потрібно встановлювати чи обслуговувати: готово за кілька хвилин.',
|
|
'native.cloud.f1': 'Власна адреса, на серверах у Німеччині',
|
|
'native.cloud.f2': 'Готово за кілька хвилин, оновлення беремо на себе',
|
|
'native.cloud.f3': 'Ваші дані залишаються вашими: без реклами, без стеження',
|
|
'native.cloud.cta': 'Почати',
|
|
'native.cloud.haveServer': 'У мене вже є сервер TREK',
|
|
'native.connecting': 'Підключення до {host}',
|
|
'native.back': 'Назад',
|
|
'native.plans.title': 'Виберіть тариф',
|
|
'native.plans.sub': 'TREK на вашій власній адресі. Змінюйте або скасовуйте будь-коли.',
|
|
'native.plans.monthly': 'Щомісяця',
|
|
'native.plans.yearly': 'Щороку',
|
|
'native.plans.perMonth': 'на місяць',
|
|
'native.plans.perYear': 'на рік',
|
|
'native.plans.aiDocs': '{n} ШІ-документів на місяць',
|
|
'native.plans.noAi': 'Без ШІ-документів',
|
|
'native.plans.storage': '{n} ГБ сховища',
|
|
'native.plans.unlimited': 'Без обмежень: місця, подорожі, люди',
|
|
'native.plans.subscribe': 'Підписатися',
|
|
'native.plans.loadError': 'Не вдалося завантажити тарифи. Перевірте з’єднання та повторіть спробу.',
|
|
'native.plans.retry': 'Повторити',
|
|
'native.plans.soon': 'Підписки в застосунку вже скоро. Поки що завершіть на сайті.',
|
|
'native.claim.title': 'Майже готово',
|
|
'native.claim.sub': 'Виберіть адресу. Ми одразу все налаштуємо.',
|
|
'native.claim.addressLabel': 'Ваша адреса',
|
|
'native.claim.taken': 'Ця адреса зайнята.',
|
|
'native.claim.invalid': 'Три або більше літер, цифр і дефісів.',
|
|
'native.claim.reserved': 'Ця адреса зарезервована.',
|
|
'native.claim.free': 'Доступно',
|
|
'native.claim.emailLabel': 'Ел. пошта',
|
|
'native.claim.emailHint': 'Для вашого облікового запису та чеків.',
|
|
'native.claim.subscribe': 'Підписатися за {price}',
|
|
'native.claim.cancelled': 'Покупку скасовано.',
|
|
'native.claim.failed': 'Покупка не пройшла. Повторіть спробу.',
|
|
'native.claim.redeemFailed': 'Не вдалося налаштувати ваш TREK. Повторіть спробу.',
|
|
'native.provisioning.title': 'Налаштовуємо ваш TREK',
|
|
'native.provisioning.sub': 'Готуємо {host}. Це займе лише хвилину.',
|
|
'native.provisioning.failedTitle': 'Майже готово',
|
|
'native.provisioning.failedSub': 'Ваш TREK уже в дорозі. Повторіть спробу за мить або відкрийте застосунок пізніше.',
|
|
'native.provisioning.retry': 'Повторити зараз',
|
|
'native.update.title': 'Оновіть застосунок TREK',
|
|
'native.update.body': 'Для повної роботи цьому серверу потрібна новіша версія застосунку.',
|
|
'native.update.open': 'Оновити',
|
|
'native.lock.title': 'TREK заблоковано',
|
|
'native.lock.unlock': 'Розблокувати',
|
|
'native.lock.reason': 'Розблокувати TREK',
|
|
'native.lock.settingTitle': 'Блокування застосунку',
|
|
'native.lock.setting': 'Блокувати за допомогою Face ID або коду',
|
|
'native.lock.settingHint':
|
|
'Запитує під час відкриття TREK і після пів хвилини у фоні, а в перемикачі застосунків вміст приховано.',
|
|
'native.share.title': 'До якої подорожі імпортувати?',
|
|
'native.share.noTrips': 'Подорожей ще немає. Спершу створіть подорож, а потім знову поділіться документом.',
|
|
'native.widget.dayOf': 'День {n} з {m}',
|
|
'native.widget.today': 'Сьогодні',
|
|
'native.widget.noTrip': 'Подорожей ще не заплановано',
|
|
'native.widget.inDays': 'через {n} дн.',
|
|
'native.widget.tomorrow': 'Завтра',
|
|
'native.widget.nothingPlanned': 'На сьогодні нічого не заплановано',
|
|
'native.widget.dayDone': 'На сьогодні все',
|
|
'native.widget.noBookings': 'Майбутніх бронювань немає',
|
|
'native.widget.noTodos': 'Усе зроблено',
|
|
'native.widget.now': 'Зараз',
|
|
'native.widget.travellers': 'мандрівників',
|
|
};
|
|
|
|
export default native;
|