Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWade Brainerd <wadetb@gmail.com>2009-02-03 13:29:07 (GMT)
committer Wade Brainerd <wadetb@gmail.com>2009-02-03 13:29:07 (GMT)
commit148aef986e9d45a98130f72440c665ab25fb6dd8 (patch)
tree11fd098e598562b4a71ce019afbd3c5fdb08a6a5
parentef0209e5d6a73b2b546584dec1475e7ee1930add (diff)
Add finger assignments for number keys.
Locale override option in lessonbuilder. All Nepali lessons now generate.
-rw-r--r--keyboard.py28
-rwxr-xr-xlessonbuilder16
-rwxr-xr-xlessons/ne_NP/MAKELESSONS7
-rw-r--r--lessons/ne_NP/bottomrow.lesson88
-rw-r--r--lessons/ne_NP/homerow.lesson29
-rw-r--r--lessons/ne_NP/homerowballoon.lesson192
-rw-r--r--lessons/ne_NP/leftcapital.lesson218
-rw-r--r--lessons/ne_NP/rightcapital.lesson153
-rw-r--r--lessons/ne_NP/toprow.lesson55
9 files changed, 735 insertions, 51 deletions
diff --git a/keyboard.py b/keyboard.py
index bba8ad7..341f1e8 100644
--- a/keyboard.py
+++ b/keyboard.py
@@ -120,20 +120,20 @@ OLPC_LAYOUT = {
'group-y': 10,
'keys': [
- {'key-scan':0x31,'key-width':35},
- {'key-scan':0x0a},
- {'key-scan':0x0b},
- {'key-scan':0x0c},
- {'key-scan':0x0d},
- {'key-scan':0x0e},
- {'key-scan':0x0f},
- {'key-scan':0x10},
- {'key-scan':0x11},
- {'key-scan':0x12},
- {'key-scan':0x13},
- {'key-scan':0x14},
- {'key-scan':0x15,'key-width':65},
- {'key-scan':0x16,'key-label':"erase",'key-width':95}
+ {'key-scan':0x31,'key-finger':'LP','key-width':35},
+ {'key-scan':0x0a,'key-finger':'LP'},
+ {'key-scan':0x0b,'key-finger':'LR'},
+ {'key-scan':0x0c,'key-finger':'LM'},
+ {'key-scan':0x0d,'key-finger':'LI'},
+ {'key-scan':0x0e,'key-finger':'LI'},
+ {'key-scan':0x0f,'key-finger':'RI'},
+ {'key-scan':0x10,'key-finger':'RI'},
+ {'key-scan':0x11,'key-finger':'RM'},
+ {'key-scan':0x12,'key-finger':'RR'},
+ {'key-scan':0x13,'key-finger':'RP'},
+ {'key-scan':0x14,'key-finger':'RP'},
+ {'key-scan':0x15,'key-finger':'RP','key-width':65},
+ {'key-scan':0x16,'key-finger':'RP','key-label':"erase",'key-width':95}
]
},
{
diff --git a/lessonbuilder b/lessonbuilder
index 43544df..dae1213 100755
--- a/lessonbuilder
+++ b/lessonbuilder
@@ -29,9 +29,6 @@ import gtk
# Import keyboard data.
import keyboard
-# Set up localization.
-locale.setlocale(locale.LC_ALL, '')
-
def error(s):
print "lessonbuilder: ERROR: ", s
print "The lesson could not be generated, exiting.\n\n"
@@ -325,7 +322,10 @@ def build_key_steps(
error("There is no key combination in the current keymap for the '%s' letter. " % letter + \
"Are you sure the keymap is set correctly?\n")
- finger = FINGERS[key['key-finger']]
+ try:
+ finger = FINGERS[key['key-finger']]
+ except:
+ error("The '%s' letter (scan code %x) does not have a finger assigned." % (letter, key['key-scan']))
if state == gtk.gdk.SHIFT_MASK:
# Choose the finger to press the SHIFT key with.
@@ -430,6 +430,8 @@ def main():
help="Order of this lesson in the index.")
parser.add_option("--seed", dest="seed", type="int", metavar="N", default=0x12345678,
help="Random seed.")
+ parser.add_option("--locale", dest="locale",
+ help="Lesson locale (overrides system setting).")
parser.add_option("--keys", dest="keys", metavar="KEYS", default='',
help="Keys to teach.")
parser.add_option("--base-keys", dest="base_keys", metavar="KEYS", default='',
@@ -491,6 +493,12 @@ def main():
if not options.output:
parser.error('no output file given')
+ # Set up localization.
+ if options.locale:
+ locale.setlocale(locale.LC_ALL, options.locale)
+ else:
+ locale.setlocale(locale.LC_ALL, '')
+
words = load_wordlist(options.wordlist)
bad_words = []
diff --git a/lessons/ne_NP/MAKELESSONS b/lessons/ne_NP/MAKELESSONS
index 62de5cf..afbb102 100755
--- a/lessons/ne_NP/MAKELESSONS
+++ b/lessons/ne_NP/MAKELESSONS
@@ -11,6 +11,7 @@
--title="स्वागतम" \
--desc="कृयाकलाप सुरु गर्न यहाँ थिच ।" \
--bronze-wpm=0 --silver-wpm=0 --gold-wpm=0 \
+ --locale=ne_NP \
--order=0 \
--output=intro.lesson
@@ -20,6 +21,7 @@
--desc="यो पाठले तिमीलाई ब, क, म, ा, न, ज, व, प and ि keys \nin the middle of the keyboard.\nThese keys are called the Home Row." \
--keys="बकमानजवपि" \
--wordlist=ne_NP.txt --badwordlist=badwords.txt \
+ --locale=ne_NP \
--order=1 \
--output=homerow.lesson
@@ -29,6 +31,7 @@
--keys="बकमानजवपि" \
--game='balloon' \
--wordlist=ne_NP.txt --badwordlist=badwords.txt \
+ --locale=ne_NP \
--order=2 \
--output=homerowballoon.lesson
@@ -37,6 +40,7 @@
--desc="This lesson teaches you the त्र, ध, भ, च, त, थ, ग, ष, य and उ keys \non the top row of the keyboard." \
--keys="त्रधभचतथगषयउ" --base-keys="बकमानजवपि" \
--wordlist=ne_NP.txt --badwordlist=badwords.txt \
+ --locale=ne_NP \
--order=3 \
--output=toprow.lesson
@@ -45,6 +49,7 @@
--desc="This lesson teaches you the श, ह, अ, ख, द, ल and ः keys \non the bottom row of the keyboard." \
--keys="शहअखदलः" --base-keys="बकमानजवपित्रधभचतथगषयउ" \
--wordlist=ne_NP.txt --badwordlist=badwords.txt \
+ --locale=ne_NP \
--order=4 \
--output=bottomrow.lesson
@@ -55,6 +60,7 @@
--keys="त्तड्ढऐद्बट्टआङ्कङ्गँद्दक्कह्यऋॐौ" \
--base-keys="बदअमभानजषवपिःलयउत्रचकतगखधहथश" \
--wordlist=ne_NP.txt --badwordlist=badwords.txt \
+ --locale=ne_NP \
--order=5 \
--output=leftcapital.lesson
@@ -64,5 +70,6 @@
--keys="ठ्ठऊक्षइएझोफीौद्यड्ड" \
--base-keys="बदअमभानजषवपिःलयउत्रचकतगखधहथशत्तड्ढऐद्बट्टआङ्कङ्गँद्दक्कह्यऋॐौ" \
--wordlist=ne_NP.txt --badwordlist=badwords.txt \
+ --locale=ne_NP \
--order=6 \
--output=rightcapital.lesson
diff --git a/lessons/ne_NP/bottomrow.lesson b/lessons/ne_NP/bottomrow.lesson
new file mode 100644
index 0000000..9f257f4
--- /dev/null
+++ b/lessons/ne_NP/bottomrow.lesson
@@ -0,0 +1,88 @@
+{
+ "description": "This lesson teaches you the \u0936, \u0939, \u0905, \u0916, \u0926, \u0932 and \u0903 keys \non the bottom row of the keyboard.",
+ "medals": [
+ {
+ "accuracy": 70,
+ "name": "bronze",
+ "score": 3000,
+ "wpm": 15
+ },
+ {
+ "accuracy": 80,
+ "name": "silver",
+ "score": 4500,
+ "wpm": 20
+ },
+ {
+ "accuracy": 90,
+ "name": "gold",
+ "score": 6000,
+ "wpm": 25
+ }
+ ],
+ "name": "The Bottom Row",
+ "order": 4,
+ "steps": [
+ {
+ "instructions": "In this lesson, you will learn the \u0936, \u0939, \u0905, \u0916, \u0926, \u0932 and \u0903 keys.\n\nPress the ENTER key when you are ready to begin!",
+ "mode": "key",
+ "text": "\n"
+ },
+ {
+ "instructions": "Press the \u0936 key with your left little finger.",
+ "mode": "key",
+ "text": "\u0936"
+ },
+ {
+ "instructions": "Press the \u0939 key with your left ring finger.",
+ "mode": "key",
+ "text": "\u0939"
+ },
+ {
+ "instructions": "Press the \u0905 key with your left middle finger.",
+ "mode": "key",
+ "text": "\u0905"
+ },
+ {
+ "instructions": "Press the \u0916 key with your left index finger.",
+ "mode": "key",
+ "text": "\u0916"
+ },
+ {
+ "instructions": "Press the \u0926 key with your left index finger.",
+ "mode": "key",
+ "text": "\u0926"
+ },
+ {
+ "instructions": "Press the \u0932 key with your right index finger.",
+ "mode": "key",
+ "text": "\u0932"
+ },
+ {
+ "instructions": "Press the \u0903 key with your right index finger.",
+ "mode": "key",
+ "text": "\u0903"
+ },
+ {
+ "instructions": "You did it! Practice typing the keys you just learned.",
+ "mode": "text",
+ "text": "\u0939\u0939 \u0932\u0932 \u0932\u0932 \u0905\u0905 \u0932\u0932 \u0903\u0903 \u0903\u0903 \u0903\u0903 \u0932\u0932 \u0936\u0936 \u0926\u0926 \u0905\u0905 \u0939\u0939 \u0903\u0903 \u0916\u0916 \u0936\u0936 \u0905\u0905 \u0939\u0939 \u0939\u0939 \u0936\u0936 \u0916\u0916 \u0916\u0916 \u0903\u0903 \u0916\u0916 \u0905\u0905 \u0905\u0905 \u0905\u0905 \u0939\u0939 \u0936\u0936 \u0936\u0936 \u0916\u0916 \u0939\u0939 \u0926\u0926 \u0932\u0932 \u0916\u0916 \u0905\u0905 \u0903\u0903 \u0905\u0905 \u0936\u0936 \u0936\u0936 \u0903\u0903 \u0926\u0926 \u0916\u0916 \u0932\u0932 \u0905\u0905 \u0926\u0926 \u0936\u0936 \u0932\u0932 \u0932\u0932 \u0926\u0926 \u0916\u0916 \u0939\u0939 \u0916\u0916 \u0916\u0916 \u0903\u0903 \u0905\u0905 \u0916\u0916 \u0916\u0916 \u0903\u0903 \u0916\u0916"
+ },
+ {
+ "instructions": "Nice work. Now put the keys together into pairs.",
+ "mode": "text",
+ "text": "\u0936\u0903 \u0930\u0916 \u091a\u0939 \u093e\u0903 \u0926\u0928 \u0936\u0903 \u092a\u0916 \u093f\u0939 \u0903\u0924 \u093e\u0926 \u0936\u093e \u0932\u0939 \u0939\u091c \u0926\u0930 \u092c\u0926 \u0916\u0932 \u0903\u0935 \u0905\u0932 \u0932\u0927 \u0932\u0939 \u093f\u0939 \u093e\u0932 \u0905\u0925 \u0926\u0939 \u0905\u092f \u0939\u0925 \u0905\u0928 \u0926\u093e \u0930\u0903 \u0927\u0936 \u0926\u092f \u0916\u093e \u0936\u092c \u093e\u0936 \u0925\u0932 \u0928\u0936 \u0917\u0926 \u092f\u0916 \u0932\u093e \u0932\u093e \u0924\u0903 \u0916\u092e \u0939\u0926 \u0924\u0916 \u0926\u0926 \u0909\u0916 \u0936\u092c \u0939\u0930 \u0932\u092d \u0927\u0936 \u0905\u0915 \u0905\u0935 \u0930\u0926 \u094d\u0916 \u0916\u0924 \u0936\u0903 \u0936\u094d \u0905\u092c \u091c\u0936 \u0905\u091a"
+ },
+ {
+ "instructions": "Nice work. Time to type real words.",
+ "mode": "text",
+ "text": "\u092c\u093e\u0917\u0926\u093e\u0939 \u0926\u0930\u094d\u0936\u0915 \u0935\u093f\u0932\u092f \u0925\u0930\u094d\u092e\u0932 \u092e\u0939\u0930\u093e \u0932\u0917\u093e\u0935 \u0939\u093f\u092e\u093e\u0926\u093f\u0928 \u0928\u0939\u0930 \u0939\u0917\u093e\u0909 \u0909\u0926\u094d\u092f\u093e\u0928 \u0924\u093e\u0932\u094d\u091a\u093e \u0916\u093e\u0924\u094d \u092c\u0915\u0935\u093e\u0926 \u092a\u093e\u0926\u093f \u0905\u0928\u093f\u0928\u094d\u0926\u093f\u0924 \u092a\u0939\u093f\u0930\u0928 \u0932\u0917\u0932\u0917 \u0916\u094d\u0935\u092a \u091a\u093e\u0916 \u0905\u0915\u093e\u0930\u093e\u0926\u093f \u0928\u093f\u0928\u094d\u0926\u093f\u0928 \u0927\u0915\u093e\u0939\u093e \u092a\u0935\u0932 \u091c\u093f\u0930\u093e\u0939\u093e \u0927\u0930\u0939\u0930\u093e \u0932\u0924\u094d\u092f\u093e\u0939\u093e \u092e\u0915\u094d\u0916 \u0916\u092a\u094d \u0909\u0930\u093e\u0932\u093f \u0935\u093f\u0932\u092f\u0928 \u092c\u0925\u094d\u092f\u093e\u0939\u093e \u0925\u093e\u092e\u0916\u0930\u094d\u0915 \u0926\u0936 \u092c\u094d\u0930\u0939\u094d\u092e\u093e \u0932\u091c\u093e\u0909 \u0917\u0939\u0924 \u0932\u0932\u0915\u093e\u0930\u093f \u0916\u093e\u0928\u092a\u093f\u0928 \u0909\u092a\u0935\u093f\u0926\u094d\u092f\u093e \u092e\u0932 \u0909\u0926\u093e\u0930 \u0939\u0915\u093e\u0930\u093f \u0917\u0939\u0924 \u0935\u093f\u0939\u093e \u0905\u0915\u094d\u0937\u092e\u094d\u092f \u0926\u0930\u093f\u0926\u094d\u0930 \u0905\u0936\u093e\u0928\u094d\u0924\u093f \u0905\u0928\u094d\u0935\u093f\u0924\u093f \u0909\u0926\u092f \u0928\u093f\u0930\u094d\u0926\u092e\u094d\u092d \u0915\u0932\u093e \u0905\u0917\u093e\u0927 \u0924\u0939\u092c\u093f\u0932 \u0939\u093f\u0932 \u092e\u0932\u094d\u0932\u093e\u091c \u0915\u0932\u092e \u0926\u0936 \u092e\u0932 \u0905\u091c\u093f\u092e\u093e \u0932\u093e\u092e"
+ },
+ {
+ "instructions": "$report",
+ "mode": "key",
+ "text": " "
+ }
+ ],
+ "type": "normal"
+} \ No newline at end of file
diff --git a/lessons/ne_NP/homerow.lesson b/lessons/ne_NP/homerow.lesson
index 0f8b95c..304d560 100644
--- a/lessons/ne_NP/homerow.lesson
+++ b/lessons/ne_NP/homerow.lesson
@@ -1,27 +1,30 @@
{
- "description": "\u092f\u094b \u092a\u093e\u0920\u0932\u0947 \u0924\u093f\u092e\u0940\u0932\u093e\u0908 \u092c, \u0915, \u092e, \u093e, \u0928, \u091c, \u0935, \u092a and \u093f keys \n \u0915\u093f\u092c\u094b\u0921 \u0915\u094b \u092c\u093f\u091a\u092e\u093e\u0964\n\u092f\u094b \u0915\u093f\u0939\u0930\u0941\u0932\u093e\u0907 \u0939\u094b\u092e \u0916\u0947\u0928\u093e \u092d\u0928\u093f\u0928\u094d\u091b\u0964",
+ "description": "\u092f\u094b \u092a\u093e\u0920\u0932\u0947 \u0924\u093f\u092e\u0940\u0932\u093e\u0908 \u092c, \u0915, \u092e, \u093e, \u0928, \u091c, \u0935, \u092a and \u093f keys \nin the middle of the keyboard.\nThese keys are called the Home Row.",
"medals": [
{
- "accuracy": 60,
+ "accuracy": 70,
"name": "bronze",
- "wpm": 60
+ "score": 3000,
+ "wpm": 15
},
{
- "accuracy": 60,
+ "accuracy": 80,
"name": "silver",
- "wpm": 60
+ "score": 4500,
+ "wpm": 20
},
{
- "accuracy": 60,
+ "accuracy": 90,
"name": "gold",
- "wpm": 60
+ "score": 6000,
+ "wpm": 25
}
],
"name": "\u0917\u0943\u0939 \u092a\u0902\u0915\u094d\u0924\u093f",
"order": 1,
"steps": [
{
- "instructions": "यो पाठमा तिमीले \u092c, \u0915, \u092e, \u093e, \u0928, \u091c, \u0935, \u092a र \u093f keys.\n\ ENTER बटन थिच।",
+ "instructions": "In this lesson, you will learn the \u092c, \u0915, \u092e, \u093e, \u0928, \u091c, \u0935, \u092a and \u093f keys.\n\nPress the ENTER key when you are ready to begin!",
"mode": "key",
"text": "\n"
},
@@ -41,7 +44,7 @@
"text": "\u092e"
},
{
- "instructions": "Press the \u093e key with your left index finger.",
+ "instructions": "Press and hold the SHIFT key with your right little finger, then press the \u093e key with your left index finger.",
"mode": "key",
"text": "\u093e"
},
@@ -78,12 +81,12 @@
{
"instructions": "Nice work. Now put the keys together into pairs.",
"mode": "text",
- "text": "\u0935\u091c \u093e\u093f \u0928\u093f \u092a\u093f \u093e\u093f \u092e\u092c \u0935\u091c \u093f\u092c \u092c\u092a \u093e\u091c \u092e\u093e \u093f\u092e \u0928\u0915 \u0935\u092e \u092a\u092e \u092a\u0915 \u0935\u093e \u091c\u092c \u0935\u0915 \u092c\u092e \u092c\u092a \u093e\u092a \u092c\u093e \u092c\u092e \u0935\u092e \u093e\u0915 \u093f\u092e \u092c\u093f \u0935\u092a \u092e\u0915 \u0928\u0915 \u093e\u091c \u093f\u0928 \u0935\u091c \u092c\u0928 \u092e\u091c \u092a\u092e \u0928\u092a \u091c\u0928 \u091c\u0935 \u091c\u0915 \u092e\u0928 \u092c\u093e \u0928\u093e \u093f\u092a \u092c\u093f \u0935\u091c \u0935\u0915 \u092e\u092a \u092e\u091c \u093e\u091c \u093e\u0935 \u092c\u092c \u0935\u0935 \u093f\u0928 \u092e\u093e \u092e\u092e \u092a\u0915 \u093f\u0928 \u0915\u093e"
+ "text": "\u091c\u093e \u0915\u092e \u092c\u0915 \u093e\u0915 \u092e\u092a \u091c\u093e \u0935\u092e \u093e\u092e \u0928\u0928 \u093e\u0915 \u093f\u092e \u091c\u0935 \u093e\u092a \u092e\u0915 \u0935\u093f \u092a\u093f \u0928\u0928 \u0928\u0915 \u091c\u0928 \u091c\u0935 \u093e\u092e \u093e\u0915 \u0928\u092a \u092e\u091c \u0928\u0935 \u093f\u092e \u0928\u092e \u092e\u093e \u0915\u092e \u092e\u0928 \u092e\u092e \u092c\u092e \u093f\u0928 \u093e\u0935 \u092c\u091c \u0935\u0928 \u092a\u092a \u0915\u092a \u091c\u091c \u091c\u0935 \u092c\u093f \u092a\u093f \u093f\u0915 \u092c\u093e \u092e\u092a \u0928\u093e \u093f\u092a \u093f\u091c \u091c\u092a \u092e\u0928 \u0928\u091c \u0928\u0935 \u0915\u0935 \u093e\u091c \u092a\u0935 \u091c\u093e \u093f\u0928 \u0928\u092e \u092c\u0915 \u0928\u093f"
},
{
- "instructions": "Good job. Time to type jumbles.",
+ "instructions": "Nice work. Time to type real words.",
"mode": "text",
- "text": "\u092e\u093f\u092e\u0915 \u092c\u092a\u093f\u092a \u092a\u092a\u0915\u092e \u092c\u0928\u0935\u0928 \u093e\u0935\u092a\u0928 \u092e\u0935\u0915\u0928 \u092e\u093e\u0928\u092a \u0935\u092a\u092a\u091c \u092e\u092e\u092e\u093e \u092c\u092c\u0915\u0915 \u093f\u093f\u092e\u0928 \u093f\u0915\u092e\u0935 \u092a\u0928\u093e\u091c \u0935\u093e\u0915\u0935 \u092a\u092a\u092e\u0915 \u092c\u093f\u093f\u093e \u093f\u091c\u093e\u093f \u093f\u092e\u0935\u093e \u093e\u091c\u091c\u091c \u092e\u093e\u0915\u0915 \u092a\u092c\u0915\u093f \u092c\u092e\u092a\u092a \u092c\u092c\u093e\u0935 \u093f\u093f\u092e\u092c \u0935\u092a\u0935\u0915 \u092e\u092a\u0935\u0928 \u0915\u092a\u092e\u091c \u093e\u092a\u092a\u093f \u0935\u092a\u0928\u093e \u092e\u092a\u092c\u0935 \u092a\u092a\u092c\u0915 \u093e\u091c\u092a\u092c \u092e\u092c\u0928\u0935 \u093e\u092c\u093e\u0928 \u091c\u0915\u0915\u0915 \u092a\u0928\u093e\u092e \u092a\u091c\u092c\u092a \u091c\u093e\u0935\u091c \u091c\u092a\u092a\u093e \u0915\u092e\u0935\u093f \u0928\u091c\u092c\u092a \u093f\u0935\u093e\u0935 \u0928\u091c\u093f\u092c \u092a\u091c\u0928\u092a \u092e\u092c\u092c\u092c \u092e\u092e\u092a\u0935 \u0935\u0935\u092c\u0915 \u0935\u0915\u0928\u092c \u093e\u0915\u0928\u091c \u091c\u0935\u092c\u091c \u092e\u092a\u093e\u093f \u091c\u0935\u093e\u092a \u092c\u0915\u093e\u093f \u092e\u0935\u092a\u092c \u093e\u0935\u091c\u0935 \u0928\u092c\u092a\u093e \u092a\u092c\u093e\u091c \u0935\u093e\u0935\u093e \u093e\u091c\u092c\u092a \u091c\u091c\u092c\u0915"
+ "text": "\u0935\u093f\u092a\u0928\u093e \u092a\u0915\u093e\u092a\u0915 \u092a\u0935\u0928 \u0935\u093e \u0915\u0935\u093f \u091c\u0935\u093e\u092c \u092a\u093f\u092a \u0928\u093e\u0915 \u0915\u093f \u092c\u0928 \u0928\u093e\u092e\u0915 \u091c\u093f\u092e\u093e \u0915\u0928\u093f\u0915\u093e \u0928\u093f\u092c \u0935\u093e\u092a\u093f\u0915 \u092a\u093f\u092a \u0928\u093e\u092e\u0915 \u092a\u093e\u0928 \u0928\u092e\u0915\u093f\u0928 \u092c\u093f\u092e\u093e\u0928 \u0915\u093e\u0928 \u0935\u093f\u092a\u0928\u093e \u0928\u0935 \u0915\u0928\u093f \u092c\u093e\u091c \u091c\u0928\u0928\u093f \u092e\u093e\u092a\u0928 \u0915\u092e\u093e\u0928 \u091c\u093e\u0915\u093f \u0935\u093f\u092e\u093e\u0928 \u0928\u093e\u092a \u0928\u092e\u0928 \u0935\u091c\u0928 \u0915\u092a\u093f \u091c\u092e\u093e\u0928 \u0928\u093e\u0928 \u0915\u093e\u092e \u092e\u093e\u0928\u093f \u0928\u093f\u091c \u092a\u093e\u0935\u0928 \u092a\u093e\u0915 \u0915\u092e\u093f\u0928\u093e \u0928\u093e\u0928 \u0915\u093e\u092e\u093f \u0928\u093e\u0928\u093e \u0928\u092e\u093e\u091c \u0928\u093e\u092a \u0915\u093e\u092e\u093f \u0928\u092e\u091c\u093e \u0928\u091c\u093f\u0915 \u0915\u0935\u093f \u091c\u093e\u092e\u093e \u092e\u0915\u093f \u0928\u093e\u092e\u093e \u0935\u091c\u0928 \u0915\u0935\u093f \u0935\u091c\u0928 \u092a\u093e\u0935\u0928 \u0915\u092a\u0928 \u091c\u0928\u093e\u0928\u093e"
},
{
"instructions": "$report",
@@ -92,4 +95,4 @@
}
],
"type": "normal"
-}
+} \ No newline at end of file
diff --git a/lessons/ne_NP/homerowballoon.lesson b/lessons/ne_NP/homerowballoon.lesson
new file mode 100644
index 0000000..6399057
--- /dev/null
+++ b/lessons/ne_NP/homerowballoon.lesson
@@ -0,0 +1,192 @@
+{
+ "description": "Practice the home row keys in this exciting game!\nDon't let any balloons get by!",
+ "length": 60,
+ "medals": [
+ {
+ "accuracy": 70,
+ "name": "bronze",
+ "score": 3000,
+ "wpm": 15
+ },
+ {
+ "accuracy": 80,
+ "name": "silver",
+ "score": 4500,
+ "wpm": 20
+ },
+ {
+ "accuracy": 90,
+ "name": "gold",
+ "score": 6000,
+ "wpm": 25
+ }
+ ],
+ "name": "Home Row Balloon Practice",
+ "order": 2,
+ "type": "balloon",
+ "words": [
+ "\u091c\u092e\u093f",
+ "\u091c\u092c",
+ "\u0915\u093e\u092a",
+ "\u0915\u093e\u0928",
+ "\u092e\u093e\u0928\u093f",
+ "\u092e\u0928",
+ "\u0935\u093f\u092e\u093e\u0928",
+ "\u091c\u092e\u093e\u0928\u093e",
+ "\u092a\u093e\u0915",
+ "\u092c\u093f\u0928\u093e",
+ "\u0915\u093e",
+ "\u0915\u092a\u093f",
+ "\u0928\u093e\u0915\u093e",
+ "\u0928\u093e\u0928",
+ "\u0915\u092a\u0928",
+ "\u0935\u091c\u0928",
+ "\u091c\u093e\u092e\u093e",
+ "\u092e\u093e\u092a",
+ "\u092e\u093e\u092a\u0928",
+ "\u092c\u093e\u091c\u093e",
+ "\u0935\u093e",
+ "\u092a\u0928",
+ "\u091c\u092e\u093f\u0928",
+ "\u092a\u093e\u092a",
+ "\u0935\u093f\u091c\u0928",
+ "\u0915\u093e\u092e\u092a\u093e",
+ "\u0915\u092a",
+ "\u0915\u0935\u093e\u091c",
+ "\u092a\u093f\u0928",
+ "\u0935\u093f\u092e\u0928\u093e",
+ "\u092e\u0928\u0928",
+ "\u092a\u0915\u0935\u093e\u0928",
+ "\u092c\u093e\u091c\u093f\u092c",
+ "\u092c\u093f\u091c\u0928",
+ "\u0928\u091c\u093f\u0915",
+ "\u091c\u093e\u092a\u093e\u0928",
+ "\u0915\u092e\u093f\u091c",
+ "\u091c\u093e\u0915\u093f",
+ "\u0928\u092e\u093e\u091c",
+ "\u092e\u092e",
+ "\u0915\u093e\u092e\u0928\u092a\u093e",
+ "\u091c\u093e",
+ "\u092e\u093e\u0928\u0935",
+ "\u0935\u093f\u092a\u0928\u093e",
+ "\u092a\u093f\u092a",
+ "\u0928\u093e\u0928\u0915",
+ "\u0915\u092e\u093f\u0928\u093e",
+ "\u0915\u092e\u093e\u0928",
+ "\u0935\u093e\u092e\u0928",
+ "\u092c\u092e",
+ "\u092c\u0928",
+ "\u091c\u0935\u093e\u092c",
+ "\u0928\u092c\u093e\u0935",
+ "\u092a\u0928\u093f",
+ "\u0915\u093f\u0928",
+ "\u0915\u092a\u093e\u0915\u092a",
+ "\u092a\u0915\u093e\u092a\u0915",
+ "\u0928\u093f\u092e\u093e\u0935\u093f",
+ "\u0915\u093e\u092e",
+ "\u092a\u093f\u0928\u093e",
+ "\u091c\u093e\u0928\u093e\u091c\u093e\u0928",
+ "\u0928\u0915\u093e\u092c",
+ "\u091c\u093e\u092e",
+ "\u092e\u093e\u0928",
+ "\u092e\u0928\u092e\u0928",
+ "\u091c\u0928\u093e\u0928\u093e",
+ "\u092c\u093f\u0915\u093f",
+ "\u0935\u0928",
+ "\u0935\u093e\u092e",
+ "\u0928\u092a\u093e",
+ "\u092a\u093f\u092a\u093e",
+ "\u0928\u093e\u092a\u093f",
+ "\u092c\u093e\u092c\u093e",
+ "\u0928\u093e\u092a",
+ "\u0915\u093e\u092e\u0928\u093e",
+ "\u0915\u093e\u092c\u093e",
+ "\u0915\u093e\u092a\u093f",
+ "\u091c\u0928\u0915",
+ "\u092a\u092a",
+ "\u092c\u0928\u093f",
+ "\u091c\u092a",
+ "\u091c\u091c\u092e\u093e\u0928",
+ "\u092e\u093e\u0928\u0915",
+ "\u0928\u092e\u091c\u093e",
+ "\u091c\u092e\u093e\u0928",
+ "\u0935\u093e\u092a\u093f\u0915",
+ "\u0915\u0928\u093f\u0915\u093e",
+ "\u0928\u093f\u092c",
+ "\u0928\u093e\u092e",
+ "\u0935\u093e\u0915\u0935\u093e\u0915",
+ "\u092e\u093e",
+ "\u0915\u0928\u093f",
+ "\u0915\u092e\u0928",
+ "\u0928\u093e\u092e\u093e",
+ "\u092e\u0915\u092e\u0915",
+ "\u091c\u093f\u092a",
+ "\u0928\u0935\u092e",
+ "\u0935\u092e\u0928",
+ "\u0935\u093f\u092a\u093f\u0928",
+ "\u091c\u092a\u093f",
+ "\u092e\u0928\u0915\u093e\u092e\u0928\u093e",
+ "\u0935\u093e\u0928",
+ "\u091c\u0928",
+ "\u0915\u093f\u0928\u093f",
+ "\u0928\u093f\u091c",
+ "\u0915\u093e\u0935\u093e",
+ "\u091c\u0928\u093e",
+ "\u0928\u092e\u0928",
+ "\u092a\u093e\u0935\u093e",
+ "\u0915\u093f",
+ "\u092e\u091c\u093e",
+ "\u092a\u093e\u0928",
+ "\u0915\u0928\u0915",
+ "\u092e\u093e\u092e\u093e",
+ "\u0915\u0935\u093f",
+ "\u092e\u091c\u093e\u0915",
+ "\u0915\u093e\u092e\u0915\u093e\u091c",
+ "\u0915\u092e",
+ "\u0928\u093e\u092e\u0915",
+ "\u091c\u093f\u092c\u093e",
+ "\u0935\u093f\u0928\u093e",
+ "\u0915\u093e\u0915\u093e",
+ "\u091c\u0935\u093e\u0928",
+ "\u0915\u092e\u093e",
+ "\u0915\u093e\u092e\u093f",
+ "\u091c\u093f\u092e\u093e",
+ "\u0928\u093e",
+ "\u0928\u093f\u092e\u0928",
+ "\u092c\u093e\u091c",
+ "\u092a\u093e\u0928\u093e",
+ "\u0928\u093e\u0915\u0928\u093f\u0915",
+ "\u092c\u093e\u092e",
+ "\u092c\u0915\u092c\u0915",
+ "\u091c\u093e\u0928",
+ "\u091c\u091c",
+ "\u0928\u093f",
+ "\u091c\u0928\u0915\u0935\u093f",
+ "\u092c\u091c\u093f",
+ "\u0928\u093e\u0915",
+ "\u092a\u093e\u0935\u0928",
+ "\u092a\u093f\u0915\u0928\u093f\u0915",
+ "\u092c\u093e\u091c\u093f",
+ "\u092c\u093f\u092e\u093e\u0928",
+ "\u091c\u093f\u0935\u093f\u0915\u093e",
+ "\u092e\u0928\u093f",
+ "\u092e\u0915\u093f",
+ "\u0935\u093e\u0915\u093f",
+ "\u091c\u093e\u0928\u093f",
+ "\u0928\u0935",
+ "\u092e\u093e\u092a\u093e",
+ "\u0928\u093e\u0928\u093e",
+ "\u092e\u093e\u092e",
+ "\u0935\u093e\u091c\u093f\u092c",
+ "\u092e\u093e\u0935\u093f",
+ "\u0915\u093e\u0915",
+ "\u092a\u093f\u0928\u093e\u0915",
+ "\u092a\u093e\u092a\u093e",
+ "\u091c\u0928\u0928\u093f",
+ "\u0928\u092e\u0915\u093f\u0928",
+ "\u0915\u093e\u091c",
+ "\u092a\u0935\u0928",
+ "\u092c\u093f\u0928\u093f",
+ "\u092e\u093e\u0928\u093e"
+ ]
+} \ No newline at end of file
diff --git a/lessons/ne_NP/leftcapital.lesson b/lessons/ne_NP/leftcapital.lesson
new file mode 100644
index 0000000..8866146
--- /dev/null
+++ b/lessons/ne_NP/leftcapital.lesson
@@ -0,0 +1,218 @@
+{
+ "description": "This lesson teaches you the CAPITAL letters which are typed \nby your left hand.\nThese are \u0924\u094d\u0924, \u0921\u094d\u0922, \u0910, \u0926\u094d\u092c, \u091f\u094d\u091f, \u0906, \u0919\u094d\u0915, \u0919\u094d\u0917, \u0901, \u0926\u094d\u0926, \u0915\u094d\u0915, \u0939\u094d\u092f, \u090b, \u0950 and \u094c.",
+ "medals": [
+ {
+ "accuracy": 70,
+ "name": "bronze",
+ "score": 3000,
+ "wpm": 15
+ },
+ {
+ "accuracy": 80,
+ "name": "silver",
+ "score": 4500,
+ "wpm": 20
+ },
+ {
+ "accuracy": 90,
+ "name": "gold",
+ "score": 6000,
+ "wpm": 25
+ }
+ ],
+ "name": "Left Hand Capitals",
+ "order": 5,
+ "steps": [
+ {
+ "instructions": "In this lesson, you will learn the \u0924, \u094d, \u0924, \u0921, \u094d, \u0922, \u0910, \u0926, \u094d, \u092c, \u091f, \u094d, \u091f, \u0906, \u0919, \u094d, \u0915, \u0919, \u094d, \u0917, \u0901, \u0926, \u094d, \u0926, \u0915, \u094d, \u0915, \u0939, \u094d, \u092f, \u090b, \u0950 and \u094c keys.\n\nPress the ENTER key when you are ready to begin!",
+ "mode": "key",
+ "text": "\n"
+ },
+ {
+ "instructions": "Press the \u0924 key with your left index finger.",
+ "mode": "key",
+ "text": "\u0924"
+ },
+ {
+ "instructions": "Press the \u094d key with your right little finger.",
+ "mode": "key",
+ "text": "\u094d"
+ },
+ {
+ "instructions": "Press the \u0924 key with your left index finger.",
+ "mode": "key",
+ "text": "\u0924"
+ },
+ {
+ "instructions": "Press and hold the SHIFT key with your left little finger, then press the \u0921 key with your right middle finger.",
+ "mode": "key",
+ "text": "\u0921"
+ },
+ {
+ "instructions": "Press the \u094d key with your right little finger.",
+ "mode": "key",
+ "text": "\u094d"
+ },
+ {
+ "instructions": "Press and hold the SHIFT key with your left little finger, then press the \u0922 key with your right ring finger.",
+ "mode": "key",
+ "text": "\u0922"
+ },
+ {
+ "instructions": "Press and hold the SHIFT key with your right little finger, then press the \u0910 key with your left middle finger.",
+ "mode": "key",
+ "text": "\u0910"
+ },
+ {
+ "instructions": "Press the \u0926 key with your left index finger.",
+ "mode": "key",
+ "text": "\u0926"
+ },
+ {
+ "instructions": "Press the \u094d key with your right little finger.",
+ "mode": "key",
+ "text": "\u094d"
+ },
+ {
+ "instructions": "Press the \u092c key with your left little finger.",
+ "mode": "key",
+ "text": "\u092c"
+ },
+ {
+ "instructions": "Press and hold the SHIFT key with your left little finger, then press the \u091f key with your right index finger.",
+ "mode": "key",
+ "text": "\u091f"
+ },
+ {
+ "instructions": "Press the \u094d key with your right little finger.",
+ "mode": "key",
+ "text": "\u094d"
+ },
+ {
+ "instructions": "Press and hold the SHIFT key with your left little finger, then press the \u091f key with your right index finger.",
+ "mode": "key",
+ "text": "\u091f"
+ },
+ {
+ "instructions": "Press and hold the SHIFT key with your right little finger, then press the \u0906 key with your left little finger.",
+ "mode": "key",
+ "text": "\u0906"
+ },
+ {
+ "instructions": "Press and hold the SHIFT key with your left little finger, then press the \u0919 key with your right middle finger.",
+ "mode": "key",
+ "text": "\u0919"
+ },
+ {
+ "instructions": "Press the \u094d key with your right little finger.",
+ "mode": "key",
+ "text": "\u094d"
+ },
+ {
+ "instructions": "Press the \u0915 key with your left ring finger.",
+ "mode": "key",
+ "text": "\u0915"
+ },
+ {
+ "instructions": "Press and hold the SHIFT key with your left little finger, then press the \u0919 key with your right middle finger.",
+ "mode": "key",
+ "text": "\u0919"
+ },
+ {
+ "instructions": "Press the \u094d key with your right little finger.",
+ "mode": "key",
+ "text": "\u094d"
+ },
+ {
+ "instructions": "Press the \u0917 key with your right index finger.",
+ "mode": "key",
+ "text": "\u0917"
+ },
+ {
+ "instructions": "Press the \u0901 key with your left index finger.",
+ "mode": "key",
+ "text": "\u0901"
+ },
+ {
+ "instructions": "Press the \u0926 key with your left index finger.",
+ "mode": "key",
+ "text": "\u0926"
+ },
+ {
+ "instructions": "Press the \u094d key with your right little finger.",
+ "mode": "key",
+ "text": "\u094d"
+ },
+ {
+ "instructions": "Press the \u0926 key with your left index finger.",
+ "mode": "key",
+ "text": "\u0926"
+ },
+ {
+ "instructions": "Press the \u0915 key with your left ring finger.",
+ "mode": "key",
+ "text": "\u0915"
+ },
+ {
+ "instructions": "Press the \u094d key with your right little finger.",
+ "mode": "key",
+ "text": "\u094d"
+ },
+ {
+ "instructions": "Press the \u0915 key with your left ring finger.",
+ "mode": "key",
+ "text": "\u0915"
+ },
+ {
+ "instructions": "Press the \u0939 key with your left ring finger.",
+ "mode": "key",
+ "text": "\u0939"
+ },
+ {
+ "instructions": "Press the \u094d key with your right little finger.",
+ "mode": "key",
+ "text": "\u094d"
+ },
+ {
+ "instructions": "Press the \u092f key with your right ring finger.",
+ "mode": "key",
+ "text": "\u092f"
+ },
+ {
+ "instructions": "Press and hold the SHIFT key with your right little finger, then press the \u090b key with your left middle finger.",
+ "mode": "key",
+ "text": "\u090b"
+ },
+ {
+ "instructions": "Press and hold the SHIFT key with your right little finger, then press the \u0950 key with your left index finger.",
+ "mode": "key",
+ "text": "\u0950"
+ },
+ {
+ "instructions": "Press and hold the SHIFT key with your right little finger, then press the \u094c key with your left index finger.",
+ "mode": "key",
+ "text": "\u094c"
+ },
+ {
+ "instructions": "You did it! Practice typing the keys you just learned.",
+ "mode": "text",
+ "text": "\u0926\u0926 \u0939\u0939 \u0915\u0915 \u092c\u092c \u094d\u094d \u092f\u092f \u094c\u094c \u092f\u092f \u0915\u0915 \u0924\u0924 \u0901\u0901 \u094d\u094d \u0922\u0922 \u090b\u090b \u094d\u094d \u0924\u0924 \u091f\u091f \u092c\u092c \u0910\u0910 \u094d\u094d \u094d\u094d \u0915\u0915 \u092f\u092f \u094d\u094d \u091f\u091f \u0906\u0906 \u0906\u0906 \u0922\u0922 \u0924\u0924 \u0921\u0921 \u0915\u0915 \u0922\u0922 \u094d\u094d \u094d\u094d \u094d\u094d \u0919\u0919 \u094d\u094d \u091f\u091f \u0924\u0924 \u094d\u094d \u092f\u092f \u0901\u0901 \u0915\u0915 \u0915\u0915 \u0906\u0906 \u0926\u0926 \u0921\u0921 \u0915\u0915 \u0915\u0915 \u0901\u0901 \u0915\u0915 \u094d\u094d \u0919\u0919 \u0919\u0919 \u090b\u090b \u092c\u092c \u0915\u0915 \u0915\u0915 \u0950\u0950 \u0915\u0915"
+ },
+ {
+ "instructions": "Nice work. Now put the keys together into pairs.",
+ "mode": "text",
+ "text": "\u0930\u094d \u092a\u092f \u0919\u0921 \u094d\u0935 \u091f\u091f \u0930\u094c \u0924\u0926 \u094d\u092e \u0901\u092c \u094c\u0901 \u0936\u0915 \u092f\u094d \u093e\u091f \u0921\u0922 \u0927\u0915 \u0917\u092f \u0901\u0922 \u0906\u0926 \u092c\u0939 \u092f\u094d \u094d\u092e \u094c\u0917 \u0901\u0916 \u0921\u0939 \u0906\u092f \u0936\u0926 \u0905\u0926 \u0922\u0919 \u092a\u091f \u091f\u0901 \u0921\u0915 \u0916\u094d \u0935\u0917 \u094c\u091f \u0919\u094d \u0924\u0917 \u0915\u0928 \u0926\u093f \u092e\u0921 \u092e\u091f \u091a\u0924 \u0917\u0926 \u0939\u091c \u091c\u0921 \u091f\u0930 \u0910\u0936 \u0935\u0917 \u0939\u093e \u092f\u0917 \u091f\u0901 \u0909\u0926 \u0906\u092c \u092a\u094c \u094c\u092c \u0915\u0937 \u0930\u094c \u0932\u094c \u0906\u0916 \u0919\u0930 \u0909\u0917"
+ },
+ {
+ "instructions": "Nice work. Time to type real words.",
+ "mode": "text",
+ "text": "\u0926\u0932\u0917\u0924 \u091a\u093f\u0930\u094d \u0935\u093e\u0927\u094d\u092f \u091c\u093e\u0901\u0921 \u0936\u093e\u0936\u094d\u0935\u0924 \u0939\u091f\u093f\u092f\u093e \u092c\u093f\u0909 \u0906\u0915\u0930\u094d\u0937 \u0935\u093f\u0930\u0915\u094d\u0924\u093f \u092c\u093f\u092e\u093e\u0928 \u0915\u094d\u0930\u092e\u093e\u0919\u094d\u0915 \u092a\u093e\u092a\u0939\u0930 \u0925\u091a\u094d\u0915\u093e\u0930\u094d \u0928\u093f\u092c\u094d\u091f \u091a\u0939\u093e\u0930 \u0906\u0935\u093e\u0939\u0915 \u0915\u093e\u0917\u091c \u0932\u093e\u091f\u093e \u0916\u091f\u094d\u0915\u093e\u0909 \u0926\u093e\u0928 \u0917\u092e\u094d\u0926\u093e\u0930 \u092a\u094d\u0930\u0935\u093e\u0939 \u0928\u093f\u0937\u094d\u092a\u093e\u092a \u092a\u0930\u093e\u0936\u094d\u0930\u093f\u0924 \u0906\u092f\u0906\u0930\u094d\u091c\u0928 \u0917\u0930\u092e\u093e\u0917\u0930\u092e \u0925\u0928\u094d\u0915\u094d\u092f\u093e\u0909 \u0905\u092d\u093f\u092f\u0928\u094d\u0924\u093e \u092a\u093f\u0924\u094d\u0924\u0932 \u092e\u093e\u0924\u094d\u0930\u093f\u0915 \u0930\u0915\u094d\u0937\u094d\u092f \u0926\u0936\u092e \u0905\u092a\u0928\u0924\u094d\u0935 \u0927\u094d\u0935\u093e\u0930\u094d\u0930 \u0930\u093e\u0916\u094d \u0917\u093f\u091c\u0932\u094d \u0905\u0928\u094d\u0921\u092c\u0928\u094d\u0921 \u0932\u0924\u094d\u0915 \u092f\u093e\u091a\u093f\u0924 \u0928\u093f\u092f\u093e\u0932\u094d \u0925\u091a\u094d\u0915 \u0936\u093e\u0915\u093f\u0928\u094d\u092f\u093e \u092a\u094d\u0930\u0939\u093e\u0930\u0915 \u0921\u091f\u094d \u0927\u0921\u094d\u0915\u093f \u092e\u093e\u0926 \u091c\u092e\u0926\u093e\u0930 \u0936\u092f\u0928 \u0928\u094c\u091c\u0935\u093e\u0928 \u0917\u092e\u094d \u0927\u0930\u094d\u092e\u093e\u0928\u094d\u0927 \u0915\u0932\u0915\u0932\u0915 \u092a\u094d\u0930\u0915\u093e\u0936\u093f\u0924 \u092c\u093f\u0939\u093e \u0935\u0932\u092f\u093f\u0924 \u092c\u093f\u0930\u093e\u092e \u0905\u092a\u0928\u0924\u094d\u0935 \u0928\u093f\u092f\u093e\u0932\u093f \u0905\u0939\u0939 \u092a\u094d\u0930\u091a\u093e\u0930\u0915"
+ },
+ {
+ "instructions": "$report",
+ "mode": "key",
+ "text": " "
+ }
+ ],
+ "type": "normal"
+} \ No newline at end of file
diff --git a/lessons/ne_NP/rightcapital.lesson b/lessons/ne_NP/rightcapital.lesson
new file mode 100644
index 0000000..d986b09
--- /dev/null
+++ b/lessons/ne_NP/rightcapital.lesson
@@ -0,0 +1,153 @@
+{
+ "description": "This lesson teaches you the CAPITAL letters which are typed \nby your right hand.\nThese are \u0920\u094d\u0920, \u090a, \u0915\u094d\u0937, \u0907, \u090f, \u091d, \u094b, \u092b, \u0940, \u094c, \u0926\u094d\u092f, and \u0921\u094d\u0921.",
+ "medals": [
+ {
+ "accuracy": 70,
+ "name": "bronze",
+ "score": 3000,
+ "wpm": 15
+ },
+ {
+ "accuracy": 80,
+ "name": "silver",
+ "score": 4500,
+ "wpm": 20
+ },
+ {
+ "accuracy": 90,
+ "name": "gold",
+ "score": 6000,
+ "wpm": 25
+ }
+ ],
+ "name": "Right Hand Capitals",
+ "order": 6,
+ "steps": [
+ {
+ "instructions": "In this lesson, you will learn the \u0920, \u094d, \u0920, \u090a, \u0915, \u094d, \u0937, \u0907, \u090f, \u091d, \u094b, \u092b, \u0940, \u094c, \u0926, \u094d, \u092f, \u0921, \u094d and \u0921 keys.\n\nPress the ENTER key when you are ready to begin!",
+ "mode": "key",
+ "text": "\n"
+ },
+ {
+ "instructions": "Press and hold the SHIFT key with your left little finger, then press the \u0920 key with your right index finger.",
+ "mode": "key",
+ "text": "\u0920"
+ },
+ {
+ "instructions": "Press the \u094d key with your right little finger.",
+ "mode": "key",
+ "text": "\u094d"
+ },
+ {
+ "instructions": "Press and hold the SHIFT key with your left little finger, then press the \u0920 key with your right index finger.",
+ "mode": "key",
+ "text": "\u0920"
+ },
+ {
+ "instructions": "Press and hold the SHIFT key with your left little finger, then press the \u090a key with your right index finger.",
+ "mode": "key",
+ "text": "\u090a"
+ },
+ {
+ "instructions": "Press the \u0915 key with your left ring finger.",
+ "mode": "key",
+ "text": "\u0915"
+ },
+ {
+ "instructions": "Press the \u094d key with your right little finger.",
+ "mode": "key",
+ "text": "\u094d"
+ },
+ {
+ "instructions": "Press the \u0937 key with your right middle finger.",
+ "mode": "key",
+ "text": "\u0937"
+ },
+ {
+ "instructions": "Press and hold the SHIFT key with your left little finger, then press the \u0907 key with your right ring finger.",
+ "mode": "key",
+ "text": "\u0907"
+ },
+ {
+ "instructions": "Press and hold the SHIFT key with your left little finger, then press the \u090f key with your right little finger.",
+ "mode": "key",
+ "text": "\u090f"
+ },
+ {
+ "instructions": "Press and hold the SHIFT key with your left little finger, then press the \u091d key with your right index finger.",
+ "mode": "key",
+ "text": "\u091d"
+ },
+ {
+ "instructions": "Press and hold the SHIFT key with your left little finger, then press the \u094b key with your right index finger.",
+ "mode": "key",
+ "text": "\u094b"
+ },
+ {
+ "instructions": "Press and hold the SHIFT key with your left little finger, then press the \u092b key with your right middle finger.",
+ "mode": "key",
+ "text": "\u092b"
+ },
+ {
+ "instructions": "Press and hold the SHIFT key with your left little finger, then press the \u0940 key with your right ring finger.",
+ "mode": "key",
+ "text": "\u0940"
+ },
+ {
+ "instructions": "Press and hold the SHIFT key with your right little finger, then press the \u094c key with your left index finger.",
+ "mode": "key",
+ "text": "\u094c"
+ },
+ {
+ "instructions": "Press the \u0926 key with your left index finger.",
+ "mode": "key",
+ "text": "\u0926"
+ },
+ {
+ "instructions": "Press the \u094d key with your right little finger.",
+ "mode": "key",
+ "text": "\u094d"
+ },
+ {
+ "instructions": "Press the \u092f key with your right ring finger.",
+ "mode": "key",
+ "text": "\u092f"
+ },
+ {
+ "instructions": "Press and hold the SHIFT key with your left little finger, then press the \u0921 key with your right middle finger.",
+ "mode": "key",
+ "text": "\u0921"
+ },
+ {
+ "instructions": "Press the \u094d key with your right little finger.",
+ "mode": "key",
+ "text": "\u094d"
+ },
+ {
+ "instructions": "Press and hold the SHIFT key with your left little finger, then press the \u0921 key with your right middle finger.",
+ "mode": "key",
+ "text": "\u0921"
+ },
+ {
+ "instructions": "You did it! Practice typing the keys you just learned.",
+ "mode": "text",
+ "text": "\u0915\u0915 \u092f\u092f \u0926\u0926 \u094d\u094d \u0921\u0921 \u0921\u0921 \u0921\u0921 \u0921\u0921 \u0926\u0926 \u094d\u094d \u0940\u0940 \u0937\u0937 \u090a\u090a \u094d\u094d \u092b\u092b \u0920\u0920 \u0907\u0907 \u094d\u094d \u090a\u090a \u0920\u0920 \u091d\u091d \u091d\u091d \u094d\u094d \u092b\u092b \u0937\u0937 \u0907\u0907 \u090f\u090f \u090a\u090a \u094d\u094d \u0920\u0920 \u094b\u094b \u090a\u090a \u094c\u094c \u0921\u0921 \u094b\u094b \u090f\u090f \u0921\u0921 \u0937\u0937 \u0920\u0920 \u0920\u0920 \u094d\u094d \u0940\u0940 \u091d\u091d \u094d\u094d \u090f\u090f \u0926\u0926 \u0920\u0920 \u094d\u094d \u0926\u0926 \u0940\u0940 \u091d\u091d \u0915\u0915 \u090f\u090f \u090f\u090f \u094d\u094d \u094d\u094d \u091d\u091d \u091d\u091d \u0921\u0921 \u091d\u091d"
+ },
+ {
+ "instructions": "Nice work. Now put the keys together into pairs.",
+ "mode": "text",
+ "text": "\u0939\u0907 \u092f\u0901 \u091d\u0930 \u094d\u0935 \u0921\u094b \u0939\u0915 \u0926\u0936 \u094d\u092e \u0905\u091d \u094c\u0901 \u0940\u091f \u0935\u094c \u094b\u0930 \u0920\u0939 \u092b\u0901 \u0916\u094b \u0901\u0915 \u0906\u092b \u092e\u092f \u0935\u094d \u094d\u092e \u094c\u0915 \u0905\u0937 \u0925\u0907 \u0909\u0921 \u0940\u0920 \u0907\u0928 \u0927\u0921 \u092c\u092f \u0921\u092d \u0920\u092a \u091d\u0924 \u093f\u0937 \u094c\u091f \u091c\u094b \u0926\u0928 \u0915\u0927 \u092a\u0921 \u0937\u092d \u0937\u092d \u091f\u092b \u0917\u094c \u0940\u092a \u0921\u091f \u0921\u093f \u0910\u092f \u093f\u0937 \u094b\u0915 \u0930\u092b \u0921\u092c \u090a\u0937 \u0909\u091d \u092f\u0915 \u094c\u092a \u0915\u0932 \u0939\u0915 \u093f\u0926 \u0907\u0932 \u091d\u093e \u090f\u0924"
+ },
+ {
+ "instructions": "Nice work. Time to type real words.",
+ "mode": "text",
+ "text": "\u092c\u094d\u092f\u093e\u0928\u094d\u0921 \u0939\u094b\u091a\u094b \u0935\u0926 \u092e\u093e\u0939\u093f\u0932\u0940 \u0905\u0928\u094d\u0935\u093f\u0924 \u0939\u093f\u092e\u093e\u0907\u0924\u0940 \u0928\u093f\u0915\u094b \u0928\u093e\u0917\u0930\u093e\u0907\u0928 \u0936\u094b\u0937\u093f\u0924 \u092a\u0940\u0935\u0930 \u0935\u093f\u0928\u094b\u0926 \u092c\u0919\u094d\u0917\u093e\u0930\u094b \u0924\u094d\u092f\u0939\u093e\u0901 \u092a\u094c\u0930\u0916 \u0939\u094b\u092e\u094d \u0915\u094d\u0935\u093e\u092a\u093e\u0928\u0940 \u0927\u0915\u094d\u0915\u093e \u0905\u092a\u094d\u0930\u0924\u093f\u092e \u0924\u094b\u0921\u094d \u0939\u093e\u0925\u0940\u0916\u0930\u094d\u0915 \u0909\u0924\u094d\u0924\u093e\u0928\u094b \u0935\u093f\u092a\u0915\u094d\u0937 \u0928\u094c \u0905\u0936\u0919\u094d\u0915\u093f\u0924 \u092f\u0936\u094b\u0917\u093e\u0928 \u092c\u093e\u091d\u093f\u092f\u093e\u0928 \u092c\u093f\u0915\u0930 \u0928\u093f\u092e\u094d\u0920\u093f \u0930\u094b\u092a\u093f \u0926\u0940\u092a\u093e \u0921\u0915\u094d \u091a\u093f\u0922\u094d \u0916\u0928\u094d\u0924\u0940 \u0906\u091a\u093e\u0930\u0935\u093e\u0928\u094d \u0905\u091c\u0940\u0935 \u0924\u094d\u0930\u093f\u092b\u0932\u093e \u0905\u092c\u094d\u091d\u091f \u0927\u0915 \u0935\u093e\u0936\u093f\u0937\u094d\u0920\u0940 \u092e\u093e\u092b\u0940 \u0906\u0936\u094c\u091a\u0940 \u091d\u094d\u0935\u093e\u092e\u094d\u092e \u091d\u094b\u0930\u094d \u0917\u093e\u0901\u0921\u094d \u092e\u094c\u0932\u093f\u0915 \u0905\u0928\u093e\u0930\u092e\u094d\u092d \u0917\u092d\u0940\u0930 \u092c\u093e\u0916\u094d\u0930\u094b \u0924\u094d\u092f\u0915\u094d\u0924 \u0915\u0939\u093e\u0928\u0940 \u092f\u093e\u0926\u0917\u093e\u0930 \u0909\u092a\u091c\u0940\u0935\u0940 \u0939\u0924\u094d\u0924\u093f \u0905\u091f\u094d \u0939\u094b\u0932\u0940 \u0905\u092d\u094b\u0917\u0940 \u0928\u093f\u0939\u093e\u0930\u094d \u092d\u091c\u093e\u0907 \u0939\u0932\u094d\u0935\u093e\u0930 \u0915\u093e\u0930\u094d\u092f\u0915\u093e\u0932"
+ },
+ {
+ "instructions": "$report",
+ "mode": "key",
+ "text": " "
+ }
+ ],
+ "type": "normal"
+} \ No newline at end of file
diff --git a/lessons/ne_NP/toprow.lesson b/lessons/ne_NP/toprow.lesson
index 04391b9..cefcb2f 100644
--- a/lessons/ne_NP/toprow.lesson
+++ b/lessons/ne_NP/toprow.lesson
@@ -1,7 +1,27 @@
{
"description": "This lesson teaches you the \u0924\u094d\u0930, \u0927, \u092d, \u091a, \u0924, \u0925, \u0917, \u0937, \u092f and \u0909 keys \non the top row of the keyboard.",
+ "medals": [
+ {
+ "accuracy": 70,
+ "name": "bronze",
+ "score": 3000,
+ "wpm": 15
+ },
+ {
+ "accuracy": 80,
+ "name": "silver",
+ "score": 4500,
+ "wpm": 20
+ },
+ {
+ "accuracy": 90,
+ "name": "gold",
+ "score": 6000,
+ "wpm": 25
+ }
+ ],
"name": "The Top Row",
- "order": 2,
+ "order": 3,
"steps": [
{
"instructions": "In this lesson, you will learn the \u0924, \u094d, \u0930, \u0927, \u092d, \u091a, \u0924, \u0925, \u0917, \u0937, \u092f and \u0909 keys.\n\nPress the ENTER key when you are ready to begin!",
@@ -9,57 +29,57 @@
"text": "\n"
},
{
- "instructions": "Press the \u0924 key with your right little finger.",
+ "instructions": "Press the \u0924 key with your left index finger.",
"mode": "key",
"text": "\u0924"
},
{
- "instructions": "Press the \u094d key with your left index finger.",
+ "instructions": "Press the \u094d key with your right little finger.",
"mode": "key",
"text": "\u094d"
},
{
- "instructions": "Press the \u0930 key with your right middle finger.",
+ "instructions": "Press the \u0930 key with your right little finger.",
"mode": "key",
"text": "\u0930"
},
{
- "instructions": "Press and hold the SHIFT key with your left little finger, then press the \u0927 key with your right index finger.",
+ "instructions": "Press the \u0927 key with your left ring finger.",
"mode": "key",
"text": "\u0927"
},
{
- "instructions": "Press and hold the SHIFT key with your right little finger, then press the \u092d key with your left ring finger.",
+ "instructions": "Press the \u092d key with your left middle finger.",
"mode": "key",
"text": "\u092d"
},
{
- "instructions": "Press and hold the SHIFT key with your left little finger, then press the \u091a key with your right index finger.",
+ "instructions": "Press the \u091a key with your left index finger.",
"mode": "key",
"text": "\u091a"
},
{
- "instructions": "Press the \u0924 key with your right little finger.",
+ "instructions": "Press the \u0924 key with your left index finger.",
"mode": "key",
"text": "\u0924"
},
{
- "instructions": "Press and hold the SHIFT key with your left little finger, then press the \u0925 key with your right little finger.",
+ "instructions": "Press the \u0925 key with your right index finger.",
"mode": "key",
"text": "\u0925"
},
{
- "instructions": "Press the \u0917 key with your left ring finger.",
+ "instructions": "Press the \u0917 key with your right index finger.",
"mode": "key",
"text": "\u0917"
},
{
- "instructions": "Press the \u0937 key with your left little finger.",
+ "instructions": "Press the \u0937 key with your right middle finger.",
"mode": "key",
"text": "\u0937"
},
{
- "instructions": "Press the \u092f key with your left middle finger.",
+ "instructions": "Press the \u092f key with your right ring finger.",
"mode": "key",
"text": "\u092f"
},
@@ -76,17 +96,12 @@
{
"instructions": "Nice work. Now put the keys together into pairs.",
"mode": "text",
- "text": "\u0924\u0924 \u0924\u0917 \u092d\u091a \u091a\u0930 \u0925\u0917 \u0924\u0924 \u0924\u091a \u091a\u0930 \u091a\u091a \u0917\u0930 \u0930\u091a \u0909\u092d \u0909\u0930 \u0925\u0924 \u0924\u092d \u0909\u0925 \u0917\u0925 \u092d\u0937 \u0909\u0917 \u0909\u092d \u091a\u0930 \u0917\u0930 \u091a\u091a \u0924\u092f \u092d\u0937 \u0925\u0930 \u091a\u092d \u092f\u0917 \u0924\u0917 \u0917\u0917 \u0917\u092d \u0927\u092d \u0909\u091a \u0917\u0930 \u0937\u092d \u092f\u092d \u0925\u092f \u0909\u0927 \u0909\u092d \u0909\u092d \u0909\u0937 \u091a\u0925 \u0930\u092d \u091a\u0917 \u0925\u0917 \u0917\u0909 \u0909\u091a \u092d\u0930 \u092f\u0925 \u0917\u0917 \u0937\u091a \u092d\u0937 \u091a\u0924 \u0930\u0924 \u0927\u0917 \u0924\u0924 \u0909\u091a \u0927\u0927 \u092f\u0927 \u0937\u091a"
- },
- {
- "instructions": "Nice work. Now practice all the keys you know.",
- "mode": "text",
- "text": "\u091a\u0927 \u0924\u0915 \u092f\u0928 \u0925\u091a \u091a\u092a \u0928\u0937 \u0917\u091a \u0935\u0917 \u0925\u0924 \u0927\u0927 \u0930\u0930 \u0909\u091a \u092c\u0925 \u0935\u0925 \u092d\u092e \u0917\u091a \u0909\u092d \u0909\u0924 \u0915\u0937 \u092d\u0927 \u0917\u0930 \u091a\u091a \u0909\u0930 \u0917\u092e \u0925\u0915 \u092f\u0928 \u091a\u0925 \u0924\u091c \u092e\u0927 \u092d\u092a \u0937\u0924 \u0935\u0927 \u092a\u0917 \u0928\u0925 \u092e\u092f \u0927\u0924 \u0930\u0915 \u0930\u092c \u0915\u0925 \u0930\u092d \u0928\u0917 \u0937\u0917 \u0927\u0924 \u0927\u091c \u092d\u091c \u0909\u0915 \u0937\u0924 \u0927\u091c \u0917\u0928 \u092a\u091a \u0925\u0928 \u0917\u092e \u091a\u0935 \u0930\u0930 \u0935\u092f \u0925\u0928 \u092a\u0917 \u0930\u092d \u092d\u092f \u091c\u092d"
+ "text": "\u0928\u0924 \u0930\u092c \u094d\u0925 \u093f\u091a \u092a\u092f \u0928\u0927 \u092f\u0928 \u093f\u0917 \u0937\u094d \u093e\u0925 \u091a\u0909 \u0917\u092e \u091c\u0930 \u092d\u094d \u092f\u0935 \u0909\u0928 \u0937\u0924 \u0925\u0935 \u0915\u0927 \u0917\u092e \u093f\u0937 \u093e\u0924 \u0937\u092e \u092d\u0917 \u0925\u093f \u091a\u0928 \u0925\u0928 \u092c\u0925 \u0930\u092a \u092a\u0925 \u092d\u0924 \u0909\u0935 \u0935\u0925 \u093e\u0909 \u094d\u092c \u092c\u0917 \u0927\u0924 \u092e\u092f \u0917\u0935 \u0917\u0935 \u094d\u0930 \u0909\u0924 \u091a\u094d \u094d\u0935 \u092a\u094d \u0924\u0935 \u0935\u0925 \u091a\u0935 \u0915\u0930 \u092a\u0925 \u0924\u092a \u0925\u093f \u0930\u092f \u093e\u0930 \u0927\u094d \u0928\u0927 \u0928\u091a \u0925\u0930 \u094d\u0928 \u0924\u094d"
},
{
- "instructions": "Wonderful! Time to type real words.",
+ "instructions": "Nice work. Time to type real words.",
"mode": "text",
- "text": "\u0917\u092e\u0924 \u091c\u0924\u092a \u0924\u0930\u0915\u0928 \u0928\u092a\u091a \u092e\u0928\u092a\u0930 \u092a\u0925\u0928 \u092d\u0930\u0924\u0930 \u092d\u0930\u0924\u0917\u0928 \u091c\u092f\u0928\u0917\u0930 \u0909\u092a\u0935\u0928 \u0935\u0930\u092e \u091c\u0915\u0924 \u092f\u092a\u0924 \u0935\u0917\u0924 \u092d\u0924\u092d\u0924 \u0930\u092f\u0924 \u0917\u091c\u092c \u092e\u0928\u092d \u092e\u0937 \u0930\u0924\u0935\u0930 \u092a\u0930\u0917 \u0930\u091c \u092e\u091c\u092f\u0928 \u091c\u0924\u092a\u0924 \u0930\u0924\u0935\u0930 \u091c\u0928\u092f \u091c\u0924\u092a\u0924 \u0917\u092f\u092c \u092f\u0915\u0935 \u0915\u0930\u0915 \u092c\u0930\u0917\u0928 \u0935\u0924\u0930 \u092f\u0928\u0917\u0930 \u0915\u091a\u0915\u0930 \u0930\u0935\u092f\u0935 \u0927\u092d\u0915 \u0930\u0928 \u092c\u0930\u0928 \u0928\u0928\u0917\u0930 \u0928\u092c\u0930 \u0917\u0925 \u0915\u0935\u0930 \u0924\u092f \u0924\u0915 \u0930\u0924\u0928\u092a \u092a\u0930\u092d \u0935\u0930\u0935 \u092a\u0930\u092a\u0930 \u091a\u0917 \u0924\u092a\u0915 \u092e\u092d \u0937\u0924\u092f \u092e\u0928\u0917\u0930 \u0928\u0935\u0930\u0924 \u0924\u092f \u0928\u091a\u0930 \u0927\u0928\u092a\u0924 \u0909\u0928 \u092a\u0930\u092a \u091c\u0924\u092a"
+ "text": "\u0928\u093f\u0930\u0935\u0927\u093f \u0928\u093f\u092f\u0928\u094d\u0924\u093e \u0927\u092a\u093e\u0909 \u092e\u093e\u0924\u094d \u092e\u093f\u091a\u093e\u092e\u093f\u091a \u092a\u093f\u0930\u093e\u0909 \u0930\u093e\u092a\u093f \u092a\u094d\u0930\u093f\u092e\u093f\u092f\u092e \u092c\u094d\u0930\u0924\u092c\u0928\u094d\u0927 \u092d\u0924\u092d\u0924 \u092e\u0927\u094d\u092f\u092d\u093e\u0917 \u0935\u094d\u092f\u0935\u0927\u093e\u0928 \u091a\u092e\u091a\u093e\u092e \u0930\u091c\u0924 \u0909\u0927\u094d\u0930 \u092e\u093e\u0928\u094d\u092f\u0935\u0930 \u092a\u0924\u094d\u0930\u092e\u094d \u092c\u093e\u0930\u092e\u0917\u0930\u093e\u0924 \u0909\u0930\u094d\u091c\u093e \u0924\u093e\u092e\u094d\u0930 \u092a\u093f\u0930\u094d \u091c\u093f\u0924\u093e\u0930\u093f \u0927\u093e\u092e\u093f\u0930 \u092c\u092e\u094d\u0915\u093e\u0909 \u092a\u0930\u0915 \u0917\u093e\u0927 \u0935\u093f\u0927\u093f\u0935\u0924\u094d \u0924\u0930\u093e\u0928 \u0935\u093e\u0937\u094d\u092a \u092f\u093e\u092e \u0917\u0930\u093f\u092c \u0928\u093f\u092d\u094d \u091c\u093e\u0924\u094d\u092f \u0927\u093e\u092e \u0935\u093f\u0928\u092e\u094d\u0930 \u091a\u093f\u0928\u091c\u093e\u0928 \u092c\u0930\u093f \u0935\u093e\u0930\u094d\u0937\u093f\u0915 \u0935\u093f\u092d\u0935 \u0925\u092a\u093f \u0935\u093f\u0927\u093f\u0917\u0924 \u0930\u093e\u092e\u0917\u094d\u0930\u093e\u092e \u091a\u093f\u0928\u091c\u093e\u0928 \u0928\u093f\u092a\u093e\u0924 \u092a\u0930\u093f\u092a\u0915\u094d\u0935 \u092d\u093e\u091c\u0928 \u092a\u093f\u0924\u094d\u0915 \u092f\u0924\u094d\u0930 \u091a\u093f\u0928\u093f \u0930\u093e\u092e\u094d \u0935\u093f\u0928\u093f\u092a\u093e\u0924\u0915 \u0909\u0915\u094d\u0924\u093f \u0935\u093f\u091c\u093f\u0924 \u092a\u093f\u092f\u0928 \u092e\u093e\u0930\u094d\u0915\u093e \u0917\u093f\u0930\u093e\u0909 \u092d\u0928\u094d\u0915\u093f \u091c\u092e\u094d\u092e\u093e \u092e\u0924\u093e\u0928\u094d\u0924\u0930 \u092c\u093e\u091c\u0930\u093e"
},
{
"instructions": "$report",