Publitas logo

Men lanceert niet zomaar digitale catalogi in China

LinkedIn
Twitter

Digitale catalogi in China: Op 14 maart 2014 ging onze eerste klant in China live met zijn nieuwe digitale catalogi. Het gebruik van ons product aan de andere kant van de wereld was een moment van grote vreugde en trots voor ons, des te meer gezien de technische hindernissen die we moesten overwinnen om dit mogelijk te maken. Maar wat waren deze problemen en hoe hebben onze gekke wetenschappers ze opgelost? Als u te maken hebt met Chinese vertalingen voor uw app of als u gewoon nieuwsgierig bent naar hoe wij het volgende hebben gedaan Publitas compatibel voor Chinees gebruik, moet je deze post bekijken.

Met METRO China toetreden tot de 17 andere landen waar METRO Cash & Carry onze software al gebruikt was een mooie mijlpaal voor ons.

Maar daar komen was niet zo makkelijk als je zou denken.

Bij het geschikt maken van Publitas voor gebruik in China stuitten we op verschillende uitdagingen, waarvan er drie in het bijzonder opvielen:

  1. Slakken
  2. Pluralisatie
  3. Zoek op

Hieronder gaan we dieper in op elk van deze problemen en leggen we uit hoe we ze hebben opgelost.

men doet niet zomaar een meme over het lanceren van digitale catalogi in China

Waar of wat?

Probleem #1: slakken

Om de Django woordenlijsteen slak is:

"Een kort label voor iets, met alleen letters, cijfers, underscores of koppeltekens. Ze worden meestal gebruikt in URL's."

Wanneer je bijvoorbeeld een groep hebt in Publitas met de naam "Makro UK" en een publicatie met de naam "Week 12", wordt deze omgezet naar een slug voor de URL:
https://view.publitas.com/makro-uk/week-12

Het laatste stukje in deze URL ("makro-uk/week-12") is de slug. Ook dingen als "V&D" worden (standaard) omgezet in: "v-d"

Kortom, het maken van slugs als deze is een menselijke en zoekmachinevriendelijke manier om URL's op te bouwen. Het proces is heel eenvoudig. Publitas:

  1. Zet een tekenreeks om in kleine letters.
  2. Verwijdert speciale tekens (bv. haakjes, komma's, uitroeptekens, enz.) en vervangt spaties door -.
  3. Meestal wordt & vervangen door "-" en @ door "at".

Dus "Mam & Pap waren @ Home" wordt: "mom-dad-were-at-home".

Dit werkt heel goed voor talen die het Latijnse alfabet gebruiken:
irb(main):005:0> "Mom & Dad".parameterize => "mom-dad"

Maar als het op Chinees aankomt, faalt het gewoon:
irb(main):003:0> "中文測試".parameterize => ""

Oplossing: Unicode-tekens omzetten naar ASCII

Gelukkig zijn er al bibliotheken die dit probleem aanpakken. Degene die wij gebruiken heet Stringexen bestaat uit drie bibliotheken: ActsAsUrl, Unidecoder en StringExtensions.

Dus als we nu Unicode karakters translitereren, is dit wat er gebeurt:
"你好".to_ascii #=> "Ni Hao"

Als je dat hebt, kun je een echte slug bouwen. Kortom, je kunt niet direct off-the-shelf materiaal gebruiken om slugs te bouwen in het Chinees en zult eerst Unicode karakters moeten vertalen naar ASCII.

Opgave #2: meervoudsvorming

Het andere probleem heeft te maken met vertalingen. Stel dat je vanuit het Engels naar het Nederlands wilt vertalen: "1 ding, 2 dingen". In beide talen kun je "ding" in enkelvoud en meervoud uitdrukken, wat de vertaling naar het Nederlands heel eenvoudig maakt. In het Chinees is dat echter niet het geval. Het woord "ding" (enkelvoud) heeft gewoon geen geldige vertaling. Het enige woord dat je kunt vertalen is "dingen (事)" (meervoud). Bekijk hieronder de code voor onze cataloguskijkers:

Engels (EN)

      kijker:
        loading: loading...
        pagina's:
          nul: "Geen pagina's"
          één: "{telling} pagina"
          andere: "{telling} pagina's"

Chinees (ZH)

      kijker:
        laden: 正在载入...
        pagina's:
          nul: 没有页面
          één: ""
          andere: 网页

Zoals u hier kunt zien, worden de strings "zero" en "other" prima vertaald van het Engels naar het Chinees. Maar bij 'one' (enkelvoud) mislukt de vertaling omdat het niet bestaat in het Chinees.

Oplossing: Alleen meervoudige woorden vertalen

De manier om meervoudsvorming in het Chinees aan te pakken is door alleen de meervoudsvorm te vertalen. Dit is hoe we dit toepassen in de vertalingen voor onze cataloguskijkers:

Engels (EN)

      kijker:
        loading: loading...
        pagina's:
          nul: "Geen pagina's"
          één: "{telling} pagina"
          andere: "{telling} pagina's"

Chinees (ZH)

      kijker:
        laden: 正在载入...
        pagina's:
          nul: 没有页面
          andere: 网页

Dus in plaats van vertalingen voor "een" en "andere", geven we ze gewoon voor "andere" in het Chinees.

Probleem #3: Zoeken

de kracht van content personalisatie infographic Publitas

Om goed te kunnen zoeken, moeten woorden een proces doorlopen wanneer ze worden geïndexeerd. De meest gebruikte methode heet stemming. Dit betekent dat verschillende vormen van een woord worden teruggebracht tot een gemeenschappelijke vorm. (Hier is een artikel waarin stemming in meer detail wordt uitgelegd). Dus, bijvoorbeeld, stel je indexeert een PDF voor een dierenwinkel met de woorden katten, katachtig en kattig. Al deze woorden worden herleid tot de stam "kat", dus wanneer u zoekt naar "kat", zullen ze worden gevonden. Deze techniek geldt echter niet voor Chinees.

Oplossing: Zoek naar zowel de stam als het exacte woord

We gebruiken Amazons zoekdienst CloudSearchen gelukkig, ze hebben onlangs Chinese ondersteuning toegevoegd. De manier waarop onze zoekmachine voorheen werkte, was dat hij altijd zocht naar woorden die de stam bevatten. Maar omdat we Chinees wilden ondersteunen (waar stemming niet van toepassing is), moesten we een failsafe implementeren waarbij ook op hele woorden werd gezocht. Dus, in plaats van te zeggen "Amazon, geef ons woorden die de stam bevatten", begonnen we te zeggen "Amazon, geef ons woorden die de stam bevatten OF gelijk zijn aan het exacte woord".

Digitale catalogi in China - Conclusie

Productsup en Publitas Webinar: Shoppers veranderen in kopers met shoppable en deelbare content Wij hopen dat dit bericht enig licht werpt op de uitdagingen om onze catalogi geschikt te maken voor gebruik in China en hoe u soortgelijke problemen kunt aanpakken. Voel je vrij om dit bericht te delen.