Labels Reference
All user-facing text in Qariyb widgets can be customized through QariybConfig.labels.
window.QariybConfig = {
publishableKey: 'pk_live_...',
labels: {
getTickets: 'Reserve Your Spot',
continueToCheckout: 'Continue',
},
};
Common
| Key | Default | Description |
|---|---|---|
loading | 'Loading...' | Loading state text |
error | 'Error' | Error heading |
retry | 'Retry' | Retry button text |
back | 'Back' | Back button text |
continue | 'Continue' | Continue button text |
close | 'Close' | Close button text |
Ticket Selection
| Key | Default | Description |
|---|---|---|
selectTickets | 'Select Tickets' | Section heading |
noTicketsAvailable | 'No tickets available' | Empty state message |
soldOut | 'Sold Out' | Sold out badge text |
remaining | '{count} remaining' | Availability (template) |
getTickets | 'Get Tickets' | CTA button text |
continueToCheckout | 'Continue to Checkout' | Continue button text |
Customer Details Form
| Key | Default | Description |
|---|---|---|
yourDetails | 'Your Details' | Section heading |
fullName | 'Full Name' | Name field label |
fullNamePlaceholder | 'Fatima Hassan' | Name placeholder |
email | 'Email' | Email field label |
emailPlaceholder | 'fatima@example.com' | Email placeholder |
phone | 'Phone' | Phone field label |
phonePlaceholder | '+44 7700 900123' | Phone placeholder |
phoneOptional | 'Phone (optional)' | Optional phone label |
additionalInfo | 'Additional Information' | Custom questions heading |
selectPlaceholder | 'Select...' | Dropdown placeholder |
required | '*' | Required field indicator |
Payment
| Key | Default | Description |
|---|---|---|
payment | 'Payment' | Section heading |
pay | 'Pay' | Pay button prefix |
payAmount | 'Pay {amount}' | Pay button with amount |
completeRegistration | 'Complete Registration' | Free event button |
processingOrder | 'Processing your order...' | Processing message |
free | 'Free' | Free ticket/event label |
fromPrice | 'From {price}' | Starting price display |
Order Summary
| Key | Default | Description |
|---|---|---|
orderSummary | 'Order Summary' | ARIA label |
yourOrder | 'YOUR ORDER' | Section heading |
subtotal | 'Subtotal' | Subtotal label |
total | 'Total' | Total label |
ticketCount | '{count} ticket' | Singular ticket count |
ticketCountPlural | '{count} tickets' | Plural ticket count |
Success State
| Key | Default | Description |
|---|---|---|
registrationSubmitted | 'Registration Submitted!' | Pending approval heading |
youreRegistered | "You're registered!" | Confirmed heading |
pendingApproval | "Your registration is pending approval..." | Pending message |
confirmationSent | 'Confirmation email sent to {email}' | Confirmation message |
orderNumber | 'Order' | Order number label |
ticketsLabel | 'Tickets' | Tickets label |
Error Messages
| Key | Default | Description |
|---|---|---|
somethingWentWrong | 'Something went wrong' | Generic error heading |
unexpectedError | 'An unexpected error occurred' | Fallback error |
failedToLoad | 'Failed to load' | Load failure |
failedToLoadEvent | 'Failed to load event' | Event load failure |
failedToLoadTickets | 'Unable to load tickets' | Tickets load failure |
noEventId | 'No event ID provided' | Missing ID error |
eventNotFound | 'Event not found' | 404 error |
paymentFailed | 'Payment failed' | Payment error |
tryAgain | 'Try Again' | Retry button text |
Footer & Trust
| Key | Default | Description |
|---|---|---|
secureCheckout | 'Secure checkout' | Security badge text |
secureCheckoutPoweredBy | 'Secure checkout powered by Qariyb' | Full security message |
ticketsDeliveredInstantly | 'Tickets delivered instantly via email' | Delivery message |
Accessibility (Screen Readers)
| Key | Default | Description |
|---|---|---|
ariaCloseModal | 'Close dialog' | Modal close button |
ariaAddTicket | 'Add one {ticketName} ticket' | Add button |
ariaRemoveTicket | 'Remove one {ticketName} ticket' | Remove button |
ariaTicketQuantity | '{count} {ticketName} tickets selected' | Quantity announcement |
ariaLoadingContent | 'Loading content, please wait' | Loading state |
Template Placeholders
Some labels use {placeholder} syntax:
| Placeholder | Used In | Replaced With |
|---|---|---|
{count} | remaining, ticketCount, etc. | Number |
{amount} | payAmount | Formatted price (e.g., "$25.00") |
{price} | fromPrice | Formatted price |
{email} | confirmationSent | Customer email |
{ticketName} | ariaAddTicket, ariaRemoveTicket, ariaTicketQuantity | Ticket type name |
Example
labels: {
remaining: '{count} spots left',
payAmount: 'Pay {amount} now',
confirmationSent: 'We sent your tickets to {email}',
ariaAddTicket: 'Add a {ticketName}',
}
TypeScript Interface
interface Labels {
// Common
loading: string;
error: string;
retry: string;
back: string;
continue: string;
close: string;
// Tickets
selectTickets: string;
noTicketsAvailable: string;
soldOut: string;
remaining: string;
getTickets: string;
continueToCheckout: string;
// Checkout form
yourDetails: string;
fullName: string;
fullNamePlaceholder: string;
email: string;
emailPlaceholder: string;
phone: string;
phonePlaceholder: string;
phoneOptional: string;
additionalInfo: string;
selectPlaceholder: string;
required: string;
// Payment
payment: string;
pay: string;
payAmount: string;
completeRegistration: string;
processingOrder: string;
free: string;
fromPrice: string;
// Order summary
orderSummary: string;
yourOrder: string;
subtotal: string;
total: string;
ticketCount: string;
ticketCountPlural: string;
// Success
registrationSubmitted: string;
youreRegistered: string;
pendingApproval: string;
confirmationSent: string;
orderNumber: string;
ticketsLabel: string;
// Errors
somethingWentWrong: string;
unexpectedError: string;
failedToLoad: string;
failedToLoadEvent: string;
failedToLoadTickets: string;
noEventId: string;
eventNotFound: string;
paymentFailed: string;
tryAgain: string;
// Footer / Trust
secureCheckout: string;
secureCheckoutPoweredBy: string;
ticketsDeliveredInstantly: string;
// Accessibility
ariaCloseModal: string;
ariaAddTicket: string;
ariaRemoveTicket: string;
ariaTicketQuantity: string;
ariaLoadingContent: string;
}
Programmatic API
import { setLabels, resetLabels, getLabels } from '@qariyb/js';
// Update labels
setLabels({
getTickets: 'Reserve Now',
});
// Get current labels
const labels = getLabels();
console.log(labels.getTickets); // 'Reserve Now'
// Reset to defaults
resetLabels();
Example: Custom English
window.QariybConfig = {
publishableKey: 'pk_live_...',
labels: {
// Make it more casual
yourDetails: 'Tell us about yourself',
fullName: 'Your name',
fullNamePlaceholder: 'John Smith',
email: 'Your email',
emailPlaceholder: 'john@example.com',
// More exciting CTAs
getTickets: 'Grab Your Tickets!',
continueToCheckout: "Let's Do This",
payAmount: 'Complete Purchase - {amount}',
completeRegistration: 'Claim Your Spot',
// Friendlier messages
youreRegistered: "You're in!",
confirmationSent: "Check {email} for your tickets",
secureCheckout: 'Secure checkout',
// Clearer errors
somethingWentWrong: 'Oops! Something broke',
tryAgain: 'Give it another shot',
},
};
Right-to-left languages
You can translate every string, and that part works today. The layout does
not mirror: the SDK does not currently implement RTL, and setting dir="rtl" on
your page will not flip the widget's alignment, icon placement or spacing.
<html dir="rtl" lang="ar">
<body>
<!-- Strings are Arabic; layout direction stays left-to-right. -->
<qariyb-checkout event-id="01HW..."></qariyb-checkout>
</body>
</html>
window.QariybConfig = {
publishableKey: 'pk_live_...',
labels: {
getTickets: 'احصل على التذاكر',
selectTickets: 'اختر التذاكر',
continueToCheckout: 'متابعة',
// ... Arabic translations
},
};
Labels not listed above
These keys are part of Labels but were missing from the tables on this page.
They are overridden the same way as any other.
| Key | Default |
|---|---|
salesClosed | Sales Closed |
soldOutMessage | This event is sold out. |
salesClosedMessage | Tickets for this event are not on sale right now. |
noEventsAvailable | No events available |
phoneRequired | Phone * |
selectOption | Select an option |
discountCode | Discount Code |
discountCodePlaceholder | Enter code |
discountApply | Apply |
discountApplying | Applying… |
discountApplied | {code} applied — {value} off |
discountLine | Discount ({code}) |
discountUnavailable | We couldn't apply that code just now. Please try again. |
validationError | Please check your information |
fieldRequired | {field} is required |
invalidEmail | Please enter a valid email address |
incompletePayment | Please complete your payment details |
stepOf | Step {current} of {total} |
processing | Processing... |
Placeholders in these labels
Alongside the placeholders documented above, these are substituted at runtime. An unrecognised placeholder is left in the string as written.
| Placeholder | Used in |
|---|---|
{code} | discountApplied, discountLine |
{value} | discountApplied |
{field} | fieldRequired |
{current}, {total} | stepOf |
t() reads window.QariybConfig.labels before the store that setLabels()
writes to, so a key set in QariybConfig cannot be overridden later by
setLabels(). Pick one of the two for any given key.