Articles on: Timesact V2

Translations with Langify

Using langify instead of Shopify's Translate & Adapt? This guide shows you how to translate your Timesact storefront text (the button, message, badge, cart alerts, timer and Notify Me form) with langify, step by step.


How it works


Each customer experience you build in Timesact is saved as a Shopify item called a Timesact Customer Experience (Shopify calls these "metaobjects"). Everything a shopper reads lives inside that item, in fields named pre_order_config, back_in_stock_config, coming_soon_config and low_stock_config.


langify can translate those items, so the flow is simple: you write your text once in Timesact, then translate it in langify. Nothing needs to be set up inside Timesact first.


Good to know: the Translations tab inside a customer experience in Timesact is only an information panel. There is nothing to fill in there, it just points you to your translation app.


Step 1 — Add and publish the language


In langify, open the Dashboard and follow the "Add your needed languages" and "Publish your translations" steps. A language that exists but is not published stays invisible to shoppers, and it also needs to be assigned to a market or a domain in your Shopify settings.


Step 2 — Pick the language you are translating into


At the top left of langify you will see the language pair, for example "English > Spanish". Click it and choose the language you want to work on. Everything you type from now on is saved for that language only, so you repeat the steps below once per language.


Step 3 — Open the customer experience


  1. In the langify sidebar, go to Content → Metaobjects.
  2. Each Timesact customer experience is listed as "Ce" followed by a number, for example Ce 58, with its Shopify ID on the right.
  3. Not sure which one you need? Click an entry to expand it and look at the title field in the left column, that is the name you gave the customer experience in Timesact. You can also paste the entry's ID or handle into the filter box at the top, and the Sort dropdown lets you sort by ID, type, last update or display name.


Expanding an entry shows one row per field: title, description, then the config fields, and the settings fields (markets_config_type, inventory_locations_config_type, plan_tier). The original text is on the left, your translation goes on the right.


Step 4 — Translate the config fields


The config fields hold your storefront text as code, so langify gives them their own editor instead of one long line.


  1. Click the small icon at the right-hand end of the field, for example on pre_order_config.
  2. A "JSON Object Translation" window opens. Every setting is its own row, named like uiConfig.button.text or uiConfig.badge.text, with the original on the left and the translation on the right.
  3. Fill in the rows that contain wording a shopper reads, and leave the rest exactly as they are. The arrow between the two columns copies the original across if you want a starting point.
  4. Click Editing done.
  5. A purple bar appears at the top of the screen saying how many sections are unsaved. Click Save. (Discard throws your changes away.)


Repeat for each config field, then for each customer experience, then for each language.


Which text to translate


Translate only the wording your customers see. In the pre-order and back in stock configs that is:


  • the button: uiConfig.button.text, uiConfig.button.soldOutText, uiConfig.button.addToCartText
  • the message shown with the button: uiConfig.message.text
  • the badge: uiConfig.badge.text
  • the cart alert: uiConfig.cart.alert.header, .body, .button, .stop
  • the mixed cart alert: uiConfig.cart.mixedAlert.header, .body, .button, .stop, and .content.title, .content.message, .content.buttonText
  • the timer: uiConfig.timer.content.title, .subheading, and the labels .labels.days, .labels.hours, .labels.mins, .labels.secs
  • the Notify Me form: uiConfig.notifyMeForm.content.title, .buttonText, .description, .successMessage, .errorMessage, .emailPlaceholder, plus uiConfig.notifyMeForm.newsletter.label
  • the same items again under uiConfig.collection.*, which is what shows on collection pages


What to leave exactly as it is


Do not translate anything that the app reads rather than the shopper, even when it looks like a word:


  • ids and plan values: id, sellingPlanGroupId, sellingPlanId, plan_tier
  • fixed values: WHEN_OUT_OF_STOCK, ASAP, FULL_AMOUNT, ON_FULFILLMENT, NO_DISCOUNT, PREORDER, COMING_SOON, BUILT_IN, RIBBON, DEFAULT, CUSTOM, FIXED, ABOVE, BELOW, CURRENT, NOW, DATE, GLOBAL, ALL, unpublish-timer
  • true and false, and anything empty
  • colours, font sizes, widths, paddings, dates and numbers


langify shows the same warning at the top of the editor: do not translate fields that could be used programmatically, such as null, true and false.


Tip: type the translations yourself rather than machine-translating these fields. Machine translation is happy to translate a value like PREORDER or a colour code, and that breaks the setting.


Step 5 — Check your storefront


Open your store in the translated language and check the product page, the collection page and the cart. Anything still in the original language is a row you have not filled in and saved yet, so go back to that field.


Troubleshooting


  • The Ce entries are not listed in langify: check that the language you picked exists in langify, and that Translations is switched on for the metaobject definition in Shopify admin → Settings → Metafields and metaobjects → Timesact Customer Experience → Metaobject options. Timesact switches it on for you, so it should already be enabled.
  • One word is still in the original language: that row was not filled in, or Save was not clicked after Editing done.
  • Your translation will not save: langify respects the field's validation rules, so a translation that is too long for the field is rejected. Shorten it.
  • You use both langify and Translate & Adapt: both apps write to the same Shopify translation, so whichever one you save last wins. Pick one app per language and stick to it.
  • You created a new customer experience, or duplicated one: it is a new Ce entry with no translations, so translate it too.


Learn more


Updated on: 08/06/2026

Was this article helpful?

Share your feedback

Cancel

Thank you!