asker-tool 2.1.3 → 2.1.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +17 -17
- data/lib/asker.rb +40 -83
- data/lib/asker/application.rb +1 -1
- data/lib/asker/checker.rb +42 -25
- data/lib/asker/cli.rb +1 -1
- data/lib/asker/data/world.rb +2 -0
- data/lib/asker/{exporter/code_screen_exporter.rb → displayer/code_displayer.rb} +6 -6
- data/lib/asker/{exporter/concept_ai_screen_exporter.rb → displayer/concept_ai_displayer.rb} +27 -29
- data/lib/asker/displayer/concept_displayer.rb +27 -0
- data/lib/asker/displayer/stats_displayer.rb +13 -0
- data/lib/asker/exporter/code_gift_exporter.rb +10 -11
- data/lib/asker/exporter/concept_ai_gift_exporter.rb +9 -9
- data/lib/asker/exporter/concept_ai_yaml_exporter.rb +2 -4
- data/lib/asker/exporter/concept_doc_exporter.rb +9 -15
- data/lib/asker/exporter/output_file_exporter.rb +18 -0
- data/lib/asker/files/example-concept.haml +25 -8
- data/lib/asker/formatter/concept_string_formatter.rb +9 -8
- data/lib/asker/lang/lang.rb +3 -4
- data/lib/asker/lang/locales/du/templates.yaml +50 -0
- data/lib/asker/lang/locales/en/connectors.yaml +44 -0
- data/lib/asker/lang/locales/en/mistakes.yaml +37 -0
- data/lib/asker/lang/locales/en/templates.yaml +29 -0
- data/lib/asker/lang/locales/es/connectors.yaml +92 -0
- data/lib/asker/lang/locales/es/mistakes.yaml +82 -0
- data/lib/asker/lang/locales/es/templates.yaml +29 -0
- data/lib/asker/lang/locales/fr/connectors.yaml +92 -0
- data/lib/asker/lang/locales/fr/mistakes.yaml +82 -0
- data/lib/asker/lang/locales/fr/templates.yaml +29 -0
- data/lib/asker/lang/locales/javascript/connectors.yaml +11 -0
- data/lib/asker/lang/locales/javascript/mistakes.yaml +30 -0
- data/lib/asker/lang/locales/javascript/templates.yaml +3 -0
- data/lib/asker/lang/locales/math/connectors.yaml +2 -0
- data/lib/asker/lang/locales/math/mistakes.yaml +2 -0
- data/lib/asker/lang/locales/math/templates.yaml +1 -0
- data/lib/asker/lang/locales/python/connectors.yaml +11 -0
- data/lib/asker/lang/locales/python/mistakes.yaml +26 -0
- data/lib/asker/lang/locales/python/templates.yaml +3 -0
- data/lib/asker/lang/locales/ruby/connectors.yaml +11 -0
- data/lib/asker/lang/locales/ruby/mistakes.yaml +33 -0
- data/lib/asker/lang/locales/ruby/templates.yaml +3 -0
- data/lib/asker/lang/locales/sql/connectors.yaml +6 -0
- data/lib/asker/lang/locales/sql/mistakes.yaml +11 -0
- data/lib/asker/lang/locales/sql/templates.yaml +2 -0
- data/lib/asker/loader/input_loader.rb +22 -5
- data/lib/asker/loader/project_loader.rb +25 -24
- data/lib/asker/logger.rb +1 -2
- data/lib/asker/project.rb +5 -3
- data/lib/asker/skeleton.rb +25 -24
- metadata +47 -63
- data/docs/changelog/v2.1.md +0 -99
- data/docs/commands.md +0 -12
- data/docs/contributions.md +0 -18
- data/docs/history.md +0 -40
- data/docs/idea.md +0 -44
- data/docs/inputs/README.md +0 -39
- data/docs/inputs/code.md +0 -69
- data/docs/inputs/concepts.md +0 -142
- data/docs/inputs/jedi.md +0 -68
- data/docs/inputs/tables.md +0 -112
- data/docs/inputs/templates.md +0 -87
- data/docs/install/README.md +0 -38
- data/docs/install/manual.md +0 -26
- data/docs/install/scripts.md +0 -38
- data/docs/revise/asker-file.md +0 -41
- data/docs/revise/buenas-practicas/01-convocatoria.md +0 -30
- data/docs/revise/buenas-practicas/02-formulario.md +0 -35
- data/docs/revise/buenas-practicas/03-descripcion.md +0 -63
- data/docs/revise/buenas-practicas/04-resultados.md +0 -17
- data/docs/revise/buenas-practicas/05-reproducir.md +0 -10
- data/docs/revise/ejemplos/01/README.md +0 -27
- data/docs/revise/ejemplos/02/README.md +0 -31
- data/docs/revise/ejemplos/03/README.md +0 -31
- data/docs/revise/ejemplos/04/README.md +0 -37
- data/docs/revise/ejemplos/05/README.md +0 -25
- data/docs/revise/ejemplos/06/README.md +0 -43
- data/docs/revise/ejemplos/README.md +0 -11
- data/docs/revise/projects.md +0 -74
- data/lib/asker/exporter/concept_screen_exporter.rb +0 -25
- data/lib/asker/exporter/main.rb +0 -9
@@ -1,12 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'terminal-table'
|
4
|
+
require_relative '../logger'
|
4
5
|
|
5
6
|
# Export Code into Screen
|
6
|
-
module
|
7
|
-
def self.
|
8
|
-
|
9
|
-
return if project.show_mode == :none || codes.nil? || codes.size.zero?
|
7
|
+
module CodeDisplayer
|
8
|
+
def self.show(codes)
|
9
|
+
return if codes.nil? || codes.size.zero?
|
10
10
|
|
11
11
|
total_c = total_q = total_e = 0
|
12
12
|
my_screen_table = Terminal::Table.new do |st|
|
@@ -39,7 +39,7 @@ module CodeScreenExporter
|
|
39
39
|
Rainbow((total_q / total_e.to_f).round(2)).bright]
|
40
40
|
return unless total_c.positive?
|
41
41
|
|
42
|
-
|
43
|
-
|
42
|
+
Logger.verboseln "\n[INFO] Showing CODE statistics"
|
43
|
+
Logger.verboseln my_screen_table.to_s
|
44
44
|
end
|
45
45
|
end
|
@@ -1,28 +1,27 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'terminal-table'
|
4
|
+
require_relative '../logger'
|
4
5
|
|
5
|
-
#
|
6
|
-
class
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
6
|
+
# Display ConceptAI stat on screen
|
7
|
+
class ConceptAIDisplayer
|
8
|
+
##
|
9
|
+
# Display ConceptAI stat on screen
|
10
|
+
# @param concepts_ai (Array)
|
11
|
+
def self.show(concepts_ai)
|
12
12
|
# Create table HEAD
|
13
13
|
screen_table = Terminal::Table.new do |st|
|
14
14
|
st << ['Concept','Questions','Entries','xFactor',
|
15
15
|
'd','b','f','i','s','t']
|
16
16
|
st << :separator
|
17
17
|
end
|
18
|
-
|
19
18
|
# Create table BODY
|
20
19
|
total = {}
|
21
20
|
total[:q] = total[:e] = total[:c] = 0
|
22
21
|
total[:sd] = total[:sb] = total[:sf] = 0
|
23
22
|
total[:si] = total[:ss] = total[:st] = 0
|
24
23
|
|
25
|
-
|
24
|
+
concepts_ai.each do |concept_ai|
|
26
25
|
if concept_ai.process?
|
27
26
|
e = concept_ai.texts.size
|
28
27
|
concept_ai.tables.each { |t| e += t.fields.size * t.rows.size }
|
@@ -51,7 +50,7 @@ class ConceptAIScreenExporter
|
|
51
50
|
return if total[:c] == 0 # No concepts to be process?
|
52
51
|
|
53
52
|
# Add row with excluded questions
|
54
|
-
export_excluded_questions(screen_table,
|
53
|
+
export_excluded_questions(screen_table, concepts_ai)
|
55
54
|
|
56
55
|
# Create table TAIL
|
57
56
|
screen_table.add_separator
|
@@ -62,10 +61,10 @@ class ConceptAIScreenExporter
|
|
62
61
|
total[:sd], total[:sb], total[:sf],
|
63
62
|
total[:si], total[:ss], total[:st]]
|
64
63
|
export_notes
|
65
|
-
|
64
|
+
Logger.verbose "#{screen_table}\n"
|
66
65
|
end
|
67
66
|
|
68
|
-
def self.export_excluded_questions(screen_table, concepts_ai)
|
67
|
+
private_class_method def self.export_excluded_questions(screen_table, concepts_ai)
|
69
68
|
# Create table BODY
|
70
69
|
total = {}
|
71
70
|
total[:q] = total[:c] = 0
|
@@ -94,22 +93,21 @@ class ConceptAIScreenExporter
|
|
94
93
|
total[:ss], total[:st]]
|
95
94
|
end
|
96
95
|
|
97
|
-
def self.export_notes
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
p.verbose "\n"
|
96
|
+
private_class_method def self.export_notes
|
97
|
+
Logger.verbose "\n[INFO] Showing CONCEPT statistics\n"
|
98
|
+
Logger.verbose ' * Exclude questions: ' +
|
99
|
+
Application.instance.config['questions']['exclude'].to_s
|
100
|
+
Logger.verbose ' * Annotations:'
|
101
|
+
Logger.verbose ' ├── (d) Definitions <= Concept.def'
|
102
|
+
Logger.verbose ' ├── (b) Table Matching <= ' \
|
103
|
+
'Concept.table.rows.columns'
|
104
|
+
Logger.verbose ' ├── (f) Tables 1 Field <= Concept.table.fields.size==1'
|
105
|
+
Logger.verbose ' ├── (i) Images URL <= ' \
|
106
|
+
"Concept.def{:type => 'image_url'}"
|
107
|
+
Logger.verbose ' ├── (s) Sequences <= ' \
|
108
|
+
"Concept.table{:sequence => '...'}"
|
109
|
+
Logger.verbose ' └── (t) Table Rows&Cols <= ' \
|
110
|
+
'Concept.table.rows.columns'
|
111
|
+
Logger.verbose "\n"
|
114
112
|
end
|
115
113
|
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
|
2
|
+
require_relative '../formatter/concept_string_formatter'
|
3
|
+
require_relative '../logger'
|
4
|
+
|
5
|
+
# Show Concept Data on screen
|
6
|
+
module ConceptDisplayer
|
7
|
+
##
|
8
|
+
# Show concepts on screen
|
9
|
+
# @param concepts (Array)
|
10
|
+
# @param show_mode (Symbol)
|
11
|
+
def self.show(concepts, show_mode = :default)
|
12
|
+
return if show_mode == :none
|
13
|
+
msg = "\n[INFO] Showing concept data (#{Rainbow(show_mode).bright})"
|
14
|
+
Logger.verbose msg
|
15
|
+
case show_mode
|
16
|
+
when :resume
|
17
|
+
s = "* Concepts (#{concepts.count}): "
|
18
|
+
concepts.each { |c| s += c.name + ', ' }
|
19
|
+
Logger.verbose s
|
20
|
+
when :default
|
21
|
+
# Only show Concepts with process attr true
|
22
|
+
concepts.each do |c|
|
23
|
+
Logger.verbose ConceptStringFormatter.to_s(c) if c.process?
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require_relative 'concept_ai_displayer'
|
2
|
+
require_relative 'code_displayer'
|
3
|
+
|
4
|
+
# Display Stats on screen.
|
5
|
+
module StatsDisplayer
|
6
|
+
def self.show(data, show_mode)
|
7
|
+
return if show_mode == :none
|
8
|
+
|
9
|
+
# show_final_results
|
10
|
+
ConceptAIDisplayer.show(data[:concepts_ai])
|
11
|
+
CodeDisplayer.show(data[:codes])
|
12
|
+
end
|
13
|
+
end
|
@@ -1,31 +1,30 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative '../project'
|
4
3
|
require_relative '../formatter/question_gift_formatter'
|
5
4
|
|
6
|
-
# UNDER DEVELOPMENT
|
7
5
|
# Use to export questions from Code to gift format
|
8
6
|
module CodeGiftExporter
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
7
|
+
##
|
8
|
+
# Export an Array of codes to gift format file
|
9
|
+
# @param codes (Array)
|
10
|
+
def self.export_all(codes, file)
|
11
|
+
codes.each { |code| export(code, file) }
|
14
12
|
end
|
15
13
|
|
16
|
-
|
14
|
+
##
|
15
|
+
# Export 1 code to gift format file
|
16
|
+
# @param code (Code)
|
17
|
+
def self.export(code, file)
|
17
18
|
return false unless code.process?
|
18
19
|
|
19
|
-
file = Project.instance.outputfile
|
20
20
|
file.write head(code)
|
21
|
-
|
22
21
|
code.questions.each do |question|
|
23
22
|
file.write QuestionGiftFormatter.to_s(question)
|
24
23
|
end
|
25
24
|
true
|
26
25
|
end
|
27
26
|
|
28
|
-
def self.head(code)
|
27
|
+
private_class_method def self.head(code)
|
29
28
|
s = "\n"
|
30
29
|
s += '// ' + '=' * 50 + "\n"
|
31
30
|
s += "// Code #{code.type}: #{code.filename} (#{code.questions.size})\n"
|
@@ -3,20 +3,20 @@
|
|
3
3
|
require_relative '../project'
|
4
4
|
require_relative '../formatter/question_gift_formatter'
|
5
5
|
|
6
|
-
#
|
6
|
+
# Export ConceptIA data to gift to outputfile
|
7
7
|
module ConceptAIGiftExporter
|
8
|
-
|
9
|
-
|
8
|
+
##
|
9
|
+
# Export list of ConceptAI into outpufile
|
10
|
+
def self.export_all(concepts_ai, project)
|
11
|
+
concepts_ai.each { |concept_ai| export(concept_ai, project) }
|
10
12
|
end
|
11
|
-
|
12
|
-
def self.export(concept_ai)
|
13
|
+
|
14
|
+
def self.export(concept_ai, project)
|
13
15
|
return unless concept_ai.process?
|
14
16
|
|
15
|
-
file =
|
17
|
+
file = project.get(:outputfile)
|
16
18
|
file.write head(concept_ai.name)
|
17
|
-
|
18
|
-
stages = Project.instance.stages
|
19
|
-
stages.each_key do |stage|
|
19
|
+
project.stages.each_key do |stage|
|
20
20
|
concept_ai.questions[stage].each do |question|
|
21
21
|
file.write(QuestionGiftFormatter.to_s(question))
|
22
22
|
end
|
@@ -1,21 +1,19 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
|
3
3
|
require 'yaml'
|
4
|
-
require_relative '../project'
|
5
4
|
require_relative '../formatter/question_hash_formatter'
|
6
5
|
|
7
6
|
# Use to export data from ConceptIA to YAML format
|
8
7
|
module ConceptAIYAMLExporter
|
9
|
-
def self.export_all(concepts_ai)
|
8
|
+
def self.export_all(concepts_ai, project)
|
10
9
|
questions = []
|
11
10
|
concepts_ai.each do |concept_ai|
|
12
11
|
questions += get_questions_from concept_ai
|
13
12
|
end
|
14
|
-
project = Project.instance
|
15
13
|
params = { lang: project.get(:lang) ,
|
16
14
|
projectname: project.get(:projectname) }
|
17
15
|
output = { params: params, questions: questions }
|
18
|
-
project.yamlfile.write(output.to_yaml)
|
16
|
+
project.get(:yamlfile).write(output.to_yaml)
|
19
17
|
end
|
20
18
|
|
21
19
|
def self.get_questions_from(concept_ai)
|
@@ -1,21 +1,15 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative '../project'
|
4
3
|
require_relative '../formatter/concept_doc_formatter'
|
5
4
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
@concepts.each do |concept|
|
15
|
-
if concept.process
|
16
|
-
file.write(ConceptDocFormatter.to_s(concept))
|
17
|
-
end
|
5
|
+
##
|
6
|
+
# Export Concept to Doc file
|
7
|
+
module ConceptDocExporter
|
8
|
+
##
|
9
|
+
# Export arrya of concepts to doc
|
10
|
+
def self.export_all(concepts, file)
|
11
|
+
concepts.each do |concept|
|
12
|
+
file.write(ConceptDocFormatter.to_s(concept)) if concept.process
|
18
13
|
end
|
19
14
|
end
|
20
|
-
|
21
15
|
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require_relative 'concept_ai_gift_exporter'
|
2
|
+
require_relative 'code_gift_exporter'
|
3
|
+
require_relative 'concept_ai_yaml_exporter'
|
4
|
+
require_relative 'concept_doc_exporter'
|
5
|
+
|
6
|
+
# Export Output data:
|
7
|
+
# * Gift (ConceptAI, Code)
|
8
|
+
# * YAML
|
9
|
+
# * Doc (txt)
|
10
|
+
module OutputFileExporter
|
11
|
+
def self.export(data, project)
|
12
|
+
ConceptAIGiftExporter.export_all(data[:concepts_ai], project)
|
13
|
+
# 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))
|
17
|
+
end
|
18
|
+
end
|
@@ -1,13 +1,30 @@
|
|
1
|
-
%map{ :lang => 'en', :context => '
|
1
|
+
%map{ :lang => 'en', :context => 'music, band', :version => '1'}
|
2
2
|
|
3
3
|
%concept
|
4
|
-
%names
|
5
|
-
%tags
|
6
|
-
%
|
4
|
+
%names AC/DC, ACDC
|
5
|
+
%tags single, seat, leg, backrest
|
6
|
+
%tags rock, band, australia
|
7
|
+
%def Australian rock band formed by Scottish-born brothers Malcolm and Angus Young
|
8
|
+
%table{ :fields => 'members'}
|
9
|
+
%row Bon Scott
|
10
|
+
%row Angus Young
|
11
|
+
%row Malcolm Young
|
12
|
+
%row Phil Rudd
|
13
|
+
%row Cliff Williams
|
7
14
|
%table{ :fields => 'attribute, value'}
|
8
15
|
%row
|
9
|
-
%col
|
10
|
-
%col
|
16
|
+
%col Genres
|
17
|
+
%col Hard rock blues rock rock and roll
|
11
18
|
%row
|
12
|
-
%col
|
13
|
-
%col
|
19
|
+
%col Years active
|
20
|
+
%col 1973-present
|
21
|
+
%row
|
22
|
+
%col Formed in
|
23
|
+
%col Sydney
|
24
|
+
%table{ :fields => 'Albums', :sequence => 'Albums sorted by date'}
|
25
|
+
%row Albums High Voltage
|
26
|
+
%row Powerage
|
27
|
+
%row Highway to Hell
|
28
|
+
%row Back in Black
|
29
|
+
%row Ballbreaker
|
30
|
+
%row Rock or Bust
|
@@ -11,14 +11,14 @@ module ConceptStringFormatter
|
|
11
11
|
# @return String
|
12
12
|
def self.to_s(concept)
|
13
13
|
tt = Terminal::Table.new
|
14
|
-
|
15
|
-
rows.each { |row| tt.add_row row }
|
14
|
+
get_tt_rows(concept).each { |row| tt.add_row row }
|
16
15
|
"#{tt}\n"
|
17
16
|
end
|
18
17
|
|
19
18
|
# rubocop:disable Metrics/AbcSize
|
20
19
|
# rubocop:disable Metrics/MethodLength
|
21
|
-
|
20
|
+
# rubocop:disable Layout/LineLength
|
21
|
+
private_class_method def self.get_tt_rows(concept)
|
22
22
|
rows = []
|
23
23
|
rows << [Rainbow(concept.id.to_s).bright,
|
24
24
|
Rainbow(concept.name(:screen)).white.bg(:blue).bright +
|
@@ -31,14 +31,15 @@ module ConceptStringFormatter
|
|
31
31
|
rows << [Rainbow('Referenced by').blue,
|
32
32
|
concept.referenced_by.join(', ')[0...70].to_s]
|
33
33
|
rows << format_texts(concept)
|
34
|
-
rows << [Rainbow('.def(images)').blue, concept.images.size.to_s]
|
35
|
-
rows << format_tables(concept)
|
34
|
+
rows << [Rainbow('.def(images)').blue, concept.images.size.to_s] unless concept.images.size.zero?
|
35
|
+
rows << format_tables(concept) unless concept.tables.count.zero?
|
36
36
|
rows << format_neighbors(concept)
|
37
37
|
end
|
38
38
|
# rubocop:enable Metrics/AbcSize
|
39
39
|
# rubocop:enable Metrics/MethodLength
|
40
|
+
# rubocop:enable Layout/LineLength
|
40
41
|
|
41
|
-
def self.format_texts(concept)
|
42
|
+
private_class_method def self.format_texts(concept)
|
42
43
|
list = []
|
43
44
|
concept.texts.each do |i|
|
44
45
|
if i.size < 60
|
@@ -50,14 +51,14 @@ module ConceptStringFormatter
|
|
50
51
|
[Rainbow('.def(text)').blue, list.join("\n")]
|
51
52
|
end
|
52
53
|
|
53
|
-
def self.format_tables(concept)
|
54
|
+
private_class_method def self.format_tables(concept)
|
54
55
|
return [] if concept.tables.count.zero?
|
55
56
|
|
56
57
|
list = concept.tables.map(&:to_s)
|
57
58
|
[Rainbow('.tables').color(:blue), list.join("\n")]
|
58
59
|
end
|
59
60
|
|
60
|
-
def self.format_neighbors(concept)
|
61
|
+
private_class_method def self.format_neighbors(concept)
|
61
62
|
list = concept.neighbors[0..4].map do |i|
|
62
63
|
i[:concept].name(:screen) + '(' + i[:value].to_s[0..4] + ')'
|
63
64
|
end
|
data/lib/asker/lang/lang.rb
CHANGED
@@ -3,6 +3,7 @@
|
|
3
3
|
require 'erb'
|
4
4
|
require 'yaml'
|
5
5
|
require_relative 'text_actions'
|
6
|
+
require_relative '../logger'
|
6
7
|
|
7
8
|
# Lang#lang
|
8
9
|
class Lang
|
@@ -27,9 +28,8 @@ class Lang
|
|
27
28
|
begin
|
28
29
|
@templates = YAML.load(File.new(filename))
|
29
30
|
rescue StandardError => e
|
30
|
-
|
31
|
-
|
32
|
-
p.vervose "[ADVISE] Revise apostrophe into string without \\ char\n"
|
31
|
+
Logger.verboseln "[ERROR] lang.initialize(): Reading YAML file <#{filename}>"
|
32
|
+
Logger.verboseln "[ADVISE] Revise apostrophe into string without \\ char\n"
|
33
33
|
raise e
|
34
34
|
end
|
35
35
|
filename = File.join(dirbase, 'locales', @code, 'connectors.yaml')
|
@@ -38,5 +38,4 @@ class Lang
|
|
38
38
|
filename = File.join(dirbase, 'locales', @code, 'mistakes.yaml')
|
39
39
|
@mistakes = YAML.load(File.new(filename))
|
40
40
|
end
|
41
|
-
|
42
41
|
end
|
@@ -0,0 +1,50 @@
|
|
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
|
+
|
12
|
+
:b1: 'En relación al concepto <b><%=text1%></b>, asocia cada "<%=text2%>" con su "<%=text3%>".<br/>'
|
13
|
+
:f1: 'Los siguientes elementos son "<%=text2%>" del concepto <b><%=text1%></b>\:<ul><li><%=text3%></li></ul>'
|
14
|
+
:f2: 'Los siguientes elementos son "<%=text2%>".<br/>Selecciona la opción que no pertenezca al concepto <b><%=text1%></b>.'
|
15
|
+
: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)'
|
16
|
+
:i1: '<img src="<%=text1%>" alt\="image" width="400" height="300"><br/>Elige la opción que mejor se corresponda con la imagen anterior.<br/>'
|
17
|
+
:i2: '<img src="<%=text1%>" alt\="image" width="400" height="300"><br/>La imagen anterior corresponde a <b><%=text2%></b>.'
|
18
|
+
:i3: '<img src="<%=text1%>" alt\="image" width="400" height="300"><br/>Escribe la opción <%=text2%>, que mejor corresponda con la imagen anterior.<br/>'
|
19
|
+
:i4: '<img src="<%=text1%>" alt\="image" width="400" height="300"><br/>Definición\: <i><%=text2%></i><br/><br/>(Coloca cada palabra en su posición correcta dentro del texto)'
|
20
|
+
:s1: 'En relación al concepto <b><%=text1%></b>, ordena cada "<%=text2%>" de modo que se cumpla el criterio "<%=text3%>".<br/>'
|
21
|
+
:t1table: 'Concepto <b><%=text1%></b><br/><%=text2%>\: [*]<br/><%=text3%>\: "<%=text4%>"<br/>Elige la opción correcta.<br/>'
|
22
|
+
:t2table: 'Concepto <b><%=text1%></b><br/><%=text2%>\: [*]<br/><%=text3%>\: "<%=text4%>"<br/>Elige la opción correcta.<br/>'
|
23
|
+
:t3table: 'Concepto <b><%=text1%></b><br/><%=text2%>\: "<%=text3%>"<br/><%=text4%>: [*]<br/>Elige la opción correcta.<br/>'
|
24
|
+
:t4table: 'Concepto <b><%=text1%></b><br/><%=text2%>\: "<%=text3%>"<br/><%=text4%>: [*]<br/>Elige la opción correcta.<br/>'
|
25
|
+
:t5table: 'Concepto <b><%=text1%></b><br/>La asociación siguiente es correcta\:<br/><ul><li><%=text2%>\: "<%=text3%>"</li><li><%=text4%>\: "<%=text5%>"</li></ul>'
|
26
|
+
:t6table: 'Concepto <b><%=text1%></b><br/>La asociación siguiente es correcta\:<br/><ul><li><%=text2%>\: "<%=text3%>"</li><li><%=text4%>\: "<%=text5%>"</li></ul>'
|
27
|
+
:t7table: 'Concepto <b><%=text1%></b><br/>La asociación siguiente es correcta\:<br/><ul><li><%=text2%>\: "<%=text3%>"</li><li><%=text4%>\: "<%=text5%>"</li></ul>'
|
28
|
+
: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/>'
|
29
|
+
: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/>'
|
30
|
+
: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>'
|
31
|
+
|
32
|
+
B1: In Bezug auf den Begriff (+++++), verbinden Sie die passenden Begriffe.
|
33
|
+
F1: Die folgenden Elemente sind (+++++) des Begriffs (++++)
|
34
|
+
F2: Die folgenden Elemente sind (+++++) Wählen Sie die Antwortmöglichkeit aus, die nicht zum Begriff (++++) passt
|
35
|
+
F3: Die folgenden Elemente sind (+++++) des Begriffs (++++) (Setzen Sie die Wörter in die Lücken ein)
|
36
|
+
I1: Wählen Sie die Antwortmöglichkeit, die am besten zu dem gezeigten Bild passt.
|
37
|
+
I2: Das gezeigte Bild gehört zu (++++)
|
38
|
+
I3: Setzen Sie die Antwort ein (+++), die am besten zu dem gezeigten Bild passt.
|
39
|
+
I4: Bedeutung (Setzen Sie die Wörter in die Lücken ein)
|
40
|
+
S1: Beziehen Sie sich auf den Begriff (+++++) und ordnen Sie die richtigen Lösungen zu.
|
41
|
+
T1: Begriff / Wählen Sie die richtige Lösung aus.
|
42
|
+
T2: Begriff / Wählen Sie die richtige Lösung aus.
|
43
|
+
T3: Begriff / Wählen Sie die richtige Lösung aus.
|
44
|
+
T4: Begriff / Wählen Sie die richtige Lösung aus.
|
45
|
+
T5: Begriff / Die Lösung ist richtig
|
46
|
+
T6: Begriff / Die Lösung ist richtig
|
47
|
+
T7: Begriff / Die Lösung ist richtig
|
48
|
+
T8: Begriff / Vervollständigen Sie / Schreiben Sie einen Begriff
|
49
|
+
T9: Begriff / Verbinden Sie / Schreiben Sie fogende Begriffe
|
50
|
+
Code1: Nennen Sie die Nummer der Zeile, in der sich der erste Fehler befindet / Wenn es keinen Fehler gibt, setzen Sie 0 ein.
|