Files
TREK/shared/src/i18n/vi/mobileTrip.ts
T
Maurice 800f97b8ce feat(mobile): swipe the day details to step through days (#2059)
* @
feat(mobile): swipe the day details to step through days

The phone shell hangs the days off a chip rail pinned to the top of the
screen, which on a large phone is a thin target a thumb cannot reach one
handed. The day details fill the rest of the screen and did nothing.

They now take a horizontal swipe: left for the next day, right for the
previous one, with the panel following the finger, rubber banding at the
first and last day and springing back when the swipe falls short. The
chip rail is untouched and still the accessible path; a committed swipe
announces the day it reached through a live region, and the active chip
scrolls itself back into view once the rail overflows.

The gesture never calls preventDefault or stops propagation on a touch
event and sets no touch-action, so the browser keeps sole ownership of
the card scroll and of the header chip strip, and the long press reorder
bridge keeps its own 10px self cancel. In edit mode the swipe also
refuses to claim a press held past the bridge window.
@

* @
fix(mobile): line the map controls up and widen the POI bar

The compass sat on its own under the POI bar, centre top, while the
locate button floated 42px above the dock on the other end of the
screen. Both are one handed controls, so they now share the band just
above the dock: compass bottom left, locate bottom right, off the same
--bottom-nav-h the map already reads, a dock gap lower than before.

That frees the row under the chip rail, so the nearby places bar takes
the full width between the screen margins and its segments end up the
size of everything else the thumb aims at there. Desktop keeps the
floating, content width bar.
@
2026-08-27 12:01:11 +02:00

50 lines
2.3 KiB
TypeScript

import type { TranslationStrings } from '../types';
const mobileTrip: TranslationStrings = {
'mobileTrip.addBookingShort': 'Đặt chỗ',
'mobileTrip.addNoteShort': 'Ghi chú',
'mobileTrip.addPlaceShort': 'Địa điểm',
'mobileTrip.addToDayQuestion': 'Thêm vào một ngày?',
'mobileTrip.addTransportShort': 'Di chuyển',
'mobileTrip.assignedDays': 'Ngày được gán',
'mobileTrip.bookingsEmpty': 'Chưa có đặt chỗ nào',
'mobileTrip.collabFeatureDisabled': 'Tính năng này bị tắt cho chuyến đi này',
'mobileTrip.compactView': 'Chế độ xem gọn',
'mobileTrip.dayAnnounce': 'Ngày {current} trong {total}',
'mobileTrip.dayTitlePlaceholder': 'Tiêu đề ngày',
'mobileTrip.export': 'Xuất',
'mobileTrip.filesEmpty': 'Chưa có tập tin nào',
'mobileTrip.filesNext': 'Tập tin tiếp theo',
'mobileTrip.filesPrev': 'Tập tin trước',
'mobileTrip.googleMaps': 'Google Maps',
'mobileTrip.coMaps': 'CoMaps',
'mobileTrip.icsDownload': 'Tải xuống .ics',
'mobileTrip.icsSubscribe': 'Đăng ký lịch',
'mobileTrip.icsSubscribeSub': 'Tự động cập nhật trong ứng dụng lịch của bạn',
'mobileTrip.importListSub': 'Dán liên kết danh sách được chia sẻ',
'mobileTrip.importPlaces': 'Nhập địa điểm',
'mobileTrip.inCountdown': 'trong {time}',
'mobileTrip.listView': 'Chế độ xem danh sách',
'mobileTrip.mapView': 'Chế độ xem bản đồ',
'mobileTrip.more': 'Thêm',
'mobileTrip.newCategory': 'Danh mục mới',
'mobileTrip.newReservation': 'Đặt chỗ mới',
'mobileTrip.notes': 'Ghi chú',
'mobileTrip.onMap': 'Trên bản đồ',
'mobileTrip.profileDriving': 'Lái xe',
'mobileTrip.profileWalking': 'Đi bộ',
'mobileTrip.renameDay': 'Đổi tên ngày',
'mobileTrip.resBadge': 'Đặt chỗ',
'mobileTrip.showOnMap': 'Hiển thị trên bản đồ',
'mobileTrip.statDocuments': '{count} tệp',
'mobileTrip.statPeople': '{count} người',
'mobileTrip.stay': 'Lưu trú',
'mobileTrip.tapAgainToDelete': 'Chạm lại để xóa',
'mobileTrip.todoOpenCount': '{count} chưa xong',
'mobileTrip.travel': 'Du lịch',
'mobileTrip.upNext': 'Tiếp theo',
'mobileTrip.viewDetails': 'Xem chi tiết',
'mobileTrip.transportsEmpty': 'Chưa có phương tiện di chuyển',
};
export default mobileTrip;