Created: Nov. 1, 2020

Technologies used

Part of learning a tribal language is working with lots of short texts. The next step up from simple phrases in isolation is learning to string them together, and lots of new vocabulary comes along in the form of linking words, and sentence and paragraph level modifiers.

I wanted a quick way to put English and our tribal language side by side, so I came up with this.

English, tribal language, and a word for word literal translations go into an XML file, along with metadata and whatever you want - XML files are super flexible after all! Working with XML isn't a great editing experience, but it's a quick and easy data structure.

Using a Jinja template and a bit of CSS the tribal language and the literal translation go together into a single little box for easy following along. A quick little feature I added was looking in a word list to see if the tribal language words were there or not, and if they weren't they are highlighted red - a quick way to signal that there's new material to learn (or spelling to correct!).

Most importantly was that it could be easily printed to be brought to your next language session where you could work sentence by sentence, phrase by phrase and word by word through it to learn as much as possible.

This isn't a full application, but it is a great example of how quick and easy data generated by a script can be presented in an intuitive way using html and CSS.

What I learned through this project

  • Using xml.etree to read an xml file
  • Using xml for data storage
  • Writing my own CSS
  • Using Jinja templates as a quick, easy way to display the results of a Python script