Event Manager supports multiple languages, and the way to translate it is technically the same as you would use to translate seating charts you show to your ticket buyers. 

This means you can use the language parameter to set the overall language, and the messages  parameter to override individual lines of text.

Setting the Overall Language

Event Manager has built-in support for English (en), Spanish (es), Portuguese (pt), German (de) and Dutch (nl). 

To render a floor plan in your language, simply pass in a “language” config parameter, like so:

new seatsio.EventManager({
    "language": "es"

Built-in texts

Built-in texts are texts that Seats provides out of the box. For example texts like the ones in the tooltips that get shown when an administrator or box office manager hovers over a seat or a section. 

These are the built-in texts that are available within Event Manaer, with their translation in English:

'object': 'object',
'objects': 'objects',
'forSale': 'For Sale',
'notForSale': 'Not For Sale',
'temporarilyHeld': 'Temporarily held',
'booked': 'Booked',
'free': 'Free',
'numObjectsMarkedAs': '%a marked as %b', // e.g. <2 objects> marked as <For Sale>
'willBeMarkedAs': 'Will be marked as %a', // e.g. Will be marked as <For Sale>
'numExtraPlacesWillBeBooked': '%a will be booked', // e.g. <5 extra places> will be booked
'numPlacesWillBeReleased': '%a will be released', // e.g. <5 places> will be released
'objectWillBeBooked': 'Will be booked',
'objectWillBeReleased': 'Will be released',
'cannotBeMarkedAs': 'Cannot be marked as %a', // e.g. cannot be marked as <For Sale>
'markNumObjectsAs': 'Mark %a as %b', // e.g. Mark <1 object> as <For Sale>
'numWillBeBookableByTable': '%a will be bookable by table',
'numWillBeBookableBySeat': '%a will be bookable by seat',
'willBeBookableByTable': 'Will be bookable by table',
'willBeBookableBySeat': 'Will be bookable by seat',
'bookableByTable': 'Bookable by table',
'bookableBySeat': 'Bookable by seat',
'bookBySeatsOnly': 'Book by seats',
'bookByTablesOnly': 'Book by table',
'clickToMarkAs': 'Click to mark as %a', // e.g. Click to mark as <For Sale>
'clickToUndo': 'Click to undo',
'clickToRelease': 'Click to release',
'clickToBook': 'Click to book',
'success': 'Success',
'numSavesRemaining': '%a remaining until %b.', // e.g. 8 saves remaining until 3 PM.
'save': 'save',
'saves': 'saves',
'savedTooManyTimes': 'Saved too many times. Please try again later.',
'somethingWentWrong': 'Whoops, something went wrong.',
'clickToChange': 'Click to change',
'place': 'place',
'places': 'places',
'extraPlace': 'extra place',
'extraPlaces': 'extra places',
'bookNumPlaces': 'Book %a', // e.g. Book <4 places>
'releaseNumPlaces': 'Release %a', // e.g. Release <4 places>
'numPlacesBooked': '%a booked',
'close': 'Close',
'table': 'table',
'tables': 'tables',
'markAs': 'Mark as %a', // e.g. Click to mark as <For Sale>
'undo': 'Undo',
'release': 'Release',
'book': 'Book',
'change': 'Change'

Translating dynamic labels and texts

Besides the built-in texts, other texts can be translated as well: 

  • static text you add on your floor plan while you're designing it
  • category labels
  • ... 

To translate these dynamic, you need to pass in a messages config variable, like so:

new seatsio.EventManager({
    "messages": {
        "STAGE": "Podium",
        "ORGAN": "Orgue"

Please note: the keys in the messages object are cAsE sEnSiTivE!


  1. set the language  config param to translate built-in texts.
  2. use a messages  array to translate your own labels and texts.
Did this answer your question?