Skip to content

Commit

Permalink
🖊️ Add error for else statement without if statement #5099 (#5391)
Browse files Browse the repository at this point in the history
Fixes #5099
Add a custom error in levels 5-7 when there is an `else` statement when there is no `if` right before it.

**How to test**
Run the following snippets in levels 5-7 and check that the custom error is appropriate:
```
if answer is yes print 'great!'
print 'correct'
else print 'wrong'
```
```
else print 'wrong'
```
  • Loading branch information
boryanagoncharenko authored Apr 16, 2024
1 parent 8021295 commit d888124
Show file tree
Hide file tree
Showing 60 changed files with 191 additions and 5 deletions.
1 change: 1 addition & 0 deletions content/error-messages.txt
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ gettext('Lonely Text')
gettext('Runtime Value Error')
gettext('Runtime Values Error')
gettext('Runtime Index Error')
gettext('Else Without If Error')
gettext('ask_needs_var')
gettext('no_more_flat_if')
gettext('echo_out')
Expand Down
5 changes: 5 additions & 0 deletions exceptions.py
Original file line number Diff line number Diff line change
Expand Up @@ -383,4 +383,9 @@ def __init__(self, name):
super().__init__('Runtime Index Error', name=name)


class ElseWithoutIfException(HedyException):
def __init__(self, line_number):
super().__init__('Else Without If Error', line_number=line_number)


HEDY_EXCEPTIONS = {name: cls for name, cls in globals().items() if inspect.isclass(cls)}
6 changes: 4 additions & 2 deletions grammars/level5-Additions.lark
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ _empty_program: (_EOL | _SPACE)*
_non_empty_program: _EOL* (command | error_invalid) _SPACE* (_EOL+ command _SPACE*)* _EOL* //lines may end on spaces and might be separated by many newlines

//placing assign after print means print is will print 'is' and print is Felienne will print 'is Felienne'
command: += assign_button | if_pressed_else | error_if_pressed_missing_else | if_pressed_without_else | ifelse | ifs -= error_invalid >> assign
command: += assign_button | if_pressed_else | error_if_pressed_missing_else | if_pressed_without_else | ifelse | ifs | error_else_no_if -= error_invalid >> assign
_if_less_command: print | ask | play | turtle | assign_button | assign_list | add | remove | sleep | error_print_no_quotes | assign

// error_invalid is moved from to command to program, so that command rules have priority over error_invalid
Expand All @@ -26,9 +26,11 @@ if_pressed_without_else: _IF (LETTER_OR_NUMERAL | var) _IS _PRESSED _EOL* _if_le
error_if_pressed_missing_else: if_pressed_without_else

_if_clause: _IF (condition (_SPACE+ _EOL* | _SPACE* _EOL+) | condition_spaces _SPACE* _EOL+ | error_condition) _if_less_command
_else_clause: _ELSE (_SPACE+ _EOL* | _SPACE* _EOL+) _if_less_command
error_condition: condition_spaces _SPACE
ifelse: _if_clause (_SPACE+ _EOL* | _SPACE* _EOL+) _ELSE (_SPACE+ _EOL* | _SPACE* _EOL+) _if_less_command
ifelse: _if_clause (_SPACE+ _EOL* | _SPACE* _EOL+) _else_clause
ifs: _if_clause // 'if' is a reserved word in Python, hence the name of the rule is 'ifs'
error_else_no_if.-1: _else_clause

condition_spaces: textwithoutspaces _IS textwithoutspaces (_SPACE textwithoutspaces)+
condition: equality_check | in_list_check | not_in_list_check
Expand Down
2 changes: 1 addition & 1 deletion grammars/level6-Additions.lark
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ _print_ask_argument: (_SPACE | quoted_text | list_access | expression | print_ex
?print_expression: var_access_print | error_unsupported_number | INT

// redefining it entirely since it has many order-depending rules
command: clear | error_non_decimal | print | turtle | play | add | remove | error_add_missing_to | error_remove_missing_from | sleep | error_print_no_quotes | error_print_one_quote_only | if_pressed_else | error_if_pressed_missing_else | if_pressed_without_else | ifelse | ifs | ask | error_ask_no_quotes| assign_button | assign | assign_list | error_invalid_space | error_text_no_print | empty_line
command: clear | error_non_decimal | print | turtle | play | add | remove | error_add_missing_to | error_remove_missing_from | sleep | error_print_no_quotes | error_print_one_quote_only | if_pressed_else | error_if_pressed_missing_else | if_pressed_without_else | ifelse | ifs | error_else_no_if | ask | error_ask_no_quotes | assign_button | assign | assign_list | error_invalid_space | error_text_no_print | empty_line
_if_less_command: print | turtle | play | add | remove | sleep | error_print_no_quotes | error_print_one_quote_only | ask | error_ask_no_quotes | assign_button | assign | assign_list

//splitting these commands into two rules, one for equals and one for is so they can be properly handled in the translator
Expand Down
2 changes: 1 addition & 1 deletion grammars/level8-Additions.lark
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
command: += error_repeat_dep_8 | error_ifelse | if_pressed_without_else | if_pressed if_pressed_elses? | ifs elses? -= error_invalid_space | ifelse
command: += error_repeat_dep_8 | error_ifelse | if_pressed_without_else | if_pressed if_pressed_elses? | ifs elses? -= error_invalid_space | ifelse | error_else_no_if

repeat.1: _REPEAT (INT | var_access) _TIMES _SPACE? _EOL (_SPACE command) (_EOL _SPACE command)* _EOL? _END_BLOCK
error_repeat_dep_8: _REPEAT (INT | var_access) _TIMES _SPACE command
Expand Down
3 changes: 3 additions & 0 deletions hedy.py
Original file line number Diff line number Diff line change
Expand Up @@ -1253,6 +1253,9 @@ def error_ifelse(self, meta, args):
tip='no_more_flat_if',
line_number=meta.line)

def error_else_no_if(self, meta, args):
raise exceptions.ElseWithoutIfException(meta.line)

def error_for_missing_in(self, meta, args):
raise exceptions.MissingAdditionalCommand(command='for', missing_command='in', line_number=meta.line)

Expand Down
3 changes: 3 additions & 0 deletions messages.pot
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ msgstr ""
msgid "Cyclic Var Definition"
msgstr ""

msgid "Else Without If Error"
msgstr ""

msgid "Function Undefined"
msgstr ""

Expand Down
3 changes: 2 additions & 1 deletion tests/Tester.py
Original file line number Diff line number Diff line change
Expand Up @@ -341,7 +341,8 @@ def single_level_tester(
skipped_exceptions = [
hedy.exceptions.ParseException, hedy.exceptions.CodePlaceholdersPresentException,
hedy.exceptions.TooFewIndentsStartLevelException, hedy.exceptions.TooManyIndentsStartLevelException,
hedy.exceptions.NoIndentationException, hedy.exceptions.IndentationException
hedy.exceptions.NoIndentationException, hedy.exceptions.IndentationException,
hedy.exceptions.ElseWithoutIfException
]

if translate and exception not in skipped_exceptions and skipped_mappings is None:
Expand Down
18 changes: 18 additions & 0 deletions tests/test_level/test_level_05.py
Original file line number Diff line number Diff line change
Expand Up @@ -684,6 +684,24 @@ def test_if_equality_print_else_print_bengali(self):

self.single_level_tester(code=code, expected=expected)

def test_else_without_if_gives_error(self):
code = "else print 'wrong'"

self.multi_level_tester(code=code, exception=hedy.exceptions.ElseWithoutIfException, max_level=7)

def test_else_without_if_indentation_gives_error(self):
code = textwrap.dedent("""\
if answer is yes print 'great!'
print 'correct'
else print 'wrong'""")

self.multi_level_tester(
code=code,
exception=hedy.exceptions.ElseWithoutIfException,
max_level=7,
skip_faulty=False
)

#
# combined tests
#
Expand Down
3 changes: 3 additions & 0 deletions translations/ar/LC_MESSAGES/messages.po
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@ msgstr "لقد حاولت استخدام المتغير {name} في السطر {
msgid "Cyclic Var Definition"
msgstr "يجب أن تضبط قيمة المتغير `{variable}` قبل أن تستعمله على الجانب الأيسر من من الأمر هو."

msgid "Else Without If Error"
msgstr ""

#, fuzzy
msgid "Function Undefined"
msgstr "You tried to use the function {name}, but you didn't define it."
Expand Down
3 changes: 3 additions & 0 deletions translations/bg/LC_MESSAGES/messages.po
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ msgstr "You tried to use the variable {name} on line {access_line_number}, but y
msgid "Cyclic Var Definition"
msgstr "The name `{variable}` needs to be set before you can use it on the right-hand side of the is command"

msgid "Else Without If Error"
msgstr ""

#, fuzzy
msgid "Function Undefined"
msgstr "You tried to use the function {name}, but you didn't define it."
Expand Down
3 changes: 3 additions & 0 deletions translations/bn/LC_MESSAGES/messages.po
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ msgstr "You tried to use the variable {name} on line {access_line_number}, but y
msgid "Cyclic Var Definition"
msgstr "The name `{variable}` needs to be set before you can use it on the right-hand side of the is command"

msgid "Else Without If Error"
msgstr ""

#, fuzzy
msgid "Function Undefined"
msgstr "You tried to use the function {name}, but you didn't define it।"
Expand Down
3 changes: 3 additions & 0 deletions translations/ca/LC_MESSAGES/messages.po
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ msgstr "Has intentat utilitzar la variable {name} a la línia {access_line_numbe
msgid "Cyclic Var Definition"
msgstr "El nom `{variable}` ha de ser definit abans d'utilitzar-lo a la dreta de la comanda `{is}`."

msgid "Else Without If Error"
msgstr ""

#, fuzzy
msgid "Function Undefined"
msgstr "You tried to use the function {name}, but you didn't define it."
Expand Down
3 changes: 3 additions & 0 deletions translations/cs/LC_MESSAGES/messages.po
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ msgstr "You tried to use the variable {name} on line {access_line_number}, but y
msgid "Cyclic Var Definition"
msgstr "The name `{variable}` needs to be set before you can use it on the right-hand side of the is command"

msgid "Else Without If Error"
msgstr ""

#, fuzzy
msgid "Function Undefined"
msgstr "You tried to use the function {name}, but you didn't define it."
Expand Down
3 changes: 3 additions & 0 deletions translations/cy/LC_MESSAGES/messages.po
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ msgstr "You tried to use the variable {name} on line {access_line_number}, but y
msgid "Cyclic Var Definition"
msgstr "The name `{variable}` needs to be set before you can use it on the right-hand side of the `{is}` command."

msgid "Else Without If Error"
msgstr ""

#, fuzzy
msgid "Function Undefined"
msgstr "You tried to use the function {name}, but you didn't define it."
Expand Down
3 changes: 3 additions & 0 deletions translations/da/LC_MESSAGES/messages.po
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ msgstr "You tried to use the variable {name} on line {access_line_number}, but y
msgid "Cyclic Var Definition"
msgstr "The name `{variable}` needs to be set before you can use it on the right-hand side of the `{is}` command."

msgid "Else Without If Error"
msgstr ""

#, fuzzy
msgid "Function Undefined"
msgstr "You tried to use the function {name}, but you didn't define it."
Expand Down
3 changes: 3 additions & 0 deletions translations/de/LC_MESSAGES/messages.po
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ msgstr "Du hast versucht die Variable {name} in Zeile {access_line_number} zu be
msgid "Cyclic Var Definition"
msgstr "Der Name `{variable}` muss gesetzt werden, bevor du ihn auf der rechten Seite des `{is}` Befehls verwenden kannst."

msgid "Else Without If Error"
msgstr ""

#, fuzzy
msgid "Function Undefined"
msgstr "You tried to use the function {name}, but you didn't define it."
Expand Down
3 changes: 3 additions & 0 deletions translations/el/LC_MESSAGES/messages.po
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@ msgstr "You tried to use the variable {name} on line {access_line_number}, but y
msgid "Cyclic Var Definition"
msgstr "Το όνομα `{variable}` πρέπει να οριστεί για να μπορέσεις να το χρησιμοποιήσεις στη δεξιά πλευρά της εντολής is"

msgid "Else Without If Error"
msgstr ""

#, fuzzy
msgid "Function Undefined"
msgstr "You tried to use the function {name}, but you didn't define it."
Expand Down
3 changes: 3 additions & 0 deletions translations/en/LC_MESSAGES/messages.po
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@ msgstr "You tried to use the variable {name} on line {access_line_number}, but y
msgid "Cyclic Var Definition"
msgstr "The name `{variable}` needs to be set before you can use it on the right-hand side of the `{is}` command."

msgid "Else Without If Error"
msgstr "On line {line_number} you used an `{else}` but there is no `{if}` on the line before it."

msgid "Function Undefined"
msgstr "You tried to use the function {name}, but you didn't define it."

Expand Down
3 changes: 3 additions & 0 deletions translations/eo/LC_MESSAGES/messages.po
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ msgstr "Vi provis uzi la variablon {name} je la linio {access_line_number}, sed
msgid "Cyclic Var Definition"
msgstr "La nomo `{variable}` bezonas ricevi valoron antaŭ vi povas uzi ĝin maldekstre de la komando `{is}`."

msgid "Else Without If Error"
msgstr ""

msgid "Function Undefined"
msgstr "Vi provis uzi la funkcion {name}, sed vi ne difinis ĝin."

Expand Down
3 changes: 3 additions & 0 deletions translations/es/LC_MESSAGES/messages.po
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ msgstr "Has intentado usar la variable {name} en la línea {access_line_number},
msgid "Cyclic Var Definition"
msgstr "Debes declarar la variable `{variable}` antes de poder usarla en el lado derecho del comando `{is}`."

msgid "Else Without If Error"
msgstr ""

msgid "Function Undefined"
msgstr "Has intentado utilizar la función {name}, pero no la has definido."

Expand Down
3 changes: 3 additions & 0 deletions translations/et/LC_MESSAGES/messages.po
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ msgstr "You tried to use the variable {name} on line {access_line_number}, but y
msgid "Cyclic Var Definition"
msgstr "The name `{variable}` needs to be set before you can use it on the right-hand side of the is command."

msgid "Else Without If Error"
msgstr ""

#, fuzzy
msgid "Function Undefined"
msgstr "You tried to use the function {name}, but you didn't define it."
Expand Down
3 changes: 3 additions & 0 deletions translations/fa/LC_MESSAGES/messages.po
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ msgstr "You tried to use the variable {name} on line {access_line_number}, but y
msgid "Cyclic Var Definition"
msgstr "The name `{variable}` needs to be set before you can use it on the right-hand side of the is command"

msgid "Else Without If Error"
msgstr ""

#, fuzzy
msgid "Function Undefined"
msgstr "You tried to use the function {name}, but you didn't define it."
Expand Down
3 changes: 3 additions & 0 deletions translations/fi/LC_MESSAGES/messages.po
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ msgstr "You tried to use the variable {name} on line {access_line_number}, but y
msgid "Cyclic Var Definition"
msgstr "The name `{variable}` needs to be set before you can use it on the right-hand side of the `{is}` command."

msgid "Else Without If Error"
msgstr ""

#, fuzzy
msgid "Function Undefined"
msgstr "You tried to use the function {name}, but you didn't define it."
Expand Down
3 changes: 3 additions & 0 deletions translations/fr/LC_MESSAGES/messages.po
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ msgstr "Tu as essayé d'utiliser la variable {name} à la ligne {access_line_num
msgid "Cyclic Var Definition"
msgstr "Le nom `{variable}` doit être défini avant que tu puisses l’utiliser à droite de la commande `is`."

msgid "Else Without If Error"
msgstr ""

#, fuzzy
msgid "Function Undefined"
msgstr "You tried to use the function {name}, but you didn't define it."
Expand Down
3 changes: 3 additions & 0 deletions translations/fy/LC_MESSAGES/messages.po
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ msgstr "You tried to use the variable {name} on line {access_line_number}, but y
msgid "Cyclic Var Definition"
msgstr "The name `{variable}` needs to be set before you can use it on the right-hand side of the is command"

msgid "Else Without If Error"
msgstr ""

#, fuzzy
msgid "Function Undefined"
msgstr "You tried to use the function {name}, but you didn't define it."
Expand Down
3 changes: 3 additions & 0 deletions translations/he/LC_MESSAGES/messages.po
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ msgstr "ניסיתם להשתמש במשתנה {name} בשורה {access_line_nu
msgid "Cyclic Var Definition"
msgstr "The name `{variable}` needs to be set before you can use it on the right-hand side of the is command."

msgid "Else Without If Error"
msgstr ""

#, fuzzy
msgid "Function Undefined"
msgstr "You tried to use the function {name}, but you didn't define it."
Expand Down
3 changes: 3 additions & 0 deletions translations/hi/LC_MESSAGES/messages.po
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ msgstr "आपने लाइन {access_line_number} पर वेरिएब
msgid "Cyclic Var Definition"
msgstr "नाम `{variable}` को is कमांड के दाईं ओर उपयोग करने से पहले सेट करने की आवश्यकता है"

msgid "Else Without If Error"
msgstr ""

msgid "Function Undefined"
msgstr "आपने फ़ंक्शन {name} का उपयोग करने का प्रयास किया, लेकिन आपने इसे परिभाषित नहीं किया।"

Expand Down
3 changes: 3 additions & 0 deletions translations/hu/LC_MESSAGES/messages.po
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ msgstr "A {name} nevű változót a {access_line_number}. sorban próbáltad has
msgid "Cyclic Var Definition"
msgstr "Először be kell állítanod a `{variable}` nevű változó értékét, csak utána tudod az `{is}` parancs jobb oldalán használni"

msgid "Else Without If Error"
msgstr ""

#, fuzzy
msgid "Function Undefined"
msgstr "You tried to use the function {name}, but you didn't define it."
Expand Down
3 changes: 3 additions & 0 deletions translations/ia/LC_MESSAGES/messages.po
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ msgstr "You tried to use the variable {name} on line {access_line_number}, but y
msgid "Cyclic Var Definition"
msgstr "The name `{variable}` needs to be set before you can use it on the right-hand side of the `{is}` command."

msgid "Else Without If Error"
msgstr ""

#, fuzzy
msgid "Function Undefined"
msgstr "You tried to use the function {name}, but you didn't define it."
Expand Down
3 changes: 3 additions & 0 deletions translations/id/LC_MESSAGES/messages.po
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,9 @@ msgstr ""
msgid "Cyclic Var Definition"
msgstr "Nama `{variable}` perlu disetel sebelum Anda dapat menggunakannya di sisi kanan perintah `{is}`."

msgid "Else Without If Error"
msgstr ""

#, fuzzy
msgid "Function Undefined"
msgstr "You tried to use the function {name}, but you didn't define it."
Expand Down
3 changes: 3 additions & 0 deletions translations/it/LC_MESSAGES/messages.po
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ msgstr "Hai provato a utilizzare la variabile {name} sulla riga {access_line_num
msgid "Cyclic Var Definition"
msgstr "Il nome `{variable}` deve essere impostato prima di poterlo utilizzare sul lato destro del comando `{is}`."

msgid "Else Without If Error"
msgstr ""

#, fuzzy
msgid "Function Undefined"
msgstr "You tried to use the function {name}, but you didn't define it."
Expand Down
3 changes: 3 additions & 0 deletions translations/ja/LC_MESSAGES/messages.po
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ msgstr "あなたは {name} という変数を{access_line_number}行で使お
msgid "Cyclic Var Definition"
msgstr "この名前 `{variable}`は、`{is}` コマンドの右側で使う前に定めて下さい。"

msgid "Else Without If Error"
msgstr ""

#, fuzzy
msgid "Function Undefined"
msgstr "You tried to use the function {name}, but you didn't define it."
Expand Down
3 changes: 3 additions & 0 deletions translations/kmr/LC_MESSAGES/messages.po
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ msgstr "You tried to use the variable {name} on line {access_line_number}, but y
msgid "Cyclic Var Definition"
msgstr "The name `{variable}` needs to be set before you can use it on the right-hand side of the `{is}` command."

msgid "Else Without If Error"
msgstr ""

#, fuzzy
msgid "Function Undefined"
msgstr "You tried to use the function {name}, but you didn't define it."
Expand Down
3 changes: 3 additions & 0 deletions translations/ko/LC_MESSAGES/messages.po
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ msgstr "{access_line_number} 라인에서 {name} 변수를 사용하려고 했
msgid "Cyclic Var Definition"
msgstr "`{is}` 명령어의 오른쪽에서 이름 `{variable}`을(를) 설정해야 사용할 수 있습니다."

msgid "Else Without If Error"
msgstr ""

#, fuzzy
msgid "Function Undefined"
msgstr "You tried to use the function {name}, but you didn't define it."
Expand Down
3 changes: 3 additions & 0 deletions translations/mi/LC_MESSAGES/messages.po
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ msgstr "You tried to use the variable {name} on line {access_line_number}, but y
msgid "Cyclic Var Definition"
msgstr "The name `{variable}` needs to be set before you can use it on the right-hand side of the `{is}` command."

msgid "Else Without If Error"
msgstr ""

#, fuzzy
msgid "Function Undefined"
msgstr "You tried to use the function {name}, but you didn't define it."
Expand Down
3 changes: 3 additions & 0 deletions translations/nb_NO/LC_MESSAGES/messages.po
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@ msgstr "You tried to use the variable {name} on line {access_line_number}, but y
msgid "Cyclic Var Definition"
msgstr "Variabelen `{variable}` må opprettes og gis en verdi før du kan bruke den på høyre siden av hvis-kommandoen"

msgid "Else Without If Error"
msgstr ""

#, fuzzy
msgid "Function Undefined"
msgstr "You tried to use the function {name}, but you didn't define it."
Expand Down
3 changes: 3 additions & 0 deletions translations/nl/LC_MESSAGES/messages.po
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ msgstr "Je probeerde de variabele {name} te gebruiken op regel {access_line_numb
msgid "Cyclic Var Definition"
msgstr "De variabele `{variable}` moet worden ingesteld voor je die aan de rechterkant van een `{is}` mag gebruiken."

msgid "Else Without If Error"
msgstr ""

msgid "Function Undefined"
msgstr "Je gebruikt de functie {name} te gebruiken, maar je hebt die niet gedefinieerd."

Expand Down
Loading

0 comments on commit d888124

Please sign in to comment.