Strings & things: helping to facilitate the work of Kolibri translators
In 2021, Learning Equality hosted Ian Cowley, a Google Season of Docs technical writer who helped to support the internationalization and localization processes of Kolibri, its end-to-end suite of open-source tools designed for offline-first teaching and learning. In this guest blog post, Ian talks about his overall experience working on the project and describes the types of contributions he was able to make to improve the work of our internationalization team and translators alike.
Ian has a background in journalism and digital project management. He lives in the Basque Country with his family who ensures there’s never a dull moment by speaking Spanish, Basque, English and French to him, all at the same time. He sometimes gets to speak in Scots, when he can get a word in edgeways. Ian writes in British English.
Open source opportunity
An opportunity to collaborate on an open source project that combines three of the things you’re really passionate about doesn’t come up every day. But that’s just what happened when I was offered the chance to work on this year’s Google Season of Docs (GSoD) proposal at Learning Equality. A project that brought together writing, languages and learning was something I really identified with.
I’m a native Scots-English speaker living in the Basque Country who studied languages. I also worked at a pronunciation dictionary platform called Forvo, a website that provides word pronunciations in over 400 languages. While I’m incredibly interested in language in general — this is par for the course for a technical writer — I also find great interest in languages that manage to stay alive and even thrive despite a lack of institutional support or because they “suffer” from having fewer speakers. Basque and Scots are just two examples of such languages.
I also have some previous experience in open source and I’d applied to work on a project for the 2020 GSoD program, although I wasn’t selected. I was keen, however, to give it another go for the 2021 edition and while still investigating the technical writing projects that had been selected, I spotted a message posted by the project’s coordinator, Radina Matic, in the Write the Docs Slack group.
Learning Equality was looking for a writer to support internationalisation (i18n) processes as part of this year’s Season of Docs. i18n processes? Tell me more, please. The LE team sent me through the details and after thoroughly reading the project description, along with the detailed guidelines for writing the statement of interest, I submitted the context writing task in order to be considered for the project.
One of the things that LE did really well from the start was to invite applicants who expressed interest to a dedicated public channel on their Slack workspace. This meant that all communication relating to the project could be found in one place, and it also brought a real feeling of community to the application process. It was great to see that there’s such a thriving community of technical writers interested in open source.
Context is everything
The context writing task that candidates were asked to complete as part of their application was a perfect introduction to the real project. Writing in plain text, it required an ability to look at a small collection of existing strings in Kolibri, understand the context of what was being said, and relay the string context to a non-technical translator audience.
What interested me a lot about this project was that LE was taking i18n so seriously. This is because support for the varied learning needs of underserved populations in their own local languages is core to the organisation’s mission. I found it fascinating to learn that Kolibri was available in so many diverse languages, like Fulfulde Mbororoore, Gujarati or Yoruba. Indeed, it’s available in 28 languages at the latest count for the new Kolibri 0.15 version!
I think it’s amazing how languages vary around the world and it fascinates me just how intertwined languages are with the culture of the people who speak them. If nothing else, the world would be a good deal more boring if we all spoke the same language!
This diversity of course makes i18n processes challenging, particularly in the case of Kolibri, as LE is an organisation that actively co-designs its products and tools with its beneficiaries. This means that the i18n path they’ve chosen often includes community volunteers and grassroots crowdsourced contributions, instead of professional localisation services.
As a result, providing context to enable an optimal translation experience (even by non-professional translators), is important to help with accuracy, with decreasing the number of support questions and issues, and ultimately providing a better user experience in localised versions of Kolibri.
Crowdin, style guides and screenshots
LE uses the platform Crowdin to manage translations in Kolibri. I was impressed to learn how they had considerably improved their i18n workflow by implementing a process that stored the value of the context field together with its respective string in Kolibri’s codebase as a CSV file. This enabled persistence and adaptability across versions, meaning that the context did not get ‘lost’ in the translation tool.
The main idea behind this project was to try to remove, or at least reduce, doubts that the translator might have during the translation stage. Technical writers by nature love style guides, mainly because they help standardise the writing process and remove doubt for the writer (and as a result the reader too). So, one of my first tasks was to put together a short style guide which explained how to describe the strings in a standardised and coherent way.
We are following these guidelines:
- Use plain, clear language to write the context descriptions. Remember the string translators are unlikely to be native English speakers.
- Use third person when referring to actions that a user has to make in Kolibri:
- For example: “When a user wants to do X in Kolibri, they should select Y”.
- Only use the second person (”you”) when directly addressing the translator, e.g. “you should be aware that we intentionally used the term “learner” and not “student” to be more inclusive of non-formal educational contexts.”
- Enclose UI element labels in single quotes (e.g. ‘Coach’)
- Enclose references to links in single quotes (e.g. ‘Add new address’)
- Use upper case when referring to UI element labels (e.g. ‘Device’, not ‘device’). Don’t use all caps.
- To denote navigation use a “>” symbol, e.g. Device > Facilities
Except from the style guide for writing string context
I wrote the style guide in parallel with the actual task of writing the contexts for the strings, but before attempting to write a single word, I needed to first get to know the software. I read through Kolibri’s extensive user documentation, accessed various test facilities in Kolibri, and I was able to play around with Kolibri to my heart’s content. What could go wrong? (Actually it wasn’t until later in the project that I deleted an entire facility 🙈, but that’s a story for another day.)
With the style guide in progress, I began to tackle the string contexts themselves. As expected, I quickly found that some were more difficult to write than others. It became clear that some strings which used more common words did not necessarily require a detailed context description. Others, however, perhaps used more advanced terminology or required a complex combination of actions to provoke them in the UI. It was, therefore, really important to get the context descriptions right for those particular strings to enable the translators to better understand their meanings.
Inevitably, there were queries about improvements or inconsistencies in some of the strings and I recorded them in a Notion document so they could be shared with the rest of the team to be addressed during the work on the new version of Kolibri.
Crowdin has a glossary feature which is helpful to get a better understanding of Kolibri-specific terminology. The team shared with me some of the new terms added to the latest version of Kolibri, and by using the string management tool Ditto in combination with Figma designs, I was also able to work on the context for the new strings, and write some of the definitions for the new glossary terms.
Another really helpful Crowdin feature which you can use to provide context for translators is screenshots. With screenshots, translators can see which strings are being used together on the same page, whether short texts stand for titles, buttons or something else. So although I’d initially focused on written context, as the project progressed I began to add more and more screenshots. By the end of the project there were very few strings still remaining that didn’t have that additional visual context.
Feedback feels great
Feedback is important to technical writers. It’s great to know whether what you’re writing actually has any impact on the intended audiences or not. So towards the end of the project I was delighted to see the following post in the LE Slack:
It was great to discover that what you’re doing actually has some impact. In fact, the data collected for the GSoD case study revealed that there was, overall, a lower number of support requests and issues raised by the translators on Crowdin since the start of the project. While some support requests may come through other channels such as email, asking questions in comments on Crowdin is the main venue for translators to reach out for clarification around string context. So it was certainly interesting to learn that while around 15% of strings in Kolibri version 0.14 had translator comments on them, only 3% of the strings in version 0.15 did. I’d like to think that the work we did on the string contexts will help improve the quality of the translators’ work which ultimately improves the quality of teaching and learning within Kolibri in one’s own language.
Thank you!
I want to take this final opportunity to say many thanks to everyone at Learning Equality for giving me the opportunity to work on this year’s GSoD project. I really enjoyed getting to know Kolibri and working with the team was a lot of fun. I feel like I’ve learnt so much from participating in this fantastic project which touched on many different aspects of software design and development: technical writing, UX writing, i18n, accessibility, to name just a few.
I’d like to also give a special massive thanks to Radina for all her help, advice and encouragement; all of which has been absolutely invaluable. Here’s to Kolibri and its amazing translators flying high for many, many years to come!