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
5.9 KiB
TypeScript
101 lines
5.9 KiB
TypeScript
import type { TranslationStrings } from '../types';
|
||
|
||
const native: TranslationStrings = {
|
||
'native.connect.title': 'TREK-ə qoşulun',
|
||
'native.connect.hint': 'TREK-i brauzerdə açdığınız ünvanı daxil edin.',
|
||
'native.connect.placeholder': 'https://trek.example.com',
|
||
'native.connect.submit': 'Qoşul',
|
||
'native.connect.checking': 'Yoxlanılır…',
|
||
'native.connect.tryDemo': 'Demonu sınayın',
|
||
'native.connect.whatIsServer': 'TREK serveri nədir?',
|
||
'native.connect.errorInvalid': 'Bu, veb ünvana bənzəmir.',
|
||
'native.connect.errorUnreachable': 'Bu ünvanda heç bir server cavab vermədi. Ünvanı və bağlantınızı yoxlayın.',
|
||
'native.connect.errorNotTrek': 'Bu ünvandakı server TREK deyil.',
|
||
'native.connect.errorTooOld': 'Bu TREK serveri tətbiq üçün çox köhnədir. Əvvəlcə onu yeniləmək lazımdır.',
|
||
'native.offline.title': 'Serverə çatmaq mümkün deyil',
|
||
'native.offline.hint': 'TREK {server} ünvanına çata bilmədi. Bağlantınızı yoxlayın və yenidən cəhd edin.',
|
||
'native.offline.retry': 'Yenidən cəhd et',
|
||
'native.changeServer': 'Serveri dəyiş',
|
||
'native.login.failed': 'Daxil olmaq alınmadı. Zəhmət olmasa, yenidən cəhd edin.',
|
||
'native.handoff.title': 'Tətbiqdə davam edin',
|
||
'native.handoff.hint': 'Siz {name} kimi daxil olmusunuz. Girişi orada tamamlamaq üçün TREK tətbiqini açın.',
|
||
'native.handoff.open': 'TREK tətbiqini aç',
|
||
'native.handoff.switchAccount': 'Başqa hesabdan istifadə et',
|
||
'native.privacy': 'Məxfilik siyasəti',
|
||
'native.settings.server': 'Server', // same-as-en
|
||
'native.settings.serverHint': 'Bu tətbiq {server} serverinə qoşulub.',
|
||
'native.welcome.headline': 'Səyahətlərin.\nPlanın.',
|
||
'native.welcome.sub': 'Real vaxtda birlikdə planlayın: turlar, büdcələr, jurnallar, foto kitab — süni intellektlə.',
|
||
'native.welcome.connect': 'TREK-inizi qoşun',
|
||
'native.welcome.connectSub': 'Artıq istifadə etdiyiniz ünvanı açın',
|
||
'native.welcome.getCloud': 'TREK Cloud əldə edin',
|
||
'native.welcome.getCloudSub': 'Sizin üçün hostlanır, quraşdırma yoxdur',
|
||
'native.cloud.title': 'TREK Cloud',
|
||
'native.cloud.sub':
|
||
'TREK-i sizin üçün, öz ünvanınızda hostlayırıq. Quraşdırmaq lazım deyil, saxlamaq lazım deyil: bir neçə dəqiqəyə hazırdır.',
|
||
'native.cloud.f1': 'Öz ünvanınız, Almaniyadakı serverlərdə',
|
||
'native.cloud.f2': 'Bir neçə dəqiqəyə hazır, yeniləmələr bizdən',
|
||
'native.cloud.f3': 'Məlumatlarınız sizin qalır: reklam yoxdur, izləmə yoxdur',
|
||
'native.cloud.cta': 'Başla',
|
||
'native.cloud.haveServer': 'Artıq TREK serverim var',
|
||
'native.connecting': '{host} ünvanına qoşulur',
|
||
'native.back': 'Geri',
|
||
'native.plans.title': 'Planınızı seçin',
|
||
'native.plans.sub': 'Öz ünvanınızda hostlanan TREK. İstənilən vaxt dəyişin və ya ləğv edin.',
|
||
'native.plans.monthly': 'Aylıq',
|
||
'native.plans.yearly': 'İllik',
|
||
'native.plans.perMonth': 'ayda',
|
||
'native.plans.perYear': 'ildə',
|
||
'native.plans.aiDocs': 'ayda {n} süni intellekt sənədi',
|
||
'native.plans.noAi': 'Süni intellekt sənədi yoxdur',
|
||
'native.plans.storage': '{n} GB yaddaş',
|
||
'native.plans.unlimited': 'Limitsiz yer, səyahət və insan',
|
||
'native.plans.subscribe': 'Abunə ol',
|
||
'native.plans.loadError': 'Planları yükləmək mümkün olmadı. Bağlantınızı yoxlayın və yenidən cəhd edin.',
|
||
'native.plans.retry': 'Yenidən cəhd edin',
|
||
'native.plans.soon': 'Tətbiqdaxili abunələr tezliklə gəlir. Hələlik veb saytda tamamlayın.',
|
||
'native.claim.title': 'Az qaldı',
|
||
'native.claim.sub': 'Ünvanınızı seçin. Dərhal hazırlayırıq.',
|
||
'native.claim.addressLabel': 'Ünvanınız',
|
||
'native.claim.taken': 'Bu ünvan tutulub.',
|
||
'native.claim.invalid': 'Üç və ya daha çox hərf, rəqəm və defis.',
|
||
'native.claim.reserved': 'Bu ünvan ehtiyat saxlanılıb.',
|
||
'native.claim.free': 'Əlçatandır',
|
||
'native.claim.emailLabel': 'E-poçt',
|
||
'native.claim.emailHint': 'Hesabınız və qəbzləriniz üçün.',
|
||
'native.claim.subscribe': '{price} qarşılığında abunə ol',
|
||
'native.claim.cancelled': 'Alış ləğv edildi.',
|
||
'native.claim.failed': 'Alış baş tutmadı. Zəhmət olmasa yenidən cəhd edin.',
|
||
'native.claim.redeemFailed': 'TREK-inizi hazırlaya bilmədik. Zəhmət olmasa yenidən cəhd edin.',
|
||
'native.provisioning.title': 'TREK-iniz hazırlanır',
|
||
'native.provisioning.sub': '{host} hazırlanır. Bu yalnız bir dəqiqə çəkir.',
|
||
'native.provisioning.failedTitle': 'Demək olar ki hazırdır',
|
||
'native.provisioning.failedSub': 'TREK-iniz yoldadır. Bir azdan yenidən cəhd edin və ya tətbiqi sonra açın.',
|
||
'native.provisioning.retry': 'İndi cəhd edin',
|
||
'native.update.title': 'TREK tətbiqini yeniləyin',
|
||
'native.update.body': 'Hər şeyin işləməsi üçün bu server tətbiqin daha yeni versiyasını tələb edir.',
|
||
'native.update.open': 'Yenilə',
|
||
'native.lock.title': 'TREK kilidlənib',
|
||
'native.lock.unlock': 'Kilidi aç',
|
||
'native.lock.reason': 'TREK kilidini aç',
|
||
'native.lock.settingTitle': 'Tətbiq kilidi',
|
||
'native.lock.setting': 'Face ID və ya kodla kilidlə',
|
||
'native.lock.settingHint':
|
||
'TREK açılanda və arxa fonda yarım dəqiqədən sonra soruşur, tətbiqi tətbiq dəyişdiricisində gizlədir.',
|
||
'native.share.title': 'Hansı səyahətə idxal edilsin?',
|
||
'native.share.noTrips': 'Hələ səyahət yoxdur. Əvvəlcə birini yaradın, sonra sənədi yenidən paylaşın.',
|
||
'native.widget.dayOf': '{m} gündən {n}-ci gün',
|
||
'native.widget.today': 'Bu gün',
|
||
'native.widget.noTrip': 'Hələ planlanmış səyahət yoxdur',
|
||
'native.widget.inDays': '{n} gün sonra',
|
||
'native.widget.tomorrow': 'Sabah',
|
||
'native.widget.nothingPlanned': 'Bu gün üçün plan yoxdur',
|
||
'native.widget.dayDone': 'Bu gün üçün hər şey bitdi',
|
||
'native.widget.noBookings': 'Qarşıda bron yoxdur',
|
||
'native.widget.noTodos': 'Görüləsi iş qalmayıb',
|
||
'native.widget.now': 'İndi',
|
||
'native.widget.travellers': 'səyyah',
|
||
};
|
||
|
||
export default native;
|