Reorder translations and add missing prefixes

- files should be prefixed with code_ocean/
- the markdown editor is part of the application (helper)
This commit is contained in:
Sebastian Serth
2024-04-14 12:08:44 +02:00
committed by Sebastian Serth
parent 1589c9472b
commit e551c8a699
98 changed files with 2687 additions and 2357 deletions

View File

@ -8,7 +8,7 @@
const BACKTICK = 192;
// These counters can be global. Scoping them to each editor becomes redundant
// since they are reset to this state when switching editors.
// since they are reset to this state when switching editors.
// Read more: https://github.com/openHPI/codeocean/pull/2242#discussion_r1576617432
let backtickPressedCount = 0;
let justInsertedCodeBlock = false;
@ -180,14 +180,14 @@ const setResizeBtn = (formInput, editor) => {
editor.setHeight("auto");
editor.setMinHeight("400px");
resizeBtn.classList.add("markdown-editor__resize-btn--collapse");
resizeBtn.title = I18n.t("markdown_editor.collapse");
resizeBtn.ariaLabel = I18n.t("markdown_editor.collapse");
resizeBtn.title = I18n.t("application.markdown_editor.collapse");
resizeBtn.ariaLabel = I18n.t("application.markdown_editor.collapse");
} else {
editor.setHeight("300px");
editor.setMinHeight("300px");
resizeBtn.classList.remove("markdown-editor__resize-btn--collapse");
resizeBtn.title = I18n.t("markdown_editor.expand");
resizeBtn.ariaLabel = I18n.t("markdown_editor.expand");
resizeBtn.title = I18n.t("application.markdown_editor.expand");
resizeBtn.ariaLabel = I18n.t("application.markdown_editor.expand");
}
});
};

View File

@ -66,7 +66,7 @@ module CodeOcean
else
filename = "#{@object.path || ''}/#{@object.name || ''}#{@object.file_type.try(:file_extension) || ''}"
format.html do
flash[:danger] = t('files.error.filename', name: filename)
flash[:danger] = t('code_ocean/files.error.filename', name: filename)
redirect_to(options[:path])
end
format.json { render(json: @object.errors, status: :unprocessable_entity) }

View File

@ -30,7 +30,7 @@ class MarkdownFormBuilder < ActionView::Helpers::FormBuilder
def resize_btn
@template.tag.button(class: 'markdown-editor__resize-btn fa-solid', type: 'button', id: "#{label_target}-resize",
title: I18n.t(:'markdown_editor.expand'), aria_label: I18n.t(:'markdown_editor.expand'))
title: I18n.t(:'application.markdown_editor.expand'), aria_label: I18n.t(:'application.markdown_editor.expand'))
end
def base_id

View File

@ -1,19 +1,19 @@
= form_for(CodeOcean::File.new) do |f|
.mb-3
= f.label(:name, t('activerecord.attributes.file.name'), class: 'form-label')
= f.label(:name, class: 'form-label')
= f.text_field(:name, class: 'form-control', required: true)
.mb-3
= f.label(:path, t('activerecord.attributes.file.path'), class: 'form-label')
= f.label(:path, class: 'form-label')
| &nbsp;
a.toggle-input data={text_initial: t('shared.new'), text_toggled: t('shared.back')} href='#' = t('shared.new')
.original-input = f.select(:path, @paths, {}, class: 'form-control')
= f.text_field(:path, class: 'alternative-input form-control', disabled: true)
.mb-3
= f.label(:file_type_id, t('activerecord.attributes.file.file_type_id'), class: 'form-label')
= f.label(:file_type_id, class: 'form-label')
= f.collection_select(:file_type_id, FileType.where(binary: false).order(:name), :id, :name, {selected: @exercise.execution_environment.file_type.try(:id)}, class: 'form-control')
- if FileTemplate.any?
.mb-3
= f.label(:file_template_id, t('activerecord.attributes.file.file_template_id'), class: 'form-label')
= f.label(:file_template_id, class: 'form-label')
= f.collection_select(:file_template_id, FileTemplate.order(:name), :id, :name, {include_blank: true}, class: 'form-control')
= f.hidden_field(:context_id)
.d-none#noTemplateLabel data-text=t('file_template.no_template_label')

View File

@ -1,5 +1,5 @@
.mb-3
= form.label(attribute, label, class: 'form-label')
= form.label(attribute, class: 'form-label')
= form.text_area(attribute, class: 'code-field form-control', rows: 16, style: 'display:none;')
= render partial: 'editor_edit', locals: {exercise: @exercise}
.card.border-warning.p-2.my-2

View File

@ -14,38 +14,38 @@ li.card.mt-2
.clearfix
.btn.btn-warning.btn-sm.float-end.delete-file data-file-url=code_ocean_file_path(id) = t('shared.destroy')
.mb-3
= f.label(:name, t('activerecord.attributes.file.name'), class: 'form-label')
= f.label(:name, class: 'form-label')
= f.text_field(:name, class: 'form-control')
.mb-3
= f.label(:path, t('activerecord.attributes.file.path'), class: 'form-label')
= f.label(:path, class: 'form-label')
= f.text_field(:path, class: 'form-control')
.help-block.form-text = t('.hints.path')
.mb-3
= f.label(:file_type_id, t('activerecord.attributes.file.file_type_id'), class: 'form-label')
= f.label(:file_type_id, class: 'form-label')
= f.collection_select(:file_type_id, @file_types, :id, :name, {}, class: 'form-control')
.mb-3
= f.label(:role, t('activerecord.attributes.file.role'), class: 'form-label')
= f.select(:role, CodeOcean::File::TEACHER_DEFINED_ROLES.map {|role| [t("files.roles.#{role}"), role] }, {}, class: 'form-control')
= f.label(:role, class: 'form-label')
= f.select(:role, CodeOcean::File::TEACHER_DEFINED_ROLES.map {|role| [t("code_ocean/files.roles.#{role}"), role] }, {}, class: 'form-control')
.form-check
label.form-check-label
= f.check_box(:hidden, class: 'form-check-input')
= t('activerecord.attributes.file.hidden')
= f.label(:hidden, class: 'form-label mb-0')
.form-check
label.form-check-label
= f.check_box(:read_only, class: 'form-check-input')
= t('activerecord.attributes.file.read_only')
= f.label(:read_only, class: 'form-label mb-0')
.test-related-fields style="display: #{f.object.teacher_defined_assessment? ? 'initial' : 'none'};"
.mb-3
.form-check
label.form-check-label
= f.check_box(:hidden_feedback, class: 'form-check-input')
= f.label(:hidden_feedback, t('activerecord.attributes.file.hidden_feedback'), class: 'form-label mb-0')
= f.label(:hidden_feedback, class: 'form-label mb-0')
.help-block.form-text.mb-0 = t('.hints.hidden_feedback')
.mb-3
= f.label(:name, t('activerecord.attributes.file.feedback_message'), class: 'form-label')
= f.label(:name, class: 'form-label')
= f.text_area(:feedback_message, class: 'form-control', maxlength: 255)
.help-block.form-text = t('.hints.feedback_message')
.mb-3
= f.label(:role, t('activerecord.attributes.file.weight'), class: 'form-label')
= f.label(:role, class: 'form-label')
= f.number_field(:weight, class: 'form-control', min: 0, step: 'any')
= render('code_field', attribute: :content, form: f, label: t('activerecord.attributes.file.content'))
= render('code_field', attribute: :content, form: f)

View File

@ -1,11 +1,11 @@
= row(label: 'file.name', value: file.name)
= row(label: 'file.path', value: file.path)
= row(label: 'file.file_type', value: link_to_if(policy(file).show?, file.file_type, file.file_type))
= row(label: 'file.role', value: file.role? ? t("files.roles.#{file.role}") : '')
= row(label: 'file.hidden', value: file.hidden)
= row(label: 'file.read_only', value: file.read_only)
= row(label: 'code_ocean/file.name', value: file.name)
= row(label: 'code_ocean/file.path', value: file.path)
= row(label: 'code_ocean/file.file_type', value: link_to_if(policy(file).show?, file.file_type, file.file_type))
= row(label: 'code_ocean/file.role', value: file.role? ? t("code_ocean/files.roles.#{file.role}") : '')
= row(label: 'code_ocean/file.hidden', value: file.hidden)
= row(label: 'code_ocean/file.read_only', value: file.read_only)
- if file.teacher_defined_assessment?
= row(label: 'file.hidden_feedback', value: file.hidden_feedback)
= row(label: 'file.feedback_message', value: render_markdown(file.feedback_message), class: 'm-0')
= row(label: 'file.weight', value: file.weight)
= row(label: 'file.content', value: file.native_file? ? link_to_if(policy(file).show?, file.native_file.file.filename, protected_upload_path(id: file.id, filename: file.filepath)) : code_tag(file.content, file.file_type.programming_language))
= row(label: 'code_ocean/file.hidden_feedback', value: file.hidden_feedback)
= row(label: 'code_ocean/file.feedback_message', value: render_markdown(file.feedback_message), class: 'm-0')
= row(label: 'code_ocean/file.weight', value: file.weight)
= row(label: 'code_ocean/file.content', value: file.native_file? ? link_to_if(policy(file).show?, file.native_file.file.filename, protected_upload_path(id: file.id, filename: file.filepath)) : code_tag(file.content, file.file_type.programming_language))

View File

@ -11,5 +11,5 @@ h1
= row(label: 'tip.title', value: @tip.title)
= row(label: 'tip.description', value: render_markdown(@tip.description), class: 'm-0')
= row(label: 'file.file_type', value: @tip.file_type_id? ? link_to_if(policy(@tip.file_type).show?, @tip.file_type.name, @tip.file_type) : '')
= row(label: 'code_ocean/file.file_type', value: @tip.file_type_id? ? link_to_if(policy(@tip.file_type).show?, @tip.file_type.name, @tip.file_type) : '')
= row(label: 'tip.example', value: @tip.file_type_id? ? code_tag(@tip.example, @tip.file_type.programming_language) : '')

View File

@ -1,253 +0,0 @@
de:
linter:
# This file is used to translate PyLint results from the original English output to German
# The following hierarchy has been implemented:
#
# 1. severity of the linter check result
# a. The `severity_name` translates the severity itself
# 2. code of the linter check result
# 3. A list of required values for the actual translation
# a. example: not used anywhere, just for reference when editing this yml file
# b. name: Title of the linter check
# c. regex: A regex used to translate dynamic parts with _named_ capture groups
# d. replacement: A fix replacement translation which is used instead of the
# original English output. It may refer to one of the named capture
# groups to include dynamic content from the English original
# e. log_missing: Specifies whether missing translations should be logged to Sentry
# 4. Optionally a named capture group from the regex
# 5. A list of fix translations for _values / matches_ of the named capture group
#
convention:
severity_name: Konvention
wrong-import-position:
example: Import "from turtle import *" should be placed at the top of the module
name: Falsche Import-Position
regex: .*"(?<import>.*)".*
replacement: Der Import von "%{import}" sollte am Anfang der Datei stehen
log_missing: false
bad-whitespace:
example: No space allowed before bracket
name: Inkorrektes Leerzeichen
regex: (?<what>Exactly one space required|No space allowed) (?<where>after|before|around) (?<when>.*)
replacement: "%{where} %{when} %{what}"
log_missing: true
what:
No space allowed: sollte kein Leerzeichen stehen
Exactly one space required: sollte genau ein Leerzeichen stehen
where:
before: Vor
after: Hinter
around: Vor und hinter
when:
':': einem Doppelpunkt
assignment: einer Zuweisung
comma: einem Komma
comparison: einem Vergleich
bracket: einer Klammer
keyword argument assignment: einer Zuweisung von Schlüsselargumenten
multiple-statements:
example: More than one statement on a single line
name: Mehrere Anweisungen
regex: .*
replacement: Mehr als eine Anweisung in einer Zeile
log_missing: false
superfluous-parens:
example: Unnecessary parens after 'if' keyword
name: Überflüssige Klammer
regex: .*'(?<keyword>.*)'.*
replacement: Nach dem Schlüsselwort '%{keyword}' ist keine Klammer notwendig
log_missing: false
error:
severity_name: Fehler
function-redefined:
example: function already defined line 15
name: Funktionsdefinition überschrieben
regex: .*line (?<line>\d*).*
replacement: Eine Funktion mit demselben Namen wurde bereits in Zeile %{line} definiert
log_missing: false
import-error:
example: Unable to import 'turtel'
name: Import-Fehler
regex: .*'(?<import>.*)'.*
replacement: Der Import von '%{import}' ist fehlgeschlagen
log_missing: false
syntax-error:
example: EOL while scanning string literal (<unknown>, line 1)
name: Syntax-Fehler
regex: |
(?<what>invalid syntax|EOL while scanning string literal|EOF while scanning triple-quoted string literal|cannot assign to|expected an indented block|Missing parentheses in call to|closing parenthesis|expression cannot contain assignment, perhaps you meant|f-string expression part cannot include a backslash|f-string:|invalid character in identifier|invalid decimal literal|trailing comma not allowed without surrounding parentheses|unexpected EOF while parsing|unexpected character after line continuation character|unexpected indent|unexpected unindent|unindent does not match any outer indentation level|unmatched|inconsistent use of tabs and spaces in indentation|illegal target for annotation|positional argument follows keyword argument|leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integers|cannot assign to comparison|non-default argument follows default argument|cannot use assignment expressions with) ?(?<what_exactly>function call|literal|operator|set display|empty expression not allowed|single|unmatched)? ?(?:'(?<actual>[^'"]*)'\.*)? ?(?:(?<explanation>Did you mean|does not match opening parenthesis|is not allowed)(?: ')?)?(?:(?<suggestion>.*)(?:\?|'|"))? ?\((?<context>.*), line (?<line>\d*)\).*
replacement: "%{what}%{what_exactly}%{actual}%{explanation}%{suggestion}" # unused: context, line
log_missing: true
what:
invalid syntax: Ungültige Syntax
EOL while scanning string literal: Ein String wurde nicht geschlossen
EOF while scanning triple-quoted string literal: Ein Kommentar mit drei Anführungszeichen wurde nicht geschlossen
cannot assign to: Die Zuweisung ist ungültig für
expected an indented block: Ein eingerückter Codeblock wurde erwartet
Missing parentheses in call to: Die Klammern beim Aufruf von "
closing parenthesis: 'Die schließende Klammer '
expression cannot contain assignment, perhaps you meant: 'Die Anweisung kann keine Zuweisung enthalten, vielleicht meintest du folgendes: '
f-string expression part cannot include a backslash: Ein Platzhalter in einem f-String kann keinen Backslash \ enthalten
'f-string:': 'f-String:'
invalid character in identifier: Ungültiges Zeichen im Bezeichner
invalid decimal literal: Ungültige Zahl # e.g. 100_years
trailing comma not allowed without surrounding parentheses: Ein Komma am Ende einer Aufzählung ist ohne umgebende Klammern nicht erlaubt
unexpected EOF while parsing: Es wurden weitere Zeichen in dem Quellcode erwartet, diese fehlten jedoch
unexpected character after line continuation character: Nach einem Backslash \ außerhalb eines Strings darf in der selben Zeile kein weiteres Zeichen folgen
unexpected indent: Ungültige Einrückung
unexpected unindent: Ungültige Einrückung nach einem weiter eingerückten Code-Block
unindent does not match any outer indentation level: Die Einrückung passt nicht zu einem vorherigen Teil
unmatched: 'Die folgende Klammer scheint zu viel zu sein: '
inconsistent use of tabs and spaces in indentation: Gemischte Einrückung mit Leerzeichen und Tabs
illegal target for annotation: Ungültige Schreibweise eines Bezeichners mit einem Großbuchstaben
positional argument follows keyword argument: Nach einem benannten Argument darf kein Argument ohne Namen folgen
leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integers: Eine Zahl darf nicht mit einer führenden Null beginnen
cannot assign to comparison: Ein Vergleich kann nicht das Ziel einer Zuweisung sein und daher nicht links von einem einfachen Gleichheitszeichen = stehen
non-default argument follows default argument: Ein Argument ohne Standardwert darf nicht nach einem Argument mit Standardwert folgen
cannot use assignment expressions with: Die Zuweisung ist ungültig für
what_exactly:
# must start with a space character
function call: ' eine Funktion'
literal: ' eine Zahl'
operator: ' einen Operator'
set display: ' einer Menge'
list display: ' eine Liste'
dict display: ' ein Dictionary'
f-string expression: ' einem F-String'
# the following are in the context of an f-string
empty expression not allowed: ' eine leere Anweisung ist nicht erlaubt'
single: ' eine einzelne "'
unmatched: ' unpassende Klammer '
explanation:
Did you mean: '" fehlen. Vielleicht meintest du folgendes:'
does not match opening parenthesis: ' passt nicht zu der öffnenden Klammer '
is not allowed: '" ist nicht erlaubt'
# additional capture groups that are used without translation:
# - actual
# - suggestion
# - context
# - line
undefined-variable:
example: Undefined variable 'beginn_fill'
name: Undefinierter Bezeichner
regex: .*'(?<name>.*)'.*
replacement: Der Name '%{name}' ist unbekannt
log_missing: false
used-before-assignment:
example: Using variable 'kleidung' before assignment
name: Verwendung vor Zuweisung
regex: .*'(?<name>.*)'.*
replacement: Die Variable '%{name}' wird vor ihrer erstmaligen Zuweisung verwendet
log_missing: false
return-outside-function:
example: Return outside function
name: Return außerhalb einer Funktion
regex: .*
replacement: Ein Return kann nur innerhalb einer Funktion verwendet werden
log_missing: false
refactor:
severity_name: Überarbeitung empfohlen
comparison-with-itself:
example: Redundant comparison - hauptspeise == hauptspeise
name: Vergleich mit sich selbst
regex: .* - (?<comparison>.*)
replacement: Der Vergleich ist überflüssig - %{comparison}
log_missing: false
inconsistent-return-statements:
example: Either all return statements in a function should return an expression, or none of them should.
name: Uneinheitliche Rückgabewerte
regex: .*
replacement: Entweder sollten alle return Anweisungen in einer Funktion ein Ergebnis zurückgeben oder keine Anweisung sollte einen Rückgabewert haben
log_missing: false
redefined-argument-from-local:
example: Redefining argument with the local name 'Wort'
name: Überschreiben eines Arguments
regex: .*'(?<name>.*)'.*
replacement: Das Argument '%{name}' wird überschrieben
log_missing: false
warning:
severity_name: Warnung
bad-indentation:
example: Bad indentation. Found 3 spaces, expected 4
name: Ungültige Einrückung
regex: .*(?<actual>\d+).*(?<expected>\d+).*
replacement: Statt %{actual} Leerzeichen wurden %{expected} Leerzeichen erwartet
log_missing: false
duplicate-key:
example: Duplicate key 100 in dictionary
name: Doppelter Schlüssel
regex: Duplicate key (?<key>.*) in dictionary
replacement: Der Schlüssel '%{key}' ist im Dictionary doppelt vorhanden
log_missing: false
duplicate-except:
example: Catching previously caught exception type ValueError
name: Doppeltes Except
regex: Catching previously caught exception type (?<exception>.*)
replacement: Die zuvor bereits aufgefangene Exception '%{exception}' wird erneut behandelt
log_missing: false
mixed-indentation:
example: Found indentation with tabs instead of spaces
name: Gemischte Einrückung
regex: .*
replacement: Es wurde eine Einrückung mit Tabs anstelle von Leerzeichen entdeckt
log_missing: false
pointless-statement:
example: Statement seems to have no effect
name: sinnlose Anweisung
regex: .*
replacement: Die Anweisung scheint keine Auswirkungen zu haben
log_missing: false
pointless-string-statement:
example: String statement has no effect
name: sinnloser String
regex: .*
replacement: Ein einzelner String ohne Zuweisung hat keine Auswirkung
log_missing: false
redefined-builtin:
example: Redefining built-in 'print'
name: Überschreiben
regex: .*'(?<builtin>.*)'.*
replacement: Der interne Bezeichner '%{builtin}' wird überschrieben
log_missing: false
redefined-outer-name:
example: Redefining name 'name' from outer scope (line 1)
name: Überschreiben
regex: .*'(?<name>.*)'.*\(line (?<line>\d*)\).*
replacement: Der Bezeichner '%{name}', der bereits in Zeile %{line} definiert wurde, wird überschrieben
log_missing: false
self-assigning-variable:
example: Assigning the same variable 'kleidung' to itself
name: Selbstzuweisung
regex: .*'(?<name>.*)'.*
replacement: Die Variable '%{name}' wird sich selbst zugewiesen
log_missing: false
unreachable:
example: Unreachable code
name: Unerreichbar
regex: .*
replacement: Die Anweisung wird nie ausgeführt
log_missing: false
undefined-loop-variable:
example: Using possibly undefined loop variable 'i'
name: Unbekannte Schleifenvariable
regex: .*'(?<name>.*)'.*
replacement: Die Schleifenvariable '%{name}' ist möglicherweise nicht definiert
log_missing: false
unnecessary-semicolon:
example: Unnecessary semicolon
name: Unnötiges Semikolon
regex: .*
replacement: Am Ende einer Zeile sollte kein Semikolon stehen
log_missing: false
unused-argument:
example: Unused argument 'laenge'
name: Unbenutztes Argument
regex: .*'(?<name>.*)'.*
replacement: Das Argument '%{name}' wird nicht verwendet
log_missing: false
unused-variable:
example: Unused variable 'i'
name: Unbenutzte Variable
regex: .*'(?<name>.*)'.*
replacement: Die Variable '%{name}' wird nicht verwendet
log_missing: false

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,11 @@
---
de:
admin:
dashboard:
show:
current: Aktuelle Verfügbarkeit
history: Nutzungsverlauf
idleRunners: Freie Runner
inactive: Es ist kein Runner Management aktiv.
release: Release
usedRunners: Reservierte Runner

View File

@ -0,0 +1,33 @@
---
de:
activerecord:
attributes:
code_ocean/file:
content: Inhalt
feedback_message: Feedback-Nachricht
file_template_id: Dateivorlage
file_type: Dateityp
file_type_id: Dateityp
hidden: Versteckt
hidden_feedback: Feedback ausblenden
name: Name
path: Pfad
read_only: Schreibgeschützt
role: Rolle
weight: Punktzahl
models:
code_ocean/file:
one: Datei
other: Dateien
code_ocean/files:
error:
filename: Die Datei konnte nicht gespeichert werden, da eine Datei mit dem Namen '%{name}' bereits existiert.
roles:
executable_file: Ausführbare Datei (analog zur Hauptdatei)
main_file: Hauptdatei
reference_implementation: Referenzimplementierung
regular_file: Normale Datei
teacher_defined_linter: Linter als Bewertungsgrundlage
teacher_defined_test: Test als Bewertungsgrundlage
user_defined_file: Benutzerdefinierte Datei
user_defined_test: Benutzerdefinierter Test

View File

@ -0,0 +1,20 @@
---
de:
activerecord:
attributes:
codeharbor_link:
oauth2token: OAuth2 Token
models:
codeharbor_link:
one: CodeHarbor-Link
other: CodeHarbor-Links
codeharbor_link:
delete: CodeHarbor-Link entfernen
edit: CodeHarbor-Link bearbeiten
generate: Generieren
info:
api_key: Wird zum Authentifizieren gegenüber CodeHarbor genutzt. Auf CodeHarbor muss der gleiche Key eingetragen sein.
check_uuid_url: Die Url von CodeHarbor an der geprüft werden kann, ob die Aufgabe schon existiert. Bei Unklarheiten bitte an einen Admin wenden.
push_url: Die Url von CodeHarbor zu der die Aufgabe exportiert werden soll. Bei Unklarheiten bitte an einen Admin wenden.
new: Neuen CodeHarbor-Link anlegen
profile_label: CodeHarbor-Link

View File

@ -0,0 +1,10 @@
---
de:
activerecord:
models:
comment:
one: Kommentar
other: Kommentare
comments:
deleted: Gelöscht
save_update: Speichern

View File

@ -0,0 +1,16 @@
---
de:
activerecord:
models:
community_solution:
one: Gemeinschaftslösung
other: Gemeinschaftslösungen
community_solutions:
accept_community_solution: Gemeinschaftslösung ohne Änderung verlassen
change_community_solution: Änderungen an Gemeinschaftslösung speichern
current_community_solution: Aktuelle Gemeinschaftslösung
explanation: In diesem Kurs möchten wir gerne mit Ihnen und allen anderen Lernenden eine Gemeinschaftslösung für diese Aufgabe erarbeiten, die zum Ende des Kurses allen Teilnehmenden zugänglich gemacht werden soll. Unten finden Sie sowohl den aktuellen Stand der Gemeinschaftslösung als auch Ihre Abgabe. Bitte sehen Sie sich die Gemeinschaftslösung an und überarbeiten Sie diese bei Bedarf. Ihre eigene Lösung wird nicht verändert.
help_us_out: Helfen Sie mit!
research_explanation: Die hier angebotene Mitwirkungsmöglichkeit an einer Gemeinschaftslösung ist Bestandteil unserer Forschung; daher würden wir uns sehr über Ihre aktive Beteiligung freuen.
research_status: 'Neue Beta-Funktion:'
your_submission: Ihre Abgabe (schreibgeschützt, als Referenz)

View File

@ -0,0 +1,20 @@
---
de:
activerecord:
attributes:
consumer:
name: Name
oauth_key: OAuth Key
oauth_secret: OAuth Secret
rfc_visibility: Sichtbarkeit von Kommentaranfragen
rfc_visibility_type:
all: Alle Kommentaranfrage sind sichtbar
consumer: Nur Kommentaranfragen des aktuellen Konsumenten sind sichtbar
study_group: Nur Kommentaranfragen der aktuellen Lerngruppe sind sichtbar
models:
consumer:
one: Konsument
other: Konsumenten
consumers:
show:
link: Konsument

View File

@ -0,0 +1,19 @@
---
de:
activerecord:
attributes:
error_template:
description: Beschreibung
hint: Hinweis
name: Name
signature: Regulärer Ausdruck
models:
error_template:
one: Fehlertemplate
other: Fehlertemplates
error_templates:
add_attribute: Attribut hinzufügen
attributes: Attribute
hints:
hint_templates: 'Attributnamen in {{doppelten geschweiften Klammern}} werden zur Laufzeit durch die jeweiligen Attributwerte ersetzt. Beispiel: "Der Fehler ist in Zeile {{Line}}." --(StructuredError: {Line: 4})--> "Der Fehler ist in Zeile 4."'
signature: Ein regulärer Ausdruck in Ruby-Syntax und ohne führende und schließende "/"

View File

@ -0,0 +1,13 @@
---
de:
activerecord:
attributes:
error_template_attribute:
description: Beschreibung
important: Wichtig
key: Name
regex: Regulärer Ausdruck
models:
error_template_attribute:
one: Fehlertemplatettribut
other: Fehlertemplatettribute

View File

@ -0,0 +1,63 @@
---
de:
activerecord:
attributes:
execution_environment:
cpu_limit: CPU-Limit (in MHz)
docker_image: Docker-Image
exposed_ports: Zugängliche Ports
exposed_ports_list: Zugängliche Ports
file_type: Standard-Dateityp
file_type_id: Standard-Dateityp
help: Hilfetext
memory_limit: Speicher-Limit (in MB)
name: Name
network_enabled: Netzwerkzugriff
permitted_execution_time: Erlaubte Ausführungszeit (in Sekunden)
pool_size: Prewarming-Pool-Größe
privileged_execution: Priviligierte Ausführung als "root"
run_command: Ausführungsbefehl
test_command: Testbefehl
testing_framework: Testing-Framework
user: Autor
models:
execution_environment:
one: Ausführungsumgebung
other: Ausführungsumgebungen
execution_environments:
form:
hints:
command: "<em>filename</em> wird automatisch durch den richtigen Dateinamen ersetzt. Das folgende Zeichen ist verboten: ' (einfaches Anführungszeichen)"
cpu_limit: Geben Sie die Mindestmenge an CPU-Anteilen an, die für jeden Runner reserviert werden soll, gemessen in MHz.
docker_image: Wählen Sie ein Docker-Image aus der Liste oder fügen Sie ein neues hinzu, welches über <a href="https://hub.docker.com/" target="_blank" rel="noopener">DockerHub</a> verfügbar ist.
exposed_ports_list: Während der Ausführung sind diese Ports für den Nutzer zugänglich. Die Portnummern müssen nummerisch und mit Komma voneinander getrennt sein.
index:
shell: Shell
synchronize:
button: Synchronisieren
failure: 'Beim Synchronisieren der Ausführungsumgebung ist folgender Fehler aufgetreten: %{error}'
success: Die Ausführungsumgebung wurde erfolgreich synchronisiert.
synchronize_all:
button: Alle synchronisieren
failure: Beim Synchronisieren mindestens einer Ausführungsumgebung ist ein Fehler aufgetreten.
success: Alle Ausführungsumgebungen wurden erfolgreich synchronisiert.
shell:
command: Befehl
file_tree:
empty: Das Dateisystem wurde bisher noch nicht aufgelistet.
headline: Dateisystem
list_now: Jetzt laden.
permission_denied: Der Zugriff auf die angeforderte Datei wurde verweigert. Bitte überprüfen Sie, dass die Datei existiert, der aktuelle Benutzer Leseberechtigungen besitzt und versuchen Sie ggf. die Datei mit "root"-Rechten anzufordern. Dazu müssen Sie den "sudo"-Schalter neben der Befehlszeile aktivieren und anschließend das Dateisystem vor dem Herunterladen einer Datei aktualisieren.
reload: Aktualisieren
reload_tooltip: Aktualisieren Sie die Liste der verfügbaren Dateien im Runners. Diese Aktion wird einige Sekunden in Anspruch nehmen.
root_notice: Dateien werden standardmäßig mit einem nicht-priviligerten Nutzer abgerufen. Um Dateien als "root" abzurufen, müssen Sie den "sudo" Schalter neben der Befehlszeile aktivieren und anschließend das Dateisystem vor dem Herunterladen einer Datei aktualisieren.
statistics:
exercise: Übung
maximum_score: Maximale Punktzahl
percentage_correct: Prozent Korrekt
runs: Durchschnittliche Anzahl von Versuchen
score: Durchschnittliche Punktzahl
stddev_score: stdabw (Punktzahl)
stddev_worktime: stdabw (Arbeitszeit)
users_and_programming_groups: Anzahl Nutzer und Programmiergruppen
worktime: Durchschnittliche Arbeitszeit

View File

@ -0,0 +1,231 @@
---
de:
activerecord:
attributes:
exercise:
allow_auto_completion: Autovervollständigung aktivieren
allow_file_creation: Dateierstellung erlauben
average_score_percentage: Durchschnittliche Bewertung in Prozent
description: Beschreibung
difficulty: Schwierigkeitsgrad
distinct_final_submissions: Endgültige Abgaben
embedding_parameters: Parameter für LTI-Einbettung
execution_environment: Ausführungsumgebung
execution_environment_id: Ausführungsumgebung
files: Dateien
finishing_rate: Abschlussquote
hide_file_tree: Dateibaum verstecken
instructions: Anweisungen
internal_title: Alternativer Titel
late_submission_deadline: Verspätete Abgabefrist
maximum_score: Erreichbare Punktzahl
number_of_users_and_programming_groups: "# Nutzer und Programmiergruppen"
public: Öffentlich
selection: Ausgewählt
submission_deadline: Abgabefrist
tags: Tags
title: Titel
token: Aufgaben-Token
unpublished: Deaktiviert
user: Autor
uuid: UUID
models:
exercise:
one: Aufgabe
other: Aufgaben
exercises:
download_file_tree:
file_root: Erstellte Dateien
gone: Die angeforderte Datei konnte nicht abgerufen werden. Erstellte Dateien werden nur kurzzeitig vorgehalten und dann gelöscht. Bitte führen Sie den Code erneut aus und versuchen Sie dann wieder den Download der Datei.
editor:
collapse_action_sidebar: Aktions-Leiste Einklappen
collapse_output_sidebar: Ausgabe-Leiste Einklappen
confirm_start_over: Wollen Sie in dieser Aufgabe wirklich von vorne anfangen? Ihre bisherigen Änderungen in dieser Aufgabe werden entfernt; andere Aufgaben bleiben unverändert. Diese Aktion kann nicht rückgängig gemacht werden.
confirm_start_over_active_file: Wollen Sie wirklich Ihre Änderungen in der ausgewählten Datei '%{filename}' zurücksetzen? Diese Aktion kann nicht rückgängig gemacht werden.
create_file: Neue Datei
deadline: Deadline
depleted: Alle Ausführungsumgebungen sind momentan in Benutzung. Probiere es später nochmal.
destroy_file: Datei löschen
download: Herunterladen
dummy: Keine Aktion
exercise_finished: Herzlichen Glückwunsch! Sie haben die Aufgabe vollständig gelöst. <a href="%{url}" class="alert-link">Klicken Sie hier, um die Aufgabe jetzt abzuschließen.</a>
exercise_finished_redirect_to_own_rfc: Herzlichen Glückwunsch! Sie haben die Aufgabe vollständig gelöst und die Punkte übertragen. Ihre Frage ist damit wahrscheinlich gelöst? Falls ja, fügen Sie doch den entscheidenden Kniff als Antwort hinzu und markieren die Frage als gelöst, bevor Sie das Fenster schließen.
exercise_finished_redirect_to_rfc: Herzlichen Glückwunsch! Sie haben die Aufgabe vollständig gelöst und die Punkte übertragen. Ein anderer Teilnehmer hat eine Frage zu der von Ihnen gelösten Aufgabe. Er würde sich sicherlich sehr über Ihre Hilfe und Kommentare freuen.
exercise_finished_remote: Herzlichen Glückwunsch! Sie haben die Aufgabe vollständig gelöst und die Punkte erfolgreich an %{consumer} übertragen.
expand_action_sidebar: Aktions-Leiste Ausklappen
expand_output_sidebar: Ausgabe-Leiste Ausklappen
hints:
disclaimer: Bei Fragen zu Deadlines wenden Sie sich bitte an das Teaching Team. Die hier angezeigte Abgabefrist dient nur zur Information und Angaben auf der jeweiligen Kursseite in der E-Learning-Plattform sollen immer Vorrang haben.
late_submission_deadline: Bis <b>%{deadline}</b> werden 80% Ihrer Punktzahl anerkannt.<br/><small>Wenn Sie diese erweiterte Frist ungenutzt verstreichen lassen und Ihre Abgabe später einreichen, werden 0 Punkte übertragen.</small>
otherwise: Nach der Abgabefrist werden 0 Punkte übertragen.
submission_deadline: Diese Abgabe ist am <b>%{deadline}</b> fällig.<br/><small>Bitte schließen Sie daher die Aufgabe rechtzeitig vorher ab. %{otherwise}</small>
input: Ihre Eingabe
is_offline: "%{name} ist offline"
is_online: "%{name} ist online"
lastsaved: 'Zuletzt gespeichert: '
network: 'Während Ihr Code läuft, ist Port %{port} unter folgender Adresse erreichbar: <a href="%{address}" target="_blank" rel="noopener">%{address}</a>.'
out_of_memory: Ausführung gestoppt. Ihr Code hat den erlaubten Arbeitsspeicher von %{memory_limit} MB überschritten.
render: Anzeigen
requestComments: Kommentare erbitten
requestCommentsTooltip: Falls Sie Hilfe mit Ihrem Code benötigen, können Sie hier Kommentare erbitten
request_for_comments_sent: Kommentaranfrage gesendet.
run: Ausführen
run_failure: Ihr Code konnte nicht auf der Plattform ausgeführt werden.
run_success: Ihr Code wurde auf der Plattform ausgeführt.
runner_in_use: Sie führen momentan Code aus. Bitte stoppen Sie die vorherige Ausführung oder warten Sie einen Moment, bevor Sie fortfahren.
score: Bewerten
send: Senden
start_over: Diese Aufgabe zurücksetzen
start_over_active_file: Diese Datei zurücksetzen
start_video: "(Video-) Chat starten"
stop: Stoppen
submit_failure_all: Beim Übermitteln Ihrer Punktzahl ist ein Fehler aufgetreten. Bitte versuchen Sie es später erneut.
submit_failure_other_users: Die Punkteübertragung war nur teilweise erfolgreich. Die Punkte konnten nicht für %{user} übertragen werden. Diese Person(en) sollte die Aufgabe über die e-Learning Platform erneut öffnen und anschließend die Punkte selbst übermitteln.
submit_failure_remote: Ihre Abgabe wurde erfolgreich mit %{score}% bewertet. Ihr Ergebnis konnte jedoch nicht an die E-Learning-Plattform gesendet werden. Bitte überprüfen Sie die Abgabefrist, öffnen Sie die Übung über die E-Learning-Plattform und versuchen Sie es erneut.
submit_no_validation_token: Keine Übung für dieses Validierungstoken gefunden!
submit_too_late: Ihre Abgabe wurde erfolgreich gespeichert, ging jedoch nach der Abgabefrist ein, sodass nur %{score_sent}% übertragen wurden.
test: Testen
timeout: Ausführung gestoppt. Ihr Code hat die erlaubte Ausführungszeit von %{permitted_execution_time} Sekunden überschritten.
editor_file_tree:
file_root: Dateien
export_codeharbor:
buttons:
abort: Abbrechen
close: Schließen
export: Export
retry: Erneut probieren
check:
no_task: Auf CodeHarbor wurde keine entsprechende Aufgabe gefunden. Mit dem Export der Aufgabe wird eine neue auf CodeHarbor angelegt, die mit dieser verbunden ist. Anschließend können Veränderungen an der Aufgabe von beiden Systemen aus jeweils in das andere Übertragen werden.
task_found: Auf CodeHarbor wurde eine entsprechende Aufgabe gefunden. Mit dem Export der Aufgabe werden alle Veränderungen, die auf CodeOcean vorgenommen wurden, exportiert und die Aufgabe auf CodeHarbor überschrieben.
task_found_no_right: Auf CodeHarbor wurde eine entsprechende Aufgabe gefunden, Sie haben aber keine Rechte sie zu bearbeiten. Bitte wenden Sie sich an einen Admin, wenn Sie denken, dass Sie die Rechte dazu besitzen sollten.
checking_codeharbor: Es wird geprüft, ob auf CodeHarbor eine korrespondierende Aufgabe gefunden werden kann.
dialogtitle: Zu CodeHarbor exportieren
error: Es ist ein Fehler bei der Kommunikation mit CodeHarbor aufgetreten.
export_failed: 'Export ist fehlgeschlagen.<br>ID: %{id}<br>Title: %{title}<br><br>Error: %{error}'
label: Zu CodeHarbor exportieren
successfully_exported: 'Aufgabe wurde erfolgreich exportiert.<br>ID: %{id}<br>Title: %{title}'
external_users:
statistics:
addendum: "* Differenzen von mehr als %{delta} Minuten werden ignoriert."
after_late_deadline: Verspätete Abgabe
before_deadline: Abgabe rechtzeitig
cause: Grund
filter: 'Hinweis: Nur die letzte Abgabe vor einer Abgabefrist ist sichtbar.'
legend: 'Legende:'
no_data_available: Keine Daten verfügbar oder fehlende Berechtigungen.
no_deadline: Keine Abgabefrist
score: Punktzahl
tests: Unit Tests
time: Zeit (UTC)
time_difference: Arbeitszeit bis hier*
toggle_autosave_off: Zwischenspeicherungen ausblenden
toggle_autosave_on: Zwischenspeicherungen anzeigen
toggle_status_off: Zwischenspeicherungen sind ausgeblendet
toggle_status_on: Zwischenspeicherungen sind eingeblendet
within_grace_period: Abgabe innerhalb der Gnadenfrist
file_form:
hints:
feedback_message: Diese Nachricht wird als Hinweis zu fehlschlagenden Tests angezeigt.
hidden_feedback: Bei Aktivierung dieser Option werden Tests nur im Hintergrund ausgeführt, das Ergebnis und Feedback Lernenden allerdings nicht angezeigt.
path: Pfad der Datei im Projektverzeichnis. Kann auch leer gelassen werden.
upload: Eine hochgeladene Datei hat Vorrang vor Änderungen im Textfeld und wird nach dem Speichern sichtbar. Der Dateiname und die Dateiendung wird automatisch von der hochgeladenen Datei übernommen.
form:
add_file: Datei hinzufügen
add_tips: Tipps hinzufügen
click_to_collapse: Zum Aus-/Einklappen hier klicken...
hints:
internal_title: Ein alternativer Titel für diese Aufgabe, der nur für Lehrende sichtbar ist.
late_submission_deadline: Eine Gnadenfrist für Abgaben in UTC. Die verlängerte Abgabefrist soll nicht vor der eigentlichen Abgabefrist liegen. Abgaben nach der Abgabefrist werden deutlich gekennzeichnet und mit 100% Punktabzug an die E-Learning-Plattform übertragen.
submission_deadline: Ein Zeitpunkt in UTC, zu dem die Abgabe geschlossen wird. Abgaben nach der Abgabefrist werden als verspätet gekennzeichnet und nur mit 20% Punktabzug an die E-Learning-Plattform übertragen.
no_execution_environment_selected: Bitte eine Ausführungsumgebung auswählen, bevor die Aufgabe aktiviert wird.
none: Keine
tags: Tags
tips: Tipps
unpublish_warning: Mit dieser Aktion wird die Aufgabe deaktiviert. Jeder Student, der versucht sie zu implementieren wird eine Fehlermeldung bekommen, bis die Aufgabe wieder aktiviert wurde.
implement:
break_intervention:
text: Falls Sie bei dieser Aufgabe momentan nicht weiterkommen, können Sie jederzeit eine Pause einlegen und später weiter knobeln. Ihr Fortschritt wird in CodeOcean automatisch gespeichert.
title: Pause
code_rating: Code-Stil
comment:
addCommentButton: Kommentar abschicken
addyours: Fügen Sie Ihren Kommentar hinzu
dialogtitle: Kommentar hinzufügen
others: Andere Kommentare auf dieser Zeile
question: Bitte beschreiben Sie kurz Ihre Probleme oder nennen Sie den Programmteil, zu dem Sie Feedback wünschen. Ihr Programmcode und eventuelle Fehlermeldungen werden automatisch zur Anfrage hinzugefügt.
request: Kommentaranfrage stellen
default_linter_feedback: Sehr gut. Der Linter hat nichts mehr zu beanstanden.
default_test_feedback: Sehr gut. Alle Tests waren erfolgreich.
error_hints:
heading: Hinweise
error_messages: Fehlermeldungen
existing_programming_group: Sie arbeiten gerade an der Übung mit dem Titel '%{exercise}' als Teil einer Programmiergruppe. Bitte schließen Sie Ihre Arbeit dort ab, bevor Sie mit der Bearbeitung dieser Übung beginnen.
exit_failure: Die letzte Code-Ausführung wurde mit einem Fehler beendet (Statuscode %{exit_code}).
exit_successful: Die letzte Code-Ausführung wurde erfolgreich beendet (Statuscode %{exit_code}).
external_privacy_policy: Datenschutzerklärung
feedback: Feedback
flowr:
go_to_question: Lösung ansehen
heading: Weitere Hinweise | Unterstützt von StackOverflow
intervention:
explanation: 'Diese Meldung erscheint, weil Sie %{duration} Minuten an dieser Aufgabe gearbeitet haben. 25% Ihrer Mitlernenden arbeiten länger daran, insofern ist das kein Problem, aber dies hat sich als <a href=''https://hpi.de/forschung/publikationen/dissertationen/dissertation-ralf-teusner.html'' style=''display: contents;'' target=''_blank'' rel=''noopener''>effektiven Zeitpunkt für diese Meldung</a> erwiesen.'
linter_file: Linter-Feedback <span class="number d-none">%{number}</span>(<span class="filename">%{filename}</span>)
messages: Meldungen
no_execution_environment: Für die Aufgabe wurde noch keine Ausführungsumgebung gewählt.
no_files: Die Aufgabe umfasst noch keine sichtbaren Dateien.
no_output: Die letzte Code-Ausführung terminierte am %{timestamp} ohne Ausgabe.
no_output_exit_failure: Die letzte Code-Ausführung terminierte am %{timestamp} ohne Ausgabe und wurde mit einem Fehler beendet (Statuscode %{exit_code}).
no_output_exit_successful: Die letzte Code-Ausführung terminierte am %{timestamp} ohne Ausgabe und wurde erfolgreich beendet (Statuscode %{exit_code}).
no_output_yet: Bisher existiert noch keine Ausgabe.
not_graded: ohne Punkte
output: Programm-Ausgabe
passed_tests: Erfolgreiche Tests
results: Ergebnisse
rfc_intervention:
text: Falls Sie bei dieser Aufgabe nicht weiterkommen und nicht selbst weiter knobeln möchten, können Ihre Mitlernenden bestimmt helfen! </br> </br>
test_count: <span class="number">%{count}</span> Test-Dateien wurden ausgeführt.
test_file: Test-Datei <span class="number">%{number}</span> (<span class="filename">%{filename}</span>)
tips:
description: Erklärung
example: Beispiel
heading: Tipps
tips_intervention:
text: Falls Sie bei dieser Aufgabe momentan nicht weiterkommen, können Sie die verfügbaren Tipps vielleicht unterstützen. Diese finden Sie jederzeit in der linken Seitenleiste und werden auch direkt hier angezeigt.
unpublished: Die gewählte Aufgabe wurde deaktiviert und kann daher derzeit nicht bearbeitet werden.
import_codeharbor:
import_errors:
internal_error: Beim Import der Aufgabe ist ein interner Fehler aufgetreten.
invalid: Fehlerhafte Aufgabe
index:
clone: Duplizieren
external_user_statistics: Statistik für externe Nutzer
feedback: Feedback
implement: Implementieren
requests_for_comments: Kommentaranfragen
study_group_dashboard: Live Dashboard
test_files: Test-Dateien
show:
is_unpublished: Aufgabe ist deaktiviert
statistics:
average_score: Durchschnittliche Punktzahl
average_worktime: Durchschnittliche Arbeitszeit
deadline: Abgabefrist
external_users: Externe Nutzer
final_submissions: Finale Abgaben
finishing_rate: Abschlussrate
intermediate_submissions: Intermediäre Abgaben
internal_users: Interne Nutzer
participants: Bearbeitende Nutzer
programming_groups: Programmiergruppen
runs: Versuche
score: Maximale Punktzahl
user: Nutzer
users_and_programming_groups: "%{count} verschiedene Nutzer und Programmiergruppen"
worktime: Arbeitszeit
study_group_dashboard:
learner: Lerner
live_dashboard: Live Dashboard
no_data_yet: Bisher sind keine Daten verfügbar
related_requests_for_comments: Zugehörige Kommentaranfragen
time_spent_in_minutes: benötigte Zeit in Minuten
time_spent_per_learner: Verwendete Zeit pro Lerner

View File

@ -0,0 +1,22 @@
---
de:
activerecord:
attributes:
exercise_collections:
exercises: Aufgaben
id: ID
name: Name
solutions: Gesamtanzahl Lösungsversuche
submissions: Gesamtanzahl Submissions
updated_at: Letzte Änderung
use_anomaly_detection: Abweichungen in der Arbeitszeit erkennen
user: Verantwortlicher
users_and_programming_groups: Teilnehmer und Programmiergruppen
models:
exercise_collection:
one: Aufgabesammlung
other: Aufgabensammlungen
exercise_collections:
form:
add_exercises: Aufgaben hinzufügen
sort_by_title: Nach Titel sortieren

View File

@ -0,0 +1,6 @@
---
de:
activerecord:
attributes:
exercise_collection_item:
exercise: Aufgabe

View File

@ -0,0 +1,9 @@
---
de:
activerecord:
attributes:
exercise_tip:
exercise: Aufgabe
parent_exercise_tip: Übergeordneter Tipp
rank: Rang
tip: Tipp

View File

@ -0,0 +1,27 @@
---
de:
activerecord:
attributes:
external_user:
consumer: Konsument
email: E-Mail
external_id: Externe ID
name: Name
platform_admin: Platform Admin
models:
external_user:
one: Externer Nutzer
other: Externe Nutzer
external_users:
show:
empty_tag_statistics: Keine Statistiken verfügbar
exercise_statistics: Aufgabenstatistiken
loading_tag_statistics: Lade Lernbereichstatistiken
tag_statistics: Lernbereichstatistiken
statistics:
deadline: Abgabefrist
exercise: Übung
runs: Abgaben
score: Maximale Punktzahl
title: Statistiken für Externe Benutzer
worktime: Arbeitszeit

View File

@ -0,0 +1,14 @@
---
de:
activerecord:
attributes:
file_template:
content: Code
file_type: Dateityp
name: Name
models:
file_template:
one: Dateivorlage
other: Dateivorlagen
file_template:
no_template_label: Leere Datei

View File

@ -0,0 +1,17 @@
---
de:
activerecord:
attributes:
file_type:
binary: Binär
editor_mode: Editor-Modus
executable: Ausführbar
file_extension: Dateiendung
indent_size: Einrückung
name: Name
renderable: Anzeigbar
user: Autor
models:
file_type:
one: Dateityp
other: Dateitypen

View File

@ -0,0 +1,13 @@
---
de:
activerecord:
attributes:
hint:
locale: Sprache
message: Nachricht
name: Name
regular_expression: Regulärer Ausdruck
models:
hint:
one: Hinweis
other: Hinweise

View File

@ -0,0 +1,39 @@
---
de:
activerecord:
attributes:
internal_user:
activated: Aktiviert
consumer: Konsument
consumer_id: Konsument
email: E-Mail
name: Name
password: Passwort
password_confirmation: Passwort-Bestätigung
platform_admin: Platform Admin
models:
internal_user:
one: Interner Nutzer
other: Interne Nutzer
internal_users:
activate:
headline: Registrierung abschließen
submit: Passwort speichern
success: Sie haben Ihre Registrierung erfolgreich abgeschlossen.
forgot_password:
headline: Passwort zurücksetzen
submit: Anweisungen zum Zurücksetzen senden
success: Anweisungen zum Zurücksetzen Ihres Passworts wurden an Ihre E-Mail-Adresse gesendet.
form:
click_to_collapse: Zum Aus-/Einklappen hier klicken...
study_groups: Lerngruppen
index:
activate: Aktivieren
forgot_password: Passwort zurücksetzen
reset_password: Passwort zurücksetzen
reset_password:
headline: Passwort zurücksetzen
submit: Passwort speichern
success: Sie haben Ihr Passwort erfolgreich geändert.
show:
link: Profil

View File

@ -0,0 +1,6 @@
---
de:
activerecord:
attributes:
intervention:
name: Name

View File

@ -0,0 +1,37 @@
# PyLint translation
The files in this folder are used to translate PyLint results from the original English output to German.
## Structure
The following hierarchy has been implemented:
1. `severity` of the linter check result
1. The `severity_name` translates the severity itself
2. code of the linter check result
3. A list of required values for the actual translation
1. `example`: not used anywhere, just for reference when editing this yml file
2. `name`: Title of the linter check
3. `regex`: A regex used to translate dynamic parts with _named_ capture groups
4. `replacement`: A fix replacement translation which is used instead of the
original English output. It may refer to one of the named capture
groups to include dynamic content from the English original
5. `log_missing`: Specifies whether missing translations should be logged to Sentry
4. Optionally a named capture group from the regex
5. A list of fix translations for _values / matches_ of the named capture group
## Additional information for `error.syntax-error`
- `replacement`: `context`, and `line` are matched as well but are currently not used
- `what.invalid decimal literal`: An example would be `100_years`
- `waht_exactly`:
- It must start with a space character
- The following errors are used in the context of an f-string:
- `empty expression not allowed`
- `single`
- `unmatched`
- The following capture groups are used without translation:
- `actual`
- `suggestion`
- `context`
- `line`

View File

@ -0,0 +1,43 @@
---
de:
linter:
convention:
bad-whitespace:
example: No space allowed before bracket
log_missing: true
name: Inkorrektes Leerzeichen
regex: "(?<what>Exactly one space required|No space allowed) (?<where>after|before|around) (?<when>.*)"
replacement: "%{where} %{when} %{what}"
what:
Exactly one space required: sollte genau ein Leerzeichen stehen
No space allowed: sollte kein Leerzeichen stehen
when:
":": einem Doppelpunkt
assignment: einer Zuweisung
bracket: einer Klammer
comma: einem Komma
comparison: einem Vergleich
keyword argument assignment: einer Zuweisung von Schlüsselargumenten
where:
after: Hinter
around: Vor und hinter
before: Vor
multiple-statements:
example: More than one statement on a single line
log_missing: false
name: Mehrere Anweisungen
regex: ".*"
replacement: Mehr als eine Anweisung in einer Zeile
severity_name: Konvention
superfluous-parens:
example: Unnecessary parens after 'if' keyword
log_missing: false
name: Überflüssige Klammer
regex: ".*'(?<keyword>.*)'.*"
replacement: Nach dem Schlüsselwort '%{keyword}' ist keine Klammer notwendig
wrong-import-position:
example: Import "from turtle import *" should be placed at the top of the module
log_missing: false
name: Falsche Import-Position
regex: .*"(?<import>.*)".*
replacement: Der Import von "%{import}" sollte am Anfang der Datei stehen

View File

@ -0,0 +1,83 @@
---
de:
linter:
error:
function-redefined:
example: function already defined line 15
log_missing: false
name: Funktionsdefinition überschrieben
regex: ".*line (?<line>\\d*).*"
replacement: Eine Funktion mit demselben Namen wurde bereits in Zeile %{line} definiert
import-error:
example: Unable to import 'turtel'
log_missing: false
name: Import-Fehler
regex: ".*'(?<import>.*)'.*"
replacement: Der Import von '%{import}' ist fehlgeschlagen
return-outside-function:
example: Return outside function
log_missing: false
name: Return außerhalb einer Funktion
regex: ".*"
replacement: Ein Return kann nur innerhalb einer Funktion verwendet werden
severity_name: Fehler
syntax-error:
example: EOL while scanning string literal (<unknown>, line 1)
explanation:
Did you mean: "\" fehlen. Vielleicht meintest du folgendes:"
does not match opening parenthesis: " passt nicht zu der öffnenden Klammer "
is not allowed: "\" ist nicht erlaubt"
log_missing: true
name: Syntax-Fehler
regex: '(?<what>invalid syntax|EOL while scanning string literal|EOF while scanning triple-quoted string literal|cannot assign to|expected an indented block|Missing parentheses in call to|closing parenthesis|expression cannot contain assignment, perhaps you meant|f-string expression part cannot include a backslash|f-string:|invalid character in identifier|invalid decimal literal|trailing comma not allowed without surrounding parentheses|unexpected EOF while parsing|unexpected character after line continuation character|unexpected indent|unexpected unindent|unindent does not match any outer indentation level|unmatched|inconsistent use of tabs and spaces in indentation|illegal target for annotation|positional argument follows keyword argument|leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integers|cannot assign to comparison|non-default argument follows default argument|cannot use assignment expressions with) ?(?<what_exactly>function call|literal|operator|set display|empty expression not allowed|single|unmatched)? ?(?:''(?<actual>[^''"]*)''\.*)? ?(?:(?<explanation>Did you mean|does not match opening parenthesis|is not allowed)(?: '')?)?(?:(?<suggestion>.*)(?:\?|''|"))? ?\((?<context>.*), line (?<line>\d*)\).*'
replacement: "%{what}%{what_exactly}%{actual}%{explanation}%{suggestion}"
what:
EOF while scanning triple-quoted string literal: Ein Kommentar mit drei Anführungszeichen wurde nicht geschlossen
EOL while scanning string literal: Ein String wurde nicht geschlossen
Missing parentheses in call to: Die Klammern beim Aufruf von "
cannot assign to: Die Zuweisung ist ungültig für
cannot assign to comparison: Ein Vergleich kann nicht das Ziel einer Zuweisung sein und daher nicht links von einem einfachen Gleichheitszeichen = stehen
cannot use assignment expressions with: Die Zuweisung ist ungültig für
closing parenthesis: 'Die schließende Klammer '
expected an indented block: Ein eingerückter Codeblock wurde erwartet
expression cannot contain assignment, perhaps you meant: 'Die Anweisung kann keine Zuweisung enthalten, vielleicht meintest du folgendes: '
f-string expression part cannot include a backslash: Ein Platzhalter in einem f-String kann keinen Backslash \ enthalten
'f-string:': 'f-String:'
illegal target for annotation: Ungültige Schreibweise eines Bezeichners mit einem Großbuchstaben
inconsistent use of tabs and spaces in indentation: Gemischte Einrückung mit Leerzeichen und Tabs
invalid character in identifier: Ungültiges Zeichen im Bezeichner
invalid decimal literal: Ungültige Zahl
invalid syntax: Ungültige Syntax
leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integers: Eine Zahl darf nicht mit einer führenden Null beginnen
non-default argument follows default argument: Ein Argument ohne Standardwert darf nicht nach einem Argument mit Standardwert folgen
positional argument follows keyword argument: Nach einem benannten Argument darf kein Argument ohne Namen folgen
trailing comma not allowed without surrounding parentheses: Ein Komma am Ende einer Aufzählung ist ohne umgebende Klammern nicht erlaubt
unexpected EOF while parsing: Es wurden weitere Zeichen in dem Quellcode erwartet, diese fehlten jedoch
unexpected character after line continuation character: Nach einem Backslash \ außerhalb eines Strings darf in der selben Zeile kein weiteres Zeichen folgen
unexpected indent: Ungültige Einrückung
unexpected unindent: Ungültige Einrückung nach einem weiter eingerückten Code-Block
unindent does not match any outer indentation level: Die Einrückung passt nicht zu einem vorherigen Teil
unmatched: 'Die folgende Klammer scheint zu viel zu sein: '
what_exactly:
dict display: " ein Dictionary"
empty expression not allowed: " eine leere Anweisung ist nicht erlaubt"
f-string expression: " einem F-String"
function call: " eine Funktion"
list display: " eine Liste"
literal: " eine Zahl"
operator: " einen Operator"
set display: " einer Menge"
single: ' eine einzelne "'
unmatched: " unpassende Klammer "
undefined-variable:
example: Undefined variable 'beginn_fill'
log_missing: false
name: Undefinierter Bezeichner
regex: ".*'(?<name>.*)'.*"
replacement: Der Name '%{name}' ist unbekannt
used-before-assignment:
example: Using variable 'kleidung' before assignment
log_missing: false
name: Verwendung vor Zuweisung
regex: ".*'(?<name>.*)'.*"
replacement: Die Variable '%{name}' wird vor ihrer erstmaligen Zuweisung verwendet

View File

@ -0,0 +1,23 @@
---
de:
linter:
refactor:
comparison-with-itself:
example: Redundant comparison - hauptspeise == hauptspeise
log_missing: false
name: Vergleich mit sich selbst
regex: ".* - (?<comparison>.*)"
replacement: Der Vergleich ist überflüssig - %{comparison}
inconsistent-return-statements:
example: Either all return statements in a function should return an expression, or none of them should.
log_missing: false
name: Uneinheitliche Rückgabewerte
regex: ".*"
replacement: Entweder sollten alle return Anweisungen in einer Funktion ein Ergebnis zurückgeben oder keine Anweisung sollte einen Rückgabewert haben
redefined-argument-from-local:
example: Redefining argument with the local name 'Wort'
log_missing: false
name: Überschreiben eines Arguments
regex: ".*'(?<name>.*)'.*"
replacement: Das Argument '%{name}' wird überschrieben
severity_name: Überarbeitung empfohlen

View File

@ -0,0 +1,89 @@
---
de:
linter:
warning:
bad-indentation:
example: Bad indentation. Found 3 spaces, expected 4
log_missing: false
name: Ungültige Einrückung
regex: ".*(?<actual>\\d+).*(?<expected>\\d+).*"
replacement: Statt %{actual} Leerzeichen wurden %{expected} Leerzeichen erwartet
duplicate-except:
example: Catching previously caught exception type ValueError
log_missing: false
name: Doppeltes Except
regex: Catching previously caught exception type (?<exception>.*)
replacement: Die zuvor bereits aufgefangene Exception '%{exception}' wird erneut behandelt
duplicate-key:
example: Duplicate key 100 in dictionary
log_missing: false
name: Doppelter Schlüssel
regex: Duplicate key (?<key>.*) in dictionary
replacement: Der Schlüssel '%{key}' ist im Dictionary doppelt vorhanden
mixed-indentation:
example: Found indentation with tabs instead of spaces
log_missing: false
name: Gemischte Einrückung
regex: ".*"
replacement: Es wurde eine Einrückung mit Tabs anstelle von Leerzeichen entdeckt
pointless-statement:
example: Statement seems to have no effect
log_missing: false
name: sinnlose Anweisung
regex: ".*"
replacement: Die Anweisung scheint keine Auswirkungen zu haben
pointless-string-statement:
example: String statement has no effect
log_missing: false
name: sinnloser String
regex: ".*"
replacement: Ein einzelner String ohne Zuweisung hat keine Auswirkung
redefined-builtin:
example: Redefining built-in 'print'
log_missing: false
name: Überschreiben
regex: ".*'(?<builtin>.*)'.*"
replacement: Der interne Bezeichner '%{builtin}' wird überschrieben
redefined-outer-name:
example: Redefining name 'name' from outer scope (line 1)
log_missing: false
name: Überschreiben
regex: ".*'(?<name>.*)'.*\\(line (?<line>\\d*)\\).*"
replacement: Der Bezeichner '%{name}', der bereits in Zeile %{line} definiert wurde, wird überschrieben
self-assigning-variable:
example: Assigning the same variable 'kleidung' to itself
log_missing: false
name: Selbstzuweisung
regex: ".*'(?<name>.*)'.*"
replacement: Die Variable '%{name}' wird sich selbst zugewiesen
severity_name: Warnung
undefined-loop-variable:
example: Using possibly undefined loop variable 'i'
log_missing: false
name: Unbekannte Schleifenvariable
regex: ".*'(?<name>.*)'.*"
replacement: Die Schleifenvariable '%{name}' ist möglicherweise nicht definiert
unnecessary-semicolon:
example: Unnecessary semicolon
log_missing: false
name: Unnötiges Semikolon
regex: ".*"
replacement: Am Ende einer Zeile sollte kein Semikolon stehen
unreachable:
example: Unreachable code
log_missing: false
name: Unerreichbar
regex: ".*"
replacement: Die Anweisung wird nie ausgeführt
unused-argument:
example: Unused argument 'laenge'
log_missing: false
name: Unbenutztes Argument
regex: ".*'(?<name>.*)'.*"
replacement: Das Argument '%{name}' wird nicht verwendet
unused-variable:
example: Unused variable 'i'
log_missing: false
name: Unbenutzte Variable
regex: ".*'(?<name>.*)'.*"
replacement: Die Variable '%{name}' wird nicht verwendet

View File

@ -0,0 +1,163 @@
---
de:
mailers:
user_mailer:
activation_needed:
body: Bitte besuchen Sie %{link} und wählen Sie ein Passwort, um Ihre Registrierung abzuschließen.
subject: Bitte schließen Sie Ihre Registrierung ab.
exercise_anomaly_detected:
body1: |
English version below <br>
_________________________<br>
<br>
Hallo %{receiver_displayname}, <br>
<br>
eine oder mehrere Aufgaben Ihrer Aufgabensammlung "%{collection_name}" zeigen Unregelmäßigkeiten in der Bearbeitungszeit. Möglicherweise sind sie zu schwer oder zu leicht.
<br>
Die Aufgaben sind:
<br>
body2: |
<br>
Falls Sie beim Klick auf einen Link eine Fehlermeldung erhalten, dass Sie nicht berechtigt wären diese Aktion auszuführen, öffnen Sie bitte eine beliebige Programmieraufgabe aus einem Kurs heraus und klicken den Link danach noch einmal.<br>
<br>
Diese Mail wurde automatisch von CodeOcean verschickt.<br>
<br>
_________________________<br>
<br>
Dear %{receiver_displayname}, <br>
<br>
at least one exercise in your exercise collection "%{collection_name}" has a much longer or much shorter average working time than the average. Perhaps they are too difficult or too easy.
<br>
The exercises are:
<br>
body3: |
<br>
If you receive an error that you are not authorized to perform this action when clicking a link, please log-in through any course exercise beforehand and click the link again. <br>
<br>
This mail was automatically sent by CodeOcean. <br>
subject: Unregelmäßigkeiten in Aufgaben Ihrer Aufgabensammlung
exercise_anomaly_needs_feedback:
body: |
English version below <br>
_________________________<br>
<br>
Hallo %{receiver_displayname}, <br>
<br>
um die Aufgaben auf CodeOcean weiter zu verbessern, benötigen wir Ihre Mithilfe. Bitte nehmen Sie sich ein paar Minuten Zeit um ein kurzes Feedback zu folgender Aufgabe zu geben:
<br>
%{exercise} - %{link}
<br>
Falls Sie beim Klick auf diesen Link eine Fehlermeldung erhalten, dass Sie nicht berechtigt wären diese Aktion auszuführen, öffnen Sie bitte eine beliebige Programmieraufgabe aus einem Kurs heraus und klicken den Link danach noch einmal.<br>
<br>
Diese Mail wurde automatisch von CodeOcean verschickt.<br>
<br>
_________________________<br>
<br>
Dear %{receiver_displayname}, <br>
<br>
we need your help to improve the quality of the exercises on CodeOcean. Please take a few minutes to give us feedback for the following exercise:
<br>
%{exercise} - %{link}
<br>
If you receive an error that you are not authorized to perform this action when clicking the link, please log-in through any course exercise beforehand and click the link again. <br>
<br>
This mail was automatically sent by CodeOcean. <br>
subject: Eine Aufgabe auf CodeOcean benötigt Ihr Feedback
got_new_comment:
body: |
English version below <br>
_________________________<br>
<br>
Hallo %{receiver_displayname}, <br>
<br>
es gibt einen neuen Kommentar von %{commenting_user_displayname} zu Ihrer Kommentaranfrage auf CodeOcean. <br>
<br>
%{commenting_user_displayname} schreibt: %{comment_text}<br>
<br>
Sie finden ihre Kommentaranfrage hier: %{link_to_comment} <br>
<br>
Eine Übersicht Ihrer Kommentaranfragen gibt es hier: %{link_my_comments} <br>
Alle Kommentaranfragen aller Benutzer finden Sie hier: %{link_all_comments} <br>
<br>
Diese Mail wurde automatisch von CodeOcean verschickt.<br>
<br>
_________________________<br>
<br>
Dear %{receiver_displayname}, <br>
<br>
you received a new comment from %{commenting_user_displayname} to your request for comments on CodeOcean. <br>
<br>
%{commenting_user_displayname} wrote: %{comment_text} <br>
<br>
You can find your request for comments here: %{link_to_comment} <br>
<br>
An overview of all your comments can be accessed here: %{link_my_comments} <br>
All comments of all participants are available here: %{link_all_comments} <br>
<br>
This mail was automatically sent by CodeOcean. <br>
subject: Sie haben einen neuen Kommentar von %{commenting_user_displayname} auf CodeOcean erhalten.
got_new_comment_for_subscription:
body: |
English version below <br>
_________________________<br>
<br>
Hallo %{receiver_displayname}, <br>
<br>
es gibt einen neuen Kommentar von %{author_displayname} zu einer Kommentaranfrage auf CodeOcean, die Sie abonniert haben. <br>
<br>
%{author_displayname} schreibt: %{comment_text}<br>
<br>
Sie finden die Kommentaranfrage hier: %{link_to_comment} <br>
<br>
Wenn Sie keine weiteren Benachrichtigungen zu dieser Anfrage erhalten möchten, klicken Sie bitte hier: %{unsubscribe_link}
<br>
Diese Mail wurde automatisch von CodeOcean verschickt.<br>
<br>
_________________________<br>
<br>
Dear %{receiver_displayname}, <br>
<br>
you received a new comment from %{author_displayname} to a request for comments on CodeOcean that you have subscribed to. <br>
<br>
%{author_displayname} wrote: %{comment_text} <br>
<br>
You can find the request for comments here: %{link_to_comment} <br>
<br>
If you don't want to be notified about further comments, please click here: %{unsubscribe_link}
<br>
This mail was automatically sent by CodeOcean. <br>
subject: "%{author_displayname} hat einen neuen Kommentar in einer Diskussion veröffentlicht, die Sie abonniert haben."
reset_password:
body: Bitte besuchen Sie %{link}, sofern Sie Ihr Passwort zurücksetzen wollen.
subject: Anweisungen zum Zurücksetzen Ihres Passworts
send_thank_you_note:
body: |
English version below <br>
_________________________<br>
<br>
Hallo %{receiver_displayname}, <br>
<br>
%{author} hat Ihnen für Ihren Kommentar auf CodeOcean gedankt. <br>
<br>
%{author} schreibt: %{thank_you_note}<br>
<br>
Sie finden die Kommentaranfrage hier: %{link_to_comment} <br>
<br>
Danke, dass Sie anderen Nutzern von CodeOcean helfen!
<br>
Diese Mail wurde automatisch von CodeOcean verschickt.<br>
<br>
_________________________<br>
<br>
Dear %{receiver_displayname}, <br>
<br>
%{author} thanks you for your comment. <br>
<br>
%{author} wrote: %{thank_you_note} <br>
<br>
You can find the request for comments here: %{link_to_comment} <br>
<br>
Thank you for helping other users on CodeOcean!
<br>
This mail was automatically sent by CodeOcean. <br>
subject: "%{author} sagt Danke!"

View File

@ -0,0 +1,22 @@
---
de:
activerecord:
errors:
messages:
at_least: oder %{attribute} muss definiert sein
together: muss zusammen mit %{attribute} definiert werden
models:
exercise:
at_most_one_main_file: dürfen höchstens eine Hauptdatei enthalten
late_submission_deadline_not_alone: darf nicht ohne eine reguläre Abgabefrist verwendet werden
late_submission_deadline_not_before_submission_deadline: darf nicht vor der reguläre Abgabefrist liegen
internal_user:
attributes:
password:
weak: ist zu schwach. Versuchen Sie es mit einem langen Passwort, welches Groß-, Kleinbuchstaben, Zahlen und Sonderzeichen enthält.
programming_group:
invalid_partner_id: Die Nutzer-ID '%{partner_id}' ist ungültig und wurde entfernt. Bitte überprüfen Sie die Nutzer-IDs der Programmierpartner.
size_too_large: Die Größe dieser Programmiergruppe ist zu groß. Geben Sie nur eine andere Nutzer-ID an.
size_too_small: Die Größe dieser Programmiergruppe ist zu klein. Geben Sie eine andere Nutzer-ID an.
programming_group_membership:
already_exists: existiert bereits für diese Aufgabe für den Nutzer mit der ID %{id_with_type}.

View File

@ -0,0 +1,14 @@
---
de:
application:
markdown_editor:
collapse: Editor zuklappen
expand: Editor aufklappen
not_authorized: Sie sind nicht berechtigt, diese Aktion auszuführen.
not_found: Die angeforderte Ressource konnte nicht gefunden werden.
not_signed_in: Sie müssen angemeldet sein, um diese Aktion auszuführen.
welcome:
text_signed_in_as_external_user: Bitte rufen Sie %{application_name} von einer E-Learning-Plattform auf.
text_signed_in_as_internal_user: Schön, Sie zu sehen, %{user_name}!
text_signed_out: Wenn Sie ein Lernender sind, rufen Sie %{application_name} bitte von einer E-Learning-Plattform auf. Wenn Sie ein Lehrer sind, <a href="%{sign_in_path}">melden Sie sich bitte an</a>.
title: Willkommen bei %{application_name}

View File

@ -0,0 +1,18 @@
---
de:
breadcrumbs:
application:
welcome: Startseite
dashboard:
show: Dashboard
rails_admin:
show: Rails Admin
sessions:
create: Anmelden
destroy_through_lti: Code-Abgabe
new: Anmelden
statistics:
graphs: Visualisierungen
rfc_activity_history: Kommentaranfragenhistorie
show: Statistiken
user_activity_history: Nutzeraktivitätshistorie

View File

@ -0,0 +1,5 @@
---
de:
locales:
de: Deutsch
en: Englisch

View File

@ -0,0 +1,9 @@
---
de:
navigation:
sections:
contributors: Mitwirkende
errors: Fehler
files: Dateien
integrations: Integrationen
users: Nutzer

View File

@ -0,0 +1,54 @@
---
de:
shared:
actions: Aktionen
actions_button: Andere Aktionen
admin_filter:
all: Alle Nutzer:innen
none: Reguläre Nutzer:innen
only: Plattform-Administratoren
administration: Administration
already_signed_in: Sie sind bereits angemeldet.
apply_filters: Filter anwenden
back: Zurück
batch_update: Batch-Update
color_mode:
auto: Automatisch
dark: Dunkel
light: Hell
title: Erscheinungsbild
confirm_destroy: Sind Sie sicher?
create: "%{model} erstellen"
created_at: Erstellt
destroy: Löschen
edit: Bearbeiten
errors_one: Beim Speichern ist ein Fehler aufgetreten
errors_other: Beim Speichern sind %{count} Fehler aufgetreten
help:
execution_environment_specific_help: Hilfe zu %{execution_environment}
headline: Hilfe
imprint: Impressum
link: Hilfe
privacy_policy: Datenschutzerklärung
hide: Verstecken
index: Index
message_failure: Leider ist ein Fehler auf unserer Plattform aufgetreten. Bitte probieren Sie es später noch einmal.
new: Hinzufügen
new_model: "%{model} hinzufügen"
number: Nummer
object_cloned: "%{model} wurde erfolgreich dupliziert."
object_created: "%{model} wurde erfolgreich erstellt."
object_destroyed: "%{model} wurde erfolgreich gelöscht."
object_updated: "%{model} wurde erfolgreich bearbeitet."
out_of: von
reset_filters: Filter zurücksetzen
resources: Ressourcen
show: Anzeigen
statistics: Statistiken
time:
before: "%{time} zuvor"
tooltips:
shortcut: 'Tastaturkürzel: %{shortcut}'
update: "%{model} aktualisieren"
upload_file: Datei hochladen
websocket_failure: Leider ist ein Verbindungsproblem aufgetreten. <a href="https://websocketstest.com" target="_blank" rel="noopener" class="alert-link">Bitte überprüfen Sie Websocket-Verbindungen mit diesem Tool</a> und versuchen Sie es erneut.

View File

@ -0,0 +1,6 @@
---
de:
will_paginate:
next_label: Nächste Seite &#8594;
page_gap: "&hellip;"
previous_label: "&#8592; Vorherige Seite"

View File

@ -0,0 +1,38 @@
---
de:
activerecord:
attributes:
programming_group:
exercise: Aufgabe
external_user_id: Externe Nutzer-ID
internal_user_id: Interne Nutzer-ID
member: Mitglieder
member_count: Anzahl der Mitglieder
name: Name
programming_partner_ids: Nutzer-ID der Programmierpartnerin / des Programmierpartners
models:
programming_group:
one: Programmierpaar
other: Programmierpaare
programming_groups:
form:
hints:
programming_partner_ids: 'Sie können mehrere Nutzer-IDs mit Kommata getrennt eingeben, wie z.B.: ''e123, e234''.'
implement:
info_disconnected: Ihre Verbindung zum Server wurde unterbrochen. Bitte überprüfen Sie Ihre Internetverbindung und laden Sie die Seite erneut.
new:
close: Schließen
create_programming_pair: Programmierpaar erstellen
dont_show_modal_again: Auf diesem Gerät nicht mehr anzeigen
enter_partner_id: Kennen Sie eine Person in dem Kurs, mit der Sie gemeinsam die Aufgabe lösen möchten? Dann geben Sie hier die Nutzer-ID dieser Person ein.
find_partner_description: Wenn Sie keine Person aus dem Kurs kennen, haben Sie die Möglichkeit mit einer anderen Person gepaart zu werden. Sie werden dann zur Aufgabe weitergeleitet, sobald eine andere Person ebenfalls diese Aufgabe im Team lösen möchte.
find_partner_title: Eine:n Programmierpartner:in für die Aufgabe finden
find_programming_partner: Programmierpartner:in finden
info_forced_work_together: Sie können die Aufgabe '%{exercise_title}' nur gemeinsam mit einer anderen Person lösen. Ihr:e Teampartner:in kann sehen, was Sie in dieser Aufgabe schreiben und umgekehrt. Für das Lösen der Aufgabe erhalten Sie Bonuspunkte.
info_pair_programming: 'Pair Programming (Programmieren in Paaren) ist eine Methode, bei der zwei Personen gemeinsam programmieren. Dabei übernehmen sie <i>abwechselnd</i> zwei verschiedene Rollen: Den <i>Driver</i>, der den Code schreibt und sich auf die Details fokussiert und den <i>Navigator</i>, der Tippfehler korrigiert, die Aufgabenstellung im Blick behält und Verbesserungsideen vorschlägt. Kommunikation miteinander ist von entscheidender Bedeutung für erfolgreiches Pair Programming.'
info_work_together: Sie haben die Möglichkeit, die Aufgabe '%{exercise_title}' zusammen mit einer anderen Person zu lösen. Ihr:e Teampartner:in kann sehen, was Sie in dieser Aufgabe schreiben und umgekehrt. Beachten Sie dabei, dass anschließend keiner die Zusammenarbeit beenden kann. Für die nächste Aufgabe können Sie sich erneuert entscheiden, ob und mit wem Sie zusammen arbeiten möchten.
own_user_id: 'Ihre Nutzer-ID:'
pair_programming_info: Pair Programming Info
work_alone: Alleine arbeiten
work_alone_description: Sie können sich einmalig dafür entscheiden, die Aufgabe alleine zu bearbeiten. Anschließend können Sie jedoch nicht mehr in die Partnerarbeit für diese Aufgabe wechseln. <br> <a href=%{path} data-turbolinks="false">Klicken Sie hier, um die Aufgabe im Einzelmodus zu starten.</a>
work_with_a_friend: Mit einem/einer Freund:in zusammenarbeiten

View File

@ -0,0 +1,7 @@
---
de:
activerecord:
models:
programming_group_membership:
one: Programmiergruppenmitgliedschaft
other: Programmiergruppenmitgliedschaften

View File

@ -0,0 +1,18 @@
---
de:
activerecord:
attributes:
proxy_exercise:
algorithm: Algorithmus
algorithm_type:
best_match: Beste Übereinstimmung
random: Zufällige Aufgabe
files_count: Anzahl der Aufgaben
title: Title
models:
proxy_exercise:
one: Proxy Aufgabe
other: Proxy Aufgaben
proxy_exercises:
index:
clone: Duplizieren

View File

@ -0,0 +1,52 @@
---
de:
activerecord:
attributes:
request_for_comments:
close: Fenster schließen
comments: Kommentare
execution_environment: Sprache
exercise: Aufgabe
last_update: Letzte Aktivität
question: Frage
requested_at: Angefragezeitpunkt
username: Benutzername
models:
request_for_comment:
one: Kommentaranfrage
other: Kommentaranfragen
request_for_comments:
cancel_thank_you_note: Nichts senden
click_for_more_comments: Klicken um %{numComments} weitere Kommentare zu sehen...
click_here: Zum Kommentieren auf die Seitenleiste klicken!
comment_edited: bearbeitet
comments: Kommentare
howto: |
Um Kommentare zu einer Programmzeile hinzuzufügen, kann einfach auf die jeweilige Zeilennummer auf der linken Seite geklickt werden. <br>
Es öffnet sich ein Textfeld, in dem der Kommentar eingetragen werden kann. <br>
Mit "Kommentar abschicken" wird der Kommentar dann gesichert und taucht als Sprechblase neben der Zeile auf.
howto_title: Anleitung
index:
all: Alle Kommentaranfragen
my_comment_requests: Meine Kommentaranfragen
my_rfc_activity: Meine Kommentaraktivität
rfcs_for_exercise: Übungsspezifische Kommentare
rfcs_with_my_comments: Kommentaranfragen die ich kommentiert habe
study_groups:
current: Aktuelle Lerngruppe
my: Meine Lerngruppen
placeholder: Lerngruppe
mark_as_solved: Diese Frage als beantwortet markieren
modal_title: Einen Kommentar in Zeile %{line} hinzufügen
no_output: Keine Ausgabe.
no_question: Der Autor hat keine Frage zu dieser Anfrage gestellt.
runtime_output: Programmausgabe
send_thank_you_note: Senden
show_all: Alle Anfragen anzeigen
show_soft_solved: Nur potenziell gelöste Anfragen anzeigen
show_solved: Nur gelöste Anfragen anzeigen
show_unsolved: Nur ungelöste Anfragen anzeigen
solved: Diese Frage wurde erfolgreich beantwortet
subscribe_to_author: Bei neuen Kommentaren des Autors per E-Mail benachrichtigt werden
test_results: Testergebnisse
write_a_thank_you_node: 'Wenn Sie möchten, können Sie sich bei allen Mitstudenten, die Ihnen bei der Beantwortung Ihrer Frage geholfen haben, bedanken:'

View File

@ -0,0 +1,38 @@
---
de:
sessions:
create:
failure: Fehlerhafte E-Mail oder Passwort.
success: Sie haben sich erfolgreich angemeldet.
create_through_lti:
session_with_outcome: Ihre Punkte werden durch Klicken auf "Bewerten" automatisch Ihrem Fortschritt gutgeschrieben.
session_without_outcome: Dies ist eine Übungs-Session. Ihre Bewertung wird nicht an %{consumer} übermittelt.
destroy:
link: Abmelden
success: Sie haben sich erfolgreich abgemeldet.
destroy_through_lti:
average_score: Durchschnittliche Punktzahl
do_not_use_backbutton: Benutzen Sie nicht den "Zurück" Button des Browsers, um zu CodeOcean zurück zu kehren.
final_submissions: Abgaben anderer Nutzer
finished_with_consumer: Sie können dieses Fenster nun schließen oder <a href="%{url}" rel="nofollow">zu %{consumer} zurückkehren</a>.
finished_without_consumer: Sie können dieses Fenster nun schließen.
headline: Gut gemacht!
score: Ihre Punktzahl
success_with_outcome: Ihr Code wurde erfolgreich bewertet. Ihre Bewertung wurde an %{consumer} übermittelt.
success_without_outcome: Ihr Code wurde erfolgreich bewertet.
expired: Ihre Session ist abgelaufen. Bitte <a href="" class="reloadCurrentPage alert-link">laden Sie diese Seite neu</a> bevor Sie fortfahren.
new:
forgot_password: Passwort vergessen?
headline: Anmelden
instructors_only: 'Zugriff ausschließlich für Lehrende:'
instructors_only_explanation: Das Anmelden mittels Passwort ist ausschließlich Lehrenden vorbehalten. Als Lernende:r greifen Sie bitte über die E-Learning-Plattform auf %{application_name} zu, um direkt zu einer Aufgabe zu gelangen.
link: Anmelden
remember_me: Angemeldet bleiben
oauth:
failure: Leider ist ein Fehler aufgetreten.
invalid_consumer: Ungültiger OAuth-Key.
invalid_exercise_token: Ungültiges Aufgaben-Token.
invalid_lis_outcome_service_url: Ungültige URL für den LTI-Ergebnisdienst.
invalid_signature: Ungültige OAuth-Signatur.
missing_parameters: OAuth-Parameter fehlen.
used_nonce: Die Nonce wurde bereits verwendet.

View File

@ -0,0 +1,31 @@
---
de:
statistics:
activity_history:
from: Von
interval: Intervall
to: Bis
update: Aktualisieren
entries:
exercises:
autosaves_per_minute: Aktuelle Autosaves (1h)
average_number_of_submissions: Durchschnittliche Zahl von Abgaben
container_requests_per_minute: Aktuelle Containeranfragen (1h)
submissions: Abgaben
submissions_per_minute: Aktuelle Abgabenhäufigkeit (1h)
request_for_comments:
percent_soft_solved: Ungelöst mit voller Punktzahl
percent_solved: Beantwortete Anfragen
percent_unsolved: Unbeantwortete Anfragen
with_comments: Anfragen mit Kommentaren
users:
active: Aktive Nutzer
currently_active: Aktiv (5 Minuten)
graphs:
history: Historie
rfc_activity: Kommentaranfragenaktivität
user_activity: Nutzeraktivität
sections:
contributors: Mitwirkende
exercises: Aufgaben
request_for_comments: Kommentaranfragen

View File

@ -0,0 +1,18 @@
---
de:
activerecord:
attributes:
study_group:
consumer: Konsument
external_id: Externe ID
member_count: Anzahl der Mitglieder
members: Mitglieder
name: Name
selection: Ausgewählt
models:
study_group:
one: Lerngruppe
other: Lerngruppen
study_groups:
set_as_current:
success: Die Lerngruppe wurde erfolgreich gewechselt.

View File

@ -0,0 +1,9 @@
---
de:
activerecord:
attributes:
study_group_membership:
role: Rolle
role_type:
learner: Lernende:r
teacher: Lehrende:r

View File

@ -0,0 +1,34 @@
---
de:
activerecord:
attributes:
submission:
cause: Anlass
code: Code
contributor: Mitwirkende:r
exercise: Aufgabe
files: Dateien
score: Punktzahl
study_group: Lerngruppe
models:
submission:
one: Abgabe
other: Abgaben
submissions:
causes:
assess: Bewertung
autosave: Autosave
download: Download
file: Benutzerdefinierte Datei
remoteAssess: Remote Bewertung
remoteSubmit: Remote Abgabe
render: Anzeige
requestComments: Kommentaranfrage
run: Ausführung
save: Speichern
submit: Abgabe
test: Test
statistics:
history: Punkteverlauf
percentage: Prozentzahl
siblings: Dazugehörige Abgaben

View File

@ -0,0 +1,5 @@
---
de:
subscriptions:
subscription_not_existent: Das Abonnement, von dem Sie sich abmelden wollen, existiert nicht.
successfully_unsubscribed: Ihr Abonnement für weitere Kommentare auf dieser Kommentaranfrage wurde erfolgreich beendet.

12
config/locales/de/tag.yml Normal file
View File

@ -0,0 +1,12 @@
---
de:
activerecord:
attributes:
tag:
difficulty: Anteil an der Aufgabe
name: Name
usage: Verwendet
models:
tag:
one: Tag
other: Tags

12
config/locales/de/tip.yml Normal file
View File

@ -0,0 +1,12 @@
---
de:
activerecord:
attributes:
tip:
description: Beschreibung
example: Beispiel
title: Titel
models:
tip:
one: Tipp
other: Tipps

View File

@ -0,0 +1,8 @@
---
de:
users:
show:
current_study_group: Aktuelle Lerngruppe
no_groups: Diese Person ist keiner Lerngruppe zugeordnet oder Sie sind nicht berechtigt, die Lerngruppen einzusehen.
set_as_current_study_group: Als aktuelle Lerngruppe setzen
study_groups: Lerngruppen

View File

@ -0,0 +1,27 @@
---
de:
activerecord:
attributes:
user_exercise_feedback:
exercise: Aufgabe
feedback_text: Feedback Text
user: Autor
models:
user_exercise_feedback:
one: Feedback
other: Feedback
user_exercise_feedback:
description: Ihre Punkte wurden übertragen. Wir würden uns freuen, wenn Sie uns hier Feedback zur Aufgabe geben.<br> Wenn sie das nicht möchten, können Sie das Fenster auch einfach schließen.<br><br>Bitte beschreiben Sie, was Ihnen an der Aufgabe gefallen hat und was nicht. Gab es Schwierigkeiten bei der Aufgabe? War die Aufgabe zu leicht oder zu schwer?<br>Wir freuen uns über jedes Feedback.
difficult_too_difficult: Die Aufgabe war zu schwer
difficulty: 'Schwierigkeit der Aufgabe:'
difficulty_easy: Die Aufgabe war zu einfach
difficulty_ok: Die Aufgabe war gut zu lösen
difficulty_some_what_difficult: Die Aufgabe war etwas zu schwer
difficulty_some_what_easy: Die Aufgabe war etwas zu einfach
estimated_time_10_to_20: zwischen 10 und 20 Minuten
estimated_time_20_to_30: zwischen 20 und 30 Minuten
estimated_time_5_to_10: zwischen 5 und 10 Minuten
estimated_time_less_5: weniger als 5 Minuten
estimated_time_more_30: mehr als 30 Minuten
no_feedback: Es wurde noch kein Feedback zu dieser Aufgabe gegeben.
working_time: 'Geschätze Bearbeitungszeit für diese Aufgabe:'

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,11 @@
---
en:
admin:
dashboard:
show:
current: Current Availability
history: Usage History
idleRunners: Idle Runners
inactive: No runner management is currently enabled.
release: Release
usedRunners: Reserved Runners

View File

@ -0,0 +1,33 @@
---
en:
activerecord:
attributes:
code_ocean/file:
content: Content
feedback_message: Feedback Message
file_template_id: File Template
file_type: File Type
file_type_id: File Type
hidden: Hidden
hidden_feedback: Suppress Feedback
name: Name
path: Path
read_only: Read-only
role: Role
weight: Score
models:
code_ocean/file:
one: File
other: Files
code_ocean/files:
error:
filename: The file could not be saved, because another file with the name '%{name}' already exists.
roles:
executable_file: Executable File (similar to Main File)
main_file: Main File
reference_implementation: Reference Implementation
regular_file: Regular File
teacher_defined_linter: Linter for Assessment
teacher_defined_test: Test for Assessment
user_defined_file: User-defined File
user_defined_test: User-defined Test

View File

@ -0,0 +1,20 @@
---
en:
activerecord:
attributes:
codeharbor_link:
oauth2token: OAuth2 Token
models:
codeharbor_link:
one: CodeHarbor Link
other: CodeHarbor Links
codeharbor_link:
delete: Remove CodeHarbor link
edit: Edit existing CodeHarbor link
generate: Generate
info:
api_key: Will be used to authenticate your export request. Has to be the same on both sides.
check_uuid_url: The url from CodeHarbor where we can check if the exercise already exists. If you don't know what to write here, ask an admin.
push_url: The url from CodeHarbor where your exercise can be exported to. If you don't know what to write here, ask an admin.
new: Create link to CodeHarbor
profile_label: CodeHarbor Link

View File

@ -0,0 +1,10 @@
---
en:
activerecord:
models:
comment:
one: Comment
other: Comments
comments:
deleted: Deleted
save_update: Save

View File

@ -0,0 +1,16 @@
---
en:
activerecord:
models:
community_solution:
one: Community Solution
other: Community Solutions
community_solutions:
accept_community_solution: Quit Community Solution without Changes
change_community_solution: Save Changes to Community Solution
current_community_solution: Current community solution
explanation: In this course, we would like to work together with you and all other learners to create a community solution for this exercise, which will be made available to all participants at the end of the course. For this we need your active support. Below you will find both the current status of the community solution and your submission. Please review the community solution and revise it as needed. Your own solution will not be changed.
help_us_out: Help us out!
research_explanation: The opportunity to participate in a community solution is part of our research; therefore, we would greatly appreciate your active participation.
research_status: 'New beta feature:'
your_submission: Your submission (read-only, for reference)

View File

@ -0,0 +1,20 @@
---
en:
activerecord:
attributes:
consumer:
name: Name
oauth_key: OAuth Key
oauth_secret: OAuth Secret
rfc_visibility: Visibility of Request for Comments
rfc_visibility_type:
all: All Requests for Comments are visible
consumer: Only Requests for Comments of the current consumer are visible
study_group: Only Requests for Comments of the current study group are visible
models:
consumer:
one: Consumer
other: Consumers
consumers:
show:
link: Consumer

View File

@ -0,0 +1,19 @@
---
en:
activerecord:
attributes:
error_template:
description: Description
hint: Hint
name: Name
signature: Signature Regular Expression
models:
error_template:
one: Error Template
other: Error Templates
error_templates:
add_attribute: Add attribute
attributes: Attributes
hints:
hint_templates: 'Attribute names in {{double curly braces}} are replaced by the corresponding attribute value at runtime, e.g. "The error occurs in line {{Line}}." --(StructuredError: {Line: 4})--> "The error occurs in line 4."'
signature: A regular expression in Ruby syntax without leading and trailing "/"

View File

@ -0,0 +1,13 @@
---
en:
activerecord:
attributes:
error_template_attribute:
description: Description
important: Important
key: Identifier
regex: Regular Expression
models:
error_template_attribute:
one: Error Template Attribute
other: Error Template Attributes

View File

@ -0,0 +1,63 @@
---
en:
activerecord:
attributes:
execution_environment:
cpu_limit: CPU Limit (in MHz)
docker_image: Docker Image
exposed_ports: Exposed Ports
exposed_ports_list: Exposed Ports
file_type: Default File Type
file_type_id: Default File Type
help: Help Text
memory_limit: Memory Limit (in MB)
name: Name
network_enabled: Network Enabled
permitted_execution_time: Permitted Execution Time (in Seconds)
pool_size: Prewarming Pool Size
privileged_execution: Privileged Execution as "root"
run_command: Run Command
test_command: Test Command
testing_framework: Testing Framework
user: Author
models:
execution_environment:
one: Execution Environment
other: Execution Environments
execution_environments:
form:
hints:
command: "<em>filename</em> is automatically replaced with the correct filename. The following character is disallowed: ' (single quote)"
cpu_limit: Specify the minimum amount of CPU shares to reserve for each runner, measured in MHz.
docker_image: Pick a Docker image listed above or add a new one which is available via <a href="https://hub.docker.com/" target="_blank" rel="noopener">DockerHub</a>.
exposed_ports_list: During code execution these ports are accessible for the user. Port numbers must be numeric and separated by a comma.
index:
shell: Shell
synchronize:
button: Synchronize
failure: 'The execution environment could not be synchronised due to the following error: %{error}'
success: The execution environment was synchronized successfully.
synchronize_all:
button: Synchronize all
failure: At least one execution environment could not be synchronised due to an error.
success: All execution environments were synchronized successfully.
shell:
command: Command
file_tree:
empty: The file system has not been queried yet.
headline: File System
list_now: List now.
permission_denied: Access to the requested file has been denied. Please verify that the file exists, the current user has read permissions, and try requesting the file with "root" privileges if necessary. To retrieve files as "root", you must enable the "sudo" switch shown next to the command input and then reload the file system before accessing any file.
reload: Reload
reload_tooltip: Reload the file system of the runner. This action might take a few seconds.
root_notice: Files are retrieved with a non-privileged user by default. To retrieve files as "root", you must enable the "sudo" switch shown next to the command input and then reload the file system before accessing any file.
statistics:
exercise: Exercise
maximum_score: Maximum Score
percentage_correct: Percentage Correct
runs: Average Number of Runs
score: Average Score
stddev_score: stddev (score)
stddev_worktime: stddev (working time)
users_and_programming_groups: Users and Programming Groups Count
worktime: Average Working Time

View File

@ -0,0 +1,231 @@
---
en:
activerecord:
attributes:
exercise:
allow_auto_completion: Allow auto completion
allow_file_creation: Allow file creation
average_score_percentage: Average Score Percentage
description: Description
difficulty: Difficulty
distinct_final_submissions: Distinct Final Submissions
embedding_parameters: LTI Embedding Parameters
execution_environment: Execution Environment
execution_environment_id: Execution Environment
files: Files
finishing_rate: Finishing Rate
hide_file_tree: Hide File Tree
instructions: Instructions
internal_title: Alternative Title
late_submission_deadline: Late Submission Deadline
maximum_score: Maximum Score
number_of_users_and_programming_groups: "# Users and Programming Groups"
public: Public
selection: Selected
submission_deadline: Submission Deadline
tags: Tags
title: Title
token: Exercise Token
unpublished: Unpublished
user: Author
uuid: UUID
models:
exercise:
one: Exercise
other: Exercises
exercises:
download_file_tree:
file_root: Generated Files
gone: The requested file could not be retrieved. Generated files are only held for a short time and are then deleted. Please run the code again and then try downloading the file a second time.
editor:
collapse_action_sidebar: Collapse Action Sidebar
collapse_output_sidebar: Collapse Output Sidebar
confirm_start_over: Do you really want to start over? Your previous changes in this exercise will be reset; other exercises remain untouched. You cannot undo this action.
confirm_start_over_active_file: Do you really want to remove any changes in the active file '%{filename}'? You cannot undo this action.
create_file: New File
deadline: Deadline
depleted: All execution environments are busy. Please try again later.
destroy_file: Delete File
download: Download
dummy: No Action
exercise_finished: Congratulations! You have completely solved this exercise. <a href="%{url}" class="alert-link">Please click here to finish the exercise now.</a>
exercise_finished_redirect_to_own_rfc: Congratulations! You have completely solved this exercise and submitted the points. Your question concerning the exercise is solved? If so, please share the essential insight with your fellows and mark the question as solved, before you close this window!
exercise_finished_redirect_to_rfc: Congratulations! You have completely solved this exercise and submitted the points. Another participant has a question concerning the exercise you just solved. Your help and comments will be greatly appreciated!
exercise_finished_remote: Congratulations! You have completely solved this exercise and submitted the points to %{consumer}.
expand_action_sidebar: Expand Action Sidebar
expand_output_sidebar: Expand Output Sidebar
hints:
disclaimer: If unsure about a deadline, please contact a course instructor. The deadline shown here is only informational and information from the e-learning platform should always take precedence.
late_submission_deadline: Until <b>%{deadline}</b>, 80% of your score will be awarded.<br/><small>If you miss this extended deadline and score your code afterwards, 0 points will be transmitted.</small>
otherwise: Otherwise, a score of 0 points will be transmitted.
submission_deadline: This exercise is due <b>%{deadline}</b>.<br/><small>Please finish the exercise before this deadline passes. %{otherwise}</small>
input: Your input
is_offline: "%{name} is offline"
is_online: "%{name} is online"
lastsaved: 'Last saved: '
network: 'While your code is running, port %{port} is accessible using the following address: <a href="%{address}" target="_blank" rel="noopener">%{address}</a>.'
out_of_memory: Execution stopped. Your code exceeded the permitted RAM usage of %{memory_limit} MB.
render: Render
requestComments: Request Comments
requestCommentsTooltip: If you need help with your code, you can now request comments here!
request_for_comments_sent: Request for comments sent.
run: Run
run_failure: Your code could not be run.
run_success: Your code was run on our servers.
runner_in_use: You are currently running code. Please stop the previous execution, or wait a moment before proceeding.
score: Score
send: Send
start_over: Reset this exercise
start_over_active_file: Reset this file
start_video: Start (video) chat
stop: Stop
submit_failure_all: An error occurred while transmitting your score. Please try again later.
submit_failure_other_users: The transmission of points was only partially successful. The score was not transmitted for %{user}. The user(s) should reopen the exercise via the e-learning platform and then try to submit the points themselves.
submit_failure_remote: Your submission was successfully scored with %{score}%. However, your score could not be sent to the e-learning platform. Please check the submission deadline, reopen the exercise through the e-learning platform, and try again.
submit_no_validation_token: No exercise found for this validation token! Please keep out!
submit_too_late: Your submission was saved successfully but was received after the deadline, so that only %{score_sent}% were transmitted.
test: Test
timeout: Execution stopped. Your code exceeded the permitted execution time of %{permitted_execution_time} seconds.
editor_file_tree:
file_root: Files
export_codeharbor:
buttons:
abort: Abort
close: Close
export: Export
retry: Retry
check:
no_task: No corresponding task found on CodeHarbor. Pushing this exercise will create a new task on CodeHarbor, which will be linked to this one on CodeOcean. Any changes to either one can be pushed to the respective other platform.
task_found: 'A corresponding task has been found on CodeHarbor. You can export the exercise to transfer all changes made on CodeOcean to CodeHarbor. Careful: This will overwrite all potential changes made on CodeHarbor.'
task_found_no_right: A corresponding task has been found on CodeHarbor, but you don't have the rights to edit it. Please contact an Admin if you think you should be able to edit the task on CodeHarbor.
checking_codeharbor: Checking if the exercise exists on CodeHarbor.
dialogtitle: Export to CodeHarbor
error: An error occurred while contacting CodeHarbor
export_failed: 'Export has failed.<br>ID: %{id}<br>Title: %{title}<br><br>Error: %{error}'
label: Export to CodeHarbor
successfully_exported: 'Exercise has been successfully exported.<br>ID: %{id}<br>Title: %{title}'
external_users:
statistics:
addendum: "* Deltas longer than %{delta} minutes are ignored."
after_late_deadline: Too Late
before_deadline: On Time
cause: Cause
filter: 'Remember: Only the last submission per deadline is shown.'
legend: 'Legend:'
no_data_available: No data available or insufficient permissions
no_deadline: No Deadline
score: Score
tests: Unit Test Results
time: Time (UTC)
time_difference: Working Time until here*
toggle_autosave_off: Hide Autosaves
toggle_autosave_on: Show Autosaves
toggle_status_off: Autosaves are currently hidden
toggle_status_on: Autosaves are currently visible
within_grace_period: Within Grace Period
file_form:
hints:
feedback_message: This message is used as a hint for failing tests.
hidden_feedback: If this option is checked, tests are only executed in the background, but the result and feedback are not displayed to learners.
path: The file's path in the project tree. Can be left blank.
upload: An uploaded file takes precedence over changes in the text area and will be visible once saved. The resulting file name and file type will be set to match the uploaded file automatically.
form:
add_file: Add file
add_tips: Add tips
click_to_collapse: Click to expand/collapse...
hints:
internal_title: An alternative title for this exercise that is only visible to teachers.
late_submission_deadline: A grace period for submissions in UTC. The late submission deadline should not be set or any timestamp before the original submission deadline. Any submission obtained after the deadline will be clearly marked and the score sent to the e-learning platform will be reduced by 100%.
submission_deadline: A date and time in UTC to close the submission. Any submission obtained after the deadline will be considered late and the score sent to the e-learning platform will be reduced by 20%.
no_execution_environment_selected: Select an execution environment before publishing the exercise.
none: None
tags: Tags
tips: Tips
unpublish_warning: This will unpublish the exercise. Any student trying to implement it will get an error message, until it is published again.
implement:
break_intervention:
text: If you are struggling with this exercise, you may take a break at any time and continue later. Your progress in CodeOcean is automatically saved.
title: Break
code_rating: Code Rating
comment:
addCommentButton: Comment this
addyours: Add your comment
dialogtitle: Comment on this line
others: Other comments on this line
question: Please shortly describe your problem or the program part you would like to get feedback for. Your program code and potential error messages are automatically appended to your request.
request: Request Comments
default_linter_feedback: Well done. The linter is completly satisfied.
default_test_feedback: Well done. All tests have been passed.
error_hints:
heading: Hints
error_messages: Error Messages
existing_programming_group: You are currently working on the exercise entitled '%{exercise}' as part of a programming group. Please finish your work there before you start implementing this exercise.
exit_failure: The last code run exited with a failure (status code %{exit_code}).
exit_successful: The last code run exited successfully (status code %{exit_code}).
external_privacy_policy: privacy policy
feedback: Feedback
flowr:
go_to_question: Go to answer
heading: Gain more insights here | Powered by StackOverflow
intervention:
explanation: 'This message appears because you have been working on this exercise for %{duration} minutes. 25% of your fellow learners took more time to solve the exercise, so in that sense it''s not a problem, but this has proven to be an <a href=''https://hpi.de/en/research/publications/dissertations/dissertation-ralf-teusner.html'' style=''display: contents;'' target=''_blank'' rel=''noopener''>effective time for this message</a>.'
linter_file: Linter Feedback <span class="number d-none">%{number}</span>(<span class="filename">%{filename}</span>)
messages: Messages
no_execution_environment: No execution environment has been selected for the exercise yet.
no_files: The exercise does not comprise visible files yet.
no_output: The last code run finished on %{timestamp} without any output.
no_output_exit_failure: The last code run finished on %{timestamp} without any output and exited with a failure (status code %{exit_code}).
no_output_exit_successful: The last code run finished on %{timestamp} without any output and exited successfully (status code %{exit_code}).
no_output_yet: There is no output yet.
not_graded: not graded
output: Program Output
passed_tests: Passed Tests
results: Results
rfc_intervention:
text: If you are struggling with this exercise and don't want to continue on your own, your fellow learners can help out! </br> </br>
test_count: <span class="number">%{count}</span> test files have been executed.
test_file: Test File <span class="number">%{number}</span> (<span class="filename">%{filename}</span>)
tips:
description: Description
example: Example
heading: Tips
tips_intervention:
text: If you are struggling with this exercise, the available tips may help. You can find them at any time in the left sidebar and are also displayed below for your convenience.
unpublished: The selected exercise has been deactivated. Hence, you cannot implement this exercise at the moment.
import_codeharbor:
import_errors:
internal_error: An internal error occurred on CodeOcean while importing the exercise.
invalid: Invalid exercise
index:
clone: Duplicate
external_user_statistics: External User Statistics
feedback: Feedback
implement: Implement
requests_for_comments: Requests for Comments
study_group_dashboard: Live Dashboard
test_files: Test Files
show:
is_unpublished: Exercise is unpublished
statistics:
average_score: Average Score
average_worktime: Average Working Time
deadline: Deadline
external_users: External Users
final_submissions: Final Submissions
finishing_rate: Finishing Rate
intermediate_submissions: Intermediate Submissions
internal_users: Internal Users
participants: Participating Users
programming_groups: Programming Groups
runs: Runs
score: Maximum Score
user: User
users_and_programming_groups: "%{count} distinct users and programming groups"
worktime: Working Time
study_group_dashboard:
learner: Learner
live_dashboard: Live Dashboard
no_data_yet: No data available yet
related_requests_for_comments: Related Requests for Comments
time_spent_in_minutes: Time spent in Minutes
time_spent_per_learner: Time spent per Learner

View File

@ -0,0 +1,22 @@
---
en:
activerecord:
attributes:
exercise_collections:
exercises: Exercises
id: ID
name: Name
solutions: Solution Attempts (accumulated)
submissions: Submissions (accumulated)
updated_at: Last Update
use_anomaly_detection: Enable Worktime Anomaly Detection
user: Associated User
users_and_programming_groups: Users and Programming Groups
models:
exercise_collection:
one: Exercise Collection
other: Exercise Collections
exercise_collections:
form:
add_exercises: Add exercises
sort_by_title: Sort by title

View File

@ -0,0 +1,6 @@
---
en:
activerecord:
attributes:
exercise_collection_item:
exercise: Exercise

View File

@ -0,0 +1,9 @@
---
en:
activerecord:
attributes:
exercise_tip:
exercise: Exercise
parent_exercise_tip: Parent Tip
rank: Rank
tip: Tip

View File

@ -0,0 +1,27 @@
---
en:
activerecord:
attributes:
external_user:
consumer: Consumer
email: Email
external_id: External ID
name: Name
platform_admin: Platform Admin
models:
external_user:
one: External User
other: External Users
external_users:
show:
empty_tag_statistics: No statistics available
exercise_statistics: Exercise Statistics
loading_tag_statistics: Loading tag statistics...
tag_statistics: Tag Statistics
statistics:
deadline: Deadline
exercise: Exercise
runs: Submissions
score: Maximum Score
title: External User Statistics
worktime: Working Time

View File

@ -0,0 +1,14 @@
---
en:
activerecord:
attributes:
file_template:
content: Content
file_type: File Type
name: Name
models:
file_template:
one: File Template
other: File Templates
file_template:
no_template_label: Empty File

View File

@ -0,0 +1,17 @@
---
en:
activerecord:
attributes:
file_type:
binary: Binary
editor_mode: Editor Mode
executable: Executable
file_extension: File Extension
indent_size: Indent Size
name: Name
renderable: Renderable
user: Author
models:
file_type:
one: File Type
other: File Types

View File

@ -0,0 +1,13 @@
---
en:
activerecord:
attributes:
hint:
locale: Locale
message: Message
name: Name
regular_expression: Regular Expression
models:
hint:
one: Hint
other: Hints

View File

@ -0,0 +1,39 @@
---
en:
activerecord:
attributes:
internal_user:
activated: Activated
consumer: Consumer
consumer_id: Consumer
email: Email
name: Name
password: Password
password_confirmation: Passwort Confirmation
platform_admin: Platform Admin
models:
internal_user:
one: Internal User
other: Internal Users
internal_users:
activate:
headline: Complete Registration
submit: Set Password
success: You successfully completed your registration.
forgot_password:
headline: Reset Password
submit: Send Password Reset Instructions
success: Instructions to reset your password have been sent to your email address.
form:
click_to_collapse: Click to expand/collapse...
study_groups: Study Groups
index:
activate: Activate
forgot_password: Reset Password
reset_password: Reset Password
reset_password:
headline: Reset Password
submit: Set Password
success: You successfully changed your password.
show:
link: Profile

View File

@ -0,0 +1,6 @@
---
en:
activerecord:
attributes:
intervention:
name: Name

View File

@ -0,0 +1,163 @@
---
en:
mailers:
user_mailer:
activation_needed:
body: Please visit %{link} and set up a password in order to complete your registration.
subject: Please complete your registration.
exercise_anomaly_detected:
body1: |
English version below <br>
_________________________<br>
<br>
Hallo %{receiver_displayname}, <br>
<br>
eine oder mehrere Aufgaben Ihrer Aufgabensammlung "%{collection_name}" zeigen Unregelmäßigkeiten in der Bearbeitungszeit. Möglicherweise sind sie zu schwer oder zu leicht.
<br>
Die Aufgaben sind:
<br>
body2: |
<br>
Falls Sie beim Klick auf einen Link eine Fehlermeldung erhalten, dass Sie nicht berechtigt wären diese Aktion auszuführen, öffnen Sie bitte eine beliebige Programmieraufgabe aus einem Kurs heraus und klicken den Link danach noch einmal.<br>
<br>
Diese Mail wurde automatisch von CodeOcean verschickt.<br>
<br>
_________________________<br>
<br>
Dear %{receiver_displayname}, <br>
<br>
at least one exercise in your exercise collection "%{collection_name}" has a much longer or much shorter average working time than the average. Perhaps they are too difficult or too easy.
<br>
The exercises are:
<br>
body3: |
<br>
If you receive an error that you are not authorized to perform this action when clicking a link, please log-in through any course exercise beforehand and click the link again. <br>
<br>
This mail was automatically sent by CodeOcean. <br>
subject: Anomalies in exercises of your exercise collection
exercise_anomaly_needs_feedback:
body: |
English version below <br>
_________________________<br>
<br>
Hallo %{receiver_displayname}, <br>
<br>
um die Aufgaben auf CodeOcean weiter zu verbessern, benötigen wir Ihre Mithilfe. Bitte nehmen Sie sich ein paar Minuten Zeit um ein kurzes Feedback zu folgender Aufgabe zu geben:
<br>
%{exercise} - %{link}
<br>
Falls Sie beim Klick auf diesen Link eine Fehlermeldung erhalten, dass Sie nicht berechtigt wären diese Aktion auszuführen, öffnen Sie bitte eine beliebige Programmieraufgabe aus einem Kurs heraus und klicken den Link danach noch einmal.<br>
<br>
Diese Mail wurde automatisch von CodeOcean verschickt.<br>
<br>
_________________________<br>
<br>
Dear %{receiver_displayname}, <br>
<br>
we need your help to improve the quality of the exercises on CodeOcean. Please take a few minutes to give us feedback for the following exercise:
<br>
%{exercise} - %{link}
<br>
If you receive an error that you are not authorized to perform this action when clicking the link, please log-in through any course exercise beforehand and click the link again. <br>
<br>
This mail was automatically sent by CodeOcean. <br>
subject: An exercise on CodeOcean needs your feedback
got_new_comment:
body: |
English version below <br>
_________________________<br>
<br>
Hallo %{receiver_displayname}, <br>
<br>
es gibt einen neuen Kommentar von %{commenting_user_displayname} zu Ihrer Kommentaranfrage auf CodeOcean. <br>
<br>
%{commenting_user_displayname} schreibt: %{comment_text}<br>
<br>
Sie finden ihre Kommentaranfrage hier: %{link_to_comment} <br>
<br>
Eine Übersicht Ihrer Kommentaranfragen gibt es hier: %{link_my_comments} <br>
Alle Kommentaranfragen aller Benutzer finden Sie hier: %{link_all_comments} <br>
<br>
Diese Mail wurde automatisch von CodeOcean verschickt.<br>
<br>
_________________________<br>
<br>
Dear %{receiver_displayname}, <br>
<br>
you received a new comment from %{commenting_user_displayname} to your request for comments on CodeOcean. <br>
<br>
%{commenting_user_displayname} wrote: %{comment_text} <br>
<br>
You can find your request for comments here: %{link_to_comment} <br>
<br>
An overview of all your comments can be accessed here: %{link_my_comments} <br>
All comments of all participants are available here: %{link_all_comments} <br>
<br>
This mail was automatically sent by CodeOcean. <br>
subject: You received a new comment on CodeOcean from %{commenting_user_displayname}.
got_new_comment_for_subscription:
body: |
English version below <br>
_________________________<br>
<br>
Hallo %{receiver_displayname}, <br>
<br>
es gibt einen neuen Kommentar von %{author_displayname} zu einer Kommentaranfrage auf CodeOcean, die Sie abonniert haben. <br>
<br>
%{author_displayname} schreibt: %{comment_text}<br>
<br>
Sie finden die Kommentaranfrage hier: %{link_to_comment} <br>
<br>
Wenn Sie keine weiteren Benachrichtigungen zu dieser Anfrage erhalten möchten, klicken Sie bitte hier: %{unsubscribe_link}
<br>
Diese Mail wurde automatisch von CodeOcean verschickt.<br>
<br>
_________________________<br>
<br>
Dear %{receiver_displayname}, <br>
<br>
you received a new comment from %{author_displayname} to a request for comments on CodeOcean that you have subscribed to. <br>
<br>
%{author_displayname} wrote: %{comment_text} <br>
<br>
You can find the request for comments here: %{link_to_comment} <br>
<br>
If you don't want to be notified about further comments, please click here: %{unsubscribe_link}
<br>
This mail was automatically sent by CodeOcean. <br>
subject: "%{author_displayname} has posted a new comment to a discussion you subscribed to on CodeOcean."
reset_password:
body: Please visit %{link} if you want to reset your password.
subject: Password reset instructions
send_thank_you_note:
body: |
English version below <br>
_________________________<br>
<br>
Hallo %{receiver_displayname}, <br>
<br>
%{author} hat Ihnen für Ihren Kommentar auf CodeOcean gedankt. <br>
<br>
%{author} schreibt: %{thank_you_note}<br>
<br>
Sie finden die Kommentaranfrage hier: %{link_to_comment} <br>
<br>
Danke, dass Sie anderen Nutzern von CodeOcean helfen!
<br>
Diese Mail wurde automatisch von CodeOcean verschickt.<br>
<br>
_________________________<br>
<br>
Dear %{receiver_displayname}, <br>
<br>
%{author} thanks you for your comment. <br>
<br>
%{author} wrote: %{thank_you_note} <br>
<br>
You can find the request for comments here: %{link_to_comment} <br>
<br>
Thank you for helping other users on CodeOcean!
<br>
This mail was automatically sent by CodeOcean. <br>
subject: "%{author} says thank you!"

View File

@ -0,0 +1,22 @@
---
en:
activerecord:
errors:
messages:
at_least: or %{attribute} must be defined
together: has to be set along with %{attribute}
models:
exercise:
at_most_one_main_file: must include at most one main file
late_submission_deadline_not_alone: must not be used without a regular submission deadline
late_submission_deadline_not_before_submission_deadline: must not be before the submission deadline passed
internal_user:
attributes:
password:
weak: is too weak. Try to use a long password with upper and lower case letters, numbers and special characters.
programming_group:
invalid_partner_id: The user ID '%{partner_id}' is invalid and was removed. Please check the user IDs of your programming partners.
size_too_large: The size of this programming group is too large. Enter at most one other user ID to work with.
size_too_small: The size of this programming group is too small. Enter at least one other user ID to work with.
programming_group_membership:
already_exists: already exists for this exercise for the user with ID %{id_with_type}.

View File

@ -0,0 +1,14 @@
---
en:
application:
markdown_editor:
collapse: Collapse editor
expand: Expand editor
not_authorized: You are not authorized to perform this action.
not_found: The requested resource could not be found.
not_signed_in: You must be signed in to perform this action.
welcome:
text_signed_in_as_external_user: Please access %{application_name} from an e-learning platform.
text_signed_in_as_internal_user: Good to see you, %{user_name}!
text_signed_out: If you are a learner, please access %{application_name} from an e-learning platform. If you are an instructor, <a href="%{sign_in_path}">please sign in</a>.
title: Welcome to %{application_name}

View File

@ -0,0 +1,18 @@
---
en:
breadcrumbs:
application:
welcome: Cover Page
dashboard:
show: Dashboard
rails_admin:
show: Rails Admin
sessions:
create: Sign In
destroy_through_lti: Code Submission
new: Sign In
statistics:
graphs: Graphs
rfc_activity_history: RfC Activity History
show: Statistics
user_activity_history: User Activity History

View File

@ -0,0 +1,5 @@
---
en:
locales:
de: German
en: English

View File

@ -0,0 +1,9 @@
---
en:
navigation:
sections:
contributors: Contributors
errors: Errors
files: Files
integrations: Integrations
users: Users

View File

@ -0,0 +1,54 @@
---
en:
shared:
actions: Actions
actions_button: Other actions
admin_filter:
all: All users
none: Regular users
only: Platform admins
administration: Administration
already_signed_in: You are already signed in.
apply_filters: Apply filters
back: Back
batch_update: Batch Update
color_mode:
auto: Auto
dark: Dark
light: Light
title: Appearance
confirm_destroy: Are you sure?
create: Create %{model}
created_at: Created At
destroy: Delete
edit: Edit
errors_one: An error prohibited this %{model} from being saved
errors_other: "%{count} errors prohibited this %{model} from being saved"
help:
execution_environment_specific_help: Help for %{execution_environment}
headline: Help
imprint: Imprint
link: Help
privacy_policy: Privacy Policy
hide: Hide
index: Index
message_failure: Sorry, something went wrong.
new: Add
new_model: Add %{model}
number: Number
object_cloned: "%{model} has successfully been duplicated."
object_created: "%{model} has successfully been created."
object_destroyed: "%{model} has successfully been deleted."
object_updated: "%{model} has successfully been updated."
out_of: out of
reset_filters: Reset filters
resources: Resources
show: Show
statistics: Statistics
time:
before: "%{time} ago"
tooltips:
shortcut: 'Keyboard shortcut: %{shortcut}'
update: Update %{model}
upload_file: Upload file
websocket_failure: Sorry, a connection issue occurred. <a href="https://websocketstest.com" target="_blank" rel="noopener" class="alert-link">Please check WebSocket connections with this tool</a> and try again.

View File

@ -0,0 +1,6 @@
---
en:
will_paginate:
next_label: Next Page &#8594;
page_gap: "&hellip;"
previous_label: "&#8592; Previous Page"

View File

@ -0,0 +1,38 @@
---
en:
activerecord:
attributes:
programming_group:
exercise: Exercise
external_user_id: External User ID
internal_user_id: Internal User ID
member: Member
member_count: Member Count
name: Name
programming_partner_ids: Programming Partner ID
models:
programming_group:
one: Programming Pair
other: Programming Pairs
programming_groups:
form:
hints:
programming_partner_ids: You can enter several user IDs separated by commas such as 'e123, e234'.
implement:
info_disconnected: You are disconnected from the server. Please check your internet connection and reload the page.
new:
close: Close
create_programming_pair: Create Programming Pair
dont_show_modal_again: Don't display on this device anymore
enter_partner_id: Do you know a person in the course with whom you would like to solve the task together? Then enter that person's user ID here.
find_partner_description: If you don't know a person from the course, you have the possibility to be paired with another person. Then, you will be redirected to the task as soon as another person also wants to solve this task in a team.
find_partner_title: Find a programming partner for the exercise
find_programming_partner: Find Programming Partner
info_forced_work_together: You can solve the exercise '%{exercise_title}' only together with another person. Your team partner can see what you write in this exercise and vice versa. You will get bonus points for solving the exercise.
info_pair_programming: 'Pair Programming is a method where two people program together. They alternate between two distinct roles: the <i>Driver</i>, responsible for writing the code and focusing on the details, and the <i>Navigator</i>, tasked with correcting typos, overseeing the task''s progress, and offering suggestions for improvement. Effective communication in the pair is crucial for the success of pair programming.'
info_work_together: You have the possibility to solve the task '%{exercise_title}' together with another person. Your team partner can see what you write in this task and vice versa. Note that no one can stop the collaboration afterwards. For the next task you can decide again if and with whom you want to work together.
own_user_id: 'Your user ID:'
pair_programming_info: Pair Programming Info
work_alone: Work Alone
work_alone_description: You can choose once to work on the exercise alone. Afterward, however, you will not be able to switch to work in a pair for this exercise. <br> <a href=%{path} data-turbolinks="false">Click here to get to the exercise in single mode.</a>
work_with_a_friend: Work with a friend

View File

@ -0,0 +1,7 @@
---
en:
activerecord:
models:
programming_group_membership:
one: Programming Group Membership
other: Programming Group Memberships

View File

@ -0,0 +1,18 @@
---
en:
activerecord:
attributes:
proxy_exercise:
algorithm: Algorithm
algorithm_type:
best_match: Best Match
random: Random Exercise
files_count: Exercises Count
title: Title
models:
proxy_exercise:
one: Proxy Exercise
other: Proxy Exercises
proxy_exercises:
index:
clone: Duplicate

View File

@ -0,0 +1,52 @@
---
en:
activerecord:
attributes:
request_for_comments:
close: Close window
comments: Comments
execution_environment: Language
exercise: Exercise
last_update: Last Update
question: Question
requested_at: Request Date
username: Username
models:
request_for_comment:
one: Request for Comments
other: Requests for Comments
request_for_comments:
cancel_thank_you_note: Don't send
click_for_more_comments: Click to view %{numComments} more comments...
click_here: Click on this sidebar to comment!
comment_edited: edited
comments: Comments
howto: |
To leave comments to a specific code line, click on the respective line number. <br>
Enter your comment in the popup and save it by clicking "Comment this". <br>
Your comment will show up next to the line number as a speech bubble symbol.
howto_title: How to comment
index:
all: All Requests for Comments
my_comment_requests: My Requests for Comments
my_rfc_activity: My Comment Activity
rfcs_for_exercise: Exercise Comments
rfcs_with_my_comments: Requests for Comments I have commented on
study_groups:
current: Current Study Group
my: My Study Groups
placeholder: Study group
mark_as_solved: Mark this question as answered
modal_title: Add a comment to line %{line}
no_output: No output.
no_question: The author did not enter a question for this request.
runtime_output: Runtime Output
send_thank_you_note: Send
show_all: All requests
show_soft_solved: Show only requests presumably solved
show_solved: Show only solved requests
show_unsolved: Show only unsolved requests
solved: This question has been answered
subscribe_to_author: Receive E-Mail notifications for new comments of the original author
test_results: Test Results
write_a_thank_you_node: 'If you want, you can write a thank you note to all your commenters:'

View File

@ -0,0 +1,38 @@
---
en:
sessions:
create:
failure: Invalid email or password.
success: Successfully signed in.
create_through_lti:
session_with_outcome: By clicking on "Score", your points will be added automatically to your progress.
session_without_outcome: This is a practice session. Your grade will not be transmitted to %{consumer}.
destroy:
link: Sign out
success: Successfully signed out.
destroy_through_lti:
average_score: Average Score
do_not_use_backbutton: Never use the browser's "Back" button to get back to CodeOcean.
final_submissions: Other Users' Submissions
finished_with_consumer: You may close this window now or <a href="%{url}" rel="nofollow">return to %{consumer}</a>.
finished_without_consumer: You may close this window now.
headline: Well done!
score: Your Score
success_with_outcome: Your code has been successfully assessed. Your grade has been transmitted to %{consumer}.
success_without_outcome: Your code has been successfully assessed.
expired: Your session has expired. Please <a href="" class="reloadCurrentPage alert-link">reload this page</a> before continuing.
new:
forgot_password: Forgot password?
headline: Sign In
instructors_only: 'Exclusive access for instructors:'
instructors_only_explanation: Signing in via password is reserved exclusively for instructors. As a learner, please access %{application_name} via the e-learning platform to proceed directly to an exercise.
link: Sign In
remember_me: Remember me
oauth:
failure: Sorry, something went wrong.
invalid_consumer: Invalid OAuth key.
invalid_exercise_token: Invalid exercise token.
invalid_lis_outcome_service_url: Invalid LTI outcome service URL.
invalid_signature: Invalid OAuth signature.
missing_parameters: Missing OAuth parameters.
used_nonce: Nonce has already been used.

View File

@ -0,0 +1,31 @@
---
en:
statistics:
activity_history:
from: From
interval: Interval
to: To
update: Update
entries:
exercises:
autosaves_per_minute: Current Autosave Volume (1h)
average_number_of_submissions: Average Number of Submissions
container_requests_per_minute: Container Request Volume (1h)
submissions: Submissions
submissions_per_minute: Current Submission Volume (1h)
request_for_comments:
percent_soft_solved: Unsolved with full score
percent_solved: Solved Requests
percent_unsolved: Unsolved Requests
with_comments: RfCs with Comments
users:
active: Active Users
currently_active: Active (5 minutes)
graphs:
history: History
rfc_activity: RfC Activity
user_activity: User Activity
sections:
contributors: Contributors
exercises: Exercises
request_for_comments: Requests for Comment

View File

@ -0,0 +1,18 @@
---
en:
activerecord:
attributes:
study_group:
consumer: Consumer
external_id: External ID
member_count: Member Count
members: Members
name: Name
selection: Selected
models:
study_group:
one: Study Group
other: Study Groups
study_groups:
set_as_current:
success: The study group has been switched successfully.

View File

@ -0,0 +1,9 @@
---
en:
activerecord:
attributes:
study_group_membership:
role: Role
role_type:
learner: Learner
teacher: Teacher

View File

@ -0,0 +1,34 @@
---
en:
activerecord:
attributes:
submission:
cause: Cause
code: Code
contributor: Contributor
exercise: Exercise
files: Files
score: Score
study_group: Study Group
models:
submission:
one: Submission
other: Submissions
submissions:
causes:
assess: Scoring
autosave: Autosave
download: Download
file: User-defined file
remoteAssess: Remote Scoring
remoteSubmit: Remote Submission
render: Rendering
requestComments: Request Comments
run: Execution
save: Save
submit: Submission
test: Test
statistics:
history: Score History
percentage: Percentage
siblings: Associated Submissions

View File

@ -0,0 +1,5 @@
---
en:
subscriptions:
subscription_not_existent: The subscription you want to unsubscribe from does not exist.
successfully_unsubscribed: You successfully unsubscribed from this Request for Comment

12
config/locales/en/tag.yml Normal file
View File

@ -0,0 +1,12 @@
---
en:
activerecord:
attributes:
tag:
difficulty: Share on the Exercise
name: Name
usage: Used
models:
tag:
one: Tag
other: Tags

12
config/locales/en/tip.yml Normal file
View File

@ -0,0 +1,12 @@
---
en:
activerecord:
attributes:
tip:
description: Description
example: Example
title: Title
models:
tip:
one: Tip
other: Tips

View File

@ -0,0 +1,8 @@
---
en:
users:
show:
current_study_group: Current Study Group
no_groups: This user is either not part of any group or you do not have the necessary permissions to view them.
set_as_current_study_group: Set as Current Study Group
study_groups: Study Groups

View File

@ -0,0 +1,27 @@
---
en:
activerecord:
attributes:
user_exercise_feedback:
exercise: Exercise
feedback_text: Feedback Text
user: Author
models:
user_exercise_feedback:
one: Feedback
other: Feedback
user_exercise_feedback:
description: Your points have been submitted. We kindly ask you for feedback for this exercise. <br> If you do not want to give feedback you can simply close this window.<br><br>Please describe what you liked on this exercise and what you did not. Was the exercise easy to understand or did you have problems understanding? How was the difficulty of the exercise to you?<br>We are happy about any feedback.
difficult_too_difficult: the exercise was too difficult
difficulty: 'Difficulty of the exercise:'
difficulty_easy: the exercise was too easy
difficulty_ok: the difficulty of the exercise was just right
difficulty_some_what_difficult: the exercise was somewhat difficult
difficulty_some_what_easy: the exercise was somewhat easy
estimated_time_10_to_20: between 10 and 20 minutes
estimated_time_20_to_30: between 20 and 30 minutes
estimated_time_5_to_10: between 5 and 10 minutes
estimated_time_less_5: less than 5 minutes
estimated_time_more_30: more than 30 minutes
no_feedback: There is no feedback for this exercise yet.
working_time: 'Estimated time working on this exercise:'