asker-tool 2.1.5 → 2.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +13 -17
- data/bin/asker +2 -1
- data/lib/asker/ai/ai.rb +10 -3
- data/lib/asker/ai/ai_calculate.rb +20 -6
- data/lib/asker/ai/code/base_code_ai.rb +104 -0
- data/lib/asker/{code/ai → ai/code}/code_ai_factory.rb +11 -1
- data/lib/asker/{code/ai → ai/code}/javascript_code_ai.rb +2 -5
- data/lib/asker/ai/code/problem_code_ai.rb +176 -0
- data/lib/asker/{code/ai → ai/code}/python_code_ai.rb +2 -5
- data/lib/asker/{code/ai → ai/code}/ruby_code_ai.rb +14 -7
- data/lib/asker/{code/ai → ai/code}/sql_code_ai.rb +2 -5
- data/lib/asker/ai/concept_ai.rb +13 -3
- data/lib/asker/ai/question.rb +28 -6
- data/lib/asker/ai/stages/base_stage.rb +45 -6
- data/lib/asker/ai/stages/stage_b.rb +100 -50
- data/lib/asker/ai/stages/stage_d.rb +75 -90
- data/lib/asker/ai/stages/stage_f.rb +64 -36
- data/lib/asker/ai/stages/stage_i.rb +79 -92
- data/lib/asker/ai/stages/stage_s.rb +41 -36
- data/lib/asker/ai/stages/stage_t.rb +149 -108
- data/lib/asker/application.rb +19 -11
- data/lib/asker/cli.rb +31 -44
- data/lib/asker/data/code.rb +62 -0
- data/lib/asker/data/column.rb +31 -21
- data/lib/asker/data/concept.rb +109 -65
- data/lib/asker/data/data_field.rb +14 -0
- data/lib/asker/data/project_data.rb +63 -0
- data/lib/asker/data/row.rb +75 -52
- data/lib/asker/data/table.rb +91 -42
- data/lib/asker/data/template.rb +3 -1
- data/lib/asker/data/world.rb +51 -35
- data/lib/asker/displayer/code_displayer.rb +7 -0
- data/lib/asker/displayer/concept_ai_displayer.erb +10 -0
- data/lib/asker/displayer/concept_ai_displayer.rb +74 -53
- data/lib/asker/displayer/concept_displayer.rb +16 -9
- data/lib/asker/displayer/stats_displayer.rb +12 -3
- data/lib/asker/exporter/concept_ai_gift_exporter.rb +19 -11
- data/lib/asker/exporter/concept_ai_moodle_exporter.rb +44 -0
- data/lib/asker/exporter/concept_ai_yaml_exporter.rb +13 -6
- data/lib/asker/exporter/concept_doc_exporter.rb +14 -1
- data/lib/asker/exporter/data_gift_exporter.rb +29 -0
- data/lib/asker/exporter/output_file_exporter.rb +9 -6
- data/lib/asker/files/{config.ini → asker.ini} +48 -1
- data/lib/asker/files/example-concept.haml +0 -1
- data/lib/asker/files/language/du/connectors.yaml +81 -0
- data/lib/asker/{lang/locales/fr → files/language/du}/mistakes.yaml +1 -1
- data/lib/asker/files/language/du/templates.yaml +29 -0
- data/lib/asker/{lang/locales → files/language}/en/connectors.yaml +0 -0
- data/lib/asker/{lang/locales → files/language}/en/mistakes.yaml +0 -0
- data/lib/asker/files/language/en/templates.yaml +29 -0
- data/lib/asker/{lang/locales → files/language}/es/connectors.yaml +0 -0
- data/lib/asker/files/language/es/mistakes.yaml +84 -0
- data/lib/asker/files/language/es/templates.yaml +29 -0
- data/lib/asker/files/language/fr/connectors.yaml +76 -0
- data/lib/asker/{lang/locales/es → files/language/fr}/mistakes.yaml +0 -0
- data/lib/asker/files/language/fr/templates.yaml +29 -0
- data/lib/asker/{lang/locales → files/language}/javascript/connectors.yaml +0 -0
- data/lib/asker/{lang/locales → files/language}/javascript/mistakes.yaml +0 -0
- data/lib/asker/{lang/locales → files/language}/javascript/templates.yaml +0 -0
- data/lib/asker/{lang/locales → files/language}/math/connectors.yaml +0 -0
- data/lib/asker/{lang/locales → files/language}/math/mistakes.yaml +0 -0
- data/lib/asker/{lang/locales → files/language}/math/templates.yaml +0 -0
- data/lib/asker/{lang/locales → files/language}/python/connectors.yaml +0 -0
- data/lib/asker/{lang/locales → files/language}/python/mistakes.yaml +0 -0
- data/lib/asker/{lang/locales → files/language}/python/templates.yaml +0 -0
- data/lib/asker/{lang/locales → files/language}/ruby/connectors.yaml +0 -0
- data/lib/asker/{lang/locales → files/language}/ruby/mistakes.yaml +0 -0
- data/lib/asker/{lang/locales → files/language}/ruby/templates.yaml +0 -0
- data/lib/asker/{lang/locales → files/language}/sql/connectors.yaml +0 -0
- data/lib/asker/{lang/locales → files/language}/sql/mistakes.yaml +0 -0
- data/lib/asker/{lang/locales → files/language}/sql/templates.yaml +0 -0
- data/lib/asker/formatter/concept_doc_formatter.rb +0 -4
- data/lib/asker/formatter/concept_string_formatter.rb +7 -4
- data/lib/asker/formatter/moodle/matching.erb +38 -0
- data/lib/asker/formatter/moodle/multichoice.erb +49 -0
- data/lib/asker/formatter/moodle/shortanswer.erb +30 -0
- data/lib/asker/formatter/moodle/truefalse.erb +47 -0
- data/lib/asker/formatter/question_gift_formatter.rb +30 -20
- data/lib/asker/formatter/question_moodle_formatter.rb +27 -0
- data/lib/asker/{checker.rb → input_checker.rb} +126 -49
- data/lib/asker/lang/lang.rb +17 -10
- data/lib/asker/lang/lang_factory.rb +32 -5
- data/lib/asker/lang/text_actions.rb +87 -69
- data/lib/asker/loader/code_loader.rb +4 -4
- data/lib/asker/loader/content_loader.rb +21 -19
- data/lib/asker/loader/directory_loader.rb +1 -8
- data/lib/asker/loader/embedded_file.rb +42 -0
- data/lib/asker/loader/file_loader.rb +3 -14
- data/lib/asker/loader/haml_loader.rb +15 -0
- data/lib/asker/loader/image_url_loader.rb +8 -12
- data/lib/asker/loader/input_loader.rb +13 -15
- data/lib/asker/loader/project_loader.rb +25 -15
- data/lib/asker/logger.rb +36 -9
- data/lib/asker/skeleton.rb +23 -13
- data/lib/asker.rb +76 -42
- metadata +53 -54
- data/lib/asker/code/ai/base_code_ai.rb +0 -48
- data/lib/asker/code/code.rb +0 -53
- data/lib/asker/lang/locales/du/templates.yaml +0 -50
- data/lib/asker/lang/locales/en/templates.yaml +0 -29
- data/lib/asker/lang/locales/es/templates.yaml +0 -29
- data/lib/asker/lang/locales/fr/connectors.yaml +0 -92
- data/lib/asker/lang/locales/fr/templates.yaml +0 -29
- 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
|
-
|
|
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
|
-
|
|
23
|
-
stages.
|
|
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
|
-
|
|
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 '
|
|
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
|
-
|
|
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
|
-
|
|
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 =
|
|
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 =
|
|
@@ -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
|
|
@@ -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>'
|
|
File without changes
|
|
File without changes
|
|
@@ -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>'
|
|
File without changes
|
|
@@ -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
|
|
File without changes
|
|
@@ -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>"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|