mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-10-18 21:16:47 +00:00
feat(atlas): search by place, and count cities that are actually cities (#1908)
* refactor(atlas): drop the last-trip tile from the stats bar The row beside the continent counts is statistics; a single trip sitting in it was neither, and the trip it named is already one click away in the country detail below. Its two locale keys go with it, along with atlas.lastVisitLabel, which nothing had rendered for a while. * feat(atlas): resolve a coordinate to its country and region Groundwork for searching the atlas by place: /locate answers with the admin1 region a point falls in, resolved against the same bundled polygons the visited colouring uses, so the answer is always something the map can highlight. A country without admin1 coverage resolves to a country and a null region, which is a real answer rather than a failure. * feat(atlas): search the map by place, not only by country Typing a city geocodes it through the same /maps/search everything else uses and offers the hits below the instant local country matches. Picking one flies there and opens the dialog for the region it sits in, so Milan marks Lombardy without the user knowing that is where Milan is. The country list stays offline and instant; only the place lookup waits on the network, debounced and sequence-guarded so a slow answer cannot overwrite a newer query. * fix(atlas): count cities instead of shop names The visited-cities figure scanned the address left to right and took the first part that was not a country and matched a latin-only pattern. The first part of a geocoded address is the place itself, so a trip to Tokyo counted Shibuya Sky, Shibuya Parco and Family Mart as three cities, while an address written in Japanese, Cyrillic, Greek or Korean counted none at all. Read from the administrative end instead, skipping the country, anything with digits, and the region already resolved for that place in place_regions, which is what separates the city from the region above it. On one real trip the count went from 20 entries, nearly all of them streets and shops, to Paris, Shibuya, Minato and three Berlin boroughs. * i18n(atlas): translate the place-search heading * docs(atlas): document place search and how cities are counted * fix(atlas): stop the search panel closing itself while results arrive The dropdown closed on mouseleave, which was survivable while it held only local country matches and appeared complete in one go. Geocoded places land a moment later and grow the list under a cursor already resting there, so the panel shut itself seconds after opening. Closes on a click outside now, Escape unchanged.
This commit is contained in:
@@ -56,6 +56,19 @@ export const regionGeoSchema = z.object({
|
||||
});
|
||||
export type RegionGeo = z.infer<typeof regionGeoSchema>;
|
||||
|
||||
/**
|
||||
* Where a coordinate lands on the atlas map (#1115). Both fields are nullable: the
|
||||
* point may sit outside every bundled polygon (open sea, a simplification gap at a
|
||||
* coastline), and plenty of countries have no admin1 coverage in the bundle at all,
|
||||
* in which case the country resolves and the region does not.
|
||||
*/
|
||||
export const atlasLocateResponseSchema = z.object({
|
||||
country_code: z.string().nullable(),
|
||||
region_code: z.string().nullable(),
|
||||
region_name: z.string().nullable(),
|
||||
});
|
||||
export type AtlasLocateResponse = z.infer<typeof atlasLocateResponseSchema>;
|
||||
|
||||
/**
|
||||
* How a country/region ended up on the atlas map. Before this, every trip counted as a
|
||||
* visit, so a booked-but-not-taken trip painted the map as if you had already been there.
|
||||
|
||||
@@ -15,6 +15,7 @@ const atlas: TranslationStrings = {
|
||||
'atlas.addToBucket': 'إضافة إلى قائمة الأمنيات',
|
||||
'atlas.addPoi': 'إضافة مكان',
|
||||
'atlas.searchCountry': 'ابحث عن دولة...',
|
||||
'atlas.searchPlaces': 'الأماكن',
|
||||
'atlas.bucketNamePlaceholder': 'الاسم (بلد، مدينة، مكان…)',
|
||||
'atlas.month': 'الشهر',
|
||||
'atlas.year': 'السنة',
|
||||
@@ -33,7 +34,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.cities': 'المدن',
|
||||
'atlas.noData': 'لا توجد بيانات سفر بعد',
|
||||
'atlas.noDataHint': 'أنشئ رحلة وأضف أماكن لرؤية خريطتك العالمية',
|
||||
'atlas.lastTrip': 'آخر رحلة',
|
||||
'atlas.nextTrip': 'الرحلة القادمة',
|
||||
'atlas.daysLeft': 'يوم متبقٍ',
|
||||
'atlas.streak': 'سلسلة',
|
||||
@@ -51,7 +51,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.oceania': 'أوقيانوسيا',
|
||||
'atlas.other': 'أخرى',
|
||||
'atlas.firstVisit': 'أول رحلة',
|
||||
'atlas.lastVisitLabel': 'آخر رحلة',
|
||||
'atlas.tripSingular': 'رحلة',
|
||||
'atlas.tripPlural': 'رحلات',
|
||||
'atlas.placeVisited': 'مكان تمت زيارته',
|
||||
|
||||
@@ -15,6 +15,7 @@ const atlas: TranslationStrings = {
|
||||
'atlas.addToBucket': 'Adicionar à lista de desejos',
|
||||
'atlas.addPoi': 'Adicionar lugar',
|
||||
'atlas.searchCountry': 'Buscar um país...',
|
||||
'atlas.searchPlaces': 'Lugares',
|
||||
'atlas.bucketNamePlaceholder': 'Nome (país, cidade, lugar…)',
|
||||
'atlas.month': 'Mês',
|
||||
'atlas.year': 'Ano',
|
||||
@@ -33,7 +34,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.cities': 'Cidades',
|
||||
'atlas.noData': 'Ainda sem dados de viagem',
|
||||
'atlas.noDataHint': 'Crie uma viagem e adicione lugares para ver o mapa mundial',
|
||||
'atlas.lastTrip': 'Última viagem',
|
||||
'atlas.nextTrip': 'Próxima viagem',
|
||||
'atlas.daysLeft': 'dias restantes',
|
||||
'atlas.streak': 'Sequência',
|
||||
@@ -51,7 +51,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.oceania': 'Oceania',
|
||||
'atlas.other': 'Outro',
|
||||
'atlas.firstVisit': 'Primeira viagem',
|
||||
'atlas.lastVisitLabel': 'Última viagem',
|
||||
'atlas.tripSingular': 'Viagem',
|
||||
'atlas.tripPlural': 'Viagens',
|
||||
'atlas.placeVisited': 'Lugar visitado',
|
||||
|
||||
@@ -10,7 +10,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.cities': 'Ciutats',
|
||||
'atlas.noData': 'Encara no hi ha dades de viatge',
|
||||
'atlas.noDataHint': 'Crea un viatge i afegeix llocs per veure el teu mapa del món',
|
||||
'atlas.lastTrip': 'Darrer viatge',
|
||||
'atlas.nextTrip': 'Proper viatge',
|
||||
'atlas.daysLeft': 'dies restants',
|
||||
'atlas.streak': 'Ratxa',
|
||||
@@ -29,7 +28,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.oceania': 'Oceania',
|
||||
'atlas.other': 'Altres',
|
||||
'atlas.firstVisit': 'Primer viatge',
|
||||
'atlas.lastVisitLabel': 'Darrer viatge',
|
||||
'atlas.tripSingular': 'Viatge',
|
||||
'atlas.tripPlural': 'Viatges',
|
||||
'atlas.placeVisited': 'Lloc visitat',
|
||||
@@ -51,6 +49,7 @@ const atlas: TranslationStrings = {
|
||||
'atlas.addToBucket': 'Afegeix a la llista de desitjos',
|
||||
'atlas.addPoi': 'Afegeix un lloc',
|
||||
'atlas.searchCountry': 'Cerca un país...',
|
||||
'atlas.searchPlaces': 'Llocs',
|
||||
'atlas.month': 'Mes',
|
||||
'atlas.addToBucketHint': 'Desa-ho com a lloc que vols visitar',
|
||||
'atlas.removeFromBucket': 'Elimina de la llista de desitjos',
|
||||
|
||||
@@ -31,7 +31,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.cities': 'Města',
|
||||
'atlas.noData': 'Zatím žádná cestovatelská data',
|
||||
'atlas.noDataHint': 'Vytvořte cestu a přidejte místa, abyste viděli svou mapu světa',
|
||||
'atlas.lastTrip': 'Poslední cesta',
|
||||
'atlas.nextTrip': 'Další cesta',
|
||||
'atlas.daysLeft': 'dní zbývá',
|
||||
'atlas.streak': 'Série',
|
||||
@@ -50,12 +49,12 @@ const atlas: TranslationStrings = {
|
||||
'atlas.oceania': 'Oceánie',
|
||||
'atlas.other': 'Ostatní',
|
||||
'atlas.firstVisit': 'První cesta',
|
||||
'atlas.lastVisitLabel': 'Poslední cesta',
|
||||
'atlas.tripSingular': 'Cesta',
|
||||
'atlas.tripPlural': 'Cesty',
|
||||
'atlas.placeVisited': 'Navštívené místo',
|
||||
'atlas.placesVisited': 'Navštívená místa',
|
||||
'atlas.searchCountry': 'Hledat zemi...',
|
||||
'atlas.searchPlaces': 'Místa',
|
||||
'atlas.planned': 'Plánováno',
|
||||
'atlas.showPlanned': 'Zobrazit plánované země',
|
||||
'atlas.plannedFor': 'Plánováno na',
|
||||
|
||||
@@ -15,6 +15,7 @@ const atlas: TranslationStrings = {
|
||||
'atlas.addToBucket': 'Zur Bucket List',
|
||||
'atlas.addPoi': 'Ort hinzufügen',
|
||||
'atlas.searchCountry': 'Land suchen...',
|
||||
'atlas.searchPlaces': 'Orte',
|
||||
'atlas.bucketNamePlaceholder': 'Name (Land, Stadt, Ort...)',
|
||||
'atlas.month': 'Monat',
|
||||
'atlas.year': 'Jahr',
|
||||
@@ -33,7 +34,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.cities': 'Städte',
|
||||
'atlas.noData': 'Noch keine Reisedaten',
|
||||
'atlas.noDataHint': 'Erstelle einen Trip und füge Orte hinzu',
|
||||
'atlas.lastTrip': 'Letzter Trip',
|
||||
'atlas.nextTrip': 'Nächster Trip',
|
||||
'atlas.daysLeft': 'Tage',
|
||||
'atlas.streak': 'Serie',
|
||||
@@ -51,7 +51,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.oceania': 'Ozeanien',
|
||||
'atlas.other': 'Andere',
|
||||
'atlas.firstVisit': 'Erste Reise',
|
||||
'atlas.lastVisitLabel': 'Letzte Reise',
|
||||
'atlas.tripSingular': 'Reise',
|
||||
'atlas.tripPlural': 'Reisen',
|
||||
'atlas.placeVisited': 'Ort besucht',
|
||||
|
||||
@@ -15,6 +15,7 @@ const atlas: TranslationStrings = {
|
||||
'atlas.addToBucket': 'Add to bucket list',
|
||||
'atlas.addPoi': 'Add place',
|
||||
'atlas.searchCountry': 'Search a country...',
|
||||
'atlas.searchPlaces': 'Places',
|
||||
'atlas.bucketNamePlaceholder': 'Name (country, city, place...)',
|
||||
'atlas.month': 'Month',
|
||||
'atlas.year': 'Year',
|
||||
@@ -33,7 +34,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.cities': 'Cities',
|
||||
'atlas.noData': 'No travel data yet',
|
||||
'atlas.noDataHint': 'Create a trip and add places to see your world map',
|
||||
'atlas.lastTrip': 'Last trip',
|
||||
'atlas.nextTrip': 'Next trip',
|
||||
'atlas.daysLeft': 'days left',
|
||||
'atlas.streak': 'Streak',
|
||||
@@ -51,7 +51,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.oceania': 'Oceania',
|
||||
'atlas.other': 'Other',
|
||||
'atlas.firstVisit': 'First trip',
|
||||
'atlas.lastVisitLabel': 'Last trip',
|
||||
'atlas.tripSingular': 'Trip',
|
||||
'atlas.tripPlural': 'Trips',
|
||||
'atlas.placeVisited': 'Place visited',
|
||||
|
||||
@@ -10,7 +10,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.cities': 'Ciudades',
|
||||
'atlas.noData': 'Aún no hay datos de viaje',
|
||||
'atlas.noDataHint': 'Crea un viaje y añade lugares para ver tu mapa del mundo',
|
||||
'atlas.lastTrip': 'Último viaje',
|
||||
'atlas.nextTrip': 'Próximo viaje',
|
||||
'atlas.daysLeft': 'días restantes',
|
||||
'atlas.streak': 'Racha',
|
||||
@@ -29,7 +28,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.oceania': 'Oceanía',
|
||||
'atlas.other': 'Otros',
|
||||
'atlas.firstVisit': 'Primer viaje',
|
||||
'atlas.lastVisitLabel': 'Último viaje',
|
||||
'atlas.tripSingular': 'Viaje',
|
||||
'atlas.tripPlural': 'Viajes',
|
||||
'atlas.placeVisited': 'Lugar visitado',
|
||||
@@ -51,6 +49,7 @@ const atlas: TranslationStrings = {
|
||||
'atlas.addToBucket': 'Añadir a lista de deseos',
|
||||
'atlas.addPoi': 'Añadir lugar',
|
||||
'atlas.searchCountry': 'Buscar un país...',
|
||||
'atlas.searchPlaces': 'Lugares',
|
||||
'atlas.month': 'Mes',
|
||||
'atlas.addToBucketHint': 'Guardar como lugar que quieres visitar',
|
||||
'atlas.removeFromBucket': 'Quitar de la lista de deseos',
|
||||
|
||||
@@ -10,7 +10,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.cities': 'Villes',
|
||||
'atlas.noData': 'Aucune donnée de voyage',
|
||||
'atlas.noDataHint': 'Créez un voyage et ajoutez des lieux pour voir votre carte du monde',
|
||||
'atlas.lastTrip': 'Dernier voyage',
|
||||
'atlas.nextTrip': 'Prochain voyage',
|
||||
'atlas.daysLeft': 'jours restants',
|
||||
'atlas.streak': 'Série',
|
||||
@@ -29,7 +28,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.oceania': 'Océanie',
|
||||
'atlas.other': 'Autre',
|
||||
'atlas.firstVisit': 'Premier voyage',
|
||||
'atlas.lastVisitLabel': 'Dernier voyage',
|
||||
'atlas.tripSingular': 'Voyage',
|
||||
'atlas.tripPlural': 'Voyages',
|
||||
'atlas.placeVisited': 'Lieu visité',
|
||||
@@ -51,6 +49,7 @@ const atlas: TranslationStrings = {
|
||||
'atlas.addToBucket': 'Ajouter à la bucket list',
|
||||
'atlas.addPoi': 'Ajouter un lieu',
|
||||
'atlas.searchCountry': 'Rechercher un pays…',
|
||||
'atlas.searchPlaces': 'Lieux',
|
||||
'atlas.month': 'Mois',
|
||||
'atlas.addToBucketHint': 'Sauvegarder comme lieu à visiter',
|
||||
'atlas.removeFromBucket': 'Retirer de la bucket list',
|
||||
|
||||
@@ -15,6 +15,7 @@ const atlas: TranslationStrings = {
|
||||
'atlas.addToBucket': 'Προσθήκη στη λίστα επιθυμιών',
|
||||
'atlas.addPoi': 'Προσθήκη μέρους',
|
||||
'atlas.searchCountry': 'Αναζήτηση χώρας...',
|
||||
'atlas.searchPlaces': 'Μέρη',
|
||||
'atlas.bucketNamePlaceholder': 'Όνομα (χώρα, πόλη, μέρος...)',
|
||||
'atlas.month': 'Μήνας',
|
||||
'atlas.year': 'Έτος',
|
||||
@@ -33,7 +34,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.cities': 'Πόλεις',
|
||||
'atlas.noData': 'Δεν υπάρχουν ταξιδιωτικά δεδομένα ακόμη',
|
||||
'atlas.noDataHint': 'Δημιουργήστε ένα ταξίδι και προσθέστε μέρη για να δείτε τον παγκόσμιο χάρτη σας',
|
||||
'atlas.lastTrip': 'Τελευταίο ταξίδι',
|
||||
'atlas.nextTrip': 'Επόμενο ταξίδι',
|
||||
'atlas.daysLeft': 'ημέρες απομένουν',
|
||||
'atlas.streak': 'Σερί',
|
||||
@@ -51,7 +51,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.oceania': 'Ωκεανία',
|
||||
'atlas.other': 'Άλλο',
|
||||
'atlas.firstVisit': 'Πρώτο ταξίδι',
|
||||
'atlas.lastVisitLabel': 'Τελευταίο ταξίδι',
|
||||
'atlas.tripSingular': 'Ταξίδι',
|
||||
'atlas.tripPlural': 'Ταξίδια',
|
||||
'atlas.placeVisited': 'Μέρος που επισκεφθήκατε',
|
||||
|
||||
@@ -15,6 +15,7 @@ const atlas: TranslationStrings = {
|
||||
'atlas.addToBucket': 'Hozzáadás a bakancslistához',
|
||||
'atlas.addPoi': 'Hely hozzáadása',
|
||||
'atlas.searchCountry': 'Ország keresése...',
|
||||
'atlas.searchPlaces': 'Helyek',
|
||||
'atlas.bucketNamePlaceholder': 'Név (ország, város, hely...)',
|
||||
'atlas.month': 'Hónap',
|
||||
'atlas.addToBucketHint': 'Mentés meglátogatni kívánt helyként',
|
||||
@@ -32,7 +33,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.cities': 'Városok',
|
||||
'atlas.noData': 'Még nincsenek utazási adatok',
|
||||
'atlas.noDataHint': 'Hozz létre egy utazást és adj hozzá helyeket a világtérképhez',
|
||||
'atlas.lastTrip': 'Utolsó utazás',
|
||||
'atlas.nextTrip': 'Következő utazás',
|
||||
'atlas.daysLeft': 'nap van hátra',
|
||||
'atlas.streak': 'Sorozat',
|
||||
@@ -51,7 +51,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.oceania': 'Óceánia',
|
||||
'atlas.other': 'Egyéb',
|
||||
'atlas.firstVisit': 'Első utazás',
|
||||
'atlas.lastVisitLabel': 'Utolsó utazás',
|
||||
'atlas.tripSingular': 'Utazás',
|
||||
'atlas.tripPlural': 'Utazások',
|
||||
'atlas.placeVisited': 'Meglátogatott hely',
|
||||
|
||||
@@ -15,6 +15,7 @@ const atlas: TranslationStrings = {
|
||||
'atlas.addToBucket': 'Tambah ke bucket list',
|
||||
'atlas.addPoi': 'Tambah tempat',
|
||||
'atlas.searchCountry': 'Cari negara...',
|
||||
'atlas.searchPlaces': 'Tempat',
|
||||
'atlas.bucketNamePlaceholder': 'Nama (negara, kota, tempat...)',
|
||||
'atlas.month': 'Bulan',
|
||||
'atlas.year': 'Tahun',
|
||||
@@ -33,7 +34,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.cities': 'Kota',
|
||||
'atlas.noData': 'Belum ada data perjalanan',
|
||||
'atlas.noDataHint': 'Buat perjalanan dan tambahkan tempat untuk melihat peta duniamu',
|
||||
'atlas.lastTrip': 'Perjalanan terakhir',
|
||||
'atlas.nextTrip': 'Perjalanan berikutnya',
|
||||
'atlas.daysLeft': 'hari lagi',
|
||||
'atlas.streak': 'Rentetan',
|
||||
@@ -51,7 +51,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.oceania': 'Oseania',
|
||||
'atlas.other': 'Lainnya',
|
||||
'atlas.firstVisit': 'Perjalanan pertama',
|
||||
'atlas.lastVisitLabel': 'Perjalanan terakhir',
|
||||
'atlas.tripSingular': 'Perjalanan',
|
||||
'atlas.tripPlural': 'Perjalanan',
|
||||
'atlas.placeVisited': 'Tempat dikunjungi',
|
||||
|
||||
@@ -31,7 +31,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.cities': 'Città',
|
||||
'atlas.noData': 'Ancora nessun dato di viaggio',
|
||||
'atlas.noDataHint': 'Crea un viaggio e aggiungi luoghi per vedere la tua mappa del mondo',
|
||||
'atlas.lastTrip': 'Ultimo viaggio',
|
||||
'atlas.nextTrip': 'Prossimo viaggio',
|
||||
'atlas.daysLeft': 'giorni rimasti',
|
||||
'atlas.streak': 'Serie',
|
||||
@@ -50,12 +49,12 @@ const atlas: TranslationStrings = {
|
||||
'atlas.oceania': 'Oceania',
|
||||
'atlas.other': 'Altro',
|
||||
'atlas.firstVisit': 'Primo viaggio',
|
||||
'atlas.lastVisitLabel': 'Ultimo viaggio',
|
||||
'atlas.tripSingular': 'Viaggio',
|
||||
'atlas.tripPlural': 'Viaggi',
|
||||
'atlas.placeVisited': 'Luogo visitato',
|
||||
'atlas.placesVisited': 'Luoghi visitati',
|
||||
'atlas.searchCountry': 'Cerca un paese...',
|
||||
'atlas.searchPlaces': 'Luoghi',
|
||||
'atlas.planned': 'In programma',
|
||||
'atlas.showPlanned': 'Mostra i paesi in programma',
|
||||
'atlas.plannedFor': 'In programma per',
|
||||
|
||||
@@ -15,6 +15,7 @@ const atlas: TranslationStrings = {
|
||||
'atlas.addToBucket': '行きたいリストに追加',
|
||||
'atlas.addPoi': '場所を追加',
|
||||
'atlas.searchCountry': '国を検索...',
|
||||
'atlas.searchPlaces': '場所',
|
||||
'atlas.bucketNamePlaceholder': '名前(国・都市・場所など)',
|
||||
'atlas.month': '月',
|
||||
'atlas.year': '年',
|
||||
@@ -33,7 +34,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.cities': '都市',
|
||||
'atlas.noData': '旅行データがありません',
|
||||
'atlas.noDataHint': '旅行を作成して場所を追加すると、マップに表示されます',
|
||||
'atlas.lastTrip': '前回の旅行',
|
||||
'atlas.nextTrip': '次の旅行',
|
||||
'atlas.daysLeft': '残り日数',
|
||||
'atlas.streak': '連続',
|
||||
@@ -51,7 +51,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.oceania': 'オセアニア',
|
||||
'atlas.other': 'その他',
|
||||
'atlas.firstVisit': '最初の旅行',
|
||||
'atlas.lastVisitLabel': '最後の旅行',
|
||||
'atlas.tripSingular': '旅行',
|
||||
'atlas.tripPlural': '旅行',
|
||||
'atlas.placeVisited': '訪問した場所',
|
||||
|
||||
@@ -15,6 +15,7 @@ const atlas: TranslationStrings = {
|
||||
'atlas.addToBucket': '버킷 리스트에 추가',
|
||||
'atlas.addPoi': '장소 추가',
|
||||
'atlas.searchCountry': '국가 검색...',
|
||||
'atlas.searchPlaces': '장소',
|
||||
'atlas.bucketNamePlaceholder': '이름 (국가, 도시, 장소...)',
|
||||
'atlas.month': '월',
|
||||
'atlas.year': '연도',
|
||||
@@ -33,7 +34,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.cities': '도시',
|
||||
'atlas.noData': '아직 여행 데이터가 없습니다',
|
||||
'atlas.noDataHint': '여행을 만들고 장소를 추가하여 세계 지도를 확인하세요',
|
||||
'atlas.lastTrip': '마지막 여행',
|
||||
'atlas.nextTrip': '다음 여행',
|
||||
'atlas.daysLeft': '일 남음',
|
||||
'atlas.streak': '연속',
|
||||
@@ -51,7 +51,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.oceania': '오세아니아',
|
||||
'atlas.other': '기타',
|
||||
'atlas.firstVisit': '첫 번째 여행',
|
||||
'atlas.lastVisitLabel': '마지막 여행',
|
||||
'atlas.tripSingular': '여행',
|
||||
'atlas.tripPlural': '여행',
|
||||
'atlas.placeVisited': '방문한 장소',
|
||||
|
||||
@@ -10,7 +10,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.cities': 'Steden',
|
||||
'atlas.noData': 'Nog geen reisgegevens',
|
||||
'atlas.noDataHint': 'Maak een reis aan en voeg plaatsen toe om je wereldkaart te zien',
|
||||
'atlas.lastTrip': 'Laatste reis',
|
||||
'atlas.nextTrip': 'Volgende reis',
|
||||
'atlas.daysLeft': 'dagen te gaan',
|
||||
'atlas.streak': 'Reeks',
|
||||
@@ -29,7 +28,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.oceania': 'Oceanië',
|
||||
'atlas.other': 'Overig',
|
||||
'atlas.firstVisit': 'Eerste reis',
|
||||
'atlas.lastVisitLabel': 'Laatste reis',
|
||||
'atlas.tripSingular': 'Reis',
|
||||
'atlas.tripPlural': 'Reizen',
|
||||
'atlas.placeVisited': 'Bezochte plaats',
|
||||
@@ -51,6 +49,7 @@ const atlas: TranslationStrings = {
|
||||
'atlas.addToBucket': 'Aan bucket list toevoegen',
|
||||
'atlas.addPoi': 'Plaats toevoegen',
|
||||
'atlas.searchCountry': 'Zoek een land...',
|
||||
'atlas.searchPlaces': 'Plekken',
|
||||
'atlas.month': 'Maand',
|
||||
'atlas.addToBucketHint': 'Opslaan als plek die je wilt bezoeken',
|
||||
'atlas.removeFromBucket': 'Uit bucket list verwijderen',
|
||||
|
||||
@@ -32,7 +32,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.cities': 'Miasta',
|
||||
'atlas.noData': 'Brak danych o podróżach',
|
||||
'atlas.noDataHint': 'Utwórz podróż i dodaj miejsca, aby zobaczyć swoją mapę świata',
|
||||
'atlas.lastTrip': 'Ostatnia podróż',
|
||||
'atlas.nextTrip': 'Następna podróż',
|
||||
'atlas.daysLeft': 'dni do wyjazdu',
|
||||
'atlas.streak': 'Seria',
|
||||
@@ -50,12 +49,12 @@ const atlas: TranslationStrings = {
|
||||
'atlas.oceania': 'Oceania',
|
||||
'atlas.other': 'Inne',
|
||||
'atlas.firstVisit': 'Pierwsza podróż',
|
||||
'atlas.lastVisitLabel': 'Ostatnia podróż',
|
||||
'atlas.tripSingular': 'Podróż',
|
||||
'atlas.tripPlural': 'Podróże',
|
||||
'atlas.placeVisited': 'Odwiedzone miejsce',
|
||||
'atlas.placesVisited': 'Odwiedzone miejsca',
|
||||
'atlas.searchCountry': 'Szukaj kraju...',
|
||||
'atlas.searchPlaces': 'Miejsca',
|
||||
'atlas.planned': 'Zaplanowane',
|
||||
'atlas.showPlanned': 'Pokaż zaplanowane kraje',
|
||||
'atlas.plannedFor': 'Zaplanowano na',
|
||||
|
||||
@@ -10,7 +10,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.cities': 'Города',
|
||||
'atlas.noData': 'Данных о поездках пока нет',
|
||||
'atlas.noDataHint': 'Создайте поездку и добавьте места, чтобы увидеть карту мира',
|
||||
'atlas.lastTrip': 'Последняя поездка',
|
||||
'atlas.nextTrip': 'Следующая поездка',
|
||||
'atlas.daysLeft': 'дней осталось',
|
||||
'atlas.streak': 'Серия',
|
||||
@@ -29,7 +28,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.oceania': 'Океания',
|
||||
'atlas.other': 'Другое',
|
||||
'atlas.firstVisit': 'Первая поездка',
|
||||
'atlas.lastVisitLabel': 'Последняя поездка',
|
||||
'atlas.tripSingular': 'Поездка',
|
||||
'atlas.tripPlural': 'Поездки',
|
||||
'atlas.placeVisited': 'Посещённое место',
|
||||
@@ -51,6 +49,7 @@ const atlas: TranslationStrings = {
|
||||
'atlas.addToBucket': 'В список желаний',
|
||||
'atlas.addPoi': 'Добавить место',
|
||||
'atlas.searchCountry': 'Поиск страны...',
|
||||
'atlas.searchPlaces': 'Места',
|
||||
'atlas.month': 'Месяц',
|
||||
'atlas.addToBucketHint': 'Сохранить как место для посещения',
|
||||
'atlas.removeFromBucket': 'Убрать из списка желаний',
|
||||
|
||||
@@ -15,6 +15,7 @@ const atlas: TranslationStrings = {
|
||||
'atlas.addToBucket': 'Lägg till på bucketlistan',
|
||||
'atlas.addPoi': 'Lägg till plats',
|
||||
'atlas.searchCountry': 'Sök efter ett land...',
|
||||
'atlas.searchPlaces': 'Platser',
|
||||
'atlas.bucketNamePlaceholder': 'Namn (land, stad, ort...)',
|
||||
'atlas.month': 'Månad',
|
||||
'atlas.year': 'År',
|
||||
@@ -33,7 +34,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.cities': 'Städer',
|
||||
'atlas.noData': 'Inga resedata ännu',
|
||||
'atlas.noDataHint': 'Skapa en resa och lägg till platser på din världskarta',
|
||||
'atlas.lastTrip': 'Den senaste resan',
|
||||
'atlas.nextTrip': 'Nästa resa',
|
||||
'atlas.daysLeft': 'dagar kvar',
|
||||
'atlas.streak': 'Streak',
|
||||
@@ -51,7 +51,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.oceania': 'Oceanien',
|
||||
'atlas.other': 'Andra',
|
||||
'atlas.firstVisit': 'Första resan',
|
||||
'atlas.lastVisitLabel': 'Den senaste resan',
|
||||
'atlas.tripSingular': 'Resa',
|
||||
'atlas.tripPlural': 'Resor',
|
||||
'atlas.placeVisited': 'Plats besökt',
|
||||
|
||||
@@ -15,6 +15,7 @@ const atlas: TranslationStrings = {
|
||||
'atlas.addToBucket': 'Yapılacaklar listesine ekle',
|
||||
'atlas.addPoi': 'Yer ekle',
|
||||
'atlas.searchCountry': 'Bir ülkeyi arayın...',
|
||||
'atlas.searchPlaces': 'Yerler',
|
||||
'atlas.bucketNamePlaceholder': 'İsim (ülke, şehir, yer...)',
|
||||
'atlas.month': 'Ay',
|
||||
'atlas.year': 'Yıl',
|
||||
@@ -33,7 +34,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.cities': 'Şehirler',
|
||||
'atlas.noData': 'Henüz seyahat verisi yok',
|
||||
'atlas.noDataHint': 'Bir gezi oluşturun ve dünya haritanızı göreceğiniz yerleri ekleyin',
|
||||
'atlas.lastTrip': 'Son yolculuk',
|
||||
'atlas.nextTrip': 'Sonraki gezi',
|
||||
'atlas.daysLeft': 'kalan günler',
|
||||
'atlas.streak': 'Rüzgâr gibi geçmek',
|
||||
@@ -51,7 +51,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.oceania': 'Okyanusya',
|
||||
'atlas.other': 'Diğer',
|
||||
'atlas.firstVisit': 'İlk yolculuk',
|
||||
'atlas.lastVisitLabel': 'Son yolculuk',
|
||||
'atlas.tripSingular': 'Seyahat',
|
||||
'atlas.tripPlural': 'Geziler',
|
||||
'atlas.placeVisited': 'Ziyaret edilen yer',
|
||||
|
||||
@@ -10,7 +10,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.cities': 'Міста',
|
||||
'atlas.noData': 'Даних про подорожі поки немає',
|
||||
'atlas.noDataHint': 'Створіть подорож і додайте місця, щоб побачити карту світу',
|
||||
'atlas.lastTrip': 'Остання подорож',
|
||||
'atlas.nextTrip': 'Наступна подорож',
|
||||
'atlas.daysLeft': 'днів залишилося',
|
||||
'atlas.streak': 'Серія',
|
||||
@@ -29,7 +28,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.oceania': 'Океанія',
|
||||
'atlas.other': 'Інше',
|
||||
'atlas.firstVisit': 'Перша поїздка',
|
||||
'atlas.lastVisitLabel': 'Остання поїздка',
|
||||
'atlas.tripSingular': 'Поїздка',
|
||||
'atlas.tripPlural': 'Поїздки',
|
||||
'atlas.placeVisited': 'Відвідане місце',
|
||||
@@ -51,6 +49,7 @@ const atlas: TranslationStrings = {
|
||||
'atlas.addToBucket': 'До списку бажань',
|
||||
'atlas.addPoi': 'Додати місце',
|
||||
'atlas.searchCountry': 'Пошук країни...',
|
||||
'atlas.searchPlaces': 'Місця',
|
||||
'atlas.month': 'Місяць',
|
||||
'atlas.addToBucketHint': 'Зберегти як місце для відвідування',
|
||||
'atlas.removeFromBucket': 'Видалити зі списку бажань',
|
||||
|
||||
@@ -15,6 +15,7 @@ const atlas: TranslationStrings = {
|
||||
'atlas.addToBucket': 'Thêm vào danh sách nhóm',
|
||||
'atlas.addPoi': 'Thêm địa điểm',
|
||||
'atlas.searchCountry': 'Tìm kiếm một quốc gia...',
|
||||
'atlas.searchPlaces': 'Địa điểm',
|
||||
'atlas.bucketNamePlaceholder': 'Tên (quốc gia, thành phố, địa điểm...)',
|
||||
'atlas.month': 'Tháng',
|
||||
'atlas.year': 'Năm',
|
||||
@@ -33,7 +34,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.cities': 'Thành phố',
|
||||
'atlas.noData': 'Chưa có dữ liệu du lịch',
|
||||
'atlas.noDataHint': 'Tạo chuyến đi và thêm địa điểm để xem bản đồ thế giới của bạn',
|
||||
'atlas.lastTrip': 'Chuyến đi cuối cùng',
|
||||
'atlas.nextTrip': 'Chuyến đi tiếp theo',
|
||||
'atlas.daysLeft': 'ngày còn lại',
|
||||
'atlas.streak': 'Vệt',
|
||||
@@ -51,7 +51,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.oceania': 'Châu Đại Dương',
|
||||
'atlas.other': 'Khác',
|
||||
'atlas.firstVisit': 'Chuyến đi đầu tiên',
|
||||
'atlas.lastVisitLabel': 'Chuyến đi cuối cùng',
|
||||
'atlas.tripSingular': 'Chuyến đi',
|
||||
'atlas.tripPlural': 'Chuyến đi',
|
||||
'atlas.placeVisited': 'Nơi đã ghé thăm',
|
||||
|
||||
@@ -10,7 +10,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.cities': '城市',
|
||||
'atlas.noData': '暫無旅行資料',
|
||||
'atlas.noDataHint': '建立旅行並新增地點以檢視世界地圖',
|
||||
'atlas.lastTrip': '上次旅行',
|
||||
'atlas.nextTrip': '下次旅行',
|
||||
'atlas.daysLeft': '天后出發',
|
||||
'atlas.streak': '連續',
|
||||
@@ -29,7 +28,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.oceania': '大洋洲',
|
||||
'atlas.other': '其他',
|
||||
'atlas.firstVisit': '首次旅行',
|
||||
'atlas.lastVisitLabel': '最近旅行',
|
||||
'atlas.tripSingular': '次旅行',
|
||||
'atlas.tripPlural': '次旅行',
|
||||
'atlas.placeVisited': '個地點已訪問',
|
||||
@@ -51,6 +49,7 @@ const atlas: TranslationStrings = {
|
||||
'atlas.addToBucket': '新增到心願單',
|
||||
'atlas.addPoi': '新增地點',
|
||||
'atlas.searchCountry': '搜尋國家...',
|
||||
'atlas.searchPlaces': '地點',
|
||||
'atlas.month': '月份',
|
||||
'atlas.addToBucketHint': '儲存為想去的地方',
|
||||
'atlas.removeFromBucket': '從心願單移除',
|
||||
|
||||
@@ -10,7 +10,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.cities': '城市',
|
||||
'atlas.noData': '暂无旅行数据',
|
||||
'atlas.noDataHint': '创建旅行并添加地点以查看世界地图',
|
||||
'atlas.lastTrip': '上次旅行',
|
||||
'atlas.nextTrip': '下次旅行',
|
||||
'atlas.daysLeft': '天后出发',
|
||||
'atlas.streak': '连续',
|
||||
@@ -29,7 +28,6 @@ const atlas: TranslationStrings = {
|
||||
'atlas.oceania': '大洋洲',
|
||||
'atlas.other': '其他',
|
||||
'atlas.firstVisit': '首次旅行',
|
||||
'atlas.lastVisitLabel': '最近旅行',
|
||||
'atlas.tripSingular': '次旅行',
|
||||
'atlas.tripPlural': '次旅行',
|
||||
'atlas.placeVisited': '个地点已访问',
|
||||
@@ -51,6 +49,7 @@ const atlas: TranslationStrings = {
|
||||
'atlas.addToBucket': '添加到心愿单',
|
||||
'atlas.addPoi': '添加地点',
|
||||
'atlas.searchCountry': '搜索国家...',
|
||||
'atlas.searchPlaces': '地点',
|
||||
'atlas.month': '月份',
|
||||
'atlas.addToBucketHint': '保存为想去的地方',
|
||||
'atlas.removeFromBucket': '从心愿单移除',
|
||||
|
||||
Reference in New Issue
Block a user