mirror of
https://github.com/seanmorley15/AdventureLog.git
synced 2025-07-23 23:09:37 +02:00
feat: Add current timezone and airport description fields to localization files
This commit is contained in:
parent
ea36b104b6
commit
d80805a181
11 changed files with 158 additions and 40 deletions
|
@ -18,10 +18,14 @@
|
|||
let fullEndDate: string = '';
|
||||
|
||||
// Format date as local datetime
|
||||
// Convert an ISO date to a datetime-local value in local time.
|
||||
function toLocalDatetime(value: string | null): string {
|
||||
if (!value) return '';
|
||||
const date = new Date(value);
|
||||
return date.toISOString().slice(0, 16); // Format: YYYY-MM-DDTHH:mm
|
||||
// Adjust the time by subtracting the timezone offset.
|
||||
date.setMinutes(date.getMinutes() - date.getTimezoneOffset());
|
||||
// Return format YYYY-MM-DDTHH:mm
|
||||
return date.toISOString().slice(0, 16);
|
||||
}
|
||||
|
||||
type LodgingType = {
|
||||
|
@ -111,7 +115,17 @@
|
|||
return;
|
||||
}
|
||||
|
||||
// Create or update hotel
|
||||
// Only convert to UTC if the time is still in local format.
|
||||
if (lodging.check_in && !lodging.check_in.includes('Z')) {
|
||||
// new Date(lodging.check_in) interprets the input as local time.
|
||||
lodging.check_in = new Date(lodging.check_in).toISOString();
|
||||
}
|
||||
if (lodging.check_out && !lodging.check_out.includes('Z')) {
|
||||
lodging.check_out = new Date(lodging.check_out).toISOString();
|
||||
}
|
||||
console.log(lodging.check_in, lodging.check_out);
|
||||
|
||||
// Create or update lodging...
|
||||
const url = lodging.id === '' ? '/api/lodging' : `/api/lodging/${lodging.id}`;
|
||||
const method = lodging.id === '' ? 'POST' : 'PATCH';
|
||||
const res = await fetch(url, {
|
||||
|
@ -354,7 +368,6 @@
|
|||
</div>
|
||||
</div>
|
||||
<!-- End Date -->
|
||||
{#if lodging.check_out}
|
||||
<div>
|
||||
<label for="end_date">
|
||||
{$t('lodging.check_out')}
|
||||
|
@ -371,7 +384,29 @@
|
|||
/>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
<div role="alert" class="alert shadow-lg bg-neutral mt-4">
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
fill="none"
|
||||
viewBox="0 0 24 24"
|
||||
class="stroke-info h-6 w-6 shrink-0"
|
||||
>
|
||||
<path
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
stroke-width="2"
|
||||
d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
|
||||
></path>
|
||||
</svg>
|
||||
<span>
|
||||
{$t('lodging.current_timezone')}:
|
||||
{(() => {
|
||||
const tz = new Intl.DateTimeFormat().resolvedOptions().timeZone;
|
||||
const [continent, city] = tz.split('/');
|
||||
return `${continent} (${city.replace('_', ' ')})`;
|
||||
})()}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -498,7 +498,10 @@
|
|||
"provide_start_date": "Bitte geben Sie ein Startdatum an",
|
||||
"start": "Start",
|
||||
"to_location": "Zum Standort",
|
||||
"transport_type": "Transporttyp"
|
||||
"transport_type": "Transporttyp",
|
||||
"ending_airport_desc": "Geben Sie den Ending Airport Code ein (z. B. lax)",
|
||||
"fetch_location_information": "Standortinformationen abrufen",
|
||||
"starting_airport_desc": "Geben Sie den Start -Flughafencode ein (z. B. JFK)"
|
||||
},
|
||||
"search": {
|
||||
"adventurelog_results": "AdventureLog-Ergebnisse",
|
||||
|
@ -612,6 +615,7 @@
|
|||
"resort": "Resort",
|
||||
"start": "Start",
|
||||
"type": "Typ",
|
||||
"villa": "Villa"
|
||||
"villa": "Villa",
|
||||
"current_timezone": "Aktuelle Zeitzone"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -530,7 +530,8 @@
|
|||
"villa": "Villa",
|
||||
"motel": "Motel",
|
||||
"other": "Other",
|
||||
"reservation_number": "Reservation Number"
|
||||
"reservation_number": "Reservation Number",
|
||||
"current_timezone": "Current Timezone"
|
||||
},
|
||||
"search": {
|
||||
"adventurelog_results": "AdventureLog Results",
|
||||
|
|
|
@ -498,7 +498,10 @@
|
|||
"flight_number": "Número de vuelo",
|
||||
"from_location": "Desde la ubicación",
|
||||
"transportation_added": "¡Transporte agregado exitosamente!",
|
||||
"transportation_delete_error": "Error al eliminar el transporte"
|
||||
"transportation_delete_error": "Error al eliminar el transporte",
|
||||
"ending_airport_desc": "Ingrese el código de aeropuerto final (por ejemplo, LAX)",
|
||||
"fetch_location_information": "Información de ubicación para obtener",
|
||||
"starting_airport_desc": "Ingrese el código de aeropuerto inicial (por ejemplo, JFK)"
|
||||
},
|
||||
"search": {
|
||||
"adventurelog_results": "Resultados del registro de aventuras",
|
||||
|
@ -612,6 +615,7 @@
|
|||
"start": "Comenzar",
|
||||
"type": "Tipo",
|
||||
"villa": "Villa",
|
||||
"edit_lodging": "Editar alojamiento"
|
||||
"edit_lodging": "Editar alojamiento",
|
||||
"current_timezone": "Zona horaria"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -498,7 +498,10 @@
|
|||
"transportation_added": "Transport ajouté avec succès !",
|
||||
"transportation_delete_error": "Erreur lors de la suppression du transport",
|
||||
"transportation_deleted": "Transport supprimé avec succès !",
|
||||
"transportation_edit_success": "Transport modifié avec succès !"
|
||||
"transportation_edit_success": "Transport modifié avec succès !",
|
||||
"ending_airport_desc": "Entrez la fin du code aéroportuaire (par exemple, laxiste)",
|
||||
"fetch_location_information": "Récupérer les informations de localisation",
|
||||
"starting_airport_desc": "Entrez le code aéroport de démarrage (par exemple, JFK)"
|
||||
},
|
||||
"search": {
|
||||
"adventurelog_results": "Résultats du journal d'aventure",
|
||||
|
@ -612,6 +615,7 @@
|
|||
"resort": "Station balnéaire",
|
||||
"start": "Commencer",
|
||||
"type": "Taper",
|
||||
"villa": "Villa"
|
||||
"villa": "Villa",
|
||||
"current_timezone": "Fuseau horaire actuel"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -498,7 +498,10 @@
|
|||
"transportation_delete_error": "Errore durante l'eliminazione del trasporto",
|
||||
"transportation_deleted": "Trasporto eliminato con successo!",
|
||||
"transportation_edit_success": "Trasporti modificati con successo!",
|
||||
"type": "Tipo"
|
||||
"type": "Tipo",
|
||||
"ending_airport_desc": "Immettere il codice aeroportuale finale (ad es. LAX)",
|
||||
"fetch_location_information": "Informazioni sulla posizione di recupero",
|
||||
"starting_airport_desc": "Immettere il codice dell'aeroporto di partenza (ad es. JFK)"
|
||||
},
|
||||
"search": {
|
||||
"adventurelog_results": "Risultati di AdventureLog",
|
||||
|
@ -612,6 +615,7 @@
|
|||
"lodging_deleted": "Alloggio eliminato con successo!",
|
||||
"lodging_edit_success": "Alloggio modificato con successo!",
|
||||
"lodging_type": "Tipo di alloggio",
|
||||
"motel": "Motel"
|
||||
"motel": "Motel",
|
||||
"current_timezone": "Fuso orario attuale"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -234,7 +234,19 @@
|
|||
"will_be_marked": "모험이 저장되면 방문했다고 표시합니다.",
|
||||
"checklists": "체크리스트",
|
||||
"cities_updated": "도시 업데이트됨",
|
||||
"clear": "초기화"
|
||||
"clear": "초기화",
|
||||
"city": "도시",
|
||||
"delete_lodging": "숙박을 삭제하십시오",
|
||||
"display_name": "표시 이름",
|
||||
"location_details": "위치 세부 사항",
|
||||
"lodging": "하숙",
|
||||
"lodging_delete_confirm": "이 숙소 위치를 삭제 하시겠습니까? \n이 조치는 취소 할 수 없습니다.",
|
||||
"lodging_information": "숙박 정보",
|
||||
"of": "~의",
|
||||
"price": "가격",
|
||||
"region": "지역",
|
||||
"reservation_number": "예약 번호",
|
||||
"welcome_map_info": "이 서버의 공개 모험"
|
||||
},
|
||||
"auth": {
|
||||
"both_passwords_required": "두 암호 모두 필요합니다",
|
||||
|
@ -255,7 +267,11 @@
|
|||
"registration_disabled": "현재 등록할 수 없습니다.",
|
||||
"reset_failed": "비밀번호 재설정 실패",
|
||||
"signup": "가입",
|
||||
"username": "사용자 이름"
|
||||
"username": "사용자 이름",
|
||||
"no_public_adventures": "공개 모험이 발견되지 않았습니다",
|
||||
"no_public_collections": "공개 컬렉션이 발견되지 않았습니다",
|
||||
"user_adventures": "사용자 모험",
|
||||
"user_collections": "사용자 수집"
|
||||
},
|
||||
"categories": {
|
||||
"category_name": "카테고리 이름",
|
||||
|
@ -382,7 +398,8 @@
|
|||
"northernLights": "Northern Lights"
|
||||
},
|
||||
"users": "사용자",
|
||||
"worldtravel": "세계 여행"
|
||||
"worldtravel": "세계 여행",
|
||||
"admin_panel": "관리자 패널"
|
||||
},
|
||||
"notes": {
|
||||
"add_a_link": "링크 추가",
|
||||
|
@ -538,7 +555,10 @@
|
|||
"transportation_delete_error": "교통수단 삭제 오류",
|
||||
"transportation_deleted": "교통수단이 성공적으로 삭제되었습니다!",
|
||||
"transportation_edit_success": "교통수단이 성공적으로 편집되었습니다!",
|
||||
"type": "유형"
|
||||
"type": "유형",
|
||||
"ending_airport_desc": "엔드 공항 코드 입력 (예 : LAX)",
|
||||
"fetch_location_information": "위치 정보를 가져 오십시오",
|
||||
"starting_airport_desc": "공항 시작 코드 입력 (예 : JFK)"
|
||||
},
|
||||
"users": {
|
||||
"no_users_found": "공개 프로필인 사용자가 없습니다."
|
||||
|
@ -566,5 +586,35 @@
|
|||
"view_cities": "도시 보기",
|
||||
"visit_remove_failed": "방문 표시 제거 실패",
|
||||
"visit_to": "방문함"
|
||||
},
|
||||
"lodging": {
|
||||
"apartment": "아파트",
|
||||
"bnb": "숙박 및 아침 식사",
|
||||
"cabin": "선실",
|
||||
"campground": "캠프장",
|
||||
"check_in": "체크인",
|
||||
"current_timezone": "현재 시간대",
|
||||
"date_and_time": "날짜",
|
||||
"edit": "편집하다",
|
||||
"edit_lodging": "숙박 편집",
|
||||
"error_editing_lodging": "오류 편집 숙소",
|
||||
"hostel": "숙박소",
|
||||
"hotel": "호텔",
|
||||
"house": "집",
|
||||
"lodging_added": "숙박이 성공적으로 추가되었습니다!",
|
||||
"lodging_delete_error": "오류 삭제 숙박",
|
||||
"lodging_deleted": "숙박 시설이 성공적으로 삭제되었습니다!",
|
||||
"lodging_edit_success": "숙박이 성공적으로 편집되었습니다!",
|
||||
"lodging_type": "숙박 유형",
|
||||
"motel": "모텔",
|
||||
"new_lodging": "새로운 숙박",
|
||||
"other": "다른",
|
||||
"provide_start_date": "시작 날짜를 제공하십시오",
|
||||
"reservation_number": "예약 번호",
|
||||
"resort": "의지",
|
||||
"start": "시작",
|
||||
"type": "유형",
|
||||
"villa": "별장",
|
||||
"check_out": "체크 아웃"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -498,7 +498,10 @@
|
|||
"transport_type": "Vervoerstype",
|
||||
"transportation_added": "Vervoer succesvol toegevoegd!",
|
||||
"transportation_delete_error": "Fout bij verwijderen vervoer",
|
||||
"transportation_deleted": "Vervoer succesvol verwijderd!"
|
||||
"transportation_deleted": "Vervoer succesvol verwijderd!",
|
||||
"ending_airport_desc": "Voer eindigende luchthavencode in (bijv. LAX)",
|
||||
"fetch_location_information": "Locatie -informatie ophalen",
|
||||
"starting_airport_desc": "Voer de startende luchthavencode in (bijv. JFK)"
|
||||
},
|
||||
"search": {
|
||||
"adventurelog_results": "AdventureLog-resultaten",
|
||||
|
@ -612,6 +615,7 @@
|
|||
"resort": "Toevlucht",
|
||||
"start": "Begin",
|
||||
"type": "Type",
|
||||
"villa": "Villa"
|
||||
"villa": "Villa",
|
||||
"current_timezone": "Huidige tijdzone"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -498,7 +498,10 @@
|
|||
"transportation_edit_success": "Transport edytowany pomyślnie!",
|
||||
"edit_transportation": "Edytuj transport",
|
||||
"start": "Początek",
|
||||
"date_and_time": "Data i godzina"
|
||||
"date_and_time": "Data i godzina",
|
||||
"ending_airport_desc": "Wprowadź końcowe kod lotniska (np. LAX)",
|
||||
"fetch_location_information": "Pobierać informacje o lokalizacji",
|
||||
"starting_airport_desc": "Wprowadź początkowy kod lotniska (np. JFK)"
|
||||
},
|
||||
"search": {
|
||||
"adventurelog_results": "Wyniki AdventureLog",
|
||||
|
@ -612,6 +615,7 @@
|
|||
"other": "Inny",
|
||||
"provide_start_date": "Proszę podać datę rozpoczęcia",
|
||||
"reservation_number": "Numer rezerwacji",
|
||||
"resort": "Uciec"
|
||||
"resort": "Uciec",
|
||||
"current_timezone": "Obecna strefa czasowa"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -498,7 +498,10 @@
|
|||
"transportation_delete_error": "Det gick inte att ta bort transport",
|
||||
"transportation_deleted": "Transporten har raderats!",
|
||||
"transportation_edit_success": "Transporten har redigerats!",
|
||||
"type": "Typ"
|
||||
"type": "Typ",
|
||||
"ending_airport_desc": "Ange slut på flygplatskoden (t.ex. LAX)",
|
||||
"fetch_location_information": "Hämta platsinformation",
|
||||
"starting_airport_desc": "Ange start av flygplatskoden (t.ex. JFK)"
|
||||
},
|
||||
"search": {
|
||||
"adventurelog_results": "AdventureLog-resultat",
|
||||
|
@ -612,6 +615,7 @@
|
|||
"check_out": "Checka ut",
|
||||
"date_and_time": "Datum",
|
||||
"edit": "Redigera",
|
||||
"edit_lodging": "Redigera logi"
|
||||
"edit_lodging": "Redigera logi",
|
||||
"current_timezone": "Nuvarande tidszon"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -498,7 +498,10 @@
|
|||
"transportation_delete_error": "删除交通时出错",
|
||||
"transportation_deleted": "交通删除成功!",
|
||||
"transportation_edit_success": "交通编辑成功!",
|
||||
"type": "类型"
|
||||
"type": "类型",
|
||||
"ending_airport_desc": "输入结束机场代码(例如LAX)",
|
||||
"fetch_location_information": "获取位置信息",
|
||||
"starting_airport_desc": "输入启动机场代码(例如肯尼迪国际机构)"
|
||||
},
|
||||
"search": {
|
||||
"adventurelog_results": "冒险日志结果",
|
||||
|
@ -612,6 +615,7 @@
|
|||
"other": "其他",
|
||||
"provide_start_date": "请提供开始日期",
|
||||
"reservation_number": "预订号",
|
||||
"resort": "采取"
|
||||
"resort": "采取",
|
||||
"current_timezone": "当前时区"
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue