MyCashflow-teemat voivat sisältää YAML-muotoisissa käännöstiedostoissa tekstikatkelmia, jotka eivät löydy verkkokaupan sanakirjasta. Tässä artikkelissa käydään läpi käännöstiedostojen hallinta ja käännösten käyttäminen teemassa.

Sisällyttämällä teeman tarvitsemat tekstit teeman omaan käännöstiedostoon voit varmistaa, että tietyt tekstit ovat aina saatavilla verkkokaupassa huolimatta sanakirjan sisällöstä.

Käännöstiedostot eivät ole tuettuja tulosteteemoissa.

Teeman käännökset eivät ylikirjoita sanakirjan käännöksiä. Jos sama avain on sekä teemassa että sanakirjassa, käytetään aina sanakirjan versiota.

Käännöstiedostojen luominen

Käännöstiedostot sijoitetaan teemassa kansioon /translations ja ne nimetään mallilla text.KIELIKOODI.yaml. Käännökset muotoillaan .yaml-tiedostoissa Avain: Arvo -muotoisina pareina, joiden muotoilusta näet esimerkin alla:

themes/shop/TEEMA/translations/text.fi.yaml
AddToBag: Lisää ostoskassiin
Bag:
    Remove: Poista ostoskassista
    Added: <p>Tuote {ProductName} lisättiin <strong>ostoskassiin</strong></p>.

Voit myös lajitella käännösrivit nimialueisiin yllä olevan esimerkin mukaisesti. Tämä on hyödyllistä, jos teema sisältää paljon tekstejä.

Käännösriveillä on mahdollista käyttää myös HTML-merkkausta ja MyCashflow'n Interface-tageja.

Käännösavainten muotoilua koskevat seuraavat rajoitukset:

  • Avain ei voi alkaa alaviivalla, pisteellä tai numerolla.
  • Avain ei voi sisältää pelkkiä numeroita.
  • Avain ei saa päättyä alaviivaan tai pisteeseen.
  • Avain ei voi olla tyhjä.
  • Avain ei voi sisältää pelkkiä erikoismerkkejä.

Käännösten käyttäminen teemassa

Teeman käännöstiedostosta haetaan rivejä {Text}-tagin avulla.

Käännös haetaan version kieltä vastaavasta tiedostosta (esim. suomenkielisessä versiossa text.fi.yaml).

Jos tulostat Interface-tageilla monikielistä sisältöä teeman teksteissä eikä sisältöä ole käännetty selattavan version kielelle, se tulostuu oletusversion tai ensimmäisen käännöksen sisältävän version kielellä.

Alla on esimerkki käännöksen tulostamisesta käyttäen {Text}-tagin pitkää ja lyhyttä syntaksia:

{Text(
    code: 'AddToBag'
)}
{%AddToBag}

Jos olet lajitellut tekstejä nimialueisiin, voit tulostaa yksittäisiä rivejä käyttämällä alla havainnollistettua pistenotaatiota:

{Text(
    code:'Bag.Remove'
)}
{%Bag.Remove}