asker-tool 2.1.5 → 2.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (105) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +13 -17
  3. data/bin/asker +2 -1
  4. data/lib/asker/ai/ai.rb +10 -3
  5. data/lib/asker/ai/ai_calculate.rb +20 -6
  6. data/lib/asker/ai/code/base_code_ai.rb +104 -0
  7. data/lib/asker/{code/ai → ai/code}/code_ai_factory.rb +11 -1
  8. data/lib/asker/{code/ai → ai/code}/javascript_code_ai.rb +2 -5
  9. data/lib/asker/ai/code/problem_code_ai.rb +176 -0
  10. data/lib/asker/{code/ai → ai/code}/python_code_ai.rb +2 -5
  11. data/lib/asker/{code/ai → ai/code}/ruby_code_ai.rb +14 -7
  12. data/lib/asker/{code/ai → ai/code}/sql_code_ai.rb +2 -5
  13. data/lib/asker/ai/concept_ai.rb +13 -3
  14. data/lib/asker/ai/question.rb +28 -6
  15. data/lib/asker/ai/stages/base_stage.rb +45 -6
  16. data/lib/asker/ai/stages/stage_b.rb +100 -50
  17. data/lib/asker/ai/stages/stage_d.rb +75 -90
  18. data/lib/asker/ai/stages/stage_f.rb +64 -36
  19. data/lib/asker/ai/stages/stage_i.rb +79 -92
  20. data/lib/asker/ai/stages/stage_s.rb +41 -36
  21. data/lib/asker/ai/stages/stage_t.rb +149 -108
  22. data/lib/asker/application.rb +19 -11
  23. data/lib/asker/cli.rb +31 -44
  24. data/lib/asker/data/code.rb +62 -0
  25. data/lib/asker/data/column.rb +31 -21
  26. data/lib/asker/data/concept.rb +109 -65
  27. data/lib/asker/data/data_field.rb +14 -0
  28. data/lib/asker/data/project_data.rb +63 -0
  29. data/lib/asker/data/row.rb +75 -52
  30. data/lib/asker/data/table.rb +91 -42
  31. data/lib/asker/data/template.rb +3 -1
  32. data/lib/asker/data/world.rb +51 -35
  33. data/lib/asker/displayer/code_displayer.rb +7 -0
  34. data/lib/asker/displayer/concept_ai_displayer.erb +10 -0
  35. data/lib/asker/displayer/concept_ai_displayer.rb +74 -53
  36. data/lib/asker/displayer/concept_displayer.rb +16 -9
  37. data/lib/asker/displayer/stats_displayer.rb +12 -3
  38. data/lib/asker/exporter/concept_ai_gift_exporter.rb +19 -11
  39. data/lib/asker/exporter/concept_ai_moodle_exporter.rb +44 -0
  40. data/lib/asker/exporter/concept_ai_yaml_exporter.rb +13 -6
  41. data/lib/asker/exporter/concept_doc_exporter.rb +14 -1
  42. data/lib/asker/exporter/data_gift_exporter.rb +29 -0
  43. data/lib/asker/exporter/output_file_exporter.rb +9 -6
  44. data/lib/asker/files/{config.ini → asker.ini} +48 -1
  45. data/lib/asker/files/example-concept.haml +0 -1
  46. data/lib/asker/files/language/du/connectors.yaml +81 -0
  47. data/lib/asker/{lang/locales/fr → files/language/du}/mistakes.yaml +1 -1
  48. data/lib/asker/files/language/du/templates.yaml +29 -0
  49. data/lib/asker/{lang/locales → files/language}/en/connectors.yaml +0 -0
  50. data/lib/asker/{lang/locales → files/language}/en/mistakes.yaml +0 -0
  51. data/lib/asker/files/language/en/templates.yaml +29 -0
  52. data/lib/asker/{lang/locales → files/language}/es/connectors.yaml +0 -0
  53. data/lib/asker/files/language/es/mistakes.yaml +84 -0
  54. data/lib/asker/files/language/es/templates.yaml +29 -0
  55. data/lib/asker/files/language/fr/connectors.yaml +76 -0
  56. data/lib/asker/{lang/locales/es → files/language/fr}/mistakes.yaml +0 -0
  57. data/lib/asker/files/language/fr/templates.yaml +29 -0
  58. data/lib/asker/{lang/locales → files/language}/javascript/connectors.yaml +0 -0
  59. data/lib/asker/{lang/locales → files/language}/javascript/mistakes.yaml +0 -0
  60. data/lib/asker/{lang/locales → files/language}/javascript/templates.yaml +0 -0
  61. data/lib/asker/{lang/locales → files/language}/math/connectors.yaml +0 -0
  62. data/lib/asker/{lang/locales → files/language}/math/mistakes.yaml +0 -0
  63. data/lib/asker/{lang/locales → files/language}/math/templates.yaml +0 -0
  64. data/lib/asker/{lang/locales → files/language}/python/connectors.yaml +0 -0
  65. data/lib/asker/{lang/locales → files/language}/python/mistakes.yaml +0 -0
  66. data/lib/asker/{lang/locales → files/language}/python/templates.yaml +0 -0
  67. data/lib/asker/{lang/locales → files/language}/ruby/connectors.yaml +0 -0
  68. data/lib/asker/{lang/locales → files/language}/ruby/mistakes.yaml +0 -0
  69. data/lib/asker/{lang/locales → files/language}/ruby/templates.yaml +0 -0
  70. data/lib/asker/{lang/locales → files/language}/sql/connectors.yaml +0 -0
  71. data/lib/asker/{lang/locales → files/language}/sql/mistakes.yaml +0 -0
  72. data/lib/asker/{lang/locales → files/language}/sql/templates.yaml +0 -0
  73. data/lib/asker/formatter/concept_doc_formatter.rb +0 -4
  74. data/lib/asker/formatter/concept_string_formatter.rb +7 -4
  75. data/lib/asker/formatter/moodle/matching.erb +38 -0
  76. data/lib/asker/formatter/moodle/multichoice.erb +49 -0
  77. data/lib/asker/formatter/moodle/shortanswer.erb +30 -0
  78. data/lib/asker/formatter/moodle/truefalse.erb +47 -0
  79. data/lib/asker/formatter/question_gift_formatter.rb +30 -20
  80. data/lib/asker/formatter/question_moodle_formatter.rb +27 -0
  81. data/lib/asker/{checker.rb → input_checker.rb} +126 -49
  82. data/lib/asker/lang/lang.rb +17 -10
  83. data/lib/asker/lang/lang_factory.rb +32 -5
  84. data/lib/asker/lang/text_actions.rb +87 -69
  85. data/lib/asker/loader/code_loader.rb +4 -4
  86. data/lib/asker/loader/content_loader.rb +21 -19
  87. data/lib/asker/loader/directory_loader.rb +1 -8
  88. data/lib/asker/loader/embedded_file.rb +42 -0
  89. data/lib/asker/loader/file_loader.rb +3 -14
  90. data/lib/asker/loader/haml_loader.rb +15 -0
  91. data/lib/asker/loader/image_url_loader.rb +8 -12
  92. data/lib/asker/loader/input_loader.rb +13 -15
  93. data/lib/asker/loader/project_loader.rb +25 -15
  94. data/lib/asker/logger.rb +36 -9
  95. data/lib/asker/skeleton.rb +23 -13
  96. data/lib/asker.rb +76 -42
  97. metadata +53 -54
  98. data/lib/asker/code/ai/base_code_ai.rb +0 -48
  99. data/lib/asker/code/code.rb +0 -53
  100. data/lib/asker/lang/locales/du/templates.yaml +0 -50
  101. data/lib/asker/lang/locales/en/templates.yaml +0 -29
  102. data/lib/asker/lang/locales/es/templates.yaml +0 -29
  103. data/lib/asker/lang/locales/fr/connectors.yaml +0 -92
  104. data/lib/asker/lang/locales/fr/templates.yaml +0 -29
  105. data/lib/asker/project.rb +0 -172
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../formatter/question_moodle_formatter'
4
+
5
+ # Export ConceptIA data to gift to moodlefile
6
+ module ConceptAIMoodleExporter
7
+ ##
8
+ # Export an array of ConceptAI objects from Project into Moodle format file
9
+ # @param concepts_ai (Array)
10
+ # @param project (Project)
11
+ def self.export_all(concepts_ai, project)
12
+ file = File.open(project.get(:moodlepath), 'w')
13
+ file.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n")
14
+ file.write("<quiz>\n")
15
+ file.write("<!--\n#{('=' * 50)}\n")
16
+ file.write(" Created by : #{Application::NAME}")
17
+ file.write(" (version #{Application::VERSION})\n")
18
+ file.write(" File : #{project.get(:moodlename)}\n")
19
+ file.write(" Time : #{Time.new}\n")
20
+ file.write(" Author : David Vargas Ruiz\n")
21
+ file.write("#{('=' * 50)}\n-->\n\n")
22
+
23
+ concepts_ai.each { |concept_ai| export(concept_ai, file) }
24
+
25
+ file.write("</quiz>\n")
26
+ file.close
27
+ end
28
+
29
+ ##
30
+ # Export 1 concept_ai from project
31
+ # @param concept_ai (ConceptAI)
32
+ # @param file (File)
33
+ # rubocop:disable Metrics/AbcSize
34
+ private_class_method def self.export(concept_ai, file)
35
+ return unless concept_ai.concept.process?
36
+
37
+ Application.instance.config['questions']['stages'].each do |stage|
38
+ concept_ai.questions[stage].each do |question|
39
+ file.write(QuestionMoodleFormatter.to_s(question))
40
+ end
41
+ end
42
+ end
43
+ # rubocop:enable Metrics/AbcSize
44
+ end
@@ -5,6 +5,10 @@ require_relative '../formatter/question_hash_formatter'
5
5
 
6
6
  # Use to export data from ConceptIA to YAML format
7
7
  module ConceptAIYAMLExporter
8
+ ##
9
+ # Export array of ConceptAI objects from Project to YAML output file
10
+ # @param concepts_ai (Array)
11
+ # @param project (Project)
8
12
  def self.export_all(concepts_ai, project)
9
13
  questions = []
10
14
  concepts_ai.each do |concept_ai|
@@ -13,16 +17,19 @@ module ConceptAIYAMLExporter
13
17
  params = { lang: project.get(:lang) ,
14
18
  projectname: project.get(:projectname) }
15
19
  output = { params: params, questions: questions }
16
- project.get(:yamlfile).write(output.to_yaml)
20
+
21
+ yamlfile = File.open(project.get(:yamlpath), 'w')
22
+ yamlfile.write(output.to_yaml)
23
+ yamlfile.close
17
24
  end
18
25
 
19
- def self.get_questions_from(concept_ai)
26
+ private_class_method def self.get_questions_from(concept_ai)
20
27
  data = []
21
- return data unless concept_ai.process?
22
- stages = Project.instance.stages
23
- stages.each_key do |stage|
28
+ return data unless concept_ai.concept.process?
29
+
30
+ Application.instance.config['questions']['stages'].each do |stage|
24
31
  concept_ai.questions[stage].each do |question|
25
- question.lang = concept_ai.lang
32
+ question.lang = concept_ai.concept.lang
26
33
  data << QuestionHashFormatter.to_hash(question)
27
34
  end
28
35
  end
@@ -7,9 +7,22 @@ require_relative '../formatter/concept_doc_formatter'
7
7
  module ConceptDocExporter
8
8
  ##
9
9
  # Export arrya of concepts to doc
10
- def self.export_all(concepts, file)
10
+ # rubocop:disable Metrics/AbcSize
11
+ # rubocop:disable Metrics/MethodLength
12
+ def self.export_all(concepts, project)
13
+ file = File.new(project.get(:lessonpath), 'w')
14
+ file.write('=' * 50 + "\n")
15
+ file.write("Created by : #{Application::NAME} (version #{Application::VERSION})\n")
16
+ file.write("File : #{project.get(:lessonname)}\n")
17
+ file.write("Time : #{Time.new}\n")
18
+ file.write("Author : David Vargas Ruiz\n")
19
+ file.write('=' * 50 + "\n")
20
+
11
21
  concepts.each do |concept|
12
22
  file.write(ConceptDocFormatter.to_s(concept)) if concept.process
13
23
  end
24
+ file.close
14
25
  end
26
+ # rubocop:enable Metrics/AbcSize
27
+ # rubocop:enable Metrics/MethodLength
15
28
  end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'concept_ai_gift_exporter'
4
+ require_relative 'code_gift_exporter'
5
+
6
+ # Export Data (ConceptIA and Code) to gift to outputfile
7
+ module DataGiftExporter
8
+ ##
9
+ # Export an array of Data (ConceptAI and Code objects) into GIFT outpufile
10
+ # @param data (Hash)
11
+ # @param project (Project)
12
+ def self.export_all(data, project)
13
+ file = File.open(project.get(:outputpath), 'w')
14
+ file.write('// ' + ('=' * 50) + "\n")
15
+ file.write("// Created by : #{Application::NAME}")
16
+ file.write(" (version #{Application::VERSION})\n")
17
+ file.write("// File : #{project.get(:outputname)}\n")
18
+ file.write("// Time : #{Time.new}\n")
19
+ file.write("// Author : David Vargas Ruiz\n")
20
+ file.write('// ' + ('=' * 50) + "\n\n")
21
+ category = Application.instance.config['questions']['category']
22
+ file.write("$CATEGORY: $course$/#{category}\n") unless category.nil?
23
+
24
+ ConceptAIGiftExporter.export_all(data[:concepts_ai], file)
25
+ CodeGiftExporter.export_all(data[:codes_ai], file)
26
+
27
+ file.close
28
+ end
29
+ end
@@ -1,7 +1,7 @@
1
- require_relative 'concept_ai_gift_exporter'
2
- require_relative 'code_gift_exporter'
1
+ require_relative 'concept_ai_moodle_exporter'
3
2
  require_relative 'concept_ai_yaml_exporter'
4
3
  require_relative 'concept_doc_exporter'
4
+ require_relative 'data_gift_exporter'
5
5
 
6
6
  # Export Output data:
7
7
  # * Gift (ConceptAI, Code)
@@ -9,10 +9,13 @@ require_relative 'concept_doc_exporter'
9
9
  # * Doc (txt)
10
10
  module OutputFileExporter
11
11
  def self.export(data, project)
12
- ConceptAIGiftExporter.export_all(data[:concepts_ai], project)
12
+ config = Application.instance.config
13
+ DataGiftExporter.export_all(data, project) if config['output']['gift'] == 'yes'
14
+ ConceptAIYAMLExporter.export_all(data[:concepts_ai], project) if config['output']['yaml'] == 'yes'
15
+ ConceptDocExporter.export_all(data[:concepts], project) if config['output']['doc'] == 'yes'
16
+ # ConceptAIGiftExporter.export_all(data[:concepts_ai], project) if config['output']['gift'] == 'yes'
17
+ # CodeGiftExporter.export_all(data[:codes_ai], project.get(:outputfile)) if config['output']['gift'] == 'yes'
13
18
  # UNDER DEVELOPMENT
14
- CodeGiftExporter.export_all(data[:codes], project.get(:outputfile))
15
- ConceptAIYAMLExporter.export_all(data[:concepts_ai], project)
16
- ConceptDocExporter.export_all(data[:concepts], project.get(:lessonfile))
19
+ ConceptAIMoodleExporter.export_all(data[:concepts_ai], project) if config['output']['moodle'] == 'yes'
17
20
  end
18
21
  end
@@ -1,9 +1,56 @@
1
1
  [global]
2
2
  ; Connect Google and download find images URLs
3
3
  ; Accept yes|no
4
- internet = no
4
+ internet = yes
5
+
6
+ ; Display on screen messages about program progress
7
+ ; Accept yes|no
8
+ verbose = yes
9
+ color = yes
10
+
11
+ ; Accept resume|default
12
+ show_mode = default
13
+
14
+ [output]
15
+ ; Output files will be save into output folder.
16
+ folder = output
17
+
18
+ ; List of output files
19
+ ; Accept yes|no
20
+ gift = yes
21
+ doc = yes
22
+ yaml = yes
23
+ moodle = yes
24
+
25
+ [languages]
26
+ ; Default code language
27
+ default = en
28
+
29
+ ; List of code languages to be loaded
30
+ ; Accept yes|no
31
+ en = yes
32
+ es = yes
33
+ fr = yes
34
+ du = yes
35
+ javascript = yes
36
+ math = no
37
+ python = yes
38
+ ruby = yes
39
+ sql = yes
40
+
41
+ [ai]
42
+
43
+ ; Concept formula weights to find neighbors: context, tags, tables
44
+ formula_weights = 1, 1, 1
5
45
 
6
46
  [questions]
47
+
48
+ ; List of values d,b,f,i,s,t
49
+ stages = d,b,f,i,s,t
50
+
51
+ ; Questions category
52
+ category =
53
+
7
54
  ; Exclude questions with this texts into their names.
8
55
  ; Accept Comma separated strings.
9
56
  exclude =
@@ -2,7 +2,6 @@
2
2
 
3
3
  %concept
4
4
  %names AC/DC, ACDC
5
- %tags single, seat, leg, backrest
6
5
  %tags rock, band, australia
7
6
  %def Australian rock band formed by Scottish-born brothers Malcolm and Angus Young
8
7
  %table{ :fields => 'members'}
@@ -0,0 +1,81 @@
1
+ ---
2
+ - '[*]'
3
+ - zu
4
+ - Wildleder
5
+ - niedrig
6
+ - jeden
7
+ - wie
8
+ - Wie
9
+ - mit
10
+ - gegen
11
+ - wann
12
+ - wie viel
13
+ - welcher
14
+ - von
15
+ - des
16
+ - schon
17
+ - seit
18
+ - e
19
+ - im
20
+ - zwischen
21
+ - er
22
+ - er
23
+ - sie
24
+ - Sie
25
+ - es
26
+ - ist
27
+ - Das
28
+ - Das
29
+ - jene
30
+ - Osten
31
+ - Dies
32
+ - ist
33
+ - diese
34
+ - Richtung
35
+ - bis
36
+ - um
37
+ - das
38
+ - was
39
+ - ihm
40
+ - Sie
41
+ - Mehr
42
+ - Plus
43
+ - mich
44
+ - ICH
45
+ - sehr
46
+ - Viele
47
+ - viel
48
+ - Nein
49
+ - wir
50
+ - USA
51
+ - oder
52
+ - zum
53
+ - aber
54
+ - durch
55
+ - Warum
56
+ - als
57
+ - WHO
58
+ - Ja
59
+ - ohne
60
+ - auf
61
+ - alles
62
+ - jeder
63
+ - nach dem
64
+ - Sie
65
+ - Ich
66
+ - weiß
67
+ - ihr
68
+ - deine
69
+ - Besitzen
70
+ - Bergwerk
71
+ - oder
72
+ - ein
73
+ - einer
74
+ - etwas
75
+ - ein
76
+ - Nagel
77
+ - Sie
78
+ - deine
79
+ - unsere
80
+ - und
81
+ - mich
@@ -23,7 +23,7 @@
23
23
  :hi: 'i'
24
24
  :ho: 'o'
25
25
  :hu: 'u'
26
- :i: 'í,y'
26
+ :i: 'y,l'
27
27
  :í: 'i,y'
28
28
  :j: 'g'
29
29
  :k: 'q'
@@ -0,0 +1,29 @@
1
+ ---
2
+ :none: 'keine Antwort ist richtig'
3
+ :error: 'Fehler'
4
+ :misspelling: 'Rechtschreibfehler'
5
+ :true: 'richtig'
6
+ :false: 'falsch'
7
+ :d1: 'Bedeutung: <i><%=text1%></i><br/> Wählen Sie die dazu passende Option aus, die am besten zu der vorstehenden Bedeutung passt.<br/>'
8
+ :d2: 'Bedeutung des Begriffs <b><%=text1%></b>:<br/> <i><%=text2%></i><br/>'
9
+ :d3: 'Bedeutung des Begriffs <b><%=text1%></b>:<br/> <i><%=text2%></i><br/></br><p>Bemerkung: Ein Fragezeichnen stellt einen Buchstaben dar, und ein Sternchen steht für ein Wort oder mehrere Wörter.</p>'
10
+ :d4: 'Bedeutung des Begriffs <b><%=text1%></b>:<br/> <i><%=text2%></i><br/><br/>(Setzen Sie die Wörter in die Lücken ein)'
11
+ :b1: 'In Bezug auf den Begriff <b><%=text1%></b>, verbinden Sie "<%=text2%>" die passenden Begriffe "<%=text3%>".<br/>'
12
+ :f1: 'Die folgenden Elemente sind "<%=text2%>" des Begriffs <b><%=text1%></b>:<ul><li><%=text3%></li></ul>'
13
+ :f2: 'Die folgenden Elemente sind "<%=text2%>".<br/>Wählen Sie die Antwortmöglichkeit aus, die nicht zum Begriff <b><%=text1%></b> passt.'
14
+ :f3: 'Die folgenden Elemente sind "<%=text2%>" des Begriffs <b><%=text1%></b>:<br><p><%=text3%></p>(Setzen Sie die Wörter in die Lücken ein)'
15
+ :i1: '<%=text1%><br/>EWählen Sie die Antwortmöglichkeit, die am besten zu dem gezeigten Bild passt.<br/>'
16
+ :i2: '<%=text1%><br/>Das gezeigte Bild gehört zu <b><%=text2%></b>.'
17
+ :i3: '<%=text1%><br/>Setzen Sie die Antwort ein <%=text2%>, qdie am besten zu dem gezeigten Bild passt.<br/>'
18
+ :i4: '<%=text1%><br/>Bedeutung: <i><%=text2%></i><br/><br/>(Setzen Sie die Wörter in die Lücken ein)'
19
+ :s1: 'Beziehen Sie sich auf den Begriff <b><%=text1%></b>, und ordnen Sie die "<%=text2%>" richtigen Lösungen zu "<%=text3%>".<br/>'
20
+ :t1table: 'Begriff <b><%=text1%></b><br/><%=text2%>: [*]<br/><%=text3%>: "<%=text4%>"<br/>Wählen Sie die richtige Lösung aus.<br/>'
21
+ :t2table: 'Begriff <b><%=text1%></b><br/><%=text2%>: [*]<br/><%=text3%>: "<%=text4%>"<br/>EWählen Sie die richtige Lösung aus.<br/>'
22
+ :t3table: 'Begriff <b><%=text1%></b><br/><%=text2%>: "<%=text3%>"<br/><%=text4%>: [*]<br/>Wählen Sie die richtige Lösung aus.<br/>'
23
+ :t4table: 'Begriff <b><%=text1%></b><br/><%=text2%>: "<%=text3%>"<br/><%=text4%>: [*]<br/>EWählen Sie die richtige Lösung aus.<br/>'
24
+ :t5table: 'Begriff <b><%=text1%></b><br/>Die Lösung ist richtig:<br/><ul><li><%=text2%>: "<%=text3%>"</li><li><%=text4%>: "<%=text5%>"</li></ul>'
25
+ :t6table: 'Begriff <b><%=text1%></b><br/>Die Lösung ist richtig:<br/><ul><li><%=text2%>: "<%=text3%>"</li><li><%=text4%>: "<%=text5%>"</li></ul>'
26
+ :t7table: 'Begriff <b><%=text1%></b><br/>Die Lösung ist richtig:<br/><ul><li><%=text2%>: "<%=text3%>"</li><li><%=text4%>: "<%=text5%>"</li></ul>'
27
+ :t8table: 'Begriff <b><%=text1%></b><br/>Vervollständigen Sie / Schreiben Sie einen Begriff:<br/><ul><li><%=text2%>: "<%=text3%>"</li><li><%=text4%>: [*]</li></ul>Escribir una palabra.<br/>'
28
+ :t9table: 'Begriff <b><%=text1%></b><br/>Verbinden Sie / Schreiben Sie fogende Begriffe:<br/><ul><li><%=text2%>: "<%=text3%>"</li><li><%=text4%>: <%=text5%></li></ul>Escribir <%=text6%> palabras.<br/>'
29
+ :code1: '<pre><%=text1%></pre><br/><p>Nennen Sie die Nummer der Zeile, in der sich der erste Fehler befindet / Wenn es keinen Fehler gibt, setzen Sie 0 ein.</p>'
@@ -0,0 +1,29 @@
1
+ ---
2
+ :none: 'No correct'
3
+ :error: 'Error'
4
+ :misspelling: 'Misspelling'
5
+ :true: 'True'
6
+ :false: 'False'
7
+ :d1: 'Definition: <i><%=text1%></i><br/>Choose the best association for the previous definition.<br/>'
8
+ :d2: 'Definition of <b><%=text1%></b>:<br/> <i><%=text2%></i><br/>'
9
+ :d3: 'Definition of <b><%=text1%></b>:<br/> <i><%=text2%></i><br/><p>Note: Every ? symbol represents one letter, and * severals.</p>'
10
+ :d4: 'Definition of <b><%=text1%></b>:<br/> <i><%=text2%></i><br/><br/>(Put every word into the right position)'
11
+ :b1: 'Related with concept <b><%=text1%></b>, associate every "<%=text2%>" with their "<%=text3%>".<br/>'
12
+ :f1: 'The next items are "<%=text2%>" from <b><%=text1%></b> concept:<br/><ul><li><%=text3%></li></ul>'
13
+ :f2: 'The next items are "<%=text2%>".<br/>Choose the option that not belongs concept <b><%=text1%></b>.'
14
+ :f3: 'The next items are "<%=text2%>" from <b><%=text1%></b> concept:<br><p><%=text3%></p>(Put every word into the right position)'
15
+ :i1: '<%=text1%><br/>Choose the best association for the previous image.<br/>'
16
+ :i2: '<%=text1%><br/>The previous image/text corresponds to <b><%=text2%></b>.'
17
+ :i3: '<%=text1%><br/>Write the best answer <%=text2%>, for the previous image.<br/>'
18
+ :i4: '<%=text1%><br/>Definition:<br/> <i><%=text2%></i><br/><br/>(Put every word in the right text position)'
19
+ :s1: "About <b><%=text1%></b> concept, sort every \"<%=text2%>\", so It is true that \"<%=text3%>\".<br/>"
20
+ :t1table: '<b>Concept <%=text1%></b><br/><%=text2%>: [*]<br/><%=text3%>: "<%=text4%>"<br/>Choose the right answer.<br/>'
21
+ :t2table: '<b>Concept <%=text1%></b><br/><%=text2%>: [*]<br/><%=text3%>: "<%=text4%>"<br/>Choose the right answer.<br/>'
22
+ :t3table: '<b>Concept <%=text1%></b><br/><%=text2%>: "<%=text3%>"<br/><%=text4%>: [*]<br/>Choose the right answer.<br/>'
23
+ :t4table: '<b>Concept <%=text1%></b><br/><%=text2%>: "<%=text3%>"<br/><%=text4%>: [*]<br/>Choose the right answer.<br/>'
24
+ :t5table: '<b>Concept <%=text1%></b><br/>The next association is right:<br/><ul><li><%=text2%>: "<%=text3%>"</li><li><%=text4%>: "<%=text5%>"</li></ul>'
25
+ :t6table: '<b>Concept <%=text1%></b><br/>The next association is right:<br/><ul><li><%=text2%>: "<%=text3%>"</li><li><%=text4%>: "<%=text5%>"</li></ul>'
26
+ :t7table: '<b>Concept <%=text1%></b><br/>The next association is right:<br/><ul><li><%=text2%>: "<%=text3%>"</li><li><%=text4%>: "<%=text5%>"</li></ul>'
27
+ :t8table: '<b>Concept <%=text1%></b><br/>Complete the next association:<br/><ul><li><%=text2%>: "<%=text3%>"</li><li><%=text4%>: [*]</li></ul>Write only one word.<br/>'
28
+ :t9table: '<b>Concept <%=text1%></b><br/>Complete the next association:<br/><ul><li><%=text2%>: "<%=text3%>"</li><li><%=text4%>: <%=text5%></li></ul>Write <%=text6%> words.<br/>'
29
+ :code1: '<pre><%=text1%></pre><br/><p>Write the number of the first wrong line. Write 0 if there is no fail.</p>'
@@ -0,0 +1,84 @@
1
+ ---
2
+ :a: 'á,e,o,ha'
3
+ :"a ": 'as '
4
+ :"as ": 'a ,os '
5
+ :á: 'a,é,há'
6
+ :al: 'ar,la'
7
+ :ar: 'al'
8
+ :b: 'v'
9
+ :c: 's,k'
10
+ :ca: 'ka'
11
+ :ce: 'se,que'
12
+ :ci: 'si,qui'
13
+ :co: 'ko'
14
+ :cu: 'ku,qu'
15
+ :e: 'é'
16
+ :" e": 'he'
17
+ :é: 'e'
18
+ :" é": 'hé'
19
+ :"el ": 'er '
20
+ :"er ": 'el '
21
+ :g: 'j'
22
+ :h: ' '
23
+ :ha: 'a'
24
+ :he: 'e'
25
+ :hi: 'i'
26
+ :ho: 'o'
27
+ :hu: 'u'
28
+ :i: 'y'
29
+ :í: 'i,y'
30
+ :j: 'g'
31
+ :k: 'q,c'
32
+ :l: 'r'
33
+ :lla: 'ya'
34
+ :lle: 'ye'
35
+ :lli: 'yi'
36
+ :llo: 'yo'
37
+ :llu: 'yu'
38
+ :n: 'm,ñ'
39
+ :ñ: 'n'
40
+ :m: 'n'
41
+ :mb: 'nb'
42
+ :mp: 'np'
43
+ :o: 'ó,e'
44
+ :"o ": 'os '
45
+ :ó: 'o'
46
+ :ol: 'or'
47
+ :or: 'ol'
48
+ :os : 'o ,as '
49
+ :oha: 'oa'
50
+ :p: 'q,o'
51
+ :que: 'ke'
52
+ :qui: 'ki'
53
+ :s: 'z,a'
54
+ :sa: 'za'
55
+ :se: 'ce,ze'
56
+ :si: 'ci,zi'
57
+ :so: 'zo'
58
+ :su: 'zu'
59
+ :st: 'ts'
60
+ :t: 'f,p'
61
+ :u: 'ú'
62
+ :ú: 'u'
63
+ :ul: 'ur'
64
+ :ur: 'ul'
65
+ :v: 'b,w'
66
+ :w: 'v, gu'
67
+ :wa: 'gua'
68
+ :we: 'gue'
69
+ :wi: 'gui'
70
+ :wo: 'guo'
71
+ :x: 'ks,k,s'
72
+ :y: 'i,v'
73
+ :" y ": ' e '
74
+ :ya: 'lla'
75
+ :ye: 'lle'
76
+ :yi: 'lli'
77
+ :yo: 'llo'
78
+ :yu: 'llu'
79
+ :z: 's'
80
+ :za: 'sa'
81
+ :ze: 'se'
82
+ :zi: 'si'
83
+ :zo: 'so'
84
+ :zu: 'su'
@@ -0,0 +1,29 @@
1
+ ---
2
+ :none: 'Ninguna es correcta'
3
+ :error: 'Error'
4
+ :misspelling: 'Error ortográfico'
5
+ :true: 'Verdadero'
6
+ :false: 'Falso'
7
+ :d1: 'Definición: <i><%=text1%></i><br/>Elige la opción que mejor se corresponda con la definición anterior.<br/>'
8
+ :d2: 'Definición de <b><%=text1%></b>:<br/> <i><%=text2%></i><br/>'
9
+ :d3: 'Definición de <b><%=text1%></b>:<br/> <i><%=text2%></i><br/></br><p>Nota: Cada símbolo ? representa una letra, y * a una o varias palabras.</p>'
10
+ :d4: 'Definición de <b><%=text1%></b>:<br/> <i><%=text2%></i><br/><br/>(Coloca cada palabra en su posición correcta dentro del texto)'
11
+ :b1: 'En relación al concepto <b><%=text1%></b>, asocia cada "<%=text2%>" con su "<%=text3%>".<br/>'
12
+ :f1: 'Los siguientes elementos son "<%=text2%>" del concepto <b><%=text1%></b>:<ul><li><%=text3%></li></ul>'
13
+ :f2: 'Los siguientes elementos son "<%=text2%>".<br/>Selecciona la opción que no pertenezca al concepto <b><%=text1%></b>.'
14
+ :f3: 'Los siguientes elementos son "<%=text2%>" del concepto <b><%=text1%></b>:<br><p><%=text3%></p>(Coloca cada palabra en su posición correcta dentro del texto)'
15
+ :i1: '<%=text1%><br/>Elige la opción que mejor se corresponda con la imagen anterior.<br/>'
16
+ :i2: '<%=text1%><br/>La imagen/texto anterior corresponde a <b><%=text2%></b>.'
17
+ :i3: '<%=text1%><br/>Escribe la opción <%=text2%>, que mejor corresponda con la imagen anterior.<br/>'
18
+ :i4: '<%=text1%><br/>Definición: <i><%=text2%></i><br/><br/>(Coloca cada palabra en su posición correcta dentro del texto)'
19
+ :s1: 'En relación al concepto <b><%=text1%></b>, ordena cada/las/los "<%=text2%>" de modo que se cumpla el criterio "<%=text3%>".<br/>'
20
+ :t1table: 'Concepto <b><%=text1%></b><br/><%=text2%>: [*]<br/><%=text3%>: "<%=text4%>"<br/>Elige la opción correcta.<br/>'
21
+ :t2table: 'Concepto <b><%=text1%></b><br/><%=text2%>: [*]<br/><%=text3%>: "<%=text4%>"<br/>Elige la opción correcta.<br/>'
22
+ :t3table: 'Concepto <b><%=text1%></b><br/><%=text2%>: "<%=text3%>"<br/><%=text4%>: [*]<br/>Elige la opción correcta.<br/>'
23
+ :t4table: 'Concepto <b><%=text1%></b><br/><%=text2%>: "<%=text3%>"<br/><%=text4%>: [*]<br/>Elige la opción correcta.<br/>'
24
+ :t5table: 'Concepto <b><%=text1%></b><br/>La asociación siguiente es correcta:<br/><ul><li><%=text2%>: "<%=text3%>"</li><li><%=text4%>: "<%=text5%>"</li></ul>'
25
+ :t6table: 'Concepto <b><%=text1%></b><br/>La asociación siguiente es correcta:<br/><ul><li><%=text2%>: "<%=text3%>"</li><li><%=text4%>: "<%=text5%>"</li></ul>'
26
+ :t7table: 'Concepto <b><%=text1%></b><br/>La asociación siguiente es correcta:<br/><ul><li><%=text2%>: "<%=text3%>"</li><li><%=text4%>: "<%=text5%>"</li></ul>'
27
+ :t8table: 'Concepto <b><%=text1%></b><br/>Completa la siguiente asociación:<br/><ul><li><%=text2%>: "<%=text3%>"</li><li><%=text4%>: [*]</li></ul>Escribir una palabra.<br/>'
28
+ :t9table: 'Concepto <b><%=text1%></b><br/>Completa la siguiente asociación:<br/><ul><li><%=text2%>: "<%=text3%>"</li><li><%=text4%>: <%=text5%></li></ul>Escribir <%=text6%> palabras.<br/>'
29
+ :code1: '<pre><%=text1%></pre><br/><p>Escribir el número de línea donde está el primer error. Escribir 0 si no hay ningún error.</p>'
@@ -0,0 +1,76 @@
1
+ ---
2
+ - '[*]'
3
+ - à
4
+ - au
5
+ - suède
6
+ - bas
7
+ - chaque
8
+ - comme
9
+ - comment
10
+ - avec
11
+ - contre
12
+ - quand
13
+ - combien
14
+ - qui
15
+ - de
16
+ - du
17
+ - depuis
18
+ - e
19
+ - dans
20
+ - entre
21
+ - il
22
+ - il
23
+ - elle
24
+ - ils
25
+ - "c'est"
26
+ - cette
27
+ - ceux
28
+ - est
29
+ - ce
30
+ - est
31
+ - celles-ci
32
+ - celles-ci
33
+ - vers
34
+ - la
35
+ - les
36
+ - quelle
37
+ - lui
38
+ - leur
39
+ - plus
40
+ - moi
41
+ - JE
42
+ - très
43
+ - beaucoup
44
+ - non
45
+ - nous
46
+ - États-Unis
47
+ - ou
48
+ - pour
49
+ - mais
50
+ - pour
51
+ - parce
52
+ - que
53
+ - quoi
54
+ - qui
55
+ - oui
56
+ - sur
57
+ - tout
58
+ - toutes
59
+ - après
60
+ - toi
61
+ - toi
62
+ - sa
63
+ - leur
64
+ - posséder
65
+ - mien
66
+ - ou
67
+ - une
68
+ - une
69
+ - certains
70
+ - ongle
71
+ - clou
72
+ - toi
73
+ - le
74
+ - notre
75
+ - et
76
+ - je
@@ -0,0 +1,29 @@
1
+ ---
2
+ :none: "Aucune réponse n'est correcte"
3
+ :error: 'Erreur'
4
+ :misspelling: 'Erreur ortographique'
5
+ :true: 'Vrai'
6
+ :false: 'Faux'
7
+ :d1: "Définition: <i><%=text1%></i><br/>Choisissez l'option qui correspond le mieux à la définition précédente.<br/>"
8
+ :d2: 'Définition de <b><%=text1%></b>:<br/> <i><%=text2%></i><br/>'
9
+ :d3: 'Définition de <b><%=text1%></b>:<br/> <i><%=text2%></i><br/></br><p>Note: Chaque symbole ? représente une lettre, et * un ou plusieurs mots.</p>'
10
+ :d4: 'Définition de <b><%=text1%></b>:<br/> <i><%=text2%></i><br/><br/>(Mettez chaque mot à la bonne position dans le texte)'
11
+ :b1: 'Par rapport au concept <b><%=text1%></b>, associez chaque "<%=text2%>" avec son,sa "<%=text3%>".<br/>'
12
+ :f1: 'Les éléments suivants sont "<%=text2%>" du concept <b><%=text1%></b>:<ul><li><%=text3%></li></ul>'
13
+ :f2: "Les éléments suivants sont \"<%=text2%>\".<br/>Sélectionnez l'option qui n'appartient pas au concept <b><%=text1%></b>."
14
+ :f3: 'Les éléments suivants sont "<%=text2%>" du concept <b><%=text1%></b>:<br><p><%=text3%></p>(Mettez chaque mot à la bonne position dans le texte)'
15
+ :i1: "<%=text1%><br/>Choisissez l'option qui correspond le mieux à l'image précédente.<br/>"
16
+ :i2: "<%=text1%><br/>L'image précédente correspond à <b><%=text2%></b>."
17
+ :i3: "<%=text1%><br/>Écrivez l'option <%=text2%>, qui correspond le mieux à l'image précédente.<br/>"
18
+ :i4: '<%=text1%><br/>Définition: <i><%=text2%></i><br/><br/>(Mettez chaque mot à la bonne position dans le texte)'
19
+ :s1: "Par rapport au concept <b><%=text1%></b>, mettez dans l'ordre chaque \"<%=text2%>\" afin que le critère soit rempli \"<%=text3%>\".<br/>"
20
+ :t1table: "Concept <b><%=text1%></b><br/><%=text2%>: [*]<br/><%=text3%>: \"<%=text4%>\"<br/>Choisissez l'option correcte.<br/>"
21
+ :t2table: "Concept <b><%=text1%></b><br/><%=text2%>: [*]<br/><%=text3%>: \"<%=text4%>\"<br/>Choisissez l'option correcte.<br/>"
22
+ :t3table: "Concept <b><%=text1%></b><br/><%=text2%>: \"<%=text3%>\"<br/><%=text4%>: [*]<br/>Choisissez l'option correcte.<br/>"
23
+ :t4table: "Concept <b><%=text1%></b><br/><%=text2%>: \"<%=text3%>\"<br/><%=text4%>: [*]<br/>Choisissez l'option correcte.<br/>"
24
+ :t5table: "Concept <b><%=text1%></b><br/>L'association suivante est correcte:<br/><ul><li><%=text2%>: \"<%=text3%>\"</li><li><%=text4%>: \"<%=text5%>\"</li></ul>"
25
+ :t6table: "Concept <b><%=text1%></b><br/>L'association suivante est correcte:<br/><ul><li><%=text2%>: \"<%=text3%>\"</li><li><%=text4%>: \"<%=text5%>\"</li></ul>"
26
+ :t7table: "Concept <b><%=text1%></b><br/>L'association suivante est correcte:<br/><ul><li><%=text2%>: \"<%=text3%>\"</li><li><%=text4%>: \"<%=text5%>\"</li></ul>"
27
+ :t8table: "Concept <b><%=text1%></b><br/>Complétez l'association suivante:<br/><ul><li><%=text2%>: \"<%=text3%>\"</li><li><%=text4%>: [*]</li></ul>Écrire un mot.<br/>"
28
+ :t9table: "Concept <b><%=text1%></b><br/>Complétez l'association suivante:<br/><ul><li><%=text2%>: \"<%=text3%>\"</li><li><%=text4%>: <%=text5%></li></ul>Écrire<%=text6%> mots.<br/>"
29
+ :code1: "<pre><%=text1%></pre><br/><p>Écrire le numéro de ligne où se trouve la première erreur. Écrire 0 s'il n'y a aucune erreur.</p>"