Gebruiksvriendelijkheid is erg belangrijk in de applicaties van Your Next Concepts. Taal speelt hierin een belangrijke rol. Met de groei van de applicaties groeit ook de gebruikte tekst in de applicatie. Aangezien alle producten minimaal Engels en Nederlands bevatten, is alle tekst geplaatst in “vertaalstrings” en de hoeveelheid daarvan groeit aardig snel. Tijdens de YNC-hackathon (lees hier meer) was één van de uitdagingen om de vertalingen beter te beheren over de drie producten (Academy Attendance, EduTasQ & SQill) heen.
Onze applicaties groeien en hierdoor zijn er ook oplossingen nodig die meegroeien om vertalingen meer schaalbaar en inzichtelijk te maken. Het idee was om de interne processen en werkzaamheden efficiënter te maken. Tegelijkertijd wilde we ook de vertalingen consistenter en daarmee gebruiksvriendelijker maken. Hiervoor werd een translation-editor uitgewerkt tijdens de hackathon.
Met de translator-editor kan de taal in de producten beter beheerd worden doordat:
Wanneer wij in de toekomst meer talen willen toevoegen aan onze producten zou dit ook toegevoegd kunnen worden aan de translation-editor om direct inzichtelijk te maken welke vertalingen nog toegevoegd moeten worden.
De translation-editor werd tijdens de hackathon zowel in een stand-alone applicatie (in Vue.js) gebouwd als via een plug-in voor onze ontwikkelomgeving.
Tijdens de hackathon bekeek deze groep de mogelijkheden van een stand-alone app in het framework Electron in combinatie met Vue.js. Hiermee is het niet geïntegreerd in één van onze producten maar echt een los product dat breed binnen Your Next Concepts gebruikt kan worden.
De stand-alone applicatie leest allereerst alle vertaalbestanden uit, of het nu gaat om JavaScript- bestanden in de frond-end of PHP-bestanden in de back-end. De uitdaging hierbij is het parsen van deze bestanden van en naar JSON door de vele uitzonderingen (quotes, dubbele quotes, backticks etc.). Een normale parser gebruiken kan niet omdat de vertaalapp de bestanden in de laatste stap weer terugschrijft, waardoor de bestaande structuur gewaarborgd blijft.
Na het inlezen kan de translation-editor:
Uiteindelijk worden de bestanden die in de codebase zitten door de app aangepast, zodat deze “gecommit” kunnen worden bij een nieuwe versie. De technici onder ons denken vast: “hoe kan een JavaScript- applicatie naar disk wegschrijven?” Het antwoord volgt in een volgende blog.
Met de stand-alone app hoeft er niks aangepast te worden in de structuur van het project en is de app echt stand alone, zowel in gebruik, code als impact op het project.
Naast een stand alone app werd er ook gekeken naar de mogelijkheden deze functionaliteiten te integreren in onze ontwikkelomgeving van Intellij. Hiervoor werd een bestaande plugin aangepast om te dienen als een translation-editor.
Gebruikers kunnen hierin alle vertalingen zien (binnen de directory structuur) en zelf aanpassingen doen. Missende vertalingen kleuren rood, zodat developers snel zien wat er nog mist. Deze plugin zorgt ervoor dat het aanpassen van vertalingen minder tijd kost en de nauwkeurigheid van de vertalingen verder vergroot wordt.Een bijkomend voordeel is dat de ontwikkelaars alles binnen één omgeving kunnen zien en aanpassen én dat dit ook weer voor alle producten van Your Next Concepts werkt!
Tijdens de hackathon is er een basis gelegd voor deze apps en is er veel geleerd. Deze lessen komen op een aantal punten terug in het dagelijks werk:
Wil je meer weten of eens verder praten over de translation-editor, neem contact met ons op!