mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-06-19 13:21:46 +00:00
f46cc8a98e
* feat(days): reorder whole days and insert a day at a position Adds reorderDays + insertDay to the day service and a PUT /days/reorder route (plus an optional position on create). Day rows stay stable so a day's assignments, notes, bookings and accommodations ride along by id; on a dated trip the calendar dates stay pinned to their slots while the content moves across them, and each booking's date is re-stamped onto its day's new date (time-of-day preserved) so day_id stays consistent. Renumbering uses the two-phase write to avoid the UNIQUE(trip_id, day_number) collision, and a move that would invert an accommodation's check-in/out span is rejected. * feat(planner): reorder days from a toolbar popup, and add days A new toolbar button opens a popup listing the days; drag a row by its grip or use the up/down arrows to reorder, and add a day from there. Reorders apply optimistically with rollback and sync over WebSocket; the day headers are left untouched, so the existing place drop-targets are unaffected. * i18n: add day-reorder strings across all languages
56 lines
2.6 KiB
TypeScript
56 lines
2.6 KiB
TypeScript
import type { TranslationStrings } from '../types';
|
|
|
|
const dayplan: TranslationStrings = {
|
|
'dayplan.icsTooltip': '匯出日曆 (ICS)',
|
|
'dayplan.emptyDay': '當天暫無計劃',
|
|
'dayplan.addNote': '新增備註',
|
|
'dayplan.editNote': '編輯備註',
|
|
'dayplan.noteAdd': '新增備註',
|
|
'dayplan.noteEdit': '編輯備註',
|
|
'dayplan.noteTitle': '備註',
|
|
'dayplan.noteSubtitle': '每日備註',
|
|
'dayplan.totalCost': '總費用',
|
|
'dayplan.days': '天',
|
|
'dayplan.dayN': '第 {n} 天',
|
|
'dayplan.calculating': '計算中...',
|
|
'dayplan.route': '路線',
|
|
'dayplan.optimize': '最佳化',
|
|
'dayplan.optimized': '路線已最佳化',
|
|
'dayplan.routeError': '路線計算失敗',
|
|
'dayplan.toast.needTwoPlaces': '路線最佳化至少需要兩個地點',
|
|
'dayplan.toast.routeOptimized': '路線已最佳化',
|
|
'dayplan.toast.routeOptimizedFromHotel': '已從你的住宿地點最佳化路線',
|
|
'dayplan.toast.noGeoPlaces': '未找到有座標的地點用於路線計算',
|
|
'dayplan.confirmed': '已確認',
|
|
'dayplan.pendingRes': '待確認',
|
|
'dayplan.pdf': 'PDF',
|
|
'dayplan.pdfTooltip': '匯出當天計劃為 PDF',
|
|
'dayplan.pdfError': 'PDF 匯出失敗',
|
|
'dayplan.cannotReorderTransport': '有固定時間的預訂無法重新排序',
|
|
'dayplan.confirmRemoveTimeTitle': '移除時間?',
|
|
'dayplan.confirmRemoveTimeBody':
|
|
'此地點有固定時間({time})。移動後將移除時間並允許自由排序。',
|
|
'dayplan.confirmRemoveTimeAction': '移除時間並移動',
|
|
'dayplan.confirmDeleteNoteTitle': '刪除筆記?',
|
|
'dayplan.confirmDeleteNoteBody': '此筆記將被永久刪除。',
|
|
'dayplan.cannotDropOnTimed': '無法將專案放置在有固定時間的條目之間',
|
|
'dayplan.cannotBreakChronology': '這將打亂已計劃專案和預訂的時間順序',
|
|
'dayplan.mobile.addPlace': '新增地點',
|
|
'dayplan.mobile.searchPlaces': '搜尋地點...',
|
|
'dayplan.mobile.allAssigned': '所有地點已分配',
|
|
'dayplan.mobile.noMatch': '無匹配',
|
|
'dayplan.mobile.createNew': '建立新地點',
|
|
'dayplan.expandAll': 'Expand all days', // en-fallback
|
|
'dayplan.collapseAll': 'Collapse all days', // en-fallback
|
|
'dayplan.reorderDays': '重新排序日期',
|
|
'dayplan.reorderTitle': '重新排序日期',
|
|
'dayplan.reorderHint': '該日的地點、筆記和預訂都會一併移動。',
|
|
'dayplan.addDay': '新增日期',
|
|
'dayplan.moveUp': '上移',
|
|
'dayplan.moveDown': '下移',
|
|
'dayplan.reorderUndo': '重新排序日期',
|
|
'dayplan.reorderError': '重新排序日期失敗',
|
|
'dayplan.addDayError': '新增日期失敗',
|
|
};
|
|
export default dayplan;
|