Merged in feat/lokalise-rebuild (pull request #2993)
Feat/lokalise rebuild * chore(lokalise): update translation ids * chore(lokalise): easier to switch between projects * chore(lokalise): update translation ids * . * . * . * . * . * . * chore(lokalise): update translation ids * chore(lokalise): update translation ids * . * . * . * chore(lokalise): update translation ids * chore(lokalise): update translation ids * . * . * chore(lokalise): update translation ids * chore(lokalise): update translation ids * chore(lokalise): new translations * merge * switch to errors for missing id's * merge * sync translations Approved-by: Linus Flood
This commit is contained in:
@@ -19,6 +19,7 @@ export function AddToCalendarButton({ onPress }: { onPress: () => void }) {
|
||||
<MaterialIcon size={20} icon="calendar_add_on" color="CurrentColor" />
|
||||
|
||||
{intl.formatMessage({
|
||||
id: "common.addToCalendar",
|
||||
defaultMessage: "Add to calendar",
|
||||
})}
|
||||
</Button>
|
||||
|
||||
@@ -26,6 +26,7 @@ export default function DownloadInvoice({ mainRef }: DownloadInvoiceProps) {
|
||||
>
|
||||
<MaterialIcon icon="download" color="CurrentColor" />
|
||||
{intl.formatMessage({
|
||||
id: "bookingConfirmation.downloadInvoice",
|
||||
defaultMessage: "Download invoice",
|
||||
})}
|
||||
</Button>
|
||||
|
||||
@@ -46,6 +46,7 @@ export default function ManageBooking({ booking }: ManageBookingProps) {
|
||||
>
|
||||
<MaterialIcon size={20} icon="edit_square" color="CurrentColor" />
|
||||
{intl.formatMessage({
|
||||
id: "bookingConfirmation.manageBooking",
|
||||
defaultMessage: "Manage booking",
|
||||
})}
|
||||
</ButtonLink>
|
||||
|
||||
@@ -30,6 +30,7 @@ export function Header({
|
||||
const intl = useIntl()
|
||||
|
||||
const text = intl.formatMessage({
|
||||
id: "bookingConfirmation.thankYouMessage",
|
||||
defaultMessage:
|
||||
"Thank you for your booking! We look forward to welcoming you and hope you have a pleasant stay.",
|
||||
})
|
||||
@@ -59,6 +60,7 @@ export function Header({
|
||||
<Typography variant={"Title/md"}>
|
||||
<h2 className={styles.confirmTitle}>
|
||||
{intl.formatMessage({
|
||||
id: "bookingConfirmation.title",
|
||||
defaultMessage: "Booking confirmation",
|
||||
})}
|
||||
</h2>
|
||||
|
||||
@@ -21,6 +21,7 @@ export function HotelDetails({
|
||||
<Typography variant={"Title/Subtitle/md"}>
|
||||
<h3>
|
||||
{intl.formatMessage({
|
||||
id: "bookingConfirmation.hotelDetails",
|
||||
defaultMessage: "Hotel details",
|
||||
})}
|
||||
</h3>
|
||||
@@ -31,6 +32,7 @@ export function HotelDetails({
|
||||
<p>
|
||||
{intl.formatMessage(
|
||||
{
|
||||
id: "bookingConfirmation.hotel.address",
|
||||
defaultMessage: "{streetAddress}, {zipCode} {city}",
|
||||
},
|
||||
{
|
||||
|
||||
@@ -25,6 +25,7 @@ export function PaymentDetails() {
|
||||
<Typography variant={"Title/Subtitle/md"}>
|
||||
<h2>
|
||||
{intl.formatMessage({
|
||||
id: "bookingConfirmation.paymentDetails",
|
||||
defaultMessage: "Payment details",
|
||||
})}
|
||||
</h2>
|
||||
@@ -35,6 +36,7 @@ export function PaymentDetails() {
|
||||
<p>
|
||||
{intl.formatMessage(
|
||||
{
|
||||
id: "bookingConfirmation.totalCost",
|
||||
defaultMessage: "Total cost: {amount}",
|
||||
},
|
||||
{
|
||||
|
||||
@@ -37,27 +37,33 @@ export function Promos({ booking }: PromosProps) {
|
||||
<div className={styles.promos}>
|
||||
<Promo
|
||||
buttonText={intl.formatMessage({
|
||||
defaultMessage: "View and buy extras",
|
||||
id: "bookingConfirmation.promos.buyAddonsButtonText",
|
||||
defaultMessage: "View and buy add-ons",
|
||||
})}
|
||||
href={myStayURL}
|
||||
text={intl.formatMessage({
|
||||
id: "bookingConfirmation.promos.buyAddonsDescription",
|
||||
defaultMessage:
|
||||
"Discover the little extra touches to make your upcoming stay even more unforgettable.",
|
||||
})}
|
||||
title={intl.formatMessage({
|
||||
id: "bookingConfirmation.promos.buyAddonsTitle",
|
||||
defaultMessage: "Spice things up",
|
||||
})}
|
||||
/>
|
||||
<Promo
|
||||
buttonText={intl.formatMessage({
|
||||
id: "bookingConfirmation.promos.bookAnotherStayButtonText",
|
||||
defaultMessage: "Book another stay",
|
||||
})}
|
||||
href={`/${lang}?hotel=${hotelId}`}
|
||||
text={intl.formatMessage({
|
||||
id: "booking.bookAnotherStayDescription",
|
||||
defaultMessage:
|
||||
"Get inspired and start dreaming beyond your next trip. Explore more Scandic destinations.",
|
||||
})}
|
||||
title={intl.formatMessage({
|
||||
id: "booking.bookNextStay.title",
|
||||
defaultMessage: "Book your next stay",
|
||||
})}
|
||||
/>
|
||||
|
||||
@@ -22,13 +22,17 @@ export default function Breakfast({
|
||||
const intl = useIntl()
|
||||
|
||||
const breakfastBuffet = intl.formatMessage({
|
||||
id: "common.breakfastBuffet",
|
||||
defaultMessage: "Breakfast buffet",
|
||||
})
|
||||
|
||||
if (breakfastIncluded || breakfast) {
|
||||
const price = breakfast
|
||||
? formatPrice(intl, breakfast.totalPrice, breakfast.currency)
|
||||
: intl.formatMessage({ defaultMessage: "Included" })
|
||||
: intl.formatMessage({
|
||||
id: "common.included",
|
||||
defaultMessage: "Included",
|
||||
})
|
||||
return (
|
||||
<div className={styles.entry}>
|
||||
<div>
|
||||
@@ -47,7 +51,10 @@ export default function Breakfast({
|
||||
}
|
||||
|
||||
if (breakfast === false) {
|
||||
const noBreakfast = intl.formatMessage({ defaultMessage: "No breakfast" })
|
||||
const noBreakfast = intl.formatMessage({
|
||||
id: "common.noBreakfast",
|
||||
defaultMessage: "No breakfast",
|
||||
})
|
||||
return (
|
||||
<div className={styles.entry}>
|
||||
<Typography variant="Body/Paragraph/mdRegular">
|
||||
|
||||
@@ -54,6 +54,7 @@ export function ReceiptRoom({
|
||||
|
||||
const adultsMsg = intl.formatMessage(
|
||||
{
|
||||
id: "common.numberOfAdults",
|
||||
defaultMessage: "{totalAdults, plural, one {# adult} other {# adults}}",
|
||||
},
|
||||
{ totalAdults: room.adults }
|
||||
@@ -63,6 +64,7 @@ export function ReceiptRoom({
|
||||
if (room.childrenAges?.length) {
|
||||
const childrenMsg = intl.formatMessage(
|
||||
{
|
||||
id: "common.numberOfChildren",
|
||||
defaultMessage:
|
||||
"{totalChildren, plural, one {# child} other {# children}}",
|
||||
},
|
||||
@@ -83,6 +85,7 @@ export function ReceiptRoom({
|
||||
<p className={styles.roomTitle}>
|
||||
{intl.formatMessage(
|
||||
{
|
||||
id: "booking.roomIndex",
|
||||
defaultMessage: "Room {roomIndex}",
|
||||
},
|
||||
{
|
||||
@@ -128,6 +131,7 @@ export function ReceiptRoom({
|
||||
wrapping={false}
|
||||
>
|
||||
{intl.formatMessage({
|
||||
id: "bookingConfirmation.receipt.reservationPolicy",
|
||||
defaultMessage: "Reservation policy",
|
||||
})}
|
||||
<MaterialIcon
|
||||
@@ -146,9 +150,11 @@ export function ReceiptRoom({
|
||||
room.rateDefinition.cancellationRule ===
|
||||
CancellationRuleEnum.CancellableBefore6PM
|
||||
? intl.formatMessage({
|
||||
id: "booking.payLater",
|
||||
defaultMessage: "Pay later",
|
||||
})
|
||||
: intl.formatMessage({
|
||||
id: "booking.payNow",
|
||||
defaultMessage: "Pay now",
|
||||
})
|
||||
}
|
||||
@@ -218,6 +224,7 @@ export function ReceiptRoom({
|
||||
<p>
|
||||
{intl.formatMessage(
|
||||
{
|
||||
id: "booking.numberOfCribs",
|
||||
defaultMessage: "Crib (child) × {count}",
|
||||
},
|
||||
{ count: childBedCrib.quantity }
|
||||
@@ -226,6 +233,7 @@ export function ReceiptRoom({
|
||||
<Typography variant="Body/Supporting text (caption)/smRegular">
|
||||
<p className={styles.uiTextHighContrast}>
|
||||
{intl.formatMessage({
|
||||
id: "booking.subjectToAvailability",
|
||||
defaultMessage: "Subject to availability",
|
||||
})}
|
||||
</p>
|
||||
@@ -246,6 +254,7 @@ export function ReceiptRoom({
|
||||
<p>
|
||||
{intl.formatMessage(
|
||||
{
|
||||
id: "booking.extraBedsCount",
|
||||
defaultMessage: "Extra bed (child) × {count}",
|
||||
},
|
||||
{
|
||||
|
||||
@@ -38,6 +38,7 @@ export default function TotalPrice() {
|
||||
<p>
|
||||
{intl.formatMessage(
|
||||
{
|
||||
id: "booking.totalPriceInclVat",
|
||||
defaultMessage: "<b>Total price</b> (incl VAT)",
|
||||
},
|
||||
{
|
||||
|
||||
@@ -28,6 +28,7 @@ export function Receipt() {
|
||||
|
||||
const nights = intl.formatMessage(
|
||||
{
|
||||
id: "booking.numberOfNights",
|
||||
defaultMessage: "{totalNights, plural, one {# night} other {# nights}}",
|
||||
},
|
||||
{ totalNights }
|
||||
@@ -43,6 +44,7 @@ export function Receipt() {
|
||||
<Typography variant="Title/Subtitle/md">
|
||||
<h3 className={styles.heading}>
|
||||
{intl.formatMessage({
|
||||
id: "booking.bookingSummary",
|
||||
defaultMessage: "Booking summary",
|
||||
})}
|
||||
</h3>
|
||||
|
||||
@@ -18,6 +18,7 @@ export default function Retry({ handleRefetch }: RetryProps) {
|
||||
<Typography variant={"Body/Paragraph/mdRegular"}>
|
||||
<p>
|
||||
{intl.formatMessage({
|
||||
id: "errorMessage.somethingWentWrong",
|
||||
defaultMessage: "Something went wrong!",
|
||||
})}
|
||||
</p>
|
||||
@@ -25,6 +26,7 @@ export default function Retry({ handleRefetch }: RetryProps) {
|
||||
|
||||
<Button size={"Small"} onPress={handleRefetch}>
|
||||
{intl.formatMessage({
|
||||
id: "bookingConfirmation.linkedReservation.tryAgain",
|
||||
defaultMessage: "Try again",
|
||||
})}
|
||||
</Button>
|
||||
|
||||
@@ -60,6 +60,7 @@ export function Room({
|
||||
<h2>
|
||||
{intl.formatMessage(
|
||||
{
|
||||
id: "bookingConfirmation.rooms.bookingNumber",
|
||||
defaultMessage: "Booking number {value}",
|
||||
},
|
||||
{ value: booking.confirmationNumber }
|
||||
@@ -77,6 +78,7 @@ export function Room({
|
||||
<Typography variant="Body/Supporting text (caption)/smRegular">
|
||||
<p>
|
||||
{intl.formatMessage({
|
||||
id: "bookingConfirmation.rooms.benefitsApplied",
|
||||
defaultMessage: "Membership benefits applied",
|
||||
})}
|
||||
</p>
|
||||
@@ -97,6 +99,7 @@ export function Room({
|
||||
>
|
||||
<p>
|
||||
{intl.formatMessage({
|
||||
id: "bookingConfirmation.rooms.guaranteeTitle",
|
||||
defaultMessage: "Booking guaranteed.",
|
||||
})}
|
||||
</p>
|
||||
@@ -106,6 +109,7 @@ export function Room({
|
||||
<Typography variant="Body/Supporting text (caption)/smRegular">
|
||||
<p>
|
||||
{intl.formatMessage({
|
||||
id: "bookingConfirmation.rooms.guaranteeDetails",
|
||||
defaultMessage:
|
||||
"Your room will remain available for check-in even after 18:00.",
|
||||
})}
|
||||
@@ -141,6 +145,7 @@ export function Room({
|
||||
roomTypeCode={booking.roomTypeCode}
|
||||
buttonVariant="primary"
|
||||
triggerLabel={intl.formatMessage({
|
||||
id: "hotel.seeRoomDetails",
|
||||
defaultMessage: "See room details",
|
||||
})}
|
||||
wrapping={false}
|
||||
@@ -152,12 +157,14 @@ export function Room({
|
||||
<li className={styles.listItem}>
|
||||
<p className={styles.label}>
|
||||
{intl.formatMessage({
|
||||
id: "common.checkIn",
|
||||
defaultMessage: "Check-in",
|
||||
})}
|
||||
</p>
|
||||
<p>
|
||||
{intl.formatMessage(
|
||||
{
|
||||
id: "bookingConfirmation.rooms.checkInDetails",
|
||||
defaultMessage: "{checkInDate} from {checkInTime}",
|
||||
},
|
||||
{
|
||||
@@ -170,6 +177,7 @@ export function Room({
|
||||
<li className={styles.listItem}>
|
||||
<p className={styles.label}>
|
||||
{intl.formatMessage({
|
||||
id: "common.checkOut",
|
||||
defaultMessage: "Check-out",
|
||||
})}
|
||||
</p>
|
||||
@@ -181,6 +189,7 @@ export function Room({
|
||||
<li className={styles.listItem}>
|
||||
<p className={styles.label}>
|
||||
{intl.formatMessage({
|
||||
id: "bookingConfirmation.rooms.cancellationPolicy",
|
||||
defaultMessage: "Cancellation policy",
|
||||
})}
|
||||
</p>
|
||||
@@ -190,12 +199,14 @@ export function Room({
|
||||
<li className={styles.listItem}>
|
||||
<p className={styles.label}>
|
||||
{intl.formatMessage({
|
||||
id: "booking.changeOrCancel",
|
||||
defaultMessage: "Change or cancel",
|
||||
})}
|
||||
</p>
|
||||
<p>
|
||||
{intl.formatMessage(
|
||||
{
|
||||
id: "common.untilWithTimeAndDate",
|
||||
defaultMessage: "Until {time}, {date}",
|
||||
},
|
||||
{
|
||||
@@ -212,6 +223,7 @@ export function Room({
|
||||
<Typography variant="Body/Paragraph/mdRegular">
|
||||
<p className={styles.label}>
|
||||
{intl.formatMessage({
|
||||
id: "bookingConfirmation.rooms.guestLabel",
|
||||
defaultMessage: "Guest",
|
||||
})}
|
||||
</p>
|
||||
@@ -224,6 +236,7 @@ export function Room({
|
||||
<p data-hj-suppress>
|
||||
{intl.formatMessage(
|
||||
{
|
||||
id: "bookingConfirmation.rooms.friendNumber",
|
||||
defaultMessage: "Friend no. {value}",
|
||||
},
|
||||
{
|
||||
|
||||
@@ -37,6 +37,7 @@ export function Rooms({
|
||||
<h2 className={styles.roomTitle}>
|
||||
{intl.formatMessage(
|
||||
{
|
||||
id: "booking.roomIndex",
|
||||
defaultMessage: "Room {roomIndex}",
|
||||
},
|
||||
{ roomIndex: 1 }
|
||||
@@ -59,6 +60,7 @@ export function Rooms({
|
||||
<h2 className={styles.roomTitle}>
|
||||
{intl.formatMessage(
|
||||
{
|
||||
id: "booking.roomIndex",
|
||||
defaultMessage: "Room {roomIndex}",
|
||||
},
|
||||
{ roomIndex: idx + 2 }
|
||||
|
||||
@@ -66,9 +66,11 @@ export async function BookingConfirmation({
|
||||
<Alert
|
||||
type={AlertTypeEnum.Info}
|
||||
heading={intl.formatMessage({
|
||||
id: "bookingConfirmation.membershipVerificationFailed",
|
||||
defaultMessage: "Failed to verify membership",
|
||||
})}
|
||||
text={intl.formatMessage({
|
||||
id: "bookingConfirmation.bookingConfirmedMembershipFailedInfo",
|
||||
defaultMessage:
|
||||
"Your booking(s) is confirmed but we could not verify your membership. If you have booked with a member discount, you'll either need to present your existing membership number upon check-in, become a member or pay the price difference at the hotel. Signing up is preferably done online before the stay.",
|
||||
})}
|
||||
|
||||
Reference in New Issue
Block a user