Skip to main content

Marketplace texts: taking keys from a new release into use

Sometimes new releases to Sharetribe introduce new keys for marketplace texts. This article teaches you how to start using them.

Thomas Malbaux avatar
Written by Thomas Malbaux
Updated this week

How to add/update new Marketplace texts

Many Sharetribe feature releases include new user interface elements in your marketplace with default English texts. If you'd like to use the new feature and are not happy with the default texts because your marketplace is in a different language or you would otherwise prefer a different vocabulary, you can change them with Marketplace texts. However, the new key-value pairs don't appear automatically in your editor. Instead, you need to add them there manually.

This document contains all the new and updated key-value pairs. For example, let's say that there's a new release that introduces the following two key-value pairs.

"ExamplePage.NewKey1": "New value 1",

"ExamplePage.NewKey2": "New value 2",

To edit these texts, you first need to copy the key-value pairs and paste them to Marketplace texts at the very beginning of the file but after "{", like the screenshots below illustrate.

Before:

After:

You can then modify the values to your liking:

Remember to save your changes when you're done.

If the new release includes updated keys, you should use the search functionality of Marketplace texts to find the old keys and replace them with the new keys. If the new release includes deleted keys, you don't need to do anything, but if you want, you can find and remove those keys from your Marketplace texts, too, as they won't be used anymore in your marketplace.

If you created your Sharetribe account after any of the below-mentioned release dates, then updating your Marketplace texts with the new keys from the respective release is not necessary.

Releases

Reverse price negotiation - Coming soon!

New keys

"CheckoutPage.default-negotiation.orderBreakdown": "Order breakdown",
"CheckoutPage.default-negotiation.title": "Complete order",
"EditListingWizard.default-negotiation.new.saveDetails": "Next",
"EditListingWizard.default-negotiation.new.saveLocation": "Next",
"EditListingWizard.default-negotiation.new.saveLocationNoPricingTab": "Next",
"EditListingWizard.default-negotiation.new.savePhotos": "Publish listing",
"EditListingWizard.default-negotiation.new.savePricing": "Next",
"EditListingWizard.default-negotiation.new.saveStyle": "Publish listing",
"InboxPage.default-negotiation.canceled.status": "Canceled",
"InboxPage.default-negotiation.changes-requested.status": "Changes requested",
"InboxPage.default-negotiation.completed.status": "Waiting for review",
"InboxPage.default-negotiation.customer-offer-pending.status": "Counter offer",
"InboxPage.default-negotiation.delivered.status": "{transactionRole, select, customer {Accept order} other {Delivered}}",
"InboxPage.default-negotiation.inquiry.status": "Inquiry",
"InboxPage.default-negotiation.offer-accepted.status": "Waiting for delivery",
"InboxPage.default-negotiation.offer-pending.status": "{transactionRole, select, customer {Offer pending} other {Offer received}}",
"InboxPage.default-negotiation.offer-rejected.status": "Rejected",
"InboxPage.default-negotiation.payment-expired.status": "Payment expired",
"InboxPage.default-negotiation.pending-payment.status": "Pending payment",
"InboxPage.default-negotiation.quote-requested.status": "Quote requested",
"InboxPage.default-negotiation.reviewed-by-customer.status": "{transactionRole, select, customer {Waiting for provider review} other {Waiting for your review}}",
"InboxPage.default-negotiation.reviewed-by-provider.status": "{transactionRole, select, customer {Waiting for your review} other {Waiting for customer review}}",
"InboxPage.default-negotiation.reviewed.status": "Completed",
"InboxPage.default-negotiation.update-pending.status": "{transactionRole, select, customer {Offer update pending} other {Offer update received}}",
"IntegerRangeFilter.rangeInputsLabel": "Range:",
"IntegerRangeFilter.screenreader.rangeHandle": "{handle, select, min {Range start {value}} other {Range end {value}}}",
"MakeCounterOfferForm.offerLabel": "Price",
"MakeCounterOfferForm.offerPlaceholder": "{currentOffer}",
"MakeCounterOfferForm.offerRequired": "You need to add a price.",
"MakeCounterOfferForm.submit": "Submit the offer",
"MakeCounterOfferForm.submitFailed": "Oops, something went wrong. Please close the modal and try again.",
"MakeCounterOfferModal.description": "Suggest a different price.",
"MakeCounterOfferModal.title": "Make a counter offer",
"MakeOfferPage.defaultMessageLabel": "Additional details",
"MakeOfferPage.defaultMessagePlaceholder": "Is there something the customer should know?",
"MakeOfferPage.finePrint": "You'll be notified when the customer reacts to your offer.",
"MakeOfferPage.goToLandingPage": "Go to the homepage",
"MakeOfferPage.listingNotFoundError": "Unfortunately, this listing is no longer available.",
"MakeOfferPage.listingTitle": "{listingTitle}",
"MakeOfferPage.locationDetailsTitle": "Location",
"MakeOfferPage.makeOfferError": "Oops, something went wrong. Please try again. If the problem persists, contact support.",
"MakeOfferPage.makeOfferErrorNoProcess": "Oops, no transaction process attached to the listing. Please contact support",
"MakeOfferPage.makeOfferTitle": "Submit an offer",
"MakeOfferPage.payoutDetailsWarning": "To submit an offer, you need to {payoutDetailsWarningLink}.",
"MakeOfferPage.payoutDetailsWarningLink": "add your payout details",
"MakeOfferPage.perUnit": "{unitType, select, day {per day} night {per night} hour {per hour} other {}}",
"MakeOfferPage.quoteLabel": "Quote",
"MakeOfferPage.quotePlaceholder": "Add a quote in {marketplaceCurrency}…",
"MakeOfferPage.quoteRequired": "You need to add a quote",
"MakeOfferPage.quoteTooLow": "The quote should be at least {minPrice}.",
"MakeOfferPage.submitButtonText": "Submit the offer",
"MakeOfferPage.tooManyRequestsError": "Making the offer failed due to too many requests made in a short amount of time. If the error persists, try refreshing the page or contact support.",
"NegotiationForm.ctaButton": "Submit an offer",
"OrderBreakdown.baseUnitRequest": "Price",
"OrderBreakdown.baseUnitOffer": "Price",
"OrderPanel.ctaButtonMessageMakeOffer": "Submit an offer",
"PriceFilter.screenreader.rangeHandle": "{handle, select, min {{formattedPrice} {currency} minimum price} other {{formattedPrice} {currency} maximum price}}",
"RequestChangesForm.messagePlaceholder": "Describe what should be fixed…",
"RequestChangesForm.messageRequired": "You need to describe the changes you'd like to be made.",
"RequestChangesForm.submit": "Send the request",
"RequestChangesForm.submitFailed": "Oops, something went wrong. Please refresh the page and try again.",
"RequestChangesModal.close": "Close",
"RequestChangesModal.description": "Did the delivered order match what was agreed upon? If not, you can request changes before accepting it.",
"RequestChangesModal.title": "Request changes",
"TransactionPage.ActivityFeed.default-negotiation.canceled": "The order was canceled.",
"TransactionPage.ActivityFeed.default-negotiation.changes-requested": "Changes were requested.",
"TransactionPage.ActivityFeed.default-negotiation.completed": "{stateStatus, select, current {The order was accepted. {reviewLink}} other {The order was accepted.}}",
"TransactionPage.ActivityFeed.default-negotiation.customer-offer-pending": "{actor, select, you {You made a counter offer of {negotiationOffer}.} other {{otherUsersName} made a counter offer of {negotiationOffer}.}}",
"TransactionPage.ActivityFeed.default-negotiation.delivered": "The order was delivered.",
"TransactionPage.ActivityFeed.default-negotiation.offer-accepted": "{actor, select, you {You accepted the offer and placed an order.} other {{otherUsersName} accepted the offer and placed an order.}}",
"TransactionPage.ActivityFeed.default-negotiation.offer-pending": "{actor, select, you {You submitted an offer with a quote of {negotiationOffer}.} other {{otherUsersName} submitted an offer with a quote of {negotiationOffer}.}}",
"TransactionPage.ActivityFeed.default-negotiation.offer-rejected": "The offer was rejected.",
"TransactionPage.ActivityFeed.default-negotiation.reviewed": "{actor, select, you {You left a review for {otherUsersName}.} other {{otherUsersName} left a review for you. {reviewLink}}}",
"TransactionPage.ActivityFeed.default-negotiation.reviewed-by-customer": "{actor, select, you {You left a review for {otherUsersName}.} other {{otherUsersName} left a review for you. {reviewLink}}}",
"TransactionPage.ActivityFeed.default-negotiation.reviewed-by-provider": "{actor, select, you {You left a review for {otherUsersName}.} other {{otherUsersName} left a review for you. {reviewLink}}}",
"TransactionPage.ActivityFeed.default-negotiation.transition.customer-withdraw-counter-offer": "{actor, select, you {You withdrew the counter offer.} other {{otherUsersName} withdrew the counter offer.}}",
"TransactionPage.ActivityFeed.default-negotiation.transition.provider-accept-counter-offer": "{actor, select, you {You accepted the counter offer.} other {{otherUsersName} accepted the counter offer.}}",
"TransactionPage.ActivityFeed.default-negotiation.transition.provider-reject-counter-offer": "{actor, select, you {You rejected the counter offer.} other {{otherUsersName} rejected the counter offer.}}",
"TransactionPage.Offer.counterOfferLabel": "Counter offer",
"TransactionPage.Offer.heading": "Offer",
"TransactionPage.Offer.providerDefaultMessageLabel": "Additional details",
"TransactionPage.Offer.quoteLabel": "Quote",
"TransactionPage.Offer.quote": "{quote}",
"TransactionPage.default-negotiation.actionError.pastNegotiationOffersInvalid": "Oops, action failed. Please contact support.",
"TransactionPage.default-negotiation.customer.canceled.title": "The order was canceled.",
"TransactionPage.default-negotiation.customer.changes-requested.extraInfo": "You'll be notified when {providerName} delivers the changes.",
"TransactionPage.default-negotiation.customer.changes-requested.title": "Changes requested",
"TransactionPage.default-negotiation.customer.completed.title": "You accepted the order!",
"TransactionPage.default-negotiation.customer.customer-offer-pending.extraInfo": "{providerName} can now react to the offer.",
"TransactionPage.default-negotiation.customer.customer-offer-pending.title": "You made a counter offer.",
"TransactionPage.default-negotiation.customer.delivered.disabled.maxRequests": "You've reached the maximum limit for change requests. Please contact support.",
"TransactionPage.default-negotiation.customer.delivered.disabled.outdated": "You can no longer request changes. Please contact support.",
"TransactionPage.default-negotiation.customer.delivered.extraInfo": "You can accept what was delivered or request changes.",
"TransactionPage.default-negotiation.customer.delivered.title": "The order was delivered.",
"TransactionPage.default-negotiation.customer.inquiry.title": "{customerName} sent you an inquiry.",
"TransactionPage.default-negotiation.customer.offer-accepted.extraInfo": "You'll be notified when {providerName} delivers the order.",
"TransactionPage.default-negotiation.customer.offer-accepted.title": "Order placed successfully!",
"TransactionPage.default-negotiation.customer.offer-pending.disabled.maxRequests": "You've reached the maximum number of counter offers. Please contact support.",
"TransactionPage.default-negotiation.customer.offer-pending.extraInfo": "You can now react to the offer.",
"TransactionPage.default-negotiation.customer.offer-pending.title": "{providerName} made an offer.",
"TransactionPage.default-negotiation.customer.offer-rejected.title": "The offer was rejected.",
"TransactionPage.default-negotiation.customer.pending-payment.title": "{customerName}, you have not confirmed payment yet.",
"TransactionPage.default-negotiation.customer.reviewed-by-customer.title": "{customerName} received the order!",
"TransactionPage.default-negotiation.customer.reviewed-by-provider.title": "{customerName} received the order!",
"TransactionPage.default-negotiation.customer.reviewed.title": "You've received your order!",
"TransactionPage.default-negotiation.customer.transition-accept-deliverable.actionButton": "Accept order",
"TransactionPage.default-negotiation.customer.transition-accept-deliverable.actionError": "Oops, action failed. Please try again.",
"TransactionPage.default-negotiation.customer.transition-customer-make-counter-offer.actionButton": "Make a counter offer",
"TransactionPage.default-negotiation.customer.transition-customer-make-counter-offer.actionError": "Oops, making a counter offer failed. Please try again.",
"TransactionPage.default-negotiation.customer.transition-customer-reject-offer.actionButton": "Reject offer",
"TransactionPage.default-negotiation.customer.transition-customer-reject-offer.actionError": "Oops, rejecting failed. Please try again.",
"TransactionPage.default-negotiation.customer.transition-customer-withdraw-counter-offer.actionButton": "Withdraw counter offer",
"TransactionPage.default-negotiation.customer.transition-customer-withdraw-counter-offer.actionError": "Oops, withdrawing the counter offer failed. Please try again.",
"TransactionPage.default-negotiation.customer.transition-request-changes.actionButton": "Request changes",
"TransactionPage.default-negotiation.customer.transition-request-changes.actionError": "Oops, action failed. Please try again.",
"TransactionPage.default-negotiation.customer.transition-request-payment-to-accept-offer.actionButton": "Accept and pay",
"TransactionPage.default-negotiation.customer.transition-request-payment-to-accept-offer.actionError": "Oops, accepting failed. Please try again.",
"TransactionPage.default-negotiation.provider.canceled.title": "The order was canceled.",
"TransactionPage.default-negotiation.provider.changes-requested.extraInfo": "Deliver the requested changes and notify {customerName} to receive your payment.",
"TransactionPage.default-negotiation.provider.changes-requested.title": "Changes requested",
"TransactionPage.default-negotiation.provider.completed.title": "{customerName} accepted the order!",
"TransactionPage.default-negotiation.provider.customer-offer-pending.extraInfo": "You can now react to the offer.",
"TransactionPage.default-negotiation.provider.customer-offer-pending.title": "{customerName} made a counter offer.",
"TransactionPage.default-negotiation.provider.deliver.actionButton": "I've delivered the order",
"TransactionPage.default-negotiation.provider.deliver.actionError": "Oops, delivering the order failed. Please try again.",
"TransactionPage.default-negotiation.provider.delivered.extraInfo": "{customerName} can accept the what you delivered or request changes.",
"TransactionPage.default-negotiation.provider.delivered.title": "The order was delivered.",
"TransactionPage.default-negotiation.provider.inquiry.title": "You sent an inquiry.",
"TransactionPage.default-negotiation.provider.offer-accepted.extraInfo": "Deliver the order and notify {customerName} to receive your payment.",
"TransactionPage.default-negotiation.provider.offer-accepted.title": "Your offer has been accepted.",
"TransactionPage.default-negotiation.provider.offer-pending.extraInfo": "{customerName} can now react your offer.",
"TransactionPage.default-negotiation.provider.offer-pending.title": "Your offer has been received.",
"TransactionPage.default-negotiation.provider.offer-rejected.title": "The offer was rejected.",
"TransactionPage.default-negotiation.provider.pending-payment.title": "Payment hasn't been confirmed yet.",
"TransactionPage.default-negotiation.provider.reviewed-by-customer.title": "{customerName} received the order!",
"TransactionPage.default-negotiation.provider.reviewed-by-provider.title": "{customerName} received the order!",
"TransactionPage.default-negotiation.provider.reviewed.title": "{customerName} received the order!",
"TransactionPage.default-negotiation.provider.transition-deliver-changes.actionButton": "I've delivered the changes",
"TransactionPage.default-negotiation.provider.transition-deliver-changes.actionError": "Oops, delivering the changes failed. Please try again.",
"TransactionPage.default-negotiation.provider.transition-deliver.actionButton": "I've delivered the order",
"TransactionPage.default-negotiation.provider.transition-deliver.actionError": "Oops, delivering the changes failed. Please try again.",
"TransactionPage.default-negotiation.provider.transition-provider-accept-counter-offer.actionButton": "Accept counter offer",
"TransactionPage.default-negotiation.provider.transition-provider-accept-counter-offer.actionError": "Oops, accepting the counter offer failed. Please try again.",
"TransactionPage.default-negotiation.provider.transition-provider-make-counter-offer.actionButton": "Make a new counter offer",
"TransactionPage.default-negotiation.provider.transition-provider-make-counter-offer.actionError": "Oops, making a counter offer failed. Please try again.",
"TransactionPage.default-negotiation.provider.transition-provider-reject-counter-offer.actionButton": "Reject counter offer",
"TransactionPage.default-negotiation.provider.transition-provider-reject-counter-offer.actionError": "Oops, rejecting the counter offer failed. Please try again.",
"TransactionPage.default-negotiation.provider.transition-provider-withdraw-offer.actionButton": "Withdraw offer",
"TransactionPage.default-negotiation.provider.transition-provider-withdraw-offer.actionError": "Oops, withdrawing the offer failed. Please try again.",
"TransactionPage.default-negotiation.validation.pastNegotiationOffersInvalid": "Transaction data is invalid. Please contact support.",
"TransactionPanel.default-negotiation.orderBreakdownTitle": "Order breakdown",

Bug fixes and misc improvements - September 25th, 2025

New keys

"InboxPage.sortBy.createdAt": "Newest",
"InboxPage.sortBy.lastMessageAt": "Latest message",
"InboxPage.sortBy.lastTransitionedAt": "Latest status change",
"InboxSearchForm.sortLabel": "Sort by:",

Updated keys

"CheckoutPage.chargeDisabledMessage": "The transaction can't move forward because the provider's payout information is incomplete. Please contact support.",
"InboxPage.salesTabTitle": "As a provider",

Deleted keys

"PriceFilter.clear": "Clear",
"PriceFilter.label": "Price",
"PriceFilter.labelSelectedPlain": "{minPrice} - {maxPrice}",
"PriceFilterForm.cancel": "Cancel",
"PriceFilterForm.clear": "Clear",
"PriceFilterForm.label": "Price range:",
"PriceFilterForm.submit": "Apply,

Inbox sorting options - September 11th, 2025

New keys

"InboxPage.sortBy.createdAt": "Newest",
"InboxPage.sortBy.lastMessageAt": "Latest message",
"InboxPage.sortBy.lastTransitionedAt": "Latest status change",
"InboxSearchForm.sortLabel": "Sort by:",

Minimum commission - July 31st, 2025

New keys

"CheckoutPage.providerCommissionBiggerThanMinPrice": "This listing is currently unavailable. Please contact support.",
"FetchLineItemsError.providerCommissionBiggerThanMinPrice": "This listing is currently unavailable. Please contact support.",
"FetchLineItemsError.unknownError": "Oops, something went wrong. Please refresh the page and try again.",

Listings without images - July 24th, 2025

New keys

"EditListingStyleForm.helpText": "Decide how your listing will look like in search results.",
"EditListingStyleForm.title": "Choose a style",
"EditListingStyleForm.preview": "Preview",
"EditListingStylePanel.createListingTitle": "Style",
"EditListingStylePanel.title": "Edit the style of {listingTitle}",
"EditListingWizard.default-booking.new.saveStyle": "Publish listing",
"EditListingWizard.default-inquiry.new.saveStyle": "Publish listing",
"EditListingWizard.default-purchase.new.saveStyle": "Publish listing",
"EditListingWizard.edit.saveStyle": "Save changes",
"EditListingWizard.tabLabelStyle": "Style",

Better communication on limited "Log in as" capabilities - July 17th, 2025

New keys

"StripeConnectAccountForm.buttonTitleLimitedAccess": "You can't manage payout details on behalf of user.",
"StripeConnectAccountStatusBox.getVerifiedButtonTitleLimitedAccess": "You can't manage payout details on behalf of user.",

Updated keys

"LimitedAccessBanner.message": "You're logged in as {firstName} {lastName}. You have limited access rights. You can't add payout details, initiate transactions, move them forward, or send messages on the user's behalf.",

Search as a CTA - May 26th, 2025

New keys

"PageBuilder.SearchCTA.buttonLabel": "Search",
"PageBuilder.SearchCTA.CategoryFilter.placeholder": "Category",
"PageBuilder.SearchCTA.CategoryFilter.selectAll": "All categories",
"PageBuilder.SearchCTA.dateFilterPlaceholder": "Dates",
"PageBuilder.SearchCTA.keywordFilterPlaceholder": "Search listings",
"PageBuilder.SearchCTA.locationPlaceholder": "Location",
"PageBuilder.SearchCTA.currentLocationPlaceholder": "Current location",

Updated keys

"DatePicker.clearButton": "Clear",

Filter search by listing type - May 12th, 2025

New keys

"FilterComponent.listingTypeLabel": "Listing type",

Price variations for bookings - April 30th, 2025

New keys

"EditListingPricingForm.priceVariant.addPriceVariant": "+ Add a price variation",
"EditListingPricingForm.priceVariant.delete": "Delete variation",
"EditListingPricingForm.priceVariant.name": "Variation name",
"EditListingPricingForm.priceVariant.nameInputPlaceholder": "Add a name…",
"EditListingPricingForm.priceVariant.nameMustBeUnique": "The name must be unique.",
"EditListingPricingForm.priceVariant.nameRequired": "You need to add a name.",
"EditListingPricingForm.priceVariant.variationNamesMustBeUnique": "Each variation must have a unique name.",
"ListingCard.price": "{priceValue} {pricePerUnit}",
"ListingCard.priceStartingFrom": "From {priceValue} {pricePerUnit}",
"ManageListingCard.price": "{priceValue} {pricePerUnit}",
"ManageListingCard.priceStartingFrom": "From {priceValue} {pricePerUnit}",
"OrderPanel.listingPriceVariantsAreInvalid": "Oops, the pricing of this listing is not set properly. Please contact support.",
"OrderPanel.price": "{priceValue} {pricePerUnit}",
"OrderPanel.priceInMobileCTA": "{priceValue}",
"PriceVariantPicker.onePriceVariantOnly": "{priceVariantName}",
"PriceVariantPicker.priceVariantLabel": "Pick an option",
"PriceVariantPicker.priceVariantUnselected": "Choose…",
"SearchMapInfoCard.perUnit": "{unitType, select, day {per day} night {per night} hour {per hour} other {}}",
"SearchMapInfoCard.price": "{priceValue}",
"SearchMapPriceLabel.price": "{priceValue}",
"SearchMapInfoCard.priceStartingFrom": "From {priceValue}",
"SearchMapPriceLabel.priceStartingFrom": "From {priceValue}",

Fixed booking slots - April 2nd, 2025

New keys

"EditListingPricingForm.priceVariant.addPriceVariant": "+ Add a price variation",
"EditListingPricingForm.priceVariant.bookingLengthLabel": "Session length",
"EditListingPricingForm.priceVariant.bookingLengthRequired": "The minimum session length is 15 minutes",
"EditListingPricingForm.priceVariant.hoursOption": "{hours} {hours, plural, one {hour} other {hours}}",
"EditListingPricingForm.priceVariant.minutesOption": "{minutes} {minutes, plural, one {minute} other {minutes}}",
"EditListingPricingForm.priceVariant.priceInputPlaceholder": "Add a price…",
"EditListingPricingForm.priceVariant.pricePerProduct": "Price {unitType, select, day {per day} night {per night} hour {per hour} fixed {per session} other {}}",
"EditListingPricingForm.priceVariant.required": "You need to add a price.",
"OrderBreakdown.baseUnitFixedBooking": "{unitPrice}",
"OrderBreakdown.baseUnitFixedBookingSeats": "{unitPrice} x {seats, number} {seats, plural, one {seat} other {seats}}",
"OrderBreakdown.bookingWithDSTInEffect": "Daylight saving time",
"StartTimeInterval.startEveryHalfHour": "Every half hour",
"StartTimeInterval.startEveryHour": "Every hour",
"StartTimeInterval.startEveryQuarterHour": "Every quarter hour",
"StartTimeInterval.label": "When should bookings start?",
"BookingFixedDurationForm.bookingStartTitle": "Pick a date",
"BookingFixedDurationForm.fetchLineItemsError": "Oops, something went wrong. Please refresh the page and try again.",
"BookingFixedDurationForm.ownListing": "You can't book your own listing.",
"BookingFixedDurationForm.priceBreakdownTitle": "Booking breakdown",
"BookingFixedDurationForm.requestToBook": "Request to book",
"BookingFixedDurationForm.requiredDate": "Select an available date",
"BookingFixedDurationForm.seatsPlaceholder": "Select...",
"BookingFixedDurationForm.seatsTitle": "Number of seats",
"BookingFixedDurationForm.youWontBeChargedInfo": "You won't be charged yet",

Updated keys

"ProductOrderForm.finePrint": "You won't be charged yet",

Seats - January 9th, 2025

New keys

"BookingDatesForm.seatsPlaceholder": "Select...",
"BookingDatesForm.seatsTitle": "Number of seats",
"BookingTimeForm.seatsPlaceholder": "Select...",
"BookingTimeForm.seatsTitle": "Number of seats",
"EditListingAvailabilityPanel.WeeklyCalendar.exception": "Exception: {exception}",
"EditListingAvailabilityPanel.WeeklyCalendar.seats": "{seats, plural, one {{seats} seat} other {{seats} seats}}",
"EditListingAvailabilityPlanForm.selectTime": "Select time",
"FieldSeatsInput.numberTooBig": "The number must be less than or equal to {max}",
"FieldSeatsInput.numberTooSmall": "The number must be greater than or equal to {min}",
"FieldSeatsInput.seatsError": "This field is required",
"FieldSeatsInput.seatsLabel": "Seats",
"FieldSeatsInput.seatsPlaceholder": "Seats",
"FilterComponent.seatsLabel": "Seats",
"InboxPage.seats": "Number of seats: {seats}",
"NumberInput.decrementButton": "Decrement the value by one",
"NumberInput.incrementButton": "Increment the value by one",
"OrderBreakdown.baseUnitDaySeats": "{unitPrice} x {quantity, number} {quantity, plural, one {day} other {days}} x { seats, number } { seats, plural, one {seat} other {seats} }",
"OrderBreakdown.baseUnitNightSeats": "{unitPrice} x {quantity, number} {quantity, plural, one {night} other {nights}} x { seats, number } { seats, plural, one {seat} other {seats} }",
"OrderBreakdown.baseUnitHourSeats": "{unitPrice} x {quantity, number} {quantity, plural, one {hour} other {hours}} x { seats, number } { seats, plural, one {seat} other {seats} }",
"SeatsFilter.labelSelected":"Seats: {seatCount}",
"EditListingAvailabilityPlanForm.delete": "Delete",

Updated keys

"CustomExtendedDataField.numberTooSmall": "The number must be greater than or equal to {min}",

Deleted keys

"EditListingAvailabilityPanel.WeeklyCalendar.exceptions": "Exceptions",

Bank account collection in Stripe Connect Onboarding - November 28th, 2024

New keys

"EditListingWizard.payoutModalInfoNew": "{marketplaceName} uses Stripe to process payments. Get verified with Stripe and add your payout details to receive money from transactions. Start by choosing your account type and country.",
"StripeConnectAccountForm.accountTypes.company": "Company",
"StripeConnectAccountForm.accountTypes.individual": "Individual",

Updated keys

"EditListingWizard.payoutModalInfo": "{marketplaceName} uses Stripe to process payments. Get verified with Stripe and add your payout details to receive money from transactions.",
"StripeConnectAccountForm.stripeToSText": "By moving forward in the process, you agree to the {stripeConnectedAccountTermsLink}.",
"StripeConnectAccountStatusBox.verificationNeededText": "Stripe needs some more information from you to verify your account.",
"StripeConnectAccountStatusBox.verificationNeededTitle": "Complete verification to receive payments",

Deleted keys

"StripeBankAccountTokenInputField.accountNumber.inline": "account number",
"StripeBankAccountTokenInputField.accountNumber.label": "Bank account number",
"StripeBankAccountTokenInputField.accountNumber.placeholder": "Type in bank account number…",
"StripeBankAccountTokenInputField.accountNumber.required": "Bank account number is required.",
"StripeBankAccountTokenInputField.accountOwnerName.inline": "account owner name",
"StripeBankAccountTokenInputField.accountOwnerName.label": "Bank account owner name",
"StripeBankAccountTokenInputField.accountOwnerName.placeholder": "Jane Doe",
"StripeBankAccountTokenInputField.accountOwnerName.required": "Bank account owner name is required.",
"StripeBankAccountTokenInputField.andBeforeLastItemInAList": " and",
"StripeBankAccountTokenInputField.bankCode.inline": "bank code",
"StripeBankAccountTokenInputField.bankCode.label": "Bank code",
"StripeBankAccountTokenInputField.bankCode.placeholder": "Type in bank code…",
"StripeBankAccountTokenInputField.bankCode.required": "Bank code is required.",
"StripeBankAccountTokenInputField.bankName.inline": "bank name",
"StripeBankAccountTokenInputField.bankName.label": "Bank name",
"StripeBankAccountTokenInputField.bankName.placeholder": "Type in bank name…",
"StripeBankAccountTokenInputField.bankName.required": "Bank name is required.",
"StripeBankAccountTokenInputField.branchCode.inline": "branch code",
"StripeBankAccountTokenInputField.branchCode.label": "Branch code",
"StripeBankAccountTokenInputField.branchCode.placeholder": "Type in branch code…",
"StripeBankAccountTokenInputField.branchCode.required": "Branch code is required.",
"StripeBankAccountTokenInputField.branchName.inline": "branch name",
"StripeBankAccountTokenInputField.branchName.label": "Branch name",
"StripeBankAccountTokenInputField.branchName.placeholder": "Type in branch name…",
"StripeBankAccountTokenInputField.branchName.required": "Branch name is required.",
"StripeBankAccountTokenInputField.bsb.inline": "BSB",
"StripeBankAccountTokenInputField.bsb.label": "BSB",
"StripeBankAccountTokenInputField.bsb.placeholder": "Type in BSB…",
"StripeBankAccountTokenInputField.bsb.required": "BSB is required.",
"StripeBankAccountTokenInputField.clabe.inline": "CLABE",
"StripeBankAccountTokenInputField.clabe.label": "CLABE",
"StripeBankAccountTokenInputField.clabe.placeholder": "Type in CLABE…",
"StripeBankAccountTokenInputField.clabe.required": "CLABE is required.",
"StripeBankAccountTokenInputField.clearingCode.inline": "clearing code",
"StripeBankAccountTokenInputField.clearingCode.label": "Clearing code",
"StripeBankAccountTokenInputField.clearingCode.placeholder": "Type in clearing code…",
"StripeBankAccountTokenInputField.clearingCode.required": "Clearing code is required.",
"StripeBankAccountTokenInputField.genericStripeError": "Couldn't connect account number. Please double-check that your {inputs} are valid in {country}",
"StripeBankAccountTokenInputField.genericStripeErrorIban": "Couldn't connect account number. Please double-check that your account number is valid in {country}",
"StripeBankAccountTokenInputField.iban.inline": "IBAN",
"StripeBankAccountTokenInputField.iban.label": "Bank account number (IBAN)",
"StripeBankAccountTokenInputField.iban.placeholder": "DE89 3704 0044 0532 0130 00",
"StripeBankAccountTokenInputField.iban.required": "Bank account number (IBAN) is required.",
"StripeBankAccountTokenInputField.institutionNumber.inline": "institution number",
"StripeBankAccountTokenInputField.institutionNumber.label": "Institution number",
"StripeBankAccountTokenInputField.institutionNumber.placeholder": "Type in institution number…",
"StripeBankAccountTokenInputField.institutionNumber.required": "Institution number is required.",
"StripeBankAccountTokenInputField.routingNumber.inline": "routing number",
"StripeBankAccountTokenInputField.routingNumber.label": "Routing number",
"StripeBankAccountTokenInputField.routingNumber.placeholder": "Type in routing number…",
"StripeBankAccountTokenInputField.routingNumber.required": "Routing number is required.",
"StripeBankAccountTokenInputField.sortCode.inline": "sort code",
"StripeBankAccountTokenInputField.sortCode.label": "Sort code",
"StripeBankAccountTokenInputField.sortCode.placeholder": "Type in sort code…",
"StripeBankAccountTokenInputField.sortCode.required": "Sort code is required.",
"StripeBankAccountTokenInputField.transitNumber.inline": "transit number",
"StripeBankAccountTokenInputField.transitNumber.label": "Transit number",
"StripeBankAccountTokenInputField.transitNumber.placeholder": "Type in transit number…",
"StripeBankAccountTokenInputField.transitNumber.required": "Transit number is required.",
"StripeBankAccountTokenInputField.unsupportedCountry": "Country not supported: {country}",

Support for currencies not supported by Stripe - November 26th, 2024

New keys

"CheckoutPage.incompatibleCurrency": "You're trying to initiate a payment using a currency not supported by Stripe. If you're using Stripe as your payment processor, you can only use currencies supported by Stripe.",
"EditListingDetailsForm.incompatibleCurrency": "{marketplaceName} uses {marketplaceCurrency} as its currency. This listing type requires online payments, but Sharetribe's online payment system doesn't support {marketplaceCurrency} payments. If you want to publish a listing with this listing type, the currency of the marketplace needs to be changed.",

Discard listing draft - November 7th, 2024

New keys

"DiscardDraftModal.close": "Close",
"DiscardDraftModal.message": "This can't be undone.",
"DiscardDraftModal.submit": "Discard draft",
"DiscardDraftModal.title": "Are you sure you want to discard this draft?",
"ManageListingCard.discardDraftLinkText": "Discard draft",
"ManageListingCard.discardDraftText": "{discardDraftLink}",

Updated keys

"ManageListingCard.closeListingText": "Close listing",
"ManageListingCard.closeListingTextOr": "{closeListingLink}",

React 17 - October 30th, 2024

New keys

"DatePicker.clearButton": "Clear value",
"DatePicker.screenreader.blockedDate": "{date} is not available",
"DatePicker.screenreader.chooseDate": "Choose {date}",
"DatePicker.screenreader.chooseEndDate": "Choose {date} as the end date",
"DatePicker.screenreader.chooseStartDate": "Choose {date} as the start date",
"DatePicker.screenreader.nextMonthButton": "Next month",
"DatePicker.screenreader.previousMonthButton": "Previous month",
"DatePicker.screenreader.selectedDate": "{date} is selected",
"DatePicker.screenreader.selectedEndDate": "{date} is selected as the end date",
"DatePicker.screenreader.selectedStartDate": "{date} is selected as the start date",
"DatePicker.todayButton": "Show today",

Updates to Restrict rights to post listings - October 26th, 2024

Updated keys

"NoAccessPage.postListings.schemaTitle": "No posting rights",
"NoAccessPage.postListings.heading": "You don't have posting rights",
"NoAccessPage.postListings.content": "To post listings, you need to receive posting rights from the {marketplaceName} team.",

Custom video listing and user field - October 23rd, 2024

New keys

"CustomExtendedDataField.placeholderYoutubeVideoURL": "The URL of a YouTube video",
"CustomExtendedDataField.notValidYoutubeVideoURL": "The URL you entered is not a valid YouTube URL.",

Restrict viewing rights - October 11th, 2024

New keys

"NoAccessPage.viewListings.schemaTitle": "No viewing rights",
"NoAccessPage.viewListings.heading": "You don't have viewing rights",
"NoAccessPage.viewListings.content": "To view this content, you need to receive viewing rights from the {marketplaceName} team.",

CTA button for permissions pages - October 7th, 2024

Updated keys

"NoAccessPage.postListings.heading": "You don't have publishing rights",
"NoAccessPage.postListings.content": "To publish listings, you need to receive publishing rights from the {marketplaceName} team.",

Permission to initiate transactions - October 2nd, 2024

New keys

"InquiryForm.noTransactionRightsError": "Oops, something went wrong. You don't have transaction rights. <NoAccessLink>Read more about transaction rights.</NoAccessLink>",
"NoAccessPage.initiateTransactions.schemaTitle": "No transaction rights",
"NoAccessPage.initiateTransactions.heading": "You don't have transaction rights",
"NoAccessPage.initiateTransactions.content": "To start a transaction, you need to receive transaction rights from the {marketplaceName} team.",

Updated key

"InquiryForm.userPendingApprovalError": "Oops, something went wrong. Your account is waiting for approval.",

User approval - September 4th, 2024

New keys

"InquiryForm.userPendingApprovalError": "Oops, something went wrong. You don't have permission to make inquiries",
"NoAccessPage.userPendingApproval.schemaTitle": "No user approval",
"NoAccessPage.userPendingApproval.heading": "Your account is waiting for approval",
"NoAccessPage.userPendingApproval.content": "You need approval from the {marketplaceName} team to get access to the marketplace.",

Grant permission to publish listings - August 14th, 2024

New keys

"NoAccessPage.postListings.schemaTitle": "No publishing rights",
"NoAccessPage.postListings.heading": "You can't publish listings",
"NoAccessPage.postListings.content": "You need to receive publishing rights from the {marketplaceName} team.",

User types - June 4th, 2024

New keys

"ConfirmSignupForm.displayNameLabel": "Display name",
"ConfirmSignupForm.displayNamePlaceholder": "Jane D",
"ConfirmSignupForm.displayNameRequired": "You need to add a display name.",
"ConfirmSignupForm.phoneNumberLabel": "Phone number",
"ConfirmSignupForm.phoneNumberPlaceholder": "Enter your phone number.",
"ConfirmSignupForm.phoneNumberRequired": "You need to add a phone number.",
"ContactDetailsForm.phoneRequired": "A phone number is required.",
"EditListingDetailsForm.listingTypeRequired": "You need to select a listing type.",
"FieldSelectUserType.label": "User type",
"FieldSelectUserType.placeholder": "Choose a user type",
"FieldSelectUserType.required": "You need to select a user type.",
"ListingPage.errorInvalidListingMessage": "The listing contained invalid data. Please contact the marketplace operator.",
"ProfileSettingsForm.displayNameHeading": "Your display name",
"ProfileSettingsForm.displayNameInfo": "The display name defaults to first name plus initial of last name.",
"ProfileSettingsForm.displayNameLabel": "Display name",
"ProfileSettingsForm.displayNamePlaceholder": "Jane D",
"ProfileSettingsForm.displayNameRequired": "This field is required.",
"SignupForm.displayNameLabel": "Display name",
"SignupForm.displayNamePlaceholder": "Jane D",
"SignupForm.displayNameRequired": "You need to add a display name.",
"SignupForm.phoneNumberLabel": "Phone number",
"SignupForm.phoneNumberPlaceholder": "Enter your phone number.",
"SignupForm.phoneNumberRequired": "You need to add a phone number.",

Numeric custom listing and user field - May 22nd, 2024

New keys

"CustomExtendedDataField.numberTooSmall": "The number must be larger than or equal to {min}",
"CustomExtendedDataField.numberTooBig": "The number must be less than or equal to {max}",
"IntegerRangeFilter.labelSelectedPlain": "{minValue} - {maxValue}",

Categories - May 13th, 2024

New keys

"EditListingDetailsForm.categoryLabel": "{categoryLevel, select, categoryLevel1 {Category} other {Subcategory}}",
"EditListingDetailsForm.categoryPlaceholder": "{categoryLevel, select, categoryLevel1 {Select category} other {Select subcategory}}",
"EditListingDetailsForm.categoryRequired": "{categoryLevel, select, categoryLevel1 {You need to select a category.} other {You need to select a subcategory.}}",
"FilterComponent.categoryLabel": "Category",

Social logins - April 25th, 2024

New keys

"AuthenticationPage.idpAuthFailed": "Failed to authenticate with an external identity provider.",
"TopbarDesktop.LinksMenu.all": "Menu",
"TopbarDesktop.LinksMenu.more": "More",

Updated keys

"AuthenticationPage.loginWithFacebook": "Continue with Facebook",
"AuthenticationPage.loginWithGoogle": "Continue with Google",
"AuthenticationPage.signupWithFacebook": "Continue with Facebook",
"AuthenticationPage.signupWithGoogle": "Continue with Google",

User fields - April 24th, 2024

New keys

"ProfilePage.detailNo": "No",
"ProfilePage.detailYes": "Yes",
"ProfilePage.detailsTitle": "Details",

Top bar links - March 15th, 2024

New keys

"TopbarDesktop.LinksMenu.all": "Menu", 
"TopbarDesktop.LinksMenu.more": "More",

Display & disable default fields - February 14th, 2024

New keys

"CheckoutPage.destinationAccountNotCompleteStripeError": "This listing is currently unavailable because the listing author's payout information is incomplete. Your card hasn't been charged. Please contact support.", 
"ListingPage.addPayoutDetails": "Add payout details",
"ListingPage.addPayoutDetailsMessage": "Please add your payout details to start accepting orders.", "ListingPage.payoutDetailsWarning": "This listing is not available {processType, select, booking {for booking} other {for purchase}}. You have not added your payout details yet.",
"ListingPage.payoutDetailsWarningLink": "Add your payout details", "ProductOrderForm.ownListing": "This is your own listing.", "EditListingPricingAndStockForm.updateToInfinite": "Update the stock of this listing to infinite", "EditListingPricingAndStockForm.updateToInfiniteInfo": "<b>The stock type of this listing type has changed.</b> The stock of this listing is currently {currentStock}, but listings in this listing type should now have infinite stock.",
"EditListingPricingAndStockForm.updateToInfiniteRequired": "You need to update the stock of this listing to infinite to save changes.",

Updated keys

"TransactionPage.ActivityFeed.default-purchase.delivered": "{deliveryMethod, select, shipping {The listing was shipped.} other {The listing was delivered.}}",
"TransactionPage.default-purchase.customer.purchased.extraInfo": "{deliveryMethod, select, shipping {You'll be notified when {providerName} ships the item.} other {Use the chat function below to agree on a time for pickup.}}",
"CheckoutPage.providerStripeAccountMissingError": "This listing is currently unavailable because the listing author hasn't added their payout details yet. Please contact support.", "EditListingPricingAndStockForm.oldStockTotalWasOutOfSync": "Oops, the stock of this listing is out of sync. Someone might just have bought this item. Please refresh the page and try again.",
"EditListingWizard.default-booking.new.saveAvailability": "Next", "EditListingWizard.default-booking.new.saveDetails": "Next", "EditListingWizard.default-booking.new.saveLocation": "Next", "EditListingWizard.default-booking.new.savePhotos": "Publish listing", "EditListingWizard.default-booking.new.savePricing": "Next", "EditListingWizard.default-inquiry.new.saveDetails": "Next", "EditListingWizard.default-inquiry.new.saveLocation": "Next", "EditListingWizard.default-inquiry.new.saveLocationNoPricingTab": "Next", "EditListingWizard.default-inquiry.new.savePhotos": "Publish listing", "EditListingWizard.default-inquiry.new.savePricing": "Next", "EditListingWizard.default-purchase.new.saveDelivery": "Next", "EditListingWizard.default-purchase.new.saveDetails": "Next", "EditListingWizard.default-purchase.new.savePhotos": "Publish listing", "EditListingWizard.default-purchase.new.savePricingAndStock": "Next",

Customer commission - February 7th, 2024

New keys

"OrderBreakdown.commission": "{role, select, customer {{marketplaceName} fee *} provider {{marketplaceName} fee *} other {}}",

Updated keys

"OrderBreakdown.commission": "{marketplaceName} fee"

Multiple listing types - September 27th, 2023

New keys

"ManageListingsPage.createListing": "Post a new listing",
"SearchPage.createListing": "Post a new listing",
"CheckoutPageWithInquiryProcess.initiateInquiryError": "Oops, something went wrong. Please try again. If the problem persists, contact support.",
"CheckoutPageWithInquiryProcess.initiateInquiryErrorNoProcess": "Oops, no transaction process attached to the listing. Please contact support",

Free messaging process - September 19th, 2023

New keys

"CheckoutPage.default-inquiry.orderBreakdown": "Order breakdown",
"CheckoutPage.default-inquiry.title": "Send an inquiry to {authorDisplayName}",
"CheckoutPageWithInquiryProcess.messageLabel": "Inquiry message",
"CheckoutPageWithInquiryProcess.messagePlaceholder": "Hello there! I'm interested in…",
"CheckoutPageWithInquiryProcess.messageRequired": "Message is required.",
"CheckoutPageWithInquiryProcess.perUnit": "{unitType, select, day {per day} night {per night} hour {per hour} other {}}",
"CheckoutPageWithInquiryProcess.submitButtonText": "Send inquiry",
"EditListingWizard.default-inquiry.new.saveDetails": "Next: Location",
"EditListingWizard.default-inquiry.new.saveLocation": "Next: Pricing",
"EditListingWizard.default-inquiry.new.saveLocationNoPricingTab": "Next: Photos",
"EditListingWizard.default-inquiry.new.savePhotos": "Publish listing",
"EditListingWizard.default-inquiry.new.savePricing": "Next: Photos",
"InboxPage.default-inquiry.free-inquiry.status": "Free inquiry",
"InquiryWithoutPaymentForm.ctaButton": "Send an inquiry",
"OrderPanel.ctaButtonMessageInquiry": "Send an inquiry",
"SortBy.newest": "Newest",
"SortBy.oldest": "Oldest",
"SortBy.lowestPrice": "Lowest price",
"SortBy.highestPrice": "Highest price",
"SortBy.relevance": "Relevance",
"SortBy.relevanceLong": "Relevance (Keyword search)",
"TransactionPage.ActivityFeed.default-inquiry.free-inquiry": "{actor, select, you {You started a conversation.} other {{otherUsersName} started a conversation.}}",
"TransactionPage.default-inquiry.customer.free-inquiry.title": "You sent an inquiry.",
"TransactionPage.default-inquiry.provider.free-inquiry.title": "You received an inquiry from {customerName}.",
"TransactionPanel.conversationHeading": "Conversation",
"TransactionPanel.inquiryMessageHeading": "Inquiry message",

Updated keys

"EditListingPricingForm.pricePerProduct": "Price {unitType, select, day {per day} night {per night} hour {per hour} other {}}"

Deleted keys

"ModalMissingInformation.gotoPaymentSettings": "Add payment details",
"ModalMissingInformation.missingStripeAccountText": "You have listings but your payment details are missing. Your listings are not available until payment details are saved.",
"ModalMissingInformation.missingStripeAccountTitle": "Payment details missing",
Did this answer your question?