Nødsituation

Ved akutte situationer eller nedbrud kan du sende en SMS til vores vagttelefon

Vagttelefon (kun SMS)

+45 29 70 15 95

Send en SMS med følgende information:

  • Dit navn og webshop
  • Beskrivelse af problemet
  • Dit telefonnummer for tilbageringning

Bemærk: Denne service er kun til kritiske situationer hvor din webshop er nede eller har alvorlige problemer. For almindelig support, brug venligst vores normale supportkanaler.

Oversæt og tilpas tekster i din webshop

Guide til sprogstyring i Shoporama. Tilpas og oversæt alle tekster i din webshop, fra knapper til checkout-tekster. Inkluderer udviklerdokumentation med Smarty-eksempler og CSV-import.

Læsetid: ca. 22 minutter
Shopejer Udvikler

Alle tekster i din webshop kan tilpasses og oversættes via tekststyringen. Det gælder knaptekster som "Læg i kurv", fejlmeddelelser, checkout-tekster, formularfelter, mailtekster og alle andre tekster i dit tema. Du bestemmer selv, hvad der skal stå — og kan tilpasse sproget, så det passer til din målgruppe og din brandidentitet.

Åbn tekststyringen

  1. Gå til Design > Tekster i administrationen
  2. Du ser nu alle tekster organiseret i sektioner (fx Basket, User, Mail, Order)
  3. Brug søgefeltet til at finde en bestemt tekst, eller filtrer på en sektion

Tilpas en tekst

For hver tekst ser du den originale tekst til venstre og et felt til din tilpassede version til højre. Indtast din ønskede tekst og klik Gem oversættelser. Hvis feltet er tomt, bruges den originale tekst.

Shoporamas Tekster-side med originaltekst til venstre og oversættelsesfelt til højre, samt søgefelt, sektionsfilter, og Eksporter- og Importer-knapper
Under Design > Tekster vises hver original til venstre og et felt til din tilpassede version til højre. Er feltet tomt, bruges originalteksten, og øverst kan du søge, filtrere på sektion, samt eksportere eller importere alle tekster som CSV.

Du kan fx ændre:

  • "Læg i kurv" til "Tilføj til indkøbskurv"
  • "Udsolgt" til "Midlertidigt udsolgt — kontakt os for levering"
  • "Ordrebekræftelse" til "Tak for din ordre!"
  • Checkout-tekster, så de passer til din målgruppe

Nogle tekster indeholder variabler (som ordrenummer eller produktnavn). Disse vises med krøllede parenteser, fx {x}. Du skal beholde variablerne i din tilpassede tekst, men du kan frit flytte dem rundt i sætningen.

Sektioner

Teksterne er organiseret i sektioner, der svarer til forskellige dele af din webshop. Det gør det nemt at finde de tekster, du vil tilpasse:

  • Mail — Tekster i ordrebekræftelser, forsendelsesmails og andre automatiske mails
  • User — Profiltekster, login, opret konto og kontosider
  • Order — Ordrehistorik og ordredetaljer for kunden
  • Basket — Kurv og produkttilføjelse
  • Checkout — Betalingsflow og afslutning af ordre
  • Thanks — Tak-siden efter gennemført køb
  • Search — Søgefunktionen
  • Product — Produktsider
  • Address — Adressefelter
  • General — Generelle tekster på tværs af shoppen

Nye tekster dukker op automatisk

Når en side i din webshop vises for første gang, registrerer systemet automatisk alle tekster på siden. Nye tekster dukker altså op under Design > Tekster, efterhånden som siderne besøges. Du behøver ikke oprette dem manuelt — besøg blot de relevante sider i din webshop, og teksterne vil blive tilgængelige for tilpasning.

Eksportér og importér oversættelser

Du kan eksportere alle dine tekster som CSV-fil, redigere dem i et regneark og importere dem igen. Det er særligt nyttigt, hvis du skal oversætte mange tekster på én gang eller vil have en oversætter til at gennemgå dem.

  1. Klik Eksporter for at downloade alle tekster som CSV
  2. Åbn filen i et regneark (fx Excel eller Google Sheets)
  3. Udfyld kolonnen translated med dine tilpassede tekster
  4. Gem filen som CSV (med semikolon som separator og UTF-8 som tegnsæt)
  5. Klik Importer for at uploade den opdaterede fil

Vigtigt: Originalteksten i CSV-filen skal matche præcis med den tekst, der ligger i systemet. Systemet bruger en tjeksum til at finde den rigtige tekst, så selv små ændringer i originalteksten kan betyde, at oversættelsen ikke kobles korrekt.

CSV-filen har fire kolonner:

  • original — Den originale tekst (må ikke ændres)
  • translated — Din tilpassede/oversatte tekst
  • hint — En kontekstbeskrivelse, der forklarer hvor teksten bruges
  • section — Hvilken sektion teksten hører til

Sådan virker eksporten

Eksporten tager altid alle tekster i shoppen med. Har du filtreret listen på en sektion eller søgt efter et bestemt ord, får du stadig hele listen i filen, ikke kun de rækker, du kan se på skærmen. Filen hedder language.csv og indeholder både de tekster, du allerede har tilpasset, og dem, der endnu står tomme.

Øverst i filen står en overskriftsrække med de fire kolonnenavne. Hver linje derunder er én tekst. Er kolonnen translated tom, er teksten ikke tilpasset endnu, og kunden ser originalteksten. Det gør filen til et godt arbejdsdokument: filtrerer du på tomme felter i regnearket, har du med det samme overblik over, hvad der mangler at blive skrevet. For en shop med flere hundrede tekster er det langt hurtigere end at klikke sig gennem listen side for side.

Tip: Gem en kopi af den friske eksport, før du begynder at rette i den. Går noget skævt undervejs, lægger du bare kopien ind igen og er tilbage ved udgangspunktet.

Sådan virker importen

Importen læser filen linje for linje og bruger overskriftsrækken til at finde ud af, hvilken kolonne der er hvad. Rækkefølgen af kolonnerne er derfor ligegyldig. Kolonnerne original og translated skal altid være med, mens hint og section kan udelades. Skal en oversætter blot udfylde oversættelserne, er en fil med kun de to kolonner rigeligt.

For hver linje sker der én af to ting:

  • Teksten findes i forvejen. Originalteksten matcher præcis, og din oversættelse bliver gemt på den eksisterende tekst.
  • Teksten findes ikke. Så bliver den oprettet som en ny tekst med det hint og den sektion, der står i filen.

To detaljer er værd at kende. For det første er det kun kolonnen translated, der bliver opdateret på tekster, du har i forvejen. Retter du hint eller section i filen for en tekst, der allerede findes, sker der ingenting. De to kolonner bliver kun brugt, når importen opretter en ny tekst.

For det andet rydder en tom translated-kolonne den tilpasning, der lå i forvejen, så originalteksten kommer frem igen. Det er praktisk, hvis du vil fortryde en oversættelse, men ærgerligt, hvis du kommer til at lægge en fil ind, hvor kolonnen ved et uheld er blevet tømt. Det samme sker, hvis kolonnen slet ikke er med i filen.

Når importen er kørt, kvitterer siden med en besked i stil med "Der blev indlæst 42 rækker". Tallet er antallet af linjer i filen, ikke antallet af tekster, der blev genkendt. Tjek derfor altid et par stikprøver på listen bagefter.

Vigtigt: At importen opretter en ny tekst, betyder ikke, at teksten kommer til at stå ude i din webshop. En tilpasning bliver kun brugt, hvis dit tema indeholder præcis den originaltekst. Er der ændret et komma eller et mellemrum i kolonnen original, får du derfor en ny, ubrugt række på listen i stedet for den oversættelse, du havde regnet med.

Gem filen som UTF-8 med semikolon

De fleste problemer med import handler om, hvordan regnearket har gemt filen. To ting skal være på plads:

  • Semikolon mellem kolonnerne. Gemmer dit regneark med komma i stedet, kan importen ikke se, hvor den ene kolonne slutter og den næste begynder.
  • UTF-8 som tegnsæt. Gemmer du filen i et ældre Windows-format, ender æ, ø, og å som spørgsmålstegn eller andre mærkelige tegn i dine tekster.

I Excel vælger du filtypen CSV UTF-8, når du gemmer. Om Excel derefter bruger semikolon eller komma, afhænger af dine sprogindstillinger, så det er en god vane at åbne den gemte fil i en simpel teksteditor og se efter, at der faktisk står semikolon mellem kolonnerne. Bruger du Google Sheets eller Numbers, er tegnsættet altid UTF-8, men tjek stadig, at kolonnerne er adskilt med semikolon. Er du i tvivl, så prøv med to eller tre linjer først, og se på listen bagefter, om teksten er landet rigtigt.

Når importen ikke gør som forventet

  • Der står spørgsmålstegn i stedet for æ, ø, og å. Filen er ikke gemt som UTF-8. Gem den igen i det rigtige format, og kør importen forfra. De forkerte tekster bliver skrevet over.
  • Der er dukket en tom eller mærkelig række op på listen. Filen er formentlig kommasepareret. Gem den med semikolon, og slet den forkerte række med skraldespandsikonet yderst til højre.
  • Oversættelsen står på listen, men ikke i shoppen. Så matcher originalteksten ikke. Søg efter et par ord fra originalteksten, og se, om der ligger to næsten ens rækker. Den, der bliver brugt, er den, der står præcis som i temaet.
  • Kun nogle af rækkerne slog igennem. Tjek, at kolonnerne i overskriftsrækken øverst i filen stadig hedder original og translated, og at der ikke er kommet ekstra mellemrum eller anførselstegn ind omkring originalteksten.

Flere sprog

Hver webshop har ét sprog, som du vælger under Webshop > Generelt, og sin egen liste over tekster. Skal din butik findes på flere sprog, sker det med en webshop pr. sprog, og teksterne tilpasses derfor i hver shop for sig. Eksporten gør det nemt at flytte oversættelser fra den ene shop til den anden. Læs mere om flersproget opsætning i artiklen Sprogsupport i temaer.

Hvad sker der med dine tekster, når temaet opdateres?

Dine tilpassede tekster hører til din webshop, ikke til temaet. De ligger gemt sammen med resten af shoppens data og bliver hverken slettet eller nulstillet, når dit tema opdateres til en ny version, eller når du skifter til et helt andet tema.

Når du skifter tema

Har temaet sine egne oversættelser med i pakken, bliver de læst ind på listen, så snart du skifter tema eller aktiverer et tema fra Temabutikken. Tekster, der ikke fandtes i forvejen, bliver oprettet, og felter, der står tomme, bliver fyldt ud med temaets egen formulering. Dine egne tilpasninger bliver aldrig skrevet over.

Når en originaltekst ændrer sig

Det eneste, du skal holde øje med, er de tekster, hvor selve originalteksten er blevet ændret i den nye version af temaet. En tilpasning hænger sammen med den præcise originaltekst. Bliver "Læg i kurv" til "Læg i kurven", er der altså tale om en ny tekst. Din gamle tilpasning bliver ikke slettet, men den bliver ikke længere brugt, og i stedet står der en ny, tom række på listen. Du finder dem hurtigt ved at kigge listen igennem for tomme oversættelsesfelter.

Tekster fra et tidligere tema

Tekster fra et tema, du ikke bruger længere, bliver stående på listen. De gør ingen skade, for en tilpasning bliver kun brugt, hvis originalteksten optræder i det tema, der er aktivt. Vil du rydde op, kan du slette en række med skraldespandsikonet yderst til højre. Vær opmærksom på, at den knap samtidig gemmer de oversættelser, du har skrevet på siden. Bruger dit tema stadig teksten, dukker den op igen af sig selv, næste gang siden vises, blot uden din tilpasning.

Tjekliste efter en temaopdatering

  1. Klik rundt i din webshop, så nye tekster når at blive registreret. Husk kurven, kassen, og kvitteringssiden.
  2. Gå til Design > Tekster og kig listen igennem for tomme oversættelsesfelter.
  3. Har du mange tekster, så hent listen ud med knappen Eksporter og find de tomme felter i regnearket.
  4. Udfyld det, der mangler, og læg filen ind igen med Importer.
  5. Tjek til sidst en ordrebekræftelse, så du er sikker på, at mailteksterne også er på plads.

Tips til gode tekster

  • Vær konsekvent — Brug den samme tone og stil i alle tekster
  • Tænk på kunden — Skriv tekster, der er nemme at forstå for dine kunder
  • Test i webshoppen — Besøg de relevante sider for at se, hvordan teksterne ser ud i praksis
  • Brug hints — Hints giver kontekst og hjælper dig med at huske, hvor teksten vises

Ofte stillede spørgsmål

Jeg har rettet en tekst, men der står stadig det gamle ude i shoppen

Som logget ind i administrationen ser du altid den nyeste udgave af siderne. En almindelig besøgende kan derimod få en gemt kopi af siden, der højst er fire timer gammel. Kurven, kassen, og kvitteringssiden bliver aldrig gemt på den måde, så rettelser dér slår igennem med det samme. Står den gamle tekst der stadig dagen efter, er det ikke den gemte kopi, men originalteksten, der ikke matcher. Se afsnittet Når importen ikke gør som forventet.

Vi har lige opdateret temaet. Skal jeg oversætte det hele forfra?

Nej. Alle dine tilpassede tekster bliver liggende, og temaets nye version bruger dem videre. Du skal kun kigge på de tekster, hvor selve originalteksten er blevet omformuleret i opdateringen. Dem finder du som tomme felter på listen under Design > Tekster.

Kan jeg genbruge mine oversættelser i en anden webshop?

Ja. Hent teksterne ud af den første shop med Eksporter, og læg den samme fil ind i den anden shop med Importer. Oversættelser, hvor originalteksten er den samme i begge shops, virker med det samme. De øvrige linjer bliver til nye, ubrugte rækker, som du bare kan lade ligge eller slette. Det fungerer bedst, når shoppene kører på samme tema.

Kan jeg nøjes med to kolonner i filen?

Ja. original og translated er nok, og de to skal altid være med. Overskriftsrækken øverst bestemmer, hvad kolonnerne hedder, så rækkefølgen er ligegyldig. hint og section kan du udelade; de har kun betydning, når importen opretter en ny tekst.

Kan jeg sende filen til en ekstern oversætter?

Ja, og det er en af de bedste grunde til at bruge eksporten. Bed oversætteren om kun at skrive i kolonnen translated og aldrig røre kolonnen original. Bed også om, at variabler som {x} og {order_id} bliver stående, og at filen gemmes som UTF-8 med semikolon. Så kan du lægge filen direkte ind igen, når den kommer retur.

Hvad sker der, hvis jeg tømmer oversættelsesfeltet?

Så kommer originalteksten frem igen. Det gælder både, når du sletter indholdet i feltet på listen og gemmer, og når du lægger en fil ind, hvor kolonnen translated står tom. Det er altså en nem måde at rulle en enkelt tilpasning tilbage på uden at slette selve teksten.

Jeg har importeret en forkert fil. Hvad gør jeg?

Der er ingen fortryd-knap, men det er til at rette op på. Læg din gemte kopi af den oprindelige eksport ind igen, så bliver de forkerte oversættelser skrevet over. Har importen samtidig oprettet rækker med forkerte originaltekster, sletter du dem enkeltvis med skraldespandsikonet yderst til højre. De påvirker ikke din shop, så længe de bare ligger der.

Kan jeg også ændre teksterne i ordrebekræftelsen via import?

Ja. Mailteksterne ligger i sektionen Mail og kommer med i eksporten på lige fod med alt andet. Mails bliver bygget i det øjeblik, de sendes, så en ændring gælder fra den næste mail, der går ud. Husk at beholde variabler som {order_id} og {webshop_name}, så kunden stadig får sit ordrenummer at vide. Vil du også justere selve købsflowet, kan du læse mere i Tilpas din checkout.

Har du brug for hjælp til tekststyringen? Kontakt os på support@shoporama.dk.


For udviklere: Smarty-syntaks til oversættelige tekster

Når du udvikler eller tilpasser et Shoporama-tema, kan du gøre alle tekster oversættelige ved at bruge Smarty-blokken <{t}>...<{/t}>. Tekster, der er indkapslet i denne blok, vises automatisk i tekststyringen under Design > Tekster og kan tilpasses af butiksejeren.

Grundlæggende syntaks

Den simpleste form omslutter blot teksten:

<{t}>Læg i kurv<{/t}>

Teksten "Læg i kurv" vil nu dukke op under tekststyringen, hvor butiksejeren kan erstatte den med fx "Tilføj til indkøbskurv".

Sektioner — gruppér dine tekster

Brug parameteren section til at organisere tekster i logiske grupper. Det gør det nemmere for butiksejeren at finde og redigere tekster:

<{t section="Basket"}>Basket<{/t}>
<{t section="User"}>Edit profile<{/t}>
<{t section="Mail"}>Ordrebekræftelse<{/t}>

De mest brugte sektioner i Shoporama-temaer er:

  • Mail — E-mail-skabeloner
  • User — Bruger- og kontosider
  • Order — Ordrehistorik og ordredetaljer
  • Basket — Kurv
  • Address — Adressefelter
  • Thanks — Tak-side
  • General — Generelle tekster
  • Checkout — Checkout-flow
  • Search — Søgefunktion
  • Product — Produktsider

Hints — giv kontekst til oversætteren

Brug parameteren hint til at give en beskrivelse af, hvor teksten bruges. Hintet vises i tekststyringen og hjælper butiksejeren med at forstå konteksten:

<{t section="Mail" hint="Email Subject"}>Tak for din afhentning<{/t}>

Variabler i tekster

Du kan indsætte dynamiske værdier i oversættelige tekster ved at angive dem som parametre. I teksten refereres de med krøllede parenteser:

<{t x=$product->getName()}>Hvilken emoji beskriver din oplevelse med {x}?<{/t}>

Du kan bruge flere variabler i samme tekst:

<{t section="Thanks" x=$order->getWebshopOrderId() y=$smarty.capture.order_total}>Ordre #{x} er modtaget. Total: {y}<{/t}>

Variablerne erstattes automatisk med de faktiske værdier, når siden vises. Butiksejeren kan frit flytte variablerne rundt i teksten, men skal beholde dem i den tilpassede version.

Auto-discovery af tekster

Når en template renderes og systemet møder en <{t}>-blok, der endnu ikke er registreret, oprettes teksten automatisk i databasen. Du behøver altså ikke oprette tekster manuelt — nye tekster dukker op i tekststyringen, efterhånden som siderne besøges af brugere.

Bemærk: Auto-discovery opretter kun nye tekster, når sproget er dansk. Det sikrer, at originalteksterne ikke forurenes med fremmedsprogede tekster.

CSV import/eksport — tekniske detaljer

CSV-filen bruger følgende format:

  • Separator: Semikolon (;)
  • Encoding: UTF-8
  • Kolonner: original;translated;hint;section

Eksempel på CSV-indhold:

original;translated;hint;section
Læg i kurv;Tilføj til indkøbskurv;;Basket
Udsolgt;Ikke på lager lige nu;;Product
Ordrebekræftelse;Tak for din ordre!;Email Subject;Mail

Vigtigt for udviklere: Systemet matcher tekster via en MD5-tjeksum af originalteksten. Det betyder, at originalteksten i CSV-filen skal være identisk med den tekst, der bruges i templaten — selv en lille ændring i mellemrum eller tegnsætning vil skabe en ny, separat tekstpost i stedet for at opdatere den eksisterende.

Best practices for temaudviklere

  • Brug altid sektioner — Det giver butiksejeren et overblik og gør det nemt at finde tekster
  • Tilføj hints til tvetydige tekster — Fx "OK" kan bruges mange steder, så et hint forklarer konteksten
  • Navngiv variabler beskrivende — Brug fx order_id eller webshop_name frem for x og y. Alle parametre ud over section bliver automatisk til variable i teksten
  • Hold originaltekster på dansk — Auto-discovery kræver dansk sprog for at oprette nye tekster
  • Test oversættelserne — Besøg siderne i webshoppen for at se, at variablerne erstattes korrekt

Læs mere om temaudvikling og sprogsupport i artiklen Sprogsupport i temaer.