The purpose of this page is to provide simple but robust tools for anyone wishing to document their community's heritage language(s). The emphasis here is on the absolute minumum of computer/programming knowhow: if you can successfully type and save a document on a computer, you already know more than you need to know to use these basic tools. And, even better: none of this requires any special programs beyond what is already on your computer right now.
 Feel free to contact me (via the current address from my CV, available here) if you have any problems at all.
 Currently on offer are the following tools:


The Simplest Digital Dictionary in the World

  Perhaps the simplest way to bang out a quick and dirty digital dictionary for your language is to follow the pattern below:

\	angin
\\	wind

\	api
\\	fire

\	hujan
\\	rain

\	kucing
\\	cat
\\\	Sundanese has "ucing"---why is the /k/ missing?

  The pattern is simple: to make an entry in your dictionary, type a backslash ("\"), then a tab, then the word in your target language (here, it's Indonesian). Drop down a line and do the same for your English (or other language) translation, just now with two backslashes ("\\") to keep it distinct. Then skip another line to start a new dictionary entry. You can even use three backslashes ("\\\") to mark notes to yourself.
  So, uh, why not just do this?




	Sundanese has "ucing"---why is the /k/ missing?

  Well, we humans can look at this, and see the pattern: the headword of your language, then the English translation, then a note, if there is one.
  But computers are a bit dim. Without something like a "\" and "\\" and "\\\" to tell it exactly which is which, the computer just thinks it's all words, a big mushy pile of words. But give it those labels, and suddenly it can see those words for what they are---and so can do a million automatic searches for you!. It can, for example, find words starting from the Indonesian, or starting from the English, or just look for all the entries that have some special note (useful if, say, if the note says "recheck this!").
  Even in this super-simple form, your dictionary is also already set up for you to hand over any computer programmer to do bigger and better things. The labels allow pretty much any long boring job to do with thousands of lines of dictionary (say, changing the format/presentation of each part) to be automated. And the nice thing is that to make that possible, you yourself don't have to do anything more than just use this pattern consistently as you type in your dictionary. And don't worry: any programmer worth their salt can easily pick it out if you make some mistakes here and there.
  I suggest this "\", "\\", "\\\" only as the simplest, most convenient way to type up your dictionary in an automatable form. But this is just the stripped-down, fastest-to-type pattern. You can (and probably will ultimately want to) use clearer labels like these:

\tgl	angin
\eg	wind

\tgl	api
\eg	fire

\tgl	hujan
\eg	rain

\tgl	kucing
\eg	cat
\nt	Sundanese has "ucing"---why is the /k/ missing?

  ...which are just shorthand for full labels, which would take forever to type, and would leave you open to many more errors:

\targetlanguage	angin
\englishtransl	wind

\targetlanguage	api
\englishtransl	fire

\targetlanguage	hujan
\englishtransl	rain

\targetlanguage	kucing
\englishtransl	cat
\note	Sundanese has "ucing"---why is the /k/ missing?

  The actual names of the labels don't matter: you can make up whatever labels you want, as long as you use them consistently.

    Not necessary but very useful: a quick trick to go from the "\", "\\", "\\\" pattern to a labeled one. Just to use your Find+Replace function to find all "\\\[TAB]"---that is, just cut and paste the "\\\" with its following tab, right into the Find+Replace window---and replace with "\nt[TAB]". And then work backwards the same way for "\\" and then "\". You'll see quickly that starting from "\" will mess things up; that's why we go in reverse. I use this approach so that I can type everything in very quickly using the "\", "\\", "\\\" pattern, but then at the end, automatically put in all the complete labels I need, all at once.

  And well, that's it. If you're interested in the slightly more complicated further options, feel free to contact me. You can also look at this page (based on this video lecture), which takes the labeling idea much further, allowing you to set yourself up to do all sorts of fancy whizbang things with not much more than what you've already done here.


Facing Page Texts and a Simple Dictionary With Voice/Sound Files

  For each of these, just save the two files they each need (one ends in ".xml", the other in ".xsl") to the computer.
  You can then open up the ".xml" one with a web browser (like Internet Explorer, Safari, Firefox, etc.) to view it, to see it as it will look on the Internet or any computer you save it all on.

  To change the example text into your own language, just open the same file up with a word processer like Microsoft Word or a text editor (TextEdit, Notepad, etc.). For example, just change whatever's in between <tgl>...</tgl> to your target language, what's between <eg>...</eg> to English, and so on. Copy over whole <line>...</line> pieces in order to add on new entries.

  Once you save your changes, the next time you open it in a web browser, you will see those changes. The "Refresh" button on your web browser is a big help here, since you can make changes, save them, then click "Refresh" to see the updates right away.

  Put the name of the sound file you want to use between <tgl>...</tgl>; don't add ".wav" or ".mp3". Do make sure that the two main files and any sound files that go with it are in exactly the same folder. Right now it's set up to play WAV format sound files; if you want to use MP3s, just open the ".xsl" file, find the word "wav", change it to mp3, and save it.

  Again, this page (based on this video lecture), will take you farther with the rich range of things you can do with just these simple tools.