Emergency situation

In case of emergencies or breakdowns, you can send an SMS to our emergency hotline

On-call phone (SMS only)

+45 29 70 15 95

Send an SMS with the following information:

  • Your name and webshop
  • Description of the problem
  • Your callback phone number

Notes: This service is only for critical situations where your webshop is down or has serious problems. For regular support, please use our normal support channels.

Translate and customize texts in your webshop

Guide to language management in Shoporama. Customize and translate all texts in your online store, from buttons to checkout texts. Includes developer documentation with Smarty examples and CSV import.

Reading time: approx. {eight} minutes
Shopejer Developer

All texts in your online store can be customized and translated via the text manager. This includes button texts such as "Add to cart", error messages, checkout texts, form fields, email texts and all other texts in your theme. You decide what goes where - and you can customize the language to suit your target audience and brand identity.

Open the text manager

  1. Go to Design > Texts in the administration
  2. You will now see all texts organized in sections (e.g. Basket, User, Mail, Order)
  3. Use the search bar to find a specific text or filter on a section

Customize a text

For each text, you'll see the original text on the left and a field for your customized version on the right. Enter your desired text and click Save. If the field is empty, the original text will be used.

For example, you can change:

  • "Add to cart" to "Add to cart"
  • "Out of stock" to "Temporarily out of stock - contact us for delivery"
  • "Order confirmation" to "Thank you for your order!"
  • Checkout texts to suit your target audience

Some texts contain variables (like order number or product name). These are shown with curly brackets, for example {x}. You need to keep the variables in your custom text, but you can freely move them around in the sentence.

Sections

The texts are organized in sections that correspond to different parts of your online store. This makes it easy to find the texts you want to customize:

  • Mail - Texts in order confirmations, shipping emails and other automatic emails
  • User - Profile texts, login, create account and account pages
  • Order - Order history and order details for the customer
  • Basket - Basket and product addition
  • Checkout - Payment flow and order completion
  • Thanks - Thank you page after completed purchase
  • Search - Search function
  • Product - Product pages
  • Address - Address fields
  • General - General texts across the shop

New texts appear automatically

When a page in your online shop is displayed for the first time, the system automatically detects all texts on the page. New texts appear under Design > Texts as the pages are visited. No need to create them manually - simply visit the relevant pages in your online shop and the texts will become available for customization.

Export and import translations

You can export all your texts as a CSV file, edit them in a spreadsheet and import them again. This is especially useful if you need to translate many texts at once or want a translator to review them.

  1. Click Export to download all texts as CSV
  2. Open the file in a spreadsheet (e.g. Excel or Google Sheets)
  3. Fill in the translated column with your customized texts
  4. Save the file as CSV (with semicolon separator and UTF-8 encoding)
  5. Click Import to upload the updated file

Important: The original text in the CSV file must match exactly with the text in the system. The system uses a checksum to find the correct text, so even small changes to the original text can mean that the translation is not linked correctly.

The CSV file has four columns:

  • original - The original text (must not be changed)
  • translated - Your customized/translated text
  • hint - A context description explaining where the text is used
  • section - Which section the text belongs to

Multiple languages

If your online shop supports multiple languages, each language has its own text manager. Change language at the top of the administration to customize texts for that language. Read more about multilingual setup in the article Language support in themes.

Tips for good texts

  • Be consistent - Use the same tone and style in all texts
  • Think about the customer - Write texts that are easy for your customers to understand
  • Test in the webshop - Visit the relevant pages to see how the texts look in practice
  • Use hints - Hints provide context and help you remember where the text appears

Need help with text management? Contact us at support@shoporama.dk.


For developers: Smarty syntax for translatable texts

When developing or customizing a Shoporama theme, you can make all texts translatable by using the Smarty block <{t}>...<{/t}>. Texts encapsulated in this block automatically appear in the text manager under Design > Texts and can be customized by the store owner.

Basic syntax

The simplest form simply encloses the text:

<{t}>Add to cart<{/t}>

The text "Add to cart" will now appear under the text manager, where the store owner can replace it with for example "Add to cart".

Sections - group your texts

Use the section parameter to organize texts into logical groups. This makes it easier for the store owner to find and edit texts:

<{t section="Cart"}>Cart<{/t}> <{t section="User"}>Edit profile<{/t}> <{t section="Mail"}>Order confirmation<{/t}>

The most used sections in Shoporama themes are:

  • Mail - Email templates
  • User - User and account pages
  • Order - Order history and order details
  • Basket - Basket
  • Address - Address fields
  • Thanks - Thank you page
  • General - General texts
  • Checkout - Checkout flow
  • Search - Search function
  • Product - Product pages

Hints - Give context to the translator

Use the hint parameter to provide a description of where the text is used. The hint appears in the text manager and helps the store owner understand the context:

<{t section="Mail" hint="Email Subject"}>Thank you for your pickup<{/t}>

Variables in texts

You can insert dynamic values into translatable texts by setting them as parameters. In the text, they are referenced with curly brackets:

<{t x=$product->getName()}>Which emoji describes your experience with {x}?<{/t}>

You can use multiple variables in the same text:

<{t section="Thanks" x=$order->getWebshopOrderId() y=$smarty.capture.order_total}>Order #{x} has been received. Total: {y}<{/t}>

The variables are automatically replaced with the actual values when the page is displayed. The store owner is free to move the variables around in the text, but must keep them in the customized version.

Auto-discovery of texts

When a template is rendered and the system encounters a <{t}> block that has not yet been registered, the text is automatically created in the database. No need to create texts manually - new texts appear in the text manager as pages are visited by users.

Note: Auto-discovery only creates new texts when the language is Danish. This ensures that the original texts are not contaminated with foreign language texts.

CSV import/export - technical details

The CSV file uses the following format:

  • Separator: Semicolon (;)
  • Encoding: UTF-8
  • Columns: original;translated;hint;section

Example of CSV content:

original;translated;hint;section Add to cart;Add to cart;;Basket Out of stock;Not in stock right now;;Product Order confirmation;Thank you for your order;Email Subject;Mail

Important for developers: The system matches texts via an MD5 checksum of the original text. This means that the original text in the CSV file must be identical to the text used in the template - even a small change in spacing or punctuation will create a new, separate text record instead of updating the existing one.

Best practices for theme developers

  • Always use sections - This gives the store owner an overview and makes it easy to find texts
  • Add hints to ambiguous texts - For example, "OK" can be used in many places, so a hint explains the context
  • Name variables descriptively - Use e.g. x, y, z - the parameters (besides section and hint) automatically become variables in the text
  • Keep original texts in Danish - Auto-discovery requires Danish language to create new texts
  • Test the translations - Visit the pages in the webshop to see that the variables are replaced correctly

Read more about theme development and language support in the article Language support in themes.