instruction:qsTr("The roman numbers are all built out of these 7 numbers:\nI and V (units, 1 and 5)\nX and L (tens, 10 and 50)\nC and D (hundreds, 100 and 500)\n and M (1000).\n An interesting observation here is that the roman numeric system lacks the number 0."),

question:qsTr("Convert the roman number %1 in arabic."),

question:qsTr("Convert the roman number %1 to arabic."),

toArabic:true

},

{

values:[1,5,10,50,100,500,1000],

instruction:qsTr("The roman numbers are all built out of these 7 numbers:\nI and V (units, 1 and 5)\nX and L (tens, 10 and 50)\nC and D (hundreds, 100 and 500)\n and M (1000).\n An interesting observation here is that the roman numeric system lacks the number 0."),

question:qsTr("Convert the arabic number %1 in roman."),

question:qsTr("Convert the arabic number %1 to roman."),

instruction:qsTr("All the units except 4 and 9 are built using sums of I and V:\nI, II, III, V, VI, VII, VIII.\n The 4 and the 9 units are built using differences:\nIV (5 – 1) and IX (10 – 1)"),

question:qsTr("Convert the roman number %1 in arabic."),

question:qsTr("Convert the roman number %1 to arabic."),

toArabic:true

},

{

values:[2,3,4,5,6,7,8,9],

instruction:qsTr("All the units except 4 and 9 are built using sums of I and V:\nI, II, III, V, VI, VII, VIII.\n The 4 and the 9 units are built using differences:\nIV (5 – 1) and IX (10 – 1)"),

question:qsTr("Convert the arabic number %1 in roman."),

question:qsTr("Convert the arabic number %1 to roman."),

toArabic:false

},

{

values:['XX','XXX','XL','LX','LXX','LXXX','XC'],

instruction:qsTr("All the tens except 40 and 90 are built using sums of X and L:\nX, XX, XXX, L, LX, LXX, LXXX.\nThe 40 and the 90 tens are built using differences:\nXL (10 taken from 50) and XC (10 taken from 100)\n"),

question:qsTr("Convert the roman number %1 in arabic."),

question:qsTr("Convert the roman number %1 to arabic."),

toArabic:true

},

{

values:[20,30,40,60,70,80,90],

instruction:qsTr("All the tens except 40 and 90 are built using sums of X and L:\nX, XX, XXX, L, LX, LXX, LXXX.\nThe 40 and the 90 tens are built using differences:\nXL (10 taken from 50) and XC (10 taken from 100)\n"),

question:qsTr("Convert the arabic number %1 in roman."),

question:qsTr("Convert the arabic number %1 to roman."),

toArabic:false

},

{

values:['CC','CCC','CD','DC','DCC','DCCC','CM',],

instruction:qsTr("All the hundreds except 400 and 900 are built using sums of C and D:\nC, CC, CCC, D, DC, DCC, DCCC.\nThe 400 and the 900 hundreds are built using differences:\nCD (100 taken from 500) and CM (100 taken from 1000)"),

question:qsTr("Convert the roman number %1 in arabic."),

question:qsTr("Convert the roman number %1 to arabic."),

toArabic:true

},

{

values:[200,300,400,600,700,800,900],

instruction:qsTr("All the hundreds except 400 and 900 are built using sums of C and D:\nC, CC, CCC, D, DC, DCC, DCCC.\nThe 400 and the 900 hundreds are built using differences:\nCD (100 taken from 500) and CM (100 taken from 1000)"),

question:qsTr("Convert the arabic number %1 in roman."),

question:qsTr("Convert the arabic number %1 to roman."),

toArabic:false

},

{

values:['MM','MMM'],

instruction:qsTr("Sums of M are used for building thousands: M, MM, MMM.\nNotice that you cannot join more than three identical symbols. The first implication of this rule is that you cannot use just sums for building all possible units, tens or hundreds, you must use differences too. On the other hand, it limits the maximum roman number to 3999 (MMMCMXCIX).\n"),

question:qsTr("Convert the roman number %1 in arabic."),

question:qsTr("Convert the roman number %1 to arabic."),

toArabic:true

},

{

values:[2000,3000],

instruction:qsTr("Sums of M are used for building thousands: M, MM, MMM.\nNotice that you cannot join more than three identical symbols. The first implication of this rule is that you cannot use just sums for building all possible units, tens or hundreds, you must use differences too. On the other hand, it limits the maximum roman number to 3999 (MMMCMXCIX).\n"),

question:qsTr("Convert the arabic number %1 in roman."),

question:qsTr("Convert the arabic number %1 to roman."),

toArabic:false

},

{

values:['_random_',50/* up to this number */,10/* sublevels */],

instruction:qsTr("Now you know the rules, you can read and write numbers in roman numerals."),

question:qsTr("Convert the arabic number %1 in roman."),

question:qsTr("Convert the arabic number %1 to roman."),

toArabic:false

},

{

values:['_random_',100,10],

instruction:'',

question:qsTr("Convert the arabic number %1 in roman."),

question:qsTr("Convert the arabic number %1 to roman."),

toArabic:false

},

{

values:['_random_',500,10],

instruction:'',

question:qsTr("Convert the arabic number %1 in roman."),

question:qsTr("Convert the arabic number %1 to roman."),

toArabic:false

},

{

values:['_random_',1000,10],

instruction:'',

question:qsTr("Convert the arabic number %1 in roman."),

question:qsTr("Convert the arabic number %1 to roman."),