Difference between revisions of "Word Lists"

From GCompris
Jump to: navigation, search
(Simple Letters (Typing letters) level design)
(Providing a General word list)
Line 103: Line 103:
  
  
 +
 +
<div id="general"></div>
  
 
=== Providing a General word list ===
 
=== Providing a General word list ===

Revision as of 13:32, 15 May 2013

Activities that use Word Lists

There are several activities that use the Word List format:

  • Wordsgame (/computer/keyboard/wordsgame)
  • Simple Letters (/computer/keyboard/gletters)
  • Reading-h and Reading-v (/reading/readingh and /reading/readingv)
  • Hangman /reading/hangman

We will first explain how the file format works, then take you through the level design.


Format

A word list looks like this:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<GCompris>
<Wordlist name="default-en" description="Default English (Canada)" locale="en">
<level value="1" speed="150" fallspeed="7000" sublevels="10">
I
a
am
...
</level>
<level value="2">
able
also
army
aunt
baby
...
</level>
</Wordlist>
</GCompris>

And this is what the tags mean:

  • Wordlist: Some general information about the file
    • name: this is identical to the file name (withouth the .xml at the end)
    • description: Add the name of your language here
    • locale: This needs to be the ISO code for your locale (same as the name of the .po-file)


  • level: Create a <level>...</level> tag for each new level
    • value: The number of the level, starting from 1. You can have as many levels as you want, but make sure you don't miss a number!


The remaining attributes of the level-tag are optional and used in Wordsgame and Simple Letters only. Use these if you feel that words/letters are dropping too fast or if higher levels get too long or lower levels too short - some languages will need more levels than English in order to teach everything!

  • level
    • speed: How fast new words appear
    • feelspeed: How fast the words drop
    • sublevels: How many words will have to be typed correctly in order to solve the level


Simple Letters (Typing letters) level design

This game drops letters o the screen that the child has to type before the reach the ground. So, what you will provide here is the alphabet of your language rather than whole words. However, we use the Word List format for this, because it lets you control which letters to teach at which level, according to the needs of your language. Also, you can use multigraphs (sounds that consist of more than one letter, for example sh in English or sch in German for the sound /ʃ/). The game has an uppercase and a lowercase mode (set with Configuration while you play the game). So, you will need to provide two files:

src/gletters-activity/resources/gletters/default-<locale>.xml
src/gletters-activity/resources/gletters/upper-<locale>.xml
default
Levels containing both uppercase and lowercase letters (if your language has them)
upper
Levels containing letters that will be displayed in uppercase only. In the XML file, you can write them in lowercase if you want for easier typing; GCompris will convert them as appropriate. If upper doesn't exist, GCompris reverts to default.

If your language doesn't distinguish between upper- and lowercase letters, pease feel free to 'misuse' these two modes to fit your needs. Maybe create a "baby" and an "advanced" mode instead? If you do that, you will need to adjust your translation of the level configuration in the .po-file accordingly.

When teaching new letters, you can use the sublevels attribute to make sure that all letters in a level are presented: Here's an example from the gd locale:

<level value="10" sublevels="12">
bh
ch
dh
fh
gh
mh
ph
sh
th
ll
nn
rr
</level>

Note: If your locale already has these two files, please have a look and revise them anyway. Most of them have been carried over from an older definition in the .po-file and might not suit your language's needs at all! For example, only introduce letters that require more than one keystroke in the upper levels.

Word list level design

Here are some level design suggestions for you. Of course, you can do as best fits your language!

The minimum you will have to do is to provide a general word list, but we recommend that you provide separate word lists for each game if your language contains letters that are difficult to type. Also, we recommend that you reverse the order of the levels for the hangman game in any case.

Please read all sections on level design carefully before you get started on designing your wordlists.



Providing a General word list

To get started, you can provide a single word list file for your locale named:

src/readingh-activity/resources/wordsgame/default-XX.xml

Where XX is your target locale. This is the master list all wordlist games will use as a default, unless you provide separate wordlists for them. You can pick the english file from our git repository to get an up to date example.

If you provide only one word list, please note that all words must be chosen to be simple in your language; don't necessary translate the English. Also, it is important to make sure that these words can be written with your keyboard in one key (no alt gr stuff or compose key). We will explain more about fine-tuning word lists for different activities below.

In order to be useful, each word list must contain about 1000 words. If you can, pick the words from a school children's book or wiktionary.

There should be at least 5 level sections which contain:

Word length for levels in wordlist games:
Level Word Length
1 < 4 and very easy to type
2 = 4 or < 4 not so easy
3 = 5
4 = 6
5 > 6

There are currently three activities that use this word list:

/computer/keyboard/wordsgame
/reading/readingh and /reading/readingv
/reading/hangman

You can provide separate word lists for them if your language has characters that are more complicated to type and that you would wish to teach. We recommend that you provide a separate list for the Hangman activity in any case, which basically just means reversing the levels.

Wordsgame (Typing words)

This is a typing game. Unless your language has characters that are difficult to type, just follow the rules layed out above for Providing a General word list. If your language has letters that require more keystrokes than simple letters, it is best to keep these letters out of the lower levels. Create a level higher up that will introduce them with some shorter words, then start to mix. Keep the words with complicated letters in them shorter than the other words, and keep in mind that they also require more thinking, not just more keystrokes! The number of levels is flexible, so if there are complicated letters to learn, you can create as many levels as you need to introduce them.


Example for word length if some letters are complicated to type:
Level Word Length
1 2 - 3 simple letters
2 = 4 simple letters
3 = 5 simple letters
4 = 6 simple letters
5 2 - 3 accented letters
6 = 4 - 5 accented letters
7 = 7 - 14 simple letters, 5 - 10 accented letters

Reading

In this game, words on the same level should have the same length. Just follow the rules layed out above for the general word list, except that you can have letters in there that are complicated to type. This is a reading activity, so typing doesn't matter here.

Hangman

For Hangman, take your reading list and reverse the letters. Short words are harder than long words in hangman! Remove all words that are longer than 10 letters, because they won't fit the screen.

Note that this game supports complex letters, e.g. <sh> makes a single sound in English, so you could design the game to have a button with "sh" on it if you want. The letter buttons are defined in the PO-File. The PO-File also provides an option for keyboard shortcuts for complex letters. For example, if I have both "s" and "sh", if I type <s>, "s" gets selected. However, I could define "sh=S" in the PO-File, so when I type uppercase <S>, "sh" gets selected.