Merged in fix/Lokalise-EN-edits-2025-10 (pull request #2962)
Fix/Lokalise English manual updates * fix: update English keys Approved-by: Linus Flood
This commit is contained in:
@@ -63,7 +63,8 @@ export const editProfile = protectedServerActionProcedure
|
||||
message: issue.message,
|
||||
})),
|
||||
message: intl.formatMessage({
|
||||
defaultMessage: "An error occured when trying to update profile.",
|
||||
defaultMessage:
|
||||
"An error occurred when trying to update your profile.",
|
||||
}),
|
||||
status: Status.error,
|
||||
}
|
||||
@@ -83,7 +84,8 @@ export const editProfile = protectedServerActionProcedure
|
||||
data: input,
|
||||
issues: [],
|
||||
message: intl.formatMessage({
|
||||
defaultMessage: "An error occured when trying to update profile.",
|
||||
defaultMessage:
|
||||
"An error occurred when trying to update your profile.",
|
||||
}),
|
||||
status: Status.error,
|
||||
}
|
||||
@@ -131,8 +133,9 @@ export const editProfile = protectedServerActionProcedure
|
||||
}
|
||||
|
||||
if (payload.data[typedKey] !== profile[typedKey]) {
|
||||
// @ts-ignore
|
||||
body[typedKey] = payload.data[typedKey]
|
||||
if (typedKey === "language") {
|
||||
body[typedKey] = payload.data[typedKey]
|
||||
} else body[typedKey] = payload.data[typedKey]
|
||||
}
|
||||
})
|
||||
|
||||
@@ -176,7 +179,8 @@ export const editProfile = protectedServerActionProcedure
|
||||
data: input,
|
||||
issues: [],
|
||||
message: intl.formatMessage({
|
||||
defaultMessage: "An error occured when trying to update profile.",
|
||||
defaultMessage:
|
||||
"An error occurred when trying to update your profile.",
|
||||
}),
|
||||
status: Status.error,
|
||||
}
|
||||
@@ -184,7 +188,7 @@ export const editProfile = protectedServerActionProcedure
|
||||
|
||||
const json = await apiResponse.json()
|
||||
if (json.errors?.length) {
|
||||
json.errors.forEach((error: any) => {
|
||||
json.errors.forEach((error: unknown) => {
|
||||
logger.warn(
|
||||
"editProfile api patch errors (not aborting)",
|
||||
JSON.stringify({
|
||||
@@ -212,7 +216,8 @@ export const editProfile = protectedServerActionProcedure
|
||||
message: issue.message,
|
||||
})),
|
||||
message: intl.formatMessage({
|
||||
defaultMessage: "An error occured when trying to update profile.",
|
||||
defaultMessage:
|
||||
"An error occurred when trying to update your profile.",
|
||||
}),
|
||||
status: Status.error,
|
||||
}
|
||||
|
||||
@@ -106,7 +106,7 @@ const getErrorContent = (error: string | null, intl: IntlShape) => {
|
||||
}),
|
||||
message: intl.formatMessage({
|
||||
defaultMessage:
|
||||
"We could not connect your accounts to give you access. Please contact us and we'll help you resolve this issue.",
|
||||
"We couldn't connect your accounts. Please contact us and we'll help you resolve this.",
|
||||
}),
|
||||
}
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@ export default async function SASxScandicLoginPage(
|
||||
}),
|
||||
unlink: intl.formatMessage({
|
||||
defaultMessage:
|
||||
"Log in to your SAS Eurobonus account to confirm account unlinking.",
|
||||
"Log in to your SAS EuroBonus account to confirm account unlinking.",
|
||||
}),
|
||||
transfer: intl.formatMessage({
|
||||
defaultMessage:
|
||||
|
||||
@@ -128,7 +128,7 @@ async function TransactionCard({
|
||||
<Typography variant="Body/Paragraph/mdBold">
|
||||
<h3>
|
||||
{intl.formatMessage({
|
||||
defaultMessage: "You have enough points for a bonus night!",
|
||||
defaultMessage: "You have enough points for a reward night!",
|
||||
})}
|
||||
</h3>
|
||||
</Typography>
|
||||
@@ -136,7 +136,7 @@ async function TransactionCard({
|
||||
<p>
|
||||
{intl.formatMessage({
|
||||
defaultMessage:
|
||||
"Bonus Nights range from 10 000 - 80 000 points. Book your next stay with us today!",
|
||||
"Redeem your points for cozy stays, delicious meals at our restaurants, or hotel extras to elevate your stay!",
|
||||
})}
|
||||
</p>
|
||||
</Typography>
|
||||
|
||||
@@ -52,7 +52,7 @@ export default async function CampaignHotelListing({
|
||||
},
|
||||
{
|
||||
label: intl.formatMessage({
|
||||
defaultMessage: "TripAdvisor rating",
|
||||
defaultMessage: "Tripadvisor rating",
|
||||
}),
|
||||
value: HotelSortOption.TripAdvisorRating,
|
||||
},
|
||||
|
||||
@@ -103,7 +103,7 @@ export default async function MyPagesOverviewShortcuts() {
|
||||
<div className={styles.column}>
|
||||
<SectionHeader
|
||||
title={intl.formatMessage({
|
||||
defaultMessage: "Your Membership",
|
||||
defaultMessage: "Your membership",
|
||||
})}
|
||||
headingAs="h4"
|
||||
headingLevel="h3"
|
||||
|
||||
@@ -53,7 +53,7 @@ export default async function MembershipOverviewCard({
|
||||
<h2 className={styles.levelText} id="membership-level">
|
||||
{intl.formatMessage(
|
||||
{
|
||||
defaultMessage: "LEVEL {level}",
|
||||
defaultMessage: "Level {level}",
|
||||
},
|
||||
{ level: membershipLevels[user.membership.membershipLevel] }
|
||||
)}
|
||||
@@ -79,7 +79,7 @@ export default async function MembershipOverviewCard({
|
||||
<Typography variant="Title/Overline/sm">
|
||||
<h3 className={styles.pointsLabel}>
|
||||
{intl.formatMessage({
|
||||
defaultMessage: "POINTS TO SPEND",
|
||||
defaultMessage: "Points to spend",
|
||||
})}
|
||||
</h3>
|
||||
</Typography>
|
||||
|
||||
@@ -36,7 +36,7 @@ export default function ExpiringPointsSeeAllButton({
|
||||
<MaterialIcon icon="chevron_right" color="CurrentColor" />
|
||||
</Button>
|
||||
<SidePeekSelfControlled
|
||||
title={intl.formatMessage({ defaultMessage: "Expiring Points" })}
|
||||
title={intl.formatMessage({ defaultMessage: "Expiring points" })}
|
||||
isOpen={isOpen}
|
||||
onClose={() => setIsOpen(false)}
|
||||
>
|
||||
|
||||
@@ -66,7 +66,7 @@ export default async function PointsToSpendCard({
|
||||
<Typography variant="Title/Overline/sm">
|
||||
<span className={styles.pointsLabel}>
|
||||
{intl.formatMessage({
|
||||
defaultMessage: "POINTS",
|
||||
defaultMessage: "Points",
|
||||
})}
|
||||
</span>
|
||||
</Typography>
|
||||
|
||||
@@ -27,24 +27,9 @@ export default async function SASLinkAccountBanner(
|
||||
return null
|
||||
}
|
||||
|
||||
function match() {
|
||||
return (
|
||||
<span key="match" className={styles.highlight}>
|
||||
{intl.formatMessage({
|
||||
defaultMessage: "MATCH",
|
||||
})}
|
||||
</span>
|
||||
)
|
||||
}
|
||||
|
||||
const headingText = intl.formatMessage(
|
||||
{
|
||||
defaultMessage: "A <match></match> MADE IN HEAVEN",
|
||||
},
|
||||
{
|
||||
match,
|
||||
}
|
||||
)
|
||||
const headingText = intl.formatMessage({
|
||||
defaultMessage: "Earn flights with nights",
|
||||
})
|
||||
|
||||
const buttonText =
|
||||
props.link?.text ||
|
||||
|
||||
@@ -82,7 +82,7 @@ export default async function DestinationCityPage({
|
||||
},
|
||||
{
|
||||
label: intl.formatMessage({
|
||||
defaultMessage: "TripAdvisor rating",
|
||||
defaultMessage: "Tripadvisor rating",
|
||||
}),
|
||||
value: HotelSortOption.TripAdvisorRating,
|
||||
},
|
||||
@@ -118,7 +118,7 @@ export default async function DestinationCityPage({
|
||||
<main className={styles.mainContent}>
|
||||
<HotelListing />
|
||||
<Blocks blocks={blocks || []} />
|
||||
<SeoFilters seoFilters={seo_filters} location={city.name} />
|
||||
<SeoFilters seoFilters={seo_filters} />
|
||||
</main>
|
||||
<aside className={styles.sidebar}>
|
||||
<SidebarContentWrapper
|
||||
|
||||
@@ -134,10 +134,7 @@ export default async function DestinationCountryPage({
|
||||
<main className={styles.mainContent}>
|
||||
<CityListing />
|
||||
<Blocks blocks={blocks || []} />
|
||||
<SeoFilters
|
||||
seoFilters={seo_filters}
|
||||
location={translatedCountry}
|
||||
/>
|
||||
<SeoFilters seoFilters={seo_filters} />
|
||||
</main>
|
||||
<aside className={styles.sidebar}>
|
||||
<SidebarContentWrapper
|
||||
|
||||
@@ -14,10 +14,9 @@ import type { DestinationFilters } from "@scandic-hotels/trpc/types/destinations
|
||||
|
||||
interface SeoFiltersProps {
|
||||
seoFilters: DestinationFilters
|
||||
location: string
|
||||
}
|
||||
|
||||
export function SeoFilters({ seoFilters, location }: SeoFiltersProps) {
|
||||
export function SeoFilters({ seoFilters }: SeoFiltersProps) {
|
||||
const intl = useIntl()
|
||||
const { basePath } = useDestinationDataStore((state) => ({
|
||||
basePath: state.basePathnameWithoutFilters,
|
||||
@@ -33,10 +32,7 @@ export function SeoFilters({ seoFilters, location }: SeoFiltersProps) {
|
||||
<Accordion className={styles.accordion}>
|
||||
{facilityFilters.length > 0 ? (
|
||||
<AccordionItem
|
||||
title={intl.formatMessage(
|
||||
{ defaultMessage: "{location} Hotel facilities" },
|
||||
{ location }
|
||||
)}
|
||||
title={intl.formatMessage({ defaultMessage: "Hotel facilities" })}
|
||||
showAsSubtitle
|
||||
titleLevel="h3"
|
||||
>
|
||||
@@ -57,10 +53,7 @@ export function SeoFilters({ seoFilters, location }: SeoFiltersProps) {
|
||||
) : null}
|
||||
{surroundingsFilters.length > 0 ? (
|
||||
<AccordionItem
|
||||
title={intl.formatMessage(
|
||||
{ defaultMessage: "{location} Hotel surroundings" },
|
||||
{ location }
|
||||
)}
|
||||
title={intl.formatMessage({ defaultMessage: "Hotel surroundings" })}
|
||||
showAsSubtitle
|
||||
titleLevel="h3"
|
||||
>
|
||||
|
||||
@@ -121,7 +121,7 @@ export default function Sidebar({
|
||||
<h1 className={styles.title}>
|
||||
{intl.formatMessage(
|
||||
{
|
||||
defaultMessage: "Things nearby {hotelName}",
|
||||
defaultMessage: "Nearby {hotelName}",
|
||||
},
|
||||
{ hotelName }
|
||||
)}
|
||||
|
||||
@@ -58,8 +58,7 @@ export default function AdditionalInfoForm({
|
||||
</Title>
|
||||
<Body>
|
||||
{intl.formatMessage({
|
||||
defaultMessage:
|
||||
"We need some more details to confirm your identity.",
|
||||
defaultMessage: "We need some details to confirm your identity.",
|
||||
})}
|
||||
</Body>
|
||||
</div>
|
||||
|
||||
@@ -34,7 +34,7 @@ export default function DeliveryMethodStep() {
|
||||
<p>
|
||||
{intl.formatMessage({
|
||||
defaultMessage:
|
||||
"All add-ons are delivered at the same time. Changes to delivery times will affect earlier add-ons.",
|
||||
"All extras are delivered together. Changes to delivery times will affect previously ordered extras.",
|
||||
})}
|
||||
</p>
|
||||
</Typography>
|
||||
|
||||
@@ -41,7 +41,7 @@ export function AddedAncillaries({
|
||||
<div className={styles.header}>
|
||||
<Subtitle>
|
||||
{intl.formatMessage({
|
||||
defaultMessage: "My Add-on's",
|
||||
defaultMessage: "My extras",
|
||||
})}
|
||||
</Subtitle>
|
||||
|
||||
|
||||
@@ -140,7 +140,7 @@ export default function GuestDetails({
|
||||
<Typography variant="Title/Overline/sm">
|
||||
<p>
|
||||
{intl.formatMessage({
|
||||
defaultMessage: "Your member tier",
|
||||
defaultMessage: "Your member level",
|
||||
})}
|
||||
</p>
|
||||
</Typography>
|
||||
|
||||
@@ -17,7 +17,7 @@ export default async function LocalCallCharges({
|
||||
<Typography variant="Body/Supporting text (caption)/smRegular">
|
||||
<p className={className}>
|
||||
{intl.formatMessage({
|
||||
defaultMessage: "Price 0,16 €/min + local call charges",
|
||||
defaultMessage: "Price: €0.16/min + local call charges",
|
||||
})}
|
||||
</p>
|
||||
</Typography>
|
||||
|
||||
@@ -23,7 +23,7 @@ export default async function StatsSection({
|
||||
<Typography variant="Title/Overline/sm">
|
||||
<span className={styles.label}>
|
||||
{intl.formatMessage({
|
||||
defaultMessage: "Points Earned",
|
||||
defaultMessage: "Points earned",
|
||||
})}
|
||||
</span>
|
||||
</Typography>
|
||||
|
||||
@@ -19,7 +19,7 @@ export default function ChangeNameDisclaimer() {
|
||||
{intl.formatMessage(
|
||||
{
|
||||
defaultMessage:
|
||||
"Need to change your name? Please get in touch with member support at <phone>+46 8 517 517 00</phone> or <email>member@scandichotels.com</email>.",
|
||||
"Need to update your name? Please get in touch with member service at <phone>+46 8 517 517 00</phone> or <email>member@scandichotels.com</email>.",
|
||||
},
|
||||
{
|
||||
phone([str]) {
|
||||
|
||||
@@ -100,7 +100,7 @@ export default async function Profile() {
|
||||
<Typography variant="Body/Paragraph/mdBold">
|
||||
<p>
|
||||
{intl.formatMessage({
|
||||
defaultMessage: "Date of Birth",
|
||||
defaultMessage: "Date of birth",
|
||||
})}
|
||||
</p>
|
||||
</Typography>
|
||||
|
||||
@@ -70,7 +70,7 @@ export function translateSeatingType(type: string, intl: IntlShape) {
|
||||
})
|
||||
case SeatingType.Theatre:
|
||||
return intl.formatMessage({
|
||||
defaultMessage: "Theatre",
|
||||
defaultMessage: "Theater",
|
||||
})
|
||||
case SeatingType.UShape:
|
||||
return intl.formatMessage({
|
||||
|
||||
@@ -83,13 +83,12 @@ async function getSubpageTitle(
|
||||
case additionalHotelData.hotelSpecialNeeds?.nameInUrl:
|
||||
const accessibilityTitleLong = intl.formatMessage(
|
||||
{
|
||||
defaultMessage:
|
||||
"Accessibility information for {hotelName} in {destination}",
|
||||
defaultMessage: "Accessibility at {hotelName} in {destination}",
|
||||
},
|
||||
{ hotelName, destination }
|
||||
)
|
||||
const accessibilityTitleShort = intl.formatMessage(
|
||||
{ defaultMessage: "Accessibility information for {hotelName}" },
|
||||
{ defaultMessage: "Accessibility at {hotelName}" },
|
||||
{ hotelName }
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user