From c700a5b433589785868150bda2d3d946374533e7 Mon Sep 17 00:00:00 2001 From: Boryana Goncharenko <3010723+boryanagoncharenko@users.noreply.github.com> Date: Mon, 18 Mar 2024 13:25:49 +0200 Subject: [PATCH] Consolidate error translation and highlighting; Refactor error templates #5240 --- app.py | 104 +------------- content/error-messages.txt | 3 + exceptions.py | 15 +++ hedy.py | 62 ++++----- hedy_error.py | 127 ++++++++++++++++++ messages.pot | 18 +-- tests/Tester.py | 25 ++-- tests/test_error.py | 114 ++++++++++++++++ tests/test_level/test_level_12.py | 16 +-- .../list_public_parse_errors.py | 5 +- .../test_public_programs.py | 5 +- tests/test_translation_error.py | 37 ----- translations/ar/LC_MESSAGES/messages.po | 62 ++++----- translations/bg/LC_MESSAGES/messages.po | 70 +++++----- translations/bn/LC_MESSAGES/messages.po | 70 +++++----- translations/ca/LC_MESSAGES/messages.po | 76 +++++------ translations/cs/LC_MESSAGES/messages.po | 70 +++++----- translations/cy/LC_MESSAGES/messages.po | 74 +++++----- translations/da/LC_MESSAGES/messages.po | 74 +++++----- translations/de/LC_MESSAGES/messages.po | 74 +++++----- translations/el/LC_MESSAGES/messages.po | 68 +++++----- translations/en/LC_MESSAGES/messages.po | 70 +++++----- translations/eo/LC_MESSAGES/messages.po | 70 +++++----- translations/es/LC_MESSAGES/messages.po | 70 +++++----- translations/et/LC_MESSAGES/messages.po | 70 +++++----- translations/fa/LC_MESSAGES/messages.po | 70 +++++----- translations/fi/LC_MESSAGES/messages.po | 74 +++++----- translations/fr/LC_MESSAGES/messages.po | 74 +++++----- translations/fy/LC_MESSAGES/messages.po | 70 +++++----- translations/he/LC_MESSAGES/messages.po | 70 +++++----- translations/hi/LC_MESSAGES/messages.po | 68 +++++----- translations/hu/LC_MESSAGES/messages.po | 68 +++++----- translations/ia/LC_MESSAGES/messages.po | 72 +++++----- translations/id/LC_MESSAGES/messages.po | 72 +++++----- translations/it/LC_MESSAGES/messages.po | 70 +++++----- translations/ja/LC_MESSAGES/messages.po | 70 +++++----- translations/kmr/LC_MESSAGES/messages.po | 74 +++++----- translations/ko/LC_MESSAGES/messages.po | 72 +++++----- translations/mi/LC_MESSAGES/messages.po | 72 +++++----- translations/nb_NO/LC_MESSAGES/messages.po | 64 ++++----- translations/nl/LC_MESSAGES/messages.po | 72 +++++----- translations/pa_PK/LC_MESSAGES/messages.po | 74 +++++----- translations/pap/LC_MESSAGES/messages.po | 72 +++++----- translations/pl/LC_MESSAGES/messages.po | 72 +++++----- translations/pt_BR/LC_MESSAGES/messages.po | 70 +++++----- translations/pt_PT/LC_MESSAGES/messages.po | 70 +++++----- translations/ro/LC_MESSAGES/messages.po | 74 +++++----- translations/ru/LC_MESSAGES/messages.po | 74 +++++----- translations/sq/LC_MESSAGES/messages.po | 68 +++++----- translations/sr/LC_MESSAGES/messages.po | 74 +++++----- translations/sv/LC_MESSAGES/messages.po | 74 +++++----- translations/sw/LC_MESSAGES/messages.po | 70 +++++----- translations/te/LC_MESSAGES/messages.po | 74 +++++----- translations/th/LC_MESSAGES/messages.po | 66 ++++----- translations/tl/LC_MESSAGES/messages.po | 74 +++++----- translations/tn/LC_MESSAGES/messages.po | 68 +++++----- translations/tr/LC_MESSAGES/messages.po | 68 +++++----- translations/uk/LC_MESSAGES/messages.po | 72 +++++----- translations/ur/LC_MESSAGES/messages.po | 68 +++++----- translations/vi/LC_MESSAGES/messages.po | 74 +++++----- translations/zh_Hans/LC_MESSAGES/messages.po | 70 +++++----- translations/zh_Hant/LC_MESSAGES/messages.po | 74 +++++----- website/statistics.py | 26 +--- 63 files changed, 2115 insertions(+), 1992 deletions(-) create mode 100644 hedy_error.py create mode 100644 tests/test_error.py delete mode 100644 tests/test_translation_error.py diff --git a/app.py b/app.py index 394d714df6e..ee746c484ab 100644 --- a/app.py +++ b/app.py @@ -33,6 +33,7 @@ import hedy_translation import hedyweb import utils +from hedy_error import get_error_text from safe_format import safe_format from config import config from website.flask_helpers import render_template, proper_tojson, JinjaCompatibleJsonProvider @@ -555,7 +556,7 @@ def parse(): DATABASE.increase_user_run_count(username) ACHIEVEMENTS.increase_count("run") except hedy.exceptions.WarningException as ex: - translated_error = translate_error(ex.error_code, ex.arguments, keyword_lang) + translated_error = get_error_text(ex, keyword_lang) if isinstance(ex, hedy.exceptions.InvalidSpaceException): response['Warning'] = translated_error elif isinstance(ex, hedy.exceptions.UnusedVariableException): @@ -566,7 +567,7 @@ def parse(): transpile_result = ex.fixed_result exception = ex except hedy.exceptions.UnquotedEqualityCheckException as ex: - response['Error'] = translate_error(ex.error_code, ex.arguments, keyword_lang) + response['Error'] = get_error_text(ex, keyword_lang) response['Location'] = ex.error_location exception = ex @@ -576,11 +577,7 @@ def parse(): for i, mapping in source_map_result.items(): if mapping['error'] is not None: - source_map_result[i]['error'] = translate_error( - source_map_result[i]['error'].error_code, - source_map_result[i]['error'].arguments, - keyword_lang - ) + source_map_result[i]['error'] = get_error_text(source_map_result[i]['error'], keyword_lang) response['source_map'] = source_map_result @@ -845,102 +842,11 @@ def get_class_name(i): def hedy_error_to_response(ex): keyword_lang = current_keyword_language()["lang"] return { - "Error": translate_error(ex.error_code, ex.arguments, keyword_lang), + "Error": get_error_text(ex, keyword_lang), "Location": ex.error_location } -def translate_error(code, arguments, keyword_lang): - arguments_that_require_translation = [ - 'allowed_types', - 'invalid_type', - 'invalid_type_2', - 'offending_keyword', - 'character_found', - 'concept', - 'tip', - 'else', - 'command', - 'incomplete_command', - 'missing_command', - 'print', - 'ask', - 'echo', - 'is', - 'if', - 'repeat'] - arguments_that_require_highlighting = [ - 'command', - 'incomplete_command', - 'missing_command', - 'guessed_command', - 'invalid_argument', - 'invalid_argument_2', - 'offending_keyword', - 'variable', - 'invalid_value', - 'print', - 'else', - 'ask', - 'echo', - 'is', - 'if', - 'repeat', - '[]'] - - # Todo TB -> We have to find a more delicate way to fix this: returns some gettext() errors - error_template = gettext('' + str(code)) - - # Fetch tip if it exists and merge into template, since it can also contain placeholders - # that need to be translated/highlighted - - if 'tip' in arguments: - error_template = error_template.replace("{tip}", gettext('' + str(arguments['tip']))) - # TODO, FH Oct 2022 -> Could we do this with a format even though we don't have all fields? - - # adds keywords to the dictionary so they can be translated if they occur in the error text - - # FH Oct 2022: this could be optimized by only adding them when they occur in the text - # (either with string matching or with a list of placeholders for each error) - arguments["print"] = "print" - arguments["ask"] = "ask" - arguments["echo"] = "echo" - arguments["else"] = "else" - arguments["repeat"] = "repeat" - arguments["is"] = "is" - arguments["if"] = "if" - - # some arguments like allowed types or characters need to be translated in the error message - for k, v in arguments.items(): - if k in arguments_that_require_translation: - if isinstance(v, list): - arguments[k] = translate_list(v) - else: - arguments[k] = gettext('' + str(v)) - - if k in arguments_that_require_highlighting: - if k in arguments_that_require_translation: - local_keyword = hedy_translation.translate_keyword_from_en(v, keyword_lang) - arguments[k] = hedy.style_command(local_keyword) - else: - arguments[k] = hedy.style_command(v) - - return safe_format(error_template, **arguments) - - -def translate_list(args): - translated_args = [gettext('' + str(a)) for a in args] - # Deduplication is needed because diff values could be translated to the - # same value, e.g. int and float => a number - translated_args = list(dict.fromkeys(translated_args)) - - if len(translated_args) > 1: - return f"{', '.join(translated_args[0:-1])}" \ - f" {gettext('or')} " \ - f"{translated_args[-1]}" - return ''.join(translated_args) - - @app.route('/report_error', methods=['POST']) def report_error(): post_body = request.json diff --git a/content/error-messages.txt b/content/error-messages.txt index 06ba78473c6..bd3d1042930 100644 --- a/content/error-messages.txt +++ b/content/error-messages.txt @@ -30,6 +30,9 @@ gettext('Incomplete Repeat') gettext('Unsupported String Value') gettext('Pressit Missing Else') gettext('Lonely Text') +gettext('Runtime Value Error') +gettext('Runtime Values Error') +gettext('Runtime Index Error') gettext('ask_needs_var') gettext('no_more_flat_if') gettext('echo_out') diff --git a/exceptions.py b/exceptions.py index 1151aaf1a2b..9cdc98d63c2 100644 --- a/exceptions.py +++ b/exceptions.py @@ -361,4 +361,19 @@ def __init__(self): super().__init__('Invalid Error Skipped') +class RuntimeValueException(HedyException): + def __init__(self, command, value, tip): + super().__init__('Runtime Value Error', command=command, value=value, tip=tip) + + +class RuntimeValuesException(HedyException): + def __init__(self, command, value, tip): + super().__init__('Runtime Values Error', command=command, value=value, tip=tip) + + +class RuntimeIndexException(HedyException): + def __init__(self, name): + super().__init__('Runtime Index Error', name=name) + + HEDY_EXCEPTIONS = {name: cls for name, cls in globals().items() if inspect.isclass(cls)} diff --git a/hedy.py b/hedy.py index 4f133a93b43..65fbb09e6e0 100644 --- a/hedy.py +++ b/hedy.py @@ -10,6 +10,7 @@ import warnings import hedy +import hedy_error import hedy_translation from utils import atomic_write_file from hedy_content import ALL_KEYWORD_LANGUAGES @@ -161,11 +162,11 @@ # Let's retrieve all keywords dynamically from the cached KEYWORDS dictionary indent_keywords = {} -for lang, keywords in KEYWORDS.items(): - indent_keywords[lang] = [] +for lang_, keywords in KEYWORDS.items(): + indent_keywords[lang_] = [] for keyword in ['if', 'elif', 'for', 'repeat', 'while', 'else', 'define', 'def']: - indent_keywords[lang].append(keyword) # always also check for En - indent_keywords[lang].append(keywords.get(keyword)) + indent_keywords[lang_].append(keyword) # always also check for En + indent_keywords[lang_].append(keywords.get(keyword)) # These are the preprocessor rules that we use to specify changes in the rules that @@ -184,28 +185,17 @@ def needs_colon(rule): } -def translate_value_error(command, value, suggested_type): - return translate_error(gettext('catch_value_exception'), [ - ('{command}', command, 1), - ('{value}', value, 1), - ('{suggestion}', translate_suggestion(suggested_type), 0) - ]) +def make_value_error(command, value, tip, lang): + return make_error_text(exceptions.RuntimeValueException(command=command, value=value, tip=tip), lang) -def translate_values_error(command, suggested_type): - return translate_error(gettext("catch_multiple_values_exception"), [ - ('{command}', command, 1), - ('{value}', '{}', 1), - ('{suggestion}', translate_suggestion(suggested_type), 0) - ]) +def make_values_error(command, tip, lang): + return make_error_text(exceptions.RuntimeValuesException(command=command, value='{}', tip=tip), lang) -def translate_error(exception_text, variables): - for template, value, is_highlighted in variables: - result = style_command(value) if is_highlighted else value - exception_text = exception_text.replace(template, result) - # The error is transpiled in f-strings with ", ' and ''' quotes. The only option is to use """. - return '"""' + exception_text + '"""' +def make_error_text(ex, lang): + # The error text is transpiled in f-strings with ", ' and ''' quotes. The only option is to use """. + return f'"""{hedy_error.get_error_text(ex, lang)}"""' def translate_suggestion(suggestion_type): @@ -1214,7 +1204,7 @@ def error_invalid(self, meta, args): if sug_exists is None: # there is no suggestion raise exceptions.MissingCommandException(level=self.level, line_number=meta.line) if not sug_exists: # the suggestion is invalid, i.e. identical to the command - invalid_command_en = hedy_translation.translate_keyword_to_en(invalid_command, lang) + invalid_command_en = hedy_translation.translate_keyword_to_en(invalid_command, self.lang) if invalid_command_en == Command.turn: arg = args[0][0] raise hedy.exceptions.InvalidArgumentException( @@ -1507,7 +1497,7 @@ def check_var_usage_when_quotes_are_required(self, arg, meta): def code_to_ensure_variable_type(self, arg, expected_type, command, suggested_type): if not self.is_variable(arg): return "" - exception = translate_value_error(command, f'{{{arg}}}', suggested_type) + exception = make_value_error(command, f'{{{arg}}}', suggested_type, self.language) return textwrap.dedent(f"""\ try: {expected_type}({arg}) @@ -1663,7 +1653,7 @@ def make_forward(self, parameter): return self.make_turtle_command(parameter, Command.forward, 'forward', True, 'int') def make_play(self, note, meta): - exception_text = translate_value_error('play', note, 'note') + exception_text = make_value_error('play', note, 'suggestion_note', self.language) return textwrap.dedent(f"""\ if '{note}' not in notes_mapping.keys() and '{note}' not in notes_mapping.values(): @@ -1672,7 +1662,7 @@ def make_play(self, note, meta): time.sleep(0.5)""") def make_play_var(self, note, meta): - exception_text = translate_value_error('play', note, 'note') + exception_text = make_value_error('play', note, 'suggestion_note', self.language) self.check_var_usage([note], meta.line) chosen_note = note.children[0] if isinstance(note, Tree) else note @@ -1691,7 +1681,7 @@ def make_turtle_command(self, parameter, command, command_text, add_sleep, type) if isinstance(parameter, str): exception = self.make_index_error_check_if_list([parameter]) variable = self.get_fresh_var('__trtl') - exception_text = translate_value_error(command, variable, 'number') + exception_text = make_value_error(command, variable, 'suggestion_number', self.language) transpiled = exception + textwrap.dedent(f"""\ {variable} = {parameter} try: @@ -1711,7 +1701,7 @@ def make_turtle_color_command(self, parameter, command, command_text, language): # coming from a random list or ask color_dict = {hedy_translation.translate_keyword_from_en(x, language): x for x in english_colors} - exception_text = translate_value_error(command, parameter, 'color') + exception_text = make_value_error(command, parameter, 'suggestion_color', self.language) return textwrap.dedent(f"""\ {variable} = f'{parameter}' color_dict = {color_dict} @@ -1744,7 +1734,7 @@ def make_index_error_check_if_list(self, args): return ''.join(errors) def make_index_error(self, code, list_name): - exception_text = translate_error(gettext('catch_index_exception'), [('{list_name}', list_name, 1)]) + exception_text = make_error_text(exceptions.RuntimeIndexException(name=list_name), self.language) return textwrap.dedent(f"""\ try: {code} @@ -1890,7 +1880,7 @@ def sleep(self, meta, args): self.add_variable_access_location(value, meta.line) exceptions = self.make_index_error_check_if_list(args) try_prefix = "try:\n" + textwrap.indent(exceptions, " ") - exception_text = translate_value_error(Command.sleep, value, 'number') + exception_text = make_value_error(Command.sleep, value, 'suggestion_number', self.language) code = try_prefix + textwrap.dedent(f"""\ time.sleep(int({value})){self.add_debug_breakpoint()} except ValueError: @@ -2153,7 +2143,7 @@ def sleep(self, meta, args): exceptions = self.make_index_error_check_if_list(args) try_prefix = "try:\n" + textwrap.indent(exceptions, " ") - exception_text = translate_value_error(Command.sleep, value, 'number') + exception_text = make_value_error(Command.sleep, value, 'suggestion_number', self.language) code = try_prefix + textwrap.dedent(f"""\ time.sleep(int({value})) except ValueError: @@ -2218,7 +2208,7 @@ def process_token_or_tree_for_calculation(self, argument, command, meta): latin_numeral = int(argument) return f'int({latin_numeral})' self.add_variable_access_location(argument, meta.line) - exception_text = translate_value_error(command, argument, 'number') + exception_text = make_value_error(command, argument, 'suggestion_number', self.language) return f'int_with_error({argument}, {exception_text})' def process_calculation(self, args, operator, meta): @@ -2295,7 +2285,7 @@ def make_repeat(self, meta, args, multiline): body = "\n".join([self.indent(x) for x in args[1:]]) body = add_sleep_to_command(body, indent=True, is_debug=self.is_debug, location="after") - type_check = self.code_to_ensure_variable_type(times, 'int', Command.repeat, 'number') + type_check = self.code_to_ensure_variable_type(times, 'int', Command.repeat, 'suggestion_number') return f"{type_check}for {var_name} in range(int({times})):{self.add_debug_breakpoint()}\n{body}" def repeat(self, meta, args): @@ -2608,7 +2598,7 @@ def process_token_or_tree_for_calculation(self, argument, command, meta): else: # this is a variable, add to the table self.add_variable_access_location(argument, meta.line) - exception_text = translate_value_error(command, argument, 'number') + exception_text = make_value_error(command, argument, 'suggestion_number', self.language) return f'number_with_error({argument}, {exception_text})' def process_token_or_tree_for_addition(self, argument, meta): @@ -2625,8 +2615,8 @@ def addition(self, meta, args): if all([self.is_int(a) or self.is_float(a) for a in args]): return Tree('sum', [f'{args[0]} + {args[1]}']) else: - exception_text = translate_values_error(Command.addition, 'numbers_or_strings') - return Tree('sum', [f'sum_with_error({args[0]}, {args[1]}, {exception_text})']) + ex_text = make_values_error(Command.addition, 'suggestion_numbers_or_strings', self.language) + return Tree('sum', [f'sum_with_error({args[0]}, {args[1]}, {ex_text})']) def division(self, meta, args): return self.process_calculation(args, '/', meta) diff --git a/hedy_error.py b/hedy_error.py new file mode 100644 index 00000000000..dc504964be6 --- /dev/null +++ b/hedy_error.py @@ -0,0 +1,127 @@ +import hedy +import hedy_translation +import re +from flask_babel import gettext + + +# TODO: we should not maintain a list like this. Translation of exception arguments should happen when the exception +# is created, because then we know what language was used in every part of the code. For example, if a user creates +# the program `draai 50 forward 10` and mixes the languages of the keywords, an error regarding the turn command +# should use `draai` and an error about the forward command - `forward`. +arguments_that_require_translation = [ + 'allowed_types', + 'invalid_type', + 'invalid_type_2', + 'offending_keyword', + 'character_found', + 'concept', + 'tip', + 'else', + 'command', + 'incomplete_command', + 'missing_command', + 'print', + 'ask', + 'echo', + 'is', + 'if', + 'repeat', + 'suggestion_color', + 'suggestion_note', + 'suggestion_number', + 'suggestion_numbers_or_strings' +] + + +def get_error_text(ex, lang): + """ Return a translated and highlighted text of the provided HedyException """ + # TODO: TB -> We have to find a more delicate way to fix this: returns some gettext() errors + error_template = gettext('' + str(ex.error_code)) + arguments = ex.arguments + + # Some of the arguments like 'allowed_types' or 'characters' need to be translated in the error message + for k, v in arguments.items(): + if k in arguments_that_require_translation: + arguments[k] = _translate_error_arg(v, lang) + + # Some of the already translated arguments like 'tip' and 'allowed_types' are translated to text, which + # in turn needs to be translated/highlighted. Atm we explicitly allow for 1 level of nested translation. + for k, v in arguments.items(): + if k in arguments_that_require_translation: + nested_arguments = _extract_nested_arguments(v, lang) + if nested_arguments: + arguments[k] = v.format(**nested_arguments) + + # Errors might contain hardcoded references to commands which are not supplied in the arguments, e.g. {print}, {ask} + arguments.update(_get_missing_arguments(error_template, arguments, lang)) + + # Do not use a safe_format here. Every exception is tested against every language in tests_translation_error + result = error_template.format(**arguments) + return _highlight(result) + + +def _highlight(input_): + """ Add highlight styling to the parts in the input surrounded by backticks, for example: + '`print` is incorrect' becomes 'print is incorrect' + This is a simple implementation that does not allow escaping backticks. Extend it in the future if needed. """ + quote_positions = [i for i, x in enumerate(input_) if x == "`"] + quotes_even = len(quote_positions) % 2 == 0 + if not quote_positions or not quotes_even: + return input_ + + quote_positions.insert(0, 0) + result = [] + for i, position in enumerate(quote_positions): + start_ = position if i == 0 else position + 1 + end_ = quote_positions[i+1] if i + 1 < len(quote_positions) else len(input_) + if start_ < end_: + part = input_[start_:end_] + is_highlighted = i % 2 == 1 + result.append(hedy.style_command(part) if is_highlighted else part) + return ''.join(result) + + +def _get_keys(input_): + pattern = r'\{([^}]*)\}' + return re.findall(pattern, input_) + + +def _get_missing_arguments(input_, args, lang): + """ Discover and translate keywords used in the template which are missing from the arguments, e.g. {print} """ + matches = _get_keys(input_) + existing_keywords = hedy_translation.keywords_to_dict_single_choice(lang) + used_keys = [k for k in matches if k not in args and k in existing_keywords] + translated_keywords = {k: _translate_error_arg(k, lang) for k in used_keys} + return translated_keywords + + +def _extract_nested_arguments(template, lang): + used_keys = _get_keys(template) + return {k: _translate_error_arg(k, lang) for k in used_keys} + + +def _translate_error_arg(arg, lang): + if isinstance(arg, list): + return _translate_list(arg, lang) + + return _translate(arg, lang) + + +def _translate_list(args, lang): + translated_args = [_translate(a, lang) for a in args] + # deduplication is needed because diff values could be translated to the same value, e.g. int and float => a number + translated_args = list(dict.fromkeys(translated_args)) + + if len(translated_args) > 1: + return f"{', '.join(translated_args[0:-1])}" \ + f" {gettext('or')} " \ + f"{translated_args[-1]}" + return ''.join(translated_args) + + +def _translate(v, language): + translation = gettext('' + str(v)) + # if there is no translation available, probably this is a keyword + if v == translation: + translation = hedy_translation.translate_keyword_from_en(v, language) + return translation diff --git a/messages.pot b/messages.pot index 2afffcf8c7c..5f6b24653ad 100644 --- a/messages.pot +++ b/messages.pot @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2000-01-01 00:00+0000\n" -"PO-Revision-Date: 2000-01-01 00:00+0000\n" -"Last-Translator: Someone \n" +"POT-Creation-Date: 2024-03-15 15:32+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" @@ -92,6 +92,12 @@ msgstr "" msgid "Pressit Missing Else" msgstr "" +msgid "Runtime Value Error" +msgstr "" + +msgid "Runtime Values Error" +msgstr "" + msgid "Save Microbit code " msgstr "" @@ -278,12 +284,6 @@ msgstr "" msgid "catch_index_exception" msgstr "" -msgid "catch_multiple_values_exception" -msgstr "" - -msgid "catch_value_exception" -msgstr "" - msgid "certificate" msgstr "" diff --git a/tests/Tester.py b/tests/Tester.py index 71783fcdbbc..a46fa87abce 100644 --- a/tests/Tester.py +++ b/tests/Tester.py @@ -17,7 +17,8 @@ from hedy_sourcemap import SourceRange from functools import cache -from app import translate_error, app +from app import app +from hedy_error import get_error_text from flask_babel import force_locale ROOT_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) @@ -385,7 +386,7 @@ def turtle_command_transpiled(command, val, level): try: __trtl = {type}(__trtl) except ValueError: - raise Exception("""catch_value_exception""") + raise Exception({HedyTester.value_exception_transpiled()}) t.{command}(min(600, __trtl) if __trtl > 0 else max(-600, __trtl)){suffix}''') @staticmethod @@ -394,7 +395,7 @@ def sleep_command_transpiled(val): try: time.sleep(int({val})) except ValueError: - raise Exception("""catch_value_exception""")''') + raise Exception({HedyTester.value_exception_transpiled()})''') @staticmethod def turtle_color_command_transpiled(val, lang="en"): @@ -405,7 +406,7 @@ def turtle_color_command_transpiled(val, lang="en"): __trtl = f'{val}' color_dict = {color_dict} if __trtl not in {both_colors}: - raise Exception("""catch_value_exception""") + raise Exception({HedyTester.value_exception_transpiled()}) else: if not __trtl in {hedy.english_colors}: __trtl = color_dict[__trtl] @@ -437,7 +438,7 @@ def list_access_transpiled(list_access): try: {list_access} except IndexError: - raise Exception("""catch_index_exception""")''') + raise Exception({HedyTester.index_exception_transpiled()})''') @staticmethod def variable_type_check_transpiled(variable, type_,): @@ -445,29 +446,29 @@ def variable_type_check_transpiled(variable, type_,): try: {type_}({variable}) except ValueError: - raise Exception(f"""catch_value_exception""")''') + raise Exception(f{HedyTester.value_exception_transpiled()})''') @staticmethod def int_cast_transpiled(val, quotes=True): value = f"'{val}'" if quotes else val - return f'''int_with_error({value}, """catch_value_exception""")''' + return f'''int_with_error({value}, {HedyTester.value_exception_transpiled()})''' @staticmethod def number_cast_transpiled(val, quotes=False): value = f"'{val}'" if quotes else val - return f'''number_with_error({value}, """catch_value_exception""")''' + return f'''number_with_error({value}, {HedyTester.value_exception_transpiled()})''' @staticmethod def addition_transpiled(left, right): - return f'''sum_with_error({left}, {right}, """catch_multiple_values_exception""")''' + return f'''sum_with_error({left}, {right}, """Runtime Values Error""")''' @staticmethod def value_exception_transpiled(): - return '"""catch_value_exception"""' + return '"""Runtime Value Error"""' @staticmethod def index_exception_transpiled(): - return '"""catch_index_exception"""' + return '"""Runtime Index Error"""' # Used to overcome indentation issues when the above code is inserted # in test cases which use different indentation style (e.g. 2 or 4 spaces) @@ -527,7 +528,7 @@ def output_test_error(self, E, snippet): # Must run this in the context of the Flask app, because FlaskBabel requires that. with app.app_context(): with force_locale('en'): - error_message = translate_error(E.error_code, E.arguments, 'en') + error_message = get_error_text(E, 'en') error_message = error_message.replace('', '`') error_message = error_message.replace('', '`') diff --git a/tests/test_error.py b/tests/test_error.py new file mode 100644 index 00000000000..70050cb878d --- /dev/null +++ b/tests/test_error.py @@ -0,0 +1,114 @@ +from parameterized import parameterized + +from app import app +from hedy import exceptions +from hedy_content import ALL_LANGUAGES +from hedy_error import get_error_text, _highlight, _get_missing_arguments +from tests.Tester import HedyTester + + +def exception_language_input(): + exceptions_ = create_exceptions() + languages = ALL_LANGUAGES.keys() + return [(ex, lang) for lang in languages for ex in exceptions_] + + +def custom_name_func(testcase_func, _, param): + (ex, lang) = param.args + return parameterized.to_safe_name( + f"{testcase_func.__name__}_{ex.__class__.__name__}_to_{lang}_lang") + + +def create_exceptions(): + exception_classes = [cls for cls in exceptions.HedyException.__subclasses__()] + return [create_exception(exception_class) for exception_class in exception_classes] + + +def create_exception(ex_class): + ex_args = [ + f'{n}-value' for n in ex_class.__init__.__code__.co_varnames if n not in ['self', 'arguments']] + return ex_class(*ex_args) + + +def highlighted(v): + return f'{v}' + + +class TestErrors(HedyTester): + + # The test ensures the error templates can be formatted with the arguments of the hedy exceptions in all languages + @parameterized.expand(exception_language_input(), name_func=custom_name_func) + def test_translate_hedy_exception(self, exception, language): + with app.test_request_context(headers={'Accept-Language': language}): + get_error_text(exception, language) + + def test_error_text_format_fails_on_unknown_key(self): + lang = 'en' + with app.test_request_context(headers={'Accept-Language': lang}): + with self.assertRaises(KeyError): + error = exceptions.HedyException('Non-existent {code}') + get_error_text(error, lang) + + def test_missing_arguments_none(self): + result = _get_missing_arguments('The input {command} is invalid', {'command': 'go'}, 'en') + self.assertEqual(0, len(result)) + + def test_missing_argument_keyword(self): + result = _get_missing_arguments('The input {command} is not {print}', {'command': 'go'}, 'en') + self.assertEqual(1, len(result)) + self.assertIn('print', result) + + def test_missing_argument_keyword_translated(self): + result = _get_missing_arguments('The input {command} is not {ask}', {'command': 'go'}, 'nl') + self.assertEqual(1, len(result)) + self.assertIn('ask', result) + self.assertEqual('vraag', result['ask']) + + def test_missing_argument_unknown_keyword(self): + result = _get_missing_arguments('This is {unknown}', {}, 'en') + self.assertEqual(0, len(result)) + + def test_highlight_template_without_highlighting(self): + text = 'Error template without highlighting' + result = _highlight(text) + self.assertEqual(text, result) + + def test_highlight_whole_template(self): + result = _highlight('`Error template`') + expected = highlighted("Error template") + self.assertEqual(expected, result) + + def test_highlight_template_start(self): + result = _highlight('`Error` template with highlighting') + expected = f'{highlighted("Error")} template with highlighting' + self.assertEqual(expected, result) + + def test_highlight_template_end(self): + result = _highlight('Template highlighting `error`') + expected = f'Template highlighting {highlighted("error")}' + self.assertEqual(expected, result) + + def test_highlight_template_start_end(self): + result = _highlight('`start` and `end`') + expected = f'{highlighted("start")} and {highlighted("end")}' + self.assertEqual(expected, result) + + def test_highlight_template_multiple_parts(self): + result = _highlight('this commands `start`,`middle`,`end`.') + expected = f'this commands {highlighted("start")},{highlighted("middle")},{highlighted("end")}.' + self.assertEqual(expected, result) + + def test_highlight_template_consecutive_parts(self): + result = _highlight('this commands `start``middle``end`.') + expected = f'this commands {highlighted("start")}{highlighted("middle")}{highlighted("end")}.' + self.assertEqual(expected, result) + + def test_highlight_whole_template_triple_backquotes(self): + text = '```incorrect quotes```' + result = _highlight(text) + self.assertEqual(highlighted("incorrect quotes"), result) + + def test_highlight_template_multiple_parts_triple_backquotes(self): + result = _highlight('this is ```incorrect quotes``` but I will use it ```again```') + expected = f'this is {highlighted("incorrect quotes")} but I will use it {highlighted("again")}' + self.assertEqual(expected, result) diff --git a/tests/test_level/test_level_12.py b/tests/test_level/test_level_12.py index bc301ba0be5..1c3b8e31ec5 100644 --- a/tests/test_level/test_level_12.py +++ b/tests/test_level/test_level_12.py @@ -2590,26 +2590,26 @@ def test_source_map(self): '4/4-4/23': '18/4-18/77', '5/5-5/10': '21/1-21/6', '5/13-5/18': '23/1-23/6', - '5/5-5/25': '19/1-19/74', - '4/1-5/34': '18/1-19/76', + '5/5-5/25': '19/1-19/63', + '4/1-5/34': '18/1-19/65', '6/4-6/8': '4/14-4/18', '6/4-6/19': '20/4-20/73', '7/5-7/10': '25/1-25/6', '7/13-7/18': '1/1-1/6', - '7/5-7/25': '21/1-21/75', - '6/1-7/34': '20/1-21/77', + '7/5-7/25': '21/1-21/64', + '6/1-7/34': '20/1-21/66', '8/4-8/9': '10/42-10/47', '8/4-8/20': '22/4-22/74', '9/5-9/10': '19/1-19/6', '9/13-9/18': '21/1-21/6', - '9/5-9/25': '23/1-23/74', - '8/1-9/34': '22/1-23/76', + '9/5-9/25': '23/1-23/63', + '8/1-9/34': '22/1-23/65', '10/4-10/9': '12/3-12/8', '10/4-10/19': '24/4-24/73', '11/5-11/10': '23/1-23/6', '11/13-11/18': '25/1-25/6', - '11/5-11/25': '25/1-25/75', - '10/1-11/34': '24/1-25/77', + '11/5-11/25': '25/1-25/64', + '10/1-11/34': '24/1-25/66', '12/23-12/28': '26/25-26/30', '12/1-12/46': '26/1-26/50', '1/1-12/47': '1/1-26/50' diff --git a/tests/test_public_programs/list_public_parse_errors.py b/tests/test_public_programs/list_public_parse_errors.py index 619d0ff303c..6ebc251704c 100644 --- a/tests/test_public_programs/list_public_parse_errors.py +++ b/tests/test_public_programs/list_public_parse_errors.py @@ -2,7 +2,8 @@ import hedy from tests.Tester import HedyTester, Snippet from parameterized import parameterized -from app import translate_error, app +from app import app +from hedy_error import get_error_text from flask_babel import force_locale import exceptions @@ -67,7 +68,7 @@ def test_programs(self, name, snippet): # Must run this in the context of the Flask app, because FlaskBabel requires that. with app.app_context(): with force_locale('en'): - error_message = translate_error(PE.error_code, PE.arguments, 'en') + error_message = get_error_text(PE, 'en') error_message = error_message.replace('', '`') error_message = error_message.replace('', '`') print(f'\n----\n{snippet.code}\n----') diff --git a/tests/test_public_programs/test_public_programs.py b/tests/test_public_programs/test_public_programs.py index 2d7fd0e1b8b..55501a06415 100644 --- a/tests/test_public_programs/test_public_programs.py +++ b/tests/test_public_programs/test_public_programs.py @@ -2,7 +2,8 @@ import hedy from tests.Tester import HedyTester, Snippet from parameterized import parameterized -from app import translate_error, app +from app import app +from hedy_error import get_error_text from flask_babel import force_locale import exceptions @@ -69,7 +70,7 @@ def test_programs(self, name, snippet): # Must run this in the context of the Flask app, because FlaskBabel requires that. with app.app_context(): with force_locale('en'): - error_message = translate_error(E.error_code, E.arguments, 'en') + error_message = get_error_text(E, 'en') error_message = error_message.replace('', '`') error_message = error_message.replace('', '`') print(f'\n----\n{snippet.code}\n----') diff --git a/tests/test_translation_error.py b/tests/test_translation_error.py deleted file mode 100644 index a620fa2dcab..00000000000 --- a/tests/test_translation_error.py +++ /dev/null @@ -1,37 +0,0 @@ -from parameterized import parameterized - -from app import app, translate_error -from hedy import exceptions -from hedy_content import ALL_LANGUAGES -from tests.Tester import HedyTester - - -def exception_language_input(): - exceptions_ = create_exceptions() - languages = ALL_LANGUAGES.keys() - return [(ex, lang) for lang in languages for ex in exceptions_] - - -def custom_name_func(testcase_func, _, param): - (ex, lang) = param.args - return parameterized.to_safe_name( - f"{testcase_func.__name__}_{ex.__class__.__name__}_to_{lang}_lang") - - -def create_exceptions(): - exception_classes = [cls for cls in exceptions.HedyException.__subclasses__()] - return [create_exception(exception_class) for exception_class in exception_classes] - - -def create_exception(ex_class): - ex_args = [ - f'{n}-value' for n in ex_class.__init__.__code__.co_varnames if n not in ['self', 'arguments']] - return ex_class(*ex_args) - - -class TestsTranslationError(HedyTester): - - @parameterized.expand(exception_language_input(), name_func=custom_name_func) - def test_translate_hedy_exception(self, exception, language): - with app.test_request_context(headers={'Accept-Language': language}): - translate_error(exception.error_code, exception.arguments, language) diff --git a/translations/ar/LC_MESSAGES/messages.po b/translations/ar/LC_MESSAGES/messages.po index 47473bb861a..4b47993b983 100644 --- a/translations/ar/LC_MESSAGES/messages.po +++ b/translations/ar/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2000-01-01 00:00+0000\n" +"POT-Creation-Date: 2024-03-15 15:32+0200\n" "PO-Revision-Date: 2000-01-01 00:00+0000\n" "Last-Translator: Someone \n" "Language: ar\n" @@ -23,7 +23,7 @@ msgid "Access Before Assign" msgstr "لقد حاولت استخدام المتغير {name} في السطر {access_line_number}، لكنك قمت بتعيينه على السطر {definition_line_number}. قم بتعيين متغير قبل استخدامه." msgid "Cyclic Var Definition" -msgstr "يجب أن تضبط قيمة المتغير {variable} قبل أن تستعمله على الجانب الأيسر من من الأمر هو." +msgstr "يجب أن تضبط قيمة المتغير `{variable}` قبل أن تستعمله على الجانب الأيسر من من الأمر هو." #, fuzzy msgid "Function Undefined" @@ -33,30 +33,30 @@ msgid "Has Blanks" msgstr "البرنامج الخاص بك غير مكتمل. عليك أن تستبدل الفراغات الموجودة وتضع مكانها الكود الذي تريد للحاسوب أن ينفذه." msgid "Incomplete" -msgstr "أوه! لقد نسيت أن تكمل جزءاً من البرنامج! في السطر رقم {line_number}، عليك أن تكمل كتابة الكود بعد {incomplete_command}." +msgstr "أوه! لقد نسيت أن تكمل جزءاً من البرنامج! في السطر رقم {line_number}، عليك أن تكمل كتابة الكود بعد `{incomplete_command}`." #, fuzzy msgid "Incomplete Repeat" -msgstr "يبدو أنك نسيت إستخدام أمر مع أمر {repeat} الذي إستخدمته في السطر {line_number}." +msgstr "يبدو أنك نسيت إستخدام أمر مع أمر `{repeat}` الذي إستخدمته في السطر {line_number}." msgid "Invalid" -msgstr "{invalid_command} ليس أمراً برمجياً ضمن المستوى {level} من هيدي. هل كنت تقصد الأمر {guessed_command}؟" +msgstr "`{invalid_command}` ليس أمراً برمجياً ضمن المستوى {level} من هيدي. هل كنت تقصد الأمر `{guessed_command}`؟" msgid "Invalid Argument" -msgstr "لا يمكن استعمال الأمر {command} مع {invalid_argument}. حاول تغيير {invalid_argument} الى {allowed_types}." +msgstr "لا يمكن استعمال الأمر `{command}` مع `{invalid_argument}`. حاول تغيير `{invalid_argument}` الى {allowed_types}." msgid "Invalid Argument Type" -msgstr "لا يمكن استعمال الأمر {command} مع {invalid_argument} وذلك بسبب كونها {invalid_type}. حاول تغيير {invalid_argument} الى {allowed_types}." +msgstr "لا يمكن استعمال الأمر `{command}` مع `{invalid_argument}` وذلك بسبب كونها {invalid_type}. حاول تغيير `{invalid_argument}` الى {allowed_types}." #, fuzzy msgid "Invalid At Command" -msgstr "The {at} command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`." +msgstr "The `{command}` command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`." msgid "Invalid Space" msgstr "أوه! يوجد مسافة زائدة في بداية السطر رقم {line_number}، المسافات تربك الحاسوب أحياناً. هل باستطاعتك أن تمسحها؟" msgid "Invalid Type Combination" -msgstr "لا يمكن استعمال {invalid_argument} و{invalid_argument_2} مع الأمر {command} وذلك بسبب كون الأول{invalid_type} وكون الآخر {invalid_type_2}. حاول تغيير {invalid_argument} الى {invalid_type_2} أو {invalid_argument_2} الى {invalid_type}." +msgstr "لا يمكن استعمال `{invalid_argument}` و`{invalid_argument_2}` مع الأمر `{command}` وذلك بسبب كون الأول{invalid_type} وكون الآخر {invalid_type_2}. حاول تغيير `{invalid_argument}` الى {invalid_type_2} أو `{invalid_argument_2}` الى {invalid_type}." msgid "Locked Language Feature" msgstr "أنت تستعمل {concept}! هذا مدهش، لكن {concept} غير متاح لك حالياً! سيتاح لك استعماله في مستوى لاحق." @@ -70,24 +70,24 @@ msgstr "It looks like you forgot to use a command with the text you put in line #, fuzzy msgid "Missing Additional Command" -msgstr "It looks like you forgot to complete writing {command} on line {line_number}." +msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}." msgid "Missing Command" msgstr "يبدو أنك نسيت استخدام أمر برمجي في السطر رقم {line_number}." msgid "Missing Inner Command" -msgstr "يبدو أنك نسيت استخدام أمر برمجي مع الجملة {command} التي استعملتها في السطر رقم {line_number}." +msgstr "يبدو أنك نسيت استخدام أمر برمجي مع الجملة `{command}` التي استعملتها في السطر رقم {line_number}." msgid "Missing Square Brackets" -msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}." +msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}." #, fuzzy msgid "Missing Variable" -msgstr "It looks like your {command} is missing a variable at the start of the line." +msgstr "It looks like your `{command}` is missing a variable at the start of the line." #, fuzzy msgid "Misspelled At Command" -msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}." +msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}." msgid "No Indentation" msgstr "لقد استخدمت عدداً غير كافي من الفراغات كإزاحة في السطر رقم {line_number}. لقد استخدمت {leading_spaces} إزاحات وهذا غير كافٍ. يجب عليك أن تبدأ كل مجموعة جديدة من الكود ب {indent_size} إزاحات أكثر من السطر الذي يسبقها." @@ -97,11 +97,18 @@ msgid "Non Decimal Variable" msgstr "At line {line_number}, you might have tried using a number which Hedy does not like very much! Try changing it to a decimal number like 2." msgid "Parse" -msgstr "الكود الذي أدخلته ليس مطابقاً لبرمجيات هيدي. يوجد خطأفي في السطر رقم {location[0]} والموضع {location[1]}. لقد أدخلت الرمز {character_found} لكن هذا غير مسموح به." +msgstr "الكود الذي أدخلته ليس مطابقاً لبرمجيات هيدي. يوجد خطأفي في السطر رقم {location[0]} والموضع {location[1]}. لقد أدخلت الرمز `{character_found}` لكن هذا غير مسموح به." #, fuzzy msgid "Pressit Missing Else" -msgstr "You forgot to add what happens when you press a different key, add an {else} to your code" +msgstr "You forgot to add what happens when you press a different key, add an `{else}` to your code" + +#, fuzzy +msgid "Runtime Value Error" +msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}." + +msgid "Runtime Values Error" +msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}." #, fuzzy msgid "Save Microbit code " @@ -123,20 +130,20 @@ msgid "Unquoted Text" msgstr "انتبه! عند استعمال الأوامر اسأل أو قول يجب أن يكون النص بين علامات الاقتباس \". على ما يبدو أنك نسيت اضافة واحدة منهم في مكان ما." msgid "Unsupported Float" -msgstr "لا ندعم الأرقام غير الصحيحة (الأرقام العشرية)حتى الان، ولكنها ستكون مدعومة بعد عدة مستويات. في الوقت الحالي قم بتغيير {value} الر رقم صحيح." +msgstr "لا ندعم الأرقام غير الصحيحة (الأرقام العشرية)حتى الان، ولكنها ستكون مدعومة بعد عدة مستويات. في الوقت الحالي قم بتغيير `{value}` الر رقم صحيح." msgid "Unsupported String Value" -msgstr "النصوص لا يمكن أن تحتوي على {invalid_value}." +msgstr "النصوص لا يمكن أن تحتوي على `{invalid_value}`." #, fuzzy msgid "Unused Variable" msgstr "You defined the variable {variable_name} on line {line_number}, but you did not use it." msgid "Var Undefined" -msgstr "لقد قمت باستعمال المتغير {name} لكنك لم تقم بضبط قيمته ابتداء. من الممكن أيضاً أنك كنت تريد استعمال الكلمة {name} ولكن نسيت وضع علامات الاقتباس." +msgstr "لقد قمت باستعمال المتغير `{name}` لكنك لم تقم بضبط قيمته ابتداء. من الممكن أيضاً أنك كنت تريد استعمال الكلمة `{name}` ولكن نسيت وضع علامات الاقتباس." msgid "Wrong Level" -msgstr "لقد أدخلت برنامج هيدي صحيحاً ولكن ليس في المستوى المناسب. لقد كتبت {offending_keyword} للمستوى {working_level}. تلميح: {tip}" +msgstr "لقد أدخلت برنامج هيدي صحيحاً ولكن ليس في المستوى المناسب. لقد كتبت `{offending_keyword}` للمستوى {working_level}. تلميح: {tip}" #, fuzzy msgid "Wrong Number of Arguments" @@ -307,15 +314,8 @@ msgid "cant_parse_exception" msgstr "Couldn't parse the program" #, fuzzy -msgid "catch_index_exception" -msgstr "You tried to access the list {list_name} but it is either empty or the index is not there." - -msgid "catch_multiple_values_exception" -msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}." - -#, fuzzy -msgid "catch_value_exception" -msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}." +msgid "Runtime Index Error" +msgstr "You tried to access the list {name} but it is either empty or the index is not there." #, fuzzy msgid "certificate" @@ -1207,7 +1207,7 @@ msgstr "This user hasn't earned the Hedy Certificate of Completion" #, fuzzy msgid "no_more_flat_if" -msgstr "Starting in level 8, the line after {if} needs to start with 4 spaces." +msgstr "Starting in level 8, the line after `{if}` needs to start with 4 spaces." #, fuzzy msgid "no_programs" @@ -1533,7 +1533,7 @@ msgstr "Repair program icon" #, fuzzy msgid "repeat_dep" -msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8." +msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8." msgid "repeat_match_password" msgstr "كلمة المرور المكررة غير متطابقة." diff --git a/translations/bg/LC_MESSAGES/messages.po b/translations/bg/LC_MESSAGES/messages.po index 5a944a0527a..899a5eb9551 100644 --- a/translations/bg/LC_MESSAGES/messages.po +++ b/translations/bg/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2000-01-01 00:00+0000\n" +"POT-Creation-Date: 2024-03-15 15:32+0200\n" "PO-Revision-Date: 2000-01-01 00:00+0000\n" "Last-Translator: Someone \n" "Language: bg\n" @@ -24,7 +24,7 @@ msgstr "You tried to use the variable {name} on line {access_line_number}, but y #, fuzzy 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" +msgstr "The name `{variable}` needs to be set before you can use it on the right-hand side of the is command" #, fuzzy msgid "Function Undefined" @@ -34,33 +34,33 @@ msgid "Has Blanks" msgstr "Кодът ти е непълен. Съдържа празни места, който трябва да замениш с програмен код." msgid "Incomplete" -msgstr "Момент, кодът ти не е пълен! На ред {line_number} е нужно да напишеш текст след {incomplete_command}." +msgstr "Момент, кодът ти не е пълен! На ред {line_number} е нужно да напишеш текст след `{incomplete_command}`." #, fuzzy msgid "Incomplete Repeat" -msgstr "It looks like you forgot to use {command} with the repeat command you used on line {line_number}." +msgstr "It looks like you forgot to use `{command}` with the repeat command you used on line {line_number}." msgid "Invalid" -msgstr "{invalid_command} не е валидна команда в ниво {level} на Хеди. Може би имаш предвид {guessed_command}?" +msgstr "`{invalid_command}` не е валидна команда в ниво {level} на Хеди. Може би имаш предвид `{guessed_command}`?" #, fuzzy msgid "Invalid Argument" -msgstr "You cannot use the command {command} with {invalid_argument} . Try changing {invalid_argument} to {allowed_types}." +msgstr "You cannot use the command `{command}` with `{invalid_argument}` . Try changing `{invalid_argument}` to {allowed_types}." #, fuzzy msgid "Invalid Argument Type" -msgstr "You cannot use {command} with {invalid_argument} because it is {invalid_type}. Try changing {invalid_argument} to {allowed_types}." +msgstr "You cannot use `{command}` with `{invalid_argument}` because it is {invalid_type}. Try changing `{invalid_argument}` to {allowed_types}." #, fuzzy msgid "Invalid At Command" -msgstr "The {at} command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`." +msgstr "The `{command}` command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`." msgid "Invalid Space" msgstr "Ой! Написал(а) си шпация в началото на {line_number}. Шпациите объркват компютрите." #, fuzzy msgid "Invalid Type Combination" -msgstr "You cannot use {invalid_argument} and {invalid_argument_2} with {command} because one is {invalid_type} and the other is {invalid_type_2}. Try changing {invalid_argument} to {invalid_type_2} or {invalid_argument_2} to {invalid_type}." +msgstr "You cannot use `{invalid_argument}` and `{invalid_argument_2}` with `{command}` because one is {invalid_type} and the other is {invalid_type_2}. Try changing `{invalid_argument}` to {invalid_type_2} or `{invalid_argument_2}` to {invalid_type}." #, fuzzy msgid "Locked Language Feature" @@ -75,7 +75,7 @@ msgstr "It looks like you forgot to use a command with the text you put in line #, fuzzy msgid "Missing Additional Command" -msgstr "It looks like you forgot to complete writing {command} on line {line_number}." +msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}." #, fuzzy msgid "Missing Command" @@ -83,18 +83,18 @@ msgstr "It looks like you forgot to use a command on line {line_number}." #, fuzzy msgid "Missing Inner Command" -msgstr "It looks like you forgot to use a command with the {command} statement you used on line {line_number}." +msgstr "It looks like you forgot to use a command with the `{command}` statement you used on line {line_number}." msgid "Missing Square Brackets" -msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}." +msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}." #, fuzzy msgid "Missing Variable" -msgstr "It looks like your {command} is missing a variable at the start of the line." +msgstr "It looks like your `{command}` is missing a variable at the start of the line." #, fuzzy msgid "Misspelled At Command" -msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}." +msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}." #, fuzzy msgid "No Indentation" @@ -105,11 +105,18 @@ msgid "Non Decimal Variable" msgstr "At line {line_number}, you might have tried using a number which Hedy does not like very much! Try changing it to a decimal number like 2." msgid "Parse" -msgstr "Този код не е валиден на Хеди. Има грешка на {location[0]}, на позиция {location[1]}. Написаното {character_found}, не е валидно." +msgstr "Този код не е валиден на Хеди. Има грешка на {location[0]}, на позиция {location[1]}. Написаното `{character_found}`, не е валидно." #, fuzzy msgid "Pressit Missing Else" -msgstr "You forgot to add what happens when you press a different key, add an {else} to your code" +msgstr "You forgot to add what happens when you press a different key, add an `{else}` to your code" + +#, fuzzy +msgid "Runtime Value Error" +msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}." + +msgid "Runtime Values Error" +msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}." msgid "Save Microbit code " msgstr "Изтегли код за Микробит" @@ -134,21 +141,21 @@ msgstr "Съвет! Заедно с командата print е нужно да #, fuzzy msgid "Unsupported Float" -msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change {value} to an integer." +msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change `{value}` to an integer." #, fuzzy msgid "Unsupported String Value" -msgstr "Text values cannot contain {invalid_value}." +msgstr "Text values cannot contain `{invalid_value}`." #, fuzzy msgid "Unused Variable" msgstr "You defined the variable {variable_name} on line {line_number}, but you did not use it." msgid "Var Undefined" -msgstr "Опитваш се да принтираш променливата {name}, но май си забравил(а) да й дадеш стойност. А може би се опитваш да принтираш думата {name}, а си забравил(а) отваряща или затваряща кавичка." +msgstr "Опитваш се да принтираш променливата `{name}`, но май си забравил(а) да й дадеш стойност. А може би се опитваш да принтираш думата `{name}`, а си забравил(а) отваряща или затваряща кавичка." msgid "Wrong Level" -msgstr "Кодът ти беше правилен, но принадлежи към друго ниво. Ти използва {offending_keyword} за ниво {working_level}. Съвет: {tip}" +msgstr "Кодът ти беше правилен, но принадлежи към друго ниво. Ти използва `{offending_keyword}` за ниво {working_level}. Съвет: {tip}" #, fuzzy msgid "Wrong Number of Arguments" @@ -344,15 +351,8 @@ msgid "cant_parse_exception" msgstr "Couldn't parse the program" #, fuzzy -msgid "catch_index_exception" -msgstr "You tried to access the list {list_name} but it is either empty or the index is not there." - -msgid "catch_multiple_values_exception" -msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}." - -#, fuzzy -msgid "catch_value_exception" -msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}." +msgid "Runtime Index Error" +msgstr "You tried to access the list {name} but it is either empty or the index is not there." #, fuzzy msgid "certificate" @@ -991,7 +991,7 @@ msgstr "Incorrect Indentation" #, fuzzy msgid "input" -msgstr "input from {ask}" +msgstr "input from `{ask}`" #, fuzzy msgid "integer" @@ -1351,7 +1351,7 @@ msgstr "This user hasn't earned the Hedy Certificate of Completion" #, fuzzy msgid "no_more_flat_if" -msgstr "Starting in level 8, the code after {if} needs to be placed on the next line and start with 4 spaces." +msgstr "Starting in level 8, the code after `{if}` needs to be placed on the next line and start with 4 spaces." #, fuzzy msgid "no_programs" @@ -1730,7 +1730,7 @@ msgstr "Repair program icon" #, fuzzy msgid "repeat_dep" -msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8." +msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8." msgid "repeat_match_password" msgstr "Повторената парола не съвпада с първата." @@ -2136,7 +2136,7 @@ msgid "template_code" msgstr "" "This is the explanation of my adventure!\n" "\n" -"This way I can show a command: print\n" +"This way I can show a command: {print}\n" "\n" "But sometimes I might want to show a piece of code, like this:\n" "
\n"
@@ -2252,7 +2252,9 @@ msgstr "Tutorial"
 
 #, fuzzy
 msgid "tutorial_code_snippet"
-msgstr "Hide cheatsheet"
+msgstr ""
+"{print} Hello world!\n"
+"{print} I'm learning Hedy with the tutorial!"
 
 #, fuzzy
 msgid "tutorial_message_not_found"
diff --git a/translations/bn/LC_MESSAGES/messages.po b/translations/bn/LC_MESSAGES/messages.po
index 7fdf2b3908b..2647732a78a 100644
--- a/translations/bn/LC_MESSAGES/messages.po
+++ b/translations/bn/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: bn\n"
@@ -24,7 +24,7 @@ msgstr "You tried to use the variable {name} on line {access_line_number}, but y
 
 #, fuzzy
 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"
+msgstr "The name `{variable}` needs to be set before you can use it on the right-hand side of the is command"
 
 #, fuzzy
 msgid "Function Undefined"
@@ -36,27 +36,27 @@ msgstr "Your code is incomplete. It contains blanks that you have to replace wit
 
 #, fuzzy
 msgid "Incomplete"
-msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind {incomplete_command}."
+msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind `{incomplete_command}`."
 
 #, fuzzy
 msgid "Incomplete Repeat"
-msgstr "It looks like you forgot to use {command} with the repeat command you used on line {line_number}."
+msgstr "It looks like you forgot to use `{command}` with the repeat command you used on line {line_number}."
 
 #, fuzzy
 msgid "Invalid"
-msgstr "{invalid_command} is not a Hedy level {level} command. Did you mean {guessed_command}?"
+msgstr "`{invalid_command}` is not a Hedy level {level} command. Did you mean `{guessed_command}`?"
 
 #, fuzzy
 msgid "Invalid Argument"
-msgstr "You cannot use the command {command} with {invalid_argument} . Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use the command `{command}` with `{invalid_argument}` . Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid Argument Type"
-msgstr "You cannot use {command} with {invalid_argument} because it is {invalid_type}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use `{command}` with `{invalid_argument}` because it is {invalid_type}. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid At Command"
-msgstr "The {at} command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
+msgstr "The `{command}` command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
 
 #, fuzzy
 msgid "Invalid Space"
@@ -64,7 +64,7 @@ msgstr "Oops! You started a line with a space on line {line_number}. Spaces conf
 
 #, fuzzy
 msgid "Invalid Type Combination"
-msgstr "You cannot use {invalid_argument} and {invalid_argument_2} with {command} because one is {invalid_type} and the other is {invalid_type_2}. Try changing {invalid_argument} to {invalid_type_2} or {invalid_argument_2} to {invalid_type}."
+msgstr "You cannot use `{invalid_argument}` and `{invalid_argument_2}` with `{command}` because one is {invalid_type} and the other is {invalid_type_2}. Try changing `{invalid_argument}` to {invalid_type_2} or `{invalid_argument_2}` to {invalid_type}."
 
 #, fuzzy
 msgid "Locked Language Feature"
@@ -80,7 +80,7 @@ msgstr "It looks like you forgot to use a command with the text you put in line
 
 #, fuzzy
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}।"
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}।"
 
 #, fuzzy
 msgid "Missing Command"
@@ -88,18 +88,18 @@ msgstr "It looks like you forgot to use a command on line {line_number}."
 
 #, fuzzy
 msgid "Missing Inner Command"
-msgstr "It looks like you forgot to use a command with the {command} statement you used on line {line_number}."
+msgstr "It looks like you forgot to use a command with the `{command}` statement you used on line {line_number}."
 
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}।"
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}।"
 
 #, fuzzy
 msgid "Missing Variable"
-msgstr "It looks like your {command} is missing a variable at the start of the line."
+msgstr "It looks like your `{command}` is missing a variable at the start of the line."
 
 #, fuzzy
 msgid "Misspelled At Command"
-msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}।"
+msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}।"
 
 #, fuzzy
 msgid "No Indentation"
@@ -111,11 +111,18 @@ msgstr "At line {line_number}, you might have tried using a number which Hedy do
 
 #, fuzzy
 msgid "Parse"
-msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed {character_found}, but that is not allowed."
+msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed `{character_found}`, but that is not allowed."
 
 #, fuzzy
 msgid "Pressit Missing Else"
-msgstr "You forgot to add what happens when you press a different key, add an {else} to your code"
+msgstr "You forgot to add what happens when you press a different key, add an `{else}` to your code"
+
+#, fuzzy
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}।"
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -143,11 +150,11 @@ msgstr "Be careful. If you ask or print something the text should start and fini
 
 #, fuzzy
 msgid "Unsupported Float"
-msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change {value} to an integer."
+msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change `{value}` to an integer."
 
 #, fuzzy
 msgid "Unsupported String Value"
-msgstr "Text values cannot contain {invalid_value}."
+msgstr "Text values cannot contain `{invalid_value}`."
 
 #, fuzzy
 msgid "Unused Variable"
@@ -155,11 +162,11 @@ msgstr "You defined the variable {variable_name} on line {line_number}, but you
 
 #, fuzzy
 msgid "Var Undefined"
-msgstr "You tried to use the variable {name}, but you did not set it. It is also possible that you were trying to use the word {name} but forgot quotation marks."
+msgstr "You tried to use the variable `{name}`, but you did not set it. It is also possible that you were trying to use the word `{name}` but forgot quotation marks."
 
 #, fuzzy
 msgid "Wrong Level"
-msgstr "That was correct Hedy code, but not at the right level. You wrote {offending_keyword} for level {working_level}. Tip: {tip}"
+msgstr "That was correct Hedy code, but not at the right level. You wrote `{offending_keyword}` for level {working_level}. Tip: {tip}"
 
 #, fuzzy
 msgid "Wrong Number of Arguments"
@@ -362,15 +369,8 @@ msgid "cant_parse_exception"
 msgstr "Couldn't parse the program"
 
 #, fuzzy
-msgid "catch_index_exception"
-msgstr "You tried to access the list {list_name} but it is either empty or the index is not there."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-#, fuzzy
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}।"
+msgid "Runtime Index Error"
+msgstr "You tried to access the list {name} but it is either empty or the index is not there."
 
 #, fuzzy
 msgid "certificate"
@@ -1026,7 +1026,7 @@ msgstr "Incorrect Indentation"
 
 #, fuzzy
 msgid "input"
-msgstr "input from ask"
+msgstr "input from `{ask}`"
 
 #, fuzzy
 msgid "integer"
@@ -1403,7 +1403,7 @@ msgstr "This user hasn't earned the Hedy Certificate of Completion"
 
 #, fuzzy
 msgid "no_more_flat_if"
-msgstr "Starting in level 8, the code after {if} needs to be placed on the next line and start with 4 spaces."
+msgstr "Starting in level 8, the code after `{if}` needs to be placed on the next line and start with 4 spaces."
 
 #, fuzzy
 msgid "no_programs"
@@ -1801,7 +1801,7 @@ msgstr "Repair program icon"
 
 #, fuzzy
 msgid "repeat_dep"
-msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8।"
+msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8।"
 
 #, fuzzy
 msgid "repeat_match_password"
@@ -2218,7 +2218,7 @@ msgid "template_code"
 msgstr ""
 "This is the explanation of my adventure!\n"
 "\n"
-"This way I can show a command: print\n"
+"This way I can show a command: {print}\n"
 "\n"
 "But sometimes I might want to show a piece of code, like this:\n"
 "
\n"
@@ -2348,7 +2348,9 @@ msgstr "Tutorial"
 
 #, fuzzy
 msgid "tutorial_code_snippet"
-msgstr "Hide cheatsheet"
+msgstr ""
+"{print} Hello world!\n"
+"{print} I'm learning Hedy with the tutorial!"
 
 #, fuzzy
 msgid "tutorial_message_not_found"
diff --git a/translations/ca/LC_MESSAGES/messages.po b/translations/ca/LC_MESSAGES/messages.po
index 5cc38ccf35c..a68ad9fc5da 100644
--- a/translations/ca/LC_MESSAGES/messages.po
+++ b/translations/ca/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: ca\n"
@@ -22,7 +22,7 @@ msgid "Access Before Assign"
 msgstr "Has intentat utilitzar la variable {name} a la línia {access_line_number}, però l'ha definit a la línia {definition_line_number}. Defineix una variable abans d'utilitzar-la."
 
 msgid "Cyclic Var Definition"
-msgstr "El nom {variable} ha de ser definit abans d'utilitzar-lo a la dreta de la comanda {is}."
+msgstr "El nom `{variable}` ha de ser definit abans d'utilitzar-lo a la dreta de la comanda `{is}`."
 
 #, fuzzy
 msgid "Function Undefined"
@@ -32,58 +32,58 @@ msgid "Has Blanks"
 msgstr "El teu codi està incomplert. Conté espais en blanc que has d'omplir amb codi."
 
 msgid "Incomplete"
-msgstr "Oops! Se t'ha oblidat una mica de codi! A la línia {line_number}, has d'introduir text després de {incomplete_command}."
+msgstr "Oops! Se t'ha oblidat una mica de codi! A la línia {line_number}, has d'introduir text després de `{incomplete_command}`."
 
 msgid "Incomplete Repeat"
-msgstr "Sembla que t'has oblidat d'utilitzar una comanda amb la comanda {repeat} que està a la línia {line_number}."
+msgstr "Sembla que t'has oblidat d'utilitzar una comanda amb la comanda `{repeat}` que està a la línia {line_number}."
 
 msgid "Invalid"
-msgstr "{invalid_command} no és una comanda de nivell {level} Hedy. Volies dir {guessed_command}?"
+msgstr "`{invalid_command}` no és una comanda de nivell {level} Hedy. Volies dir `{guessed_command}`?"
 
 msgid "Invalid Argument"
-msgstr "No pots utilitzar la comanda {command} amb {invalid_argument}. Prova de canviar {invalid_argument} per {allowed_types}."
+msgstr "No pots utilitzar la comanda `{command}` amb `{invalid_argument}`. Prova de canviar `{invalid_argument}` per {allowed_types}."
 
 msgid "Invalid Argument Type"
-msgstr "No pots utilitzar {command} amb {invalid_argument} perquè és {invalid_type}. Prova de canviar {invalid_argument} per {allowed_types}."
+msgstr "No pots utilitzar `{command}` amb `{invalid_argument}` perquè és {invalid_type}. Prova de canviar `{invalid_argument}` per {allowed_types}."
 
 msgid "Invalid At Command"
-msgstr "La comanda {at} no es pot utilitzar a partir del nivell 16. Podeu utilitzar claudàtors per utilitzar un element d'una llista, per exemple `amics[i]`, `numeros_de la sort[{random}]`."
+msgstr "La comanda `{command}` no es pot utilitzar a partir del nivell 16. Podeu utilitzar claudàtors per utilitzar un element d'una llista, per exemple `amics[i]`, `numeros_de la sort[{random}]`."
 
 msgid "Invalid Space"
 msgstr "Vaja! Has començat una línia amb un espai a la línia {line_number}. Els espais confonen els ordinadors, el podries eliminar?"
 
 msgid "Invalid Type Combination"
-msgstr "No pots usar {invalid_argument} i {invalid_argument_2} amb {command} perquè un és {invalid_type} i l'altre és {invalid_type_2}. Prova a canviar {invalid_argument} per {invalid_type_2} o {invalid_argument_2} per {invalid_type}."
+msgstr "No pots usar `{invalid_argument}` i `{invalid_argument_2}` amb `{command}` perquè un és {invalid_type} i l'altre és {invalid_type_2}. Prova a canviar `{invalid_argument}` per {invalid_type_2} o `{invalid_argument_2}` per {invalid_type}."
 
 msgid "Locked Language Feature"
 msgstr "Estàs utilitzant {concept}! És genial, però {concept} no està desbloquejat encara!, es desbloquejarà a nivells posteriors."
 
 msgid "Lonely Echo"
-msgstr "Has fet servir {echo} abans que {ask}, o has fet servir {echo} sense {ask}. Situa {ask} abans d'{echo}."
+msgstr "Has fet servir `{echo}` abans que `{ask}`, o has fet servir `{echo}` sense `{ask}`. Situa `{ask}` abans d'`{echo}`."
 
 msgid "Lonely Text"
 msgstr "Sembla que t'has oblidat d'utilitzar una comanda al text de la línia {line_number}"
 
 #, fuzzy
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}."
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}."
 
 msgid "Missing Command"
 msgstr "Sembla que t'has oblidat d'usar una comanda a la línia {line_number}."
 
 msgid "Missing Inner Command"
-msgstr "Sembla que t'has oblidat d'utilitzar una comanda a la declaració {command} que has fet a la línia {line_number}."
+msgstr "Sembla que t'has oblidat d'utilitzar una comanda a la declaració `{command}` que has fet a la línia {line_number}."
 
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}."
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}."
 
 #, fuzzy
 msgid "Missing Variable"
-msgstr "It looks like your {command} is missing a variable at the start of the line."
+msgstr "It looks like your `{command}` is missing a variable at the start of the line."
 
 #, fuzzy
 msgid "Misspelled At Command"
-msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}."
+msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}."
 
 msgid "No Indentation"
 msgstr "Has utilitzat massa pocs espais a la línia {line_number}. N'has posat {leading_spaces}, i no són suficients. Inicia cada nou bloc amb {indent_size} espais més que la línia d'abans."
@@ -93,10 +93,17 @@ msgid "Non Decimal Variable"
 msgstr "At line {line_number}, you might have tried using a number which Hedy does not like very much! Try changing it to a decimal number like 2."
 
 msgid "Parse"
-msgstr "El codi que heu introduït no és un codi Hedy vàlid. Hi ha un error a la línia {location[0]}, a la posició {location[1]}. Apareix el caràcter {character_found} que no està permès."
+msgstr "El codi que heu introduït no és un codi Hedy vàlid. Hi ha un error a la línia {location[0]}, a la posició {location[1]}. Apareix el caràcter `{character_found}` que no està permès."
 
 msgid "Pressit Missing Else"
-msgstr "T'has oblidat d'afegir el que passa quan prems una tecla diferent, afegiu un {else} al vostre codi"
+msgstr "T'has oblidat d'afegir el que passa quan prems una tecla diferent, afegiu un `{else}` al vostre codi"
+
+#, fuzzy
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -109,29 +116,29 @@ msgid "Unexpected Indentation"
 msgstr "Has utilitzat massa espais a la línia {line_number}. N'has posat {leading_spaces}, i són massa. Inicia cada nou bloc amb {indent_size} espais més que la línia d'abans."
 
 msgid "Unquoted Assignment"
-msgstr "A partir d'aquest nivell, cal col·locar els textos de la dreta de {is} entre cometes. Te n'has oblidat al text {text}."
+msgstr "A partir d'aquest nivell, cal col·locar els textos de la dreta de `{is}` entre cometes. Te n'has oblidat al text {text}."
 
 msgid "Unquoted Equality Check"
 msgstr "Si vols comprovar si una variable és igual a diverses paraules, les paraules han d'estar envoltades de cometes!"
 
 msgid "Unquoted Text"
-msgstr "Ves amb compte! Si utilitzes les comandes {ask} o {print}, el text posterior s'haurà d'envoltar amb cometes. Te n'has oblidat al text {unquotedtext}."
+msgstr "Ves amb compte! Si utilitzes les comandes `{ask}` o `{print}`, el text posterior s'haurà d'envoltar amb cometes. Te n'has oblidat al text {unquotedtext}."
 
 msgid "Unsupported Float"
-msgstr "Els nombres no enters encara no estan disponibles, però ho estaran d'aquí pocs nivells. Per ara canvia {value} a un enter."
+msgstr "Els nombres no enters encara no estan disponibles, però ho estaran d'aquí pocs nivells. Per ara canvia `{value}` a un enter."
 
 msgid "Unsupported String Value"
-msgstr "Els valors de text no poden contenir {invalid_value}."
+msgstr "Els valors de text no poden contenir `{invalid_value}`."
 
 #, fuzzy
 msgid "Unused Variable"
 msgstr "You defined the variable {variable_name} on line {line_number}, but you did not use it."
 
 msgid "Var Undefined"
-msgstr "Has intentat utilitzar la variable {nom}, però no l'has definit. També pot ser que intentessis utilitzar la paraula {nom}, però t'hagis oblidat de les cometes."
+msgstr "Has intentat utilitzar la variable `{name}`, però no l'has definit. També pot ser que intentessis utilitzar la paraula `{name}`, però t'hagis oblidat de les cometes."
 
 msgid "Wrong Level"
-msgstr "Això era codi Hedy correcte, però no pertany a aquest nivell. Has escrit {offending_keyword} que funcionaria al nivell {working_level}. Consell: {tip}"
+msgstr "Això era codi Hedy correcte, però no pertany a aquest nivell. Has escrit `{offending_keyword}` que funcionaria al nivell {working_level}. Consell: {tip}"
 
 #, fuzzy
 msgid "Wrong Number of Arguments"
@@ -271,7 +278,7 @@ msgid "are_you_sure"
 msgstr "Estàs segur? No pots desfer aquesta acció."
 
 msgid "ask_needs_var"
-msgstr "A partir del nivell 2, cal utilitzar {ask} amb una variable. Exemple: nom {is} {ask} Com et dius?"
+msgstr "A partir del nivell 2, cal utilitzar `{ask}` amb una variable. Exemple: nom `{is}` `{ask}` Com et dius?"
 
 msgid "become_a_sponsor"
 msgstr "Fes-te patrocinador"
@@ -292,15 +299,8 @@ msgstr "Cancel·lar"
 msgid "cant_parse_exception"
 msgstr "No s'ha pogut analitzar el programa"
 
-msgid "catch_index_exception"
-msgstr "Has provat d'accedir a la llista {list_name}, però està buida o falta l'índex."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-#, fuzzy
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "Has provat d'accedir a la llista {name}, però està buida o falta l'índex."
 
 msgid "certificate"
 msgstr "Certificat de finalització"
@@ -564,11 +564,11 @@ msgid "duplicate"
 msgstr "Duplica"
 
 msgid "echo_and_ask_mismatch_exception"
-msgstr "Desajust entre `{echo}` i `{ask}`"
+msgstr "Desajust entre `{echo}` i {ask}"
 
 #, fuzzy
 msgid "echo_out"
-msgstr "A partir del nivell 2 `{echo}` ja no serà necessari. Ara pots repetir la resposta amb `{ask}` i `{print}`. Exemple: `nom {is} {ask} Com et dius? {print} Hola nom`"
+msgstr "A partir del nivell 2 `{echo}` ja no serà necessari. Ara pots repetir la resposta amb `{ask}` i {print}. Exemple: `nom {is} {ask} Com et dius? {print} Hola nom`"
 
 #, fuzzy
 msgid "edit_adventure"
@@ -819,7 +819,7 @@ msgstr "Incorrect Indentation"
 
 #, fuzzy
 msgid "input"
-msgstr "input from {ask}"
+msgstr "input from `{ask}`"
 
 #, fuzzy
 msgid "integer"
@@ -1194,7 +1194,7 @@ msgid "no_certificate"
 msgstr "This user hasn't earned the Hedy Certificate of Completion"
 
 msgid "no_more_flat_if"
-msgstr "A partir del nivell 8, el codi posterior a {if} s'ha de col·locar a la línia següent i començar amb 4 espais."
+msgstr "A partir del nivell 8, el codi posterior a `{if}` s'ha de col·locar a la línia següent i començar amb 4 espais."
 
 #, fuzzy
 msgid "no_programs"
@@ -1586,7 +1586,7 @@ msgstr "Repair program icon"
 
 #, fuzzy
 msgid "repeat_dep"
-msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8."
+msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8."
 
 #, fuzzy
 msgid "repeat_match_password"
diff --git a/translations/cs/LC_MESSAGES/messages.po b/translations/cs/LC_MESSAGES/messages.po
index 0e03221229f..84b9734314e 100644
--- a/translations/cs/LC_MESSAGES/messages.po
+++ b/translations/cs/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: cs\n"
@@ -24,7 +24,7 @@ msgstr "You tried to use the variable {name} on line {access_line_number}, but y
 
 #, fuzzy
 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"
+msgstr "The name `{variable}` needs to be set before you can use it on the right-hand side of the is command"
 
 #, fuzzy
 msgid "Function Undefined"
@@ -35,33 +35,33 @@ msgid "Has Blanks"
 msgstr "Your code is incomplete. It contains blanks that you have to replace with code."
 
 msgid "Incomplete"
-msgstr "Jejda, zapomněl*a jsi kousek kódu! Na řádku {line_number} musíš ještě něco dopsat za {incomplete_command}."
+msgstr "Jejda, zapomněl*a jsi kousek kódu! Na řádku {line_number} musíš ještě něco dopsat za `{incomplete_command}`."
 
 #, fuzzy
 msgid "Incomplete Repeat"
-msgstr "It looks like you forgot to use {command} with the repeat command you used on line {line_number}."
+msgstr "It looks like you forgot to use `{command}` with the repeat command you used on line {line_number}."
 
 msgid "Invalid"
-msgstr "{invalid_command} není příkaz v Hedy na úrovni {level}. Nemyslel*a jsi spíš {guessed_command}?"
+msgstr "`{invalid_command}` není příkaz v Hedy na úrovni {level}. Nemyslel*a jsi spíš `{guessed_command}`?"
 
 #, fuzzy
 msgid "Invalid Argument"
-msgstr "You cannot use the command {command} with {invalid_argument} . Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use the command `{command}` with `{invalid_argument}` . Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid Argument Type"
-msgstr "You cannot use {command} with {invalid_argument} because it is {invalid_type}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use `{command}` with `{invalid_argument}` because it is {invalid_type}. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid At Command"
-msgstr "The {at} command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
+msgstr "The `{command}` command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
 
 msgid "Invalid Space"
 msgstr "Jejda, řádek číslo {line_number} začíná mezerou! Mezery dokáží počítač pořádně zmást, mohl*a bys ji prosím vymazat?"
 
 #, fuzzy
 msgid "Invalid Type Combination"
-msgstr "You cannot use {invalid_argument} and {invalid_argument_2} with {command} because one is {invalid_type} and the other is {invalid_type_2}. Try changing {invalid_argument} to {invalid_type_2} or {invalid_argument_2} to {invalid_type}."
+msgstr "You cannot use `{invalid_argument}` and `{invalid_argument_2}` with `{command}` because one is {invalid_type} and the other is {invalid_type_2}. Try changing `{invalid_argument}` to {invalid_type_2} or `{invalid_argument_2}` to {invalid_type}."
 
 #, fuzzy
 msgid "Locked Language Feature"
@@ -77,7 +77,7 @@ msgstr "It looks like you forgot to use a command with the text you put in line
 
 #, fuzzy
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}."
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}."
 
 #, fuzzy
 msgid "Missing Command"
@@ -85,18 +85,18 @@ msgstr "It looks like you forgot to use a command on line {line_number}."
 
 #, fuzzy
 msgid "Missing Inner Command"
-msgstr "It looks like you forgot to use a command with the {command} statement you used on line {line_number}."
+msgstr "It looks like you forgot to use a command with the `{command}` statement you used on line {line_number}."
 
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}."
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}."
 
 #, fuzzy
 msgid "Missing Variable"
-msgstr "It looks like your {command} is missing a variable at the start of the line."
+msgstr "It looks like your `{command}` is missing a variable at the start of the line."
 
 #, fuzzy
 msgid "Misspelled At Command"
-msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}."
+msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}."
 
 #, fuzzy
 msgid "No Indentation"
@@ -107,11 +107,18 @@ msgid "Non Decimal Variable"
 msgstr "At line {line_number}, you might have tried using a number which Hedy does not like very much! Try changing it to a decimal number like 2."
 
 msgid "Parse"
-msgstr "Tebou zadaný kód není platný kód v Hedy. Chyba je na řádku {location[0]}, na pozici {location[1]}. Napsal*a jsi tam {character_found}, ale to není povoleno."
+msgstr "Tebou zadaný kód není platný kód v Hedy. Chyba je na řádku {location[0]}, na pozici {location[1]}. Napsal*a jsi tam `{character_found}`, ale to není povoleno."
 
 #, fuzzy
 msgid "Pressit Missing Else"
-msgstr "You forgot to add what happens when you press a different key, add an {else} to your code"
+msgstr "You forgot to add what happens when you press a different key, add an `{else}` to your code"
+
+#, fuzzy
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -138,21 +145,21 @@ msgstr "Dávej si pozor, pokud chceš něco vypsat, musí text začínat a konč
 
 #, fuzzy
 msgid "Unsupported Float"
-msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change {value} to an integer."
+msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change `{value}` to an integer."
 
 #, fuzzy
 msgid "Unsupported String Value"
-msgstr "Text values cannot contain {invalid_value}."
+msgstr "Text values cannot contain `{invalid_value}`."
 
 #, fuzzy
 msgid "Unused Variable"
 msgstr "You defined the variable {variable_name} on line {line_number}, but you did not use it."
 
 msgid "Var Undefined"
-msgstr "Pokusil*a ses vypsat {name}, ale neinicializoval*a ji."
+msgstr "Pokusil*a ses vypsat `{name}`, ale neinicializoval*a ji."
 
 msgid "Wrong Level"
-msgstr "Toto je správný kód v Hedy, ale na špatné úrovni. Napsal jsi kód {offending_keyword} na úrovni {working_level}. Tip: {tip}"
+msgstr "Toto je správný kód v Hedy, ale na špatné úrovni. Napsal jsi kód `{offending_keyword}` na úrovni {working_level}. Tip: {tip}"
 
 #, fuzzy
 msgid "Wrong Number of Arguments"
@@ -348,15 +355,8 @@ msgid "cant_parse_exception"
 msgstr "Couldn't parse the program"
 
 #, fuzzy
-msgid "catch_index_exception"
-msgstr "You tried to access the list {list_name} but it is either empty or the index is not there."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-#, fuzzy
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "You tried to access the list {name} but it is either empty or the index is not there."
 
 #, fuzzy
 msgid "certificate"
@@ -992,7 +992,7 @@ msgstr "Incorrect Indentation"
 
 #, fuzzy
 msgid "input"
-msgstr "input from ask"
+msgstr "input from `{ask}`"
 
 #, fuzzy
 msgid "integer"
@@ -1351,7 +1351,7 @@ msgstr "This user hasn't earned the Hedy Certificate of Completion"
 
 #, fuzzy
 msgid "no_more_flat_if"
-msgstr "Starting in level 8, the code after {if} needs to be placed on the next line and start with 4 spaces."
+msgstr "Starting in level 8, the code after `{if}` needs to be placed on the next line and start with 4 spaces."
 
 #, fuzzy
 msgid "no_programs"
@@ -1725,7 +1725,7 @@ msgstr "Repair program icon"
 
 #, fuzzy
 msgid "repeat_dep"
-msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8."
+msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8."
 
 msgid "repeat_match_password"
 msgstr "Zopakované heslo se neshoduje."
@@ -2125,7 +2125,7 @@ msgid "template_code"
 msgstr ""
 "This is the explanation of my adventure!\n"
 "\n"
-"This way I can show a command: print\n"
+"This way I can show a command: {print}\n"
 "\n"
 "But sometimes I might want to show a piece of code, like this:\n"
 "
\n"
@@ -2244,7 +2244,9 @@ msgstr "Tutorial"
 
 #, fuzzy
 msgid "tutorial_code_snippet"
-msgstr "Hide cheatsheet"
+msgstr ""
+"{print} Hello world!\n"
+"{print} I'm learning Hedy with the tutorial!"
 
 #, fuzzy
 msgid "tutorial_message_not_found"
diff --git a/translations/cy/LC_MESSAGES/messages.po b/translations/cy/LC_MESSAGES/messages.po
index 2e6cc49b16a..ae906fc1efc 100644
--- a/translations/cy/LC_MESSAGES/messages.po
+++ b/translations/cy/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: cy\n"
@@ -24,7 +24,7 @@ msgstr "You tried to use the variable {name} on line {access_line_number}, but y
 
 #, fuzzy
 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."
+msgstr "The name `{variable}` needs to be set before you can use it on the right-hand side of the `{is}` command."
 
 #, fuzzy
 msgid "Function Undefined"
@@ -36,27 +36,27 @@ msgstr "Your code is incomplete. It contains blanks that you have to replace wit
 
 #, fuzzy
 msgid "Incomplete"
-msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind {incomplete_command}."
+msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind `{incomplete_command}`."
 
 #, fuzzy
 msgid "Incomplete Repeat"
-msgstr "It looks like you forgot to use a command with the {repeat} command you used on line {line_number}."
+msgstr "It looks like you forgot to use a `{command}` with the `{repeat}` command you used on line {line_number}."
 
 #, fuzzy
 msgid "Invalid"
-msgstr "{invalid_command} is not a Hedy level {level} command. Did you mean {guessed_command}?"
+msgstr "`{invalid_command}` is not a Hedy level {level} command. Did you mean `{guessed_command}`?"
 
 #, fuzzy
 msgid "Invalid Argument"
-msgstr "You cannot use the command {command} with {invalid_argument}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use the command `{command}` with `{invalid_argument}`. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid Argument Type"
-msgstr "You cannot use {command} with {invalid_argument} because it is {invalid_type}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use `{command}` with `{invalid_argument}` because it is {invalid_type}. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid At Command"
-msgstr "The {at} command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
+msgstr "The `{command}` command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
 
 #, fuzzy
 msgid "Invalid Space"
@@ -64,7 +64,7 @@ msgstr "Oops! You started a line with a space on line {line_number}. Spaces conf
 
 #, fuzzy
 msgid "Invalid Type Combination"
-msgstr "You cannot use {invalid_argument} and {invalid_argument_2} with {command} because one is {invalid_type} and the other is {invalid_type_2}. Try changing {invalid_argument} to {invalid_type_2} or {invalid_argument_2} to {invalid_type}."
+msgstr "You cannot use `{invalid_argument}` and `{invalid_argument_2}` with `{command}` because one is {invalid_type} and the other is {invalid_type_2}. Try changing `{invalid_argument}` to {invalid_type_2} or `{invalid_argument_2}` to {invalid_type}."
 
 #, fuzzy
 msgid "Locked Language Feature"
@@ -72,7 +72,7 @@ msgstr "You are using {concept}! That is awesome, but {concept} is not unlocked
 
 #, fuzzy
 msgid "Lonely Echo"
-msgstr "You used an {echo} before an {ask}, or an {echo} without an {ask}. Place an {ask} before the {echo}."
+msgstr "You used an `{echo}` before an `{ask}`, or an `{echo}` without an `{ask}`. Place an `{ask}` before the `{echo}`."
 
 #, fuzzy
 msgid "Lonely Text"
@@ -80,7 +80,7 @@ msgstr "It looks like you forgot to use a command with the text you used in line
 
 #, fuzzy
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}."
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}."
 
 #, fuzzy
 msgid "Missing Command"
@@ -88,18 +88,18 @@ msgstr "It looks like you forgot to use a command on line {line_number}."
 
 #, fuzzy
 msgid "Missing Inner Command"
-msgstr "It looks like you forgot to use a command with the {command} statement you used on line {line_number}."
+msgstr "It looks like you forgot to use a command with the `{command}` statement you used on line {line_number}."
 
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}."
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}."
 
 #, fuzzy
 msgid "Missing Variable"
-msgstr "It looks like your {command} is missing a variable at the start of the line."
+msgstr "It looks like your `{command}` is missing a variable at the start of the line."
 
 #, fuzzy
 msgid "Misspelled At Command"
-msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}."
+msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}."
 
 #, fuzzy
 msgid "No Indentation"
@@ -111,11 +111,18 @@ msgstr "At line {line_number}, you might have tried using a number which Hedy do
 
 #, fuzzy
 msgid "Parse"
-msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed {character_found}, but that is not allowed."
+msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed `{character_found}`, but that is not allowed."
 
 #, fuzzy
 msgid "Pressit Missing Else"
-msgstr "You forgot to add what happens when you press a different key, add an {else} to your code"
+msgstr "You forgot to add what happens when you press a different key, add an `{else}` to your code"
+
+#, fuzzy
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -131,7 +138,7 @@ msgstr "You used too many spaces in line {line_number}. You used {leading_spaces
 
 #, fuzzy
 msgid "Unquoted Assignment"
-msgstr "From this level, you need to place texts to the right of the {is} between quotes. You forgot that for the text {text}."
+msgstr "From this level, you need to place texts to the right of the `{is}` between quotes. You forgot that for the text {text}."
 
 #, fuzzy
 msgid "Unquoted Equality Check"
@@ -139,15 +146,15 @@ msgstr "If you want to check if a variable is equal to multiple words, the words
 
 #, fuzzy
 msgid "Unquoted Text"
-msgstr "Be careful. If you {ask} or {print} something, the text should start and finish with a quotation mark. You forgot that for the text {unquotedtext}."
+msgstr "Be careful. If you `{ask}` or `{print}` something, the text should start and finish with a quotation mark. You forgot that for the text {unquotedtext}."
 
 #, fuzzy
 msgid "Unsupported Float"
-msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change {value} to an integer."
+msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change `{value}` to an integer."
 
 #, fuzzy
 msgid "Unsupported String Value"
-msgstr "Text values cannot contain {invalid_value}."
+msgstr "Text values cannot contain `{invalid_value}`."
 
 #, fuzzy
 msgid "Unused Variable"
@@ -155,11 +162,11 @@ msgstr "You defined the variable {variable_name} on line {line_number}, but you
 
 #, fuzzy
 msgid "Var Undefined"
-msgstr "You tried to use the variable {name}, but you didn't set it. It is also possible that you were trying to use the word {name} but forgot quotation marks."
+msgstr "You tried to use the variable `{name}`, but you didn't set it. It is also possible that you were trying to use the word `{name}` but forgot quotation marks."
 
 #, fuzzy
 msgid "Wrong Level"
-msgstr "That was correct Hedy code, but not at the right level. You wrote {offending_keyword} for level {working_level}. Tip: {tip}"
+msgstr "That was correct Hedy code, but not at the right level. You wrote `{offending_keyword}` for level {working_level}. Tip: {tip}"
 
 #, fuzzy
 msgid "Wrong Number of Arguments"
@@ -335,7 +342,7 @@ msgstr "Are you sure? You cannot revert this action."
 
 #, fuzzy
 msgid "ask_needs_var"
-msgstr "Starting in level 2, {ask} needs to be used with a variable. Example: name {is} {ask} What are you called?"
+msgstr "Starting in level 2, `{ask}` needs to be used with a variable. Example: name `{is}` `{ask}` What are you called?"
 
 #, fuzzy
 msgid "become_a_sponsor"
@@ -362,15 +369,8 @@ msgid "cant_parse_exception"
 msgstr "Couldn't parse the program"
 
 #, fuzzy
-msgid "catch_index_exception"
-msgstr "You tried to access the list {list_name} but it is either empty or the index is not there."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-#, fuzzy
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "You tried to access the list {name} but it is either empty or the index is not there."
 
 #, fuzzy
 msgid "certificate"
@@ -710,7 +710,7 @@ msgstr "Echo and ask mismatch"
 
 #, fuzzy
 msgid "echo_out"
-msgstr "Starting in level 2 {echo} is no longer needed. You can repeat an answer with {ask} and {print} now. Example: name is {ask} What are you called? {print} hello name"
+msgstr "Starting in level 2 `{echo}` is no longer needed. You can repeat an answer with `{ask}` and `{print}` now. Example: name is `{ask}` What are you called? `{print}` hello name"
 
 #, fuzzy
 msgid "edit_adventure"
@@ -1026,7 +1026,7 @@ msgstr "Incorrect Indentation"
 
 #, fuzzy
 msgid "input"
-msgstr "input from {ask}"
+msgstr "input from `{ask}`"
 
 #, fuzzy
 msgid "integer"
@@ -1416,7 +1416,7 @@ msgstr "This user hasn't earned the Hedy Certificate of Completion"
 
 #, fuzzy
 msgid "no_more_flat_if"
-msgstr "Starting in level 8, the code after {if} needs to be placed on the next line and start with 4 spaces."
+msgstr "Starting in level 8, the code after `{if}` needs to be placed on the next line and start with 4 spaces."
 
 #, fuzzy
 msgid "no_programs"
@@ -1813,7 +1813,7 @@ msgstr "Repair program icon"
 
 #, fuzzy
 msgid "repeat_dep"
-msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8."
+msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8."
 
 #, fuzzy
 msgid "repeat_match_password"
diff --git a/translations/da/LC_MESSAGES/messages.po b/translations/da/LC_MESSAGES/messages.po
index 3bf9f76af48..baaf72c44b6 100644
--- a/translations/da/LC_MESSAGES/messages.po
+++ b/translations/da/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: da\n"
@@ -24,7 +24,7 @@ msgstr "You tried to use the variable {name} on line {access_line_number}, but y
 
 #, fuzzy
 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."
+msgstr "The name `{variable}` needs to be set before you can use it on the right-hand side of the `{is}` command."
 
 #, fuzzy
 msgid "Function Undefined"
@@ -36,27 +36,27 @@ msgstr "Your code is incomplete. It contains blanks that you have to replace wit
 
 #, fuzzy
 msgid "Incomplete"
-msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind {incomplete_command}."
+msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind `{incomplete_command}`."
 
 #, fuzzy
 msgid "Incomplete Repeat"
-msgstr "It looks like you forgot to use a command with the {repeat} command you used on line {line_number}."
+msgstr "It looks like you forgot to use a `{command}` with the `{repeat}` command you used on line {line_number}."
 
 #, fuzzy
 msgid "Invalid"
-msgstr "{invalid_command} is not a Hedy level {level} command. Did you mean {guessed_command}?"
+msgstr "`{invalid_command}` is not a Hedy level {level} command. Did you mean `{guessed_command}`?"
 
 #, fuzzy
 msgid "Invalid Argument"
-msgstr "You cannot use the command {command} with {invalid_argument}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use the command `{command}` with `{invalid_argument}`. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid Argument Type"
-msgstr "You cannot use {command} with {invalid_argument} because it is {invalid_type}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use `{command}` with `{invalid_argument}` because it is {invalid_type}. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid At Command"
-msgstr "The {at} command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
+msgstr "The `{command}` command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
 
 #, fuzzy
 msgid "Invalid Space"
@@ -64,7 +64,7 @@ msgstr "Oops! You started a line with a space on line {line_number}. Spaces conf
 
 #, fuzzy
 msgid "Invalid Type Combination"
-msgstr "You cannot use {invalid_argument} and {invalid_argument_2} with {command} because one is {invalid_type} and the other is {invalid_type_2}. Try changing {invalid_argument} to {invalid_type_2} or {invalid_argument_2} to {invalid_type}."
+msgstr "You cannot use `{invalid_argument}` and `{invalid_argument_2}` with `{command}` because one is {invalid_type} and the other is {invalid_type_2}. Try changing `{invalid_argument}` to {invalid_type_2} or `{invalid_argument_2}` to {invalid_type}."
 
 #, fuzzy
 msgid "Locked Language Feature"
@@ -72,7 +72,7 @@ msgstr "You are using {concept}! That is awesome, but {concept} is not unlocked
 
 #, fuzzy
 msgid "Lonely Echo"
-msgstr "You used an {echo} before an {ask}, or an {echo} without an {ask}. Place an {ask} before the {echo}."
+msgstr "You used an `{echo}` before an `{ask}`, or an `{echo}` without an `{ask}`. Place an `{ask}` before the `{echo}`."
 
 #, fuzzy
 msgid "Lonely Text"
@@ -80,7 +80,7 @@ msgstr "It looks like you forgot to use a command with the text you used in line
 
 #, fuzzy
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}."
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}."
 
 #, fuzzy
 msgid "Missing Command"
@@ -88,18 +88,18 @@ msgstr "It looks like you forgot to use a command on line {line_number}."
 
 #, fuzzy
 msgid "Missing Inner Command"
-msgstr "It looks like you forgot to use a command with the {command} statement you used on line {line_number}."
+msgstr "It looks like you forgot to use a command with the `{command}` statement you used on line {line_number}."
 
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}."
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}."
 
 #, fuzzy
 msgid "Missing Variable"
-msgstr "It looks like your {command} is missing a variable at the start of the line."
+msgstr "It looks like your `{command}` is missing a variable at the start of the line."
 
 #, fuzzy
 msgid "Misspelled At Command"
-msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}."
+msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}."
 
 #, fuzzy
 msgid "No Indentation"
@@ -111,11 +111,18 @@ msgstr "At line {line_number}, you might have tried using a number which Hedy do
 
 #, fuzzy
 msgid "Parse"
-msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed {character_found}, but that is not allowed."
+msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed `{character_found}`, but that is not allowed."
 
 #, fuzzy
 msgid "Pressit Missing Else"
-msgstr "You forgot to add what happens when you press a different key, add an {else} to your code"
+msgstr "You forgot to add what happens when you press a different key, add an `{else}` to your code"
+
+#, fuzzy
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -131,7 +138,7 @@ msgstr "You used too many spaces in line {line_number}. You used {leading_spaces
 
 #, fuzzy
 msgid "Unquoted Assignment"
-msgstr "From this level, you need to place texts to the right of the {is} between quotes. You forgot that for the text {text}."
+msgstr "From this level, you need to place texts to the right of the `{is}` between quotes. You forgot that for the text {text}."
 
 #, fuzzy
 msgid "Unquoted Equality Check"
@@ -139,15 +146,15 @@ msgstr "If you want to check if a variable is equal to multiple words, the words
 
 #, fuzzy
 msgid "Unquoted Text"
-msgstr "Be careful. If you {ask} or {print} something, the text should start and finish with a quotation mark. You forgot that for the text {unquotedtext}."
+msgstr "Be careful. If you `{ask}` or `{print}` something, the text should start and finish with a quotation mark. You forgot that for the text {unquotedtext}."
 
 #, fuzzy
 msgid "Unsupported Float"
-msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change {value} to an integer."
+msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change `{value}` to an integer."
 
 #, fuzzy
 msgid "Unsupported String Value"
-msgstr "Text values cannot contain {invalid_value}."
+msgstr "Text values cannot contain `{invalid_value}`."
 
 #, fuzzy
 msgid "Unused Variable"
@@ -155,11 +162,11 @@ msgstr "You defined the variable {variable_name} on line {line_number}, but you
 
 #, fuzzy
 msgid "Var Undefined"
-msgstr "You tried to use the variable {name}, but you didn't set it. It is also possible that you were trying to use the word {name} but forgot quotation marks."
+msgstr "You tried to use the variable `{name}`, but you didn't set it. It is also possible that you were trying to use the word `{name}` but forgot quotation marks."
 
 #, fuzzy
 msgid "Wrong Level"
-msgstr "That was correct Hedy code, but not at the right level. You wrote {offending_keyword} for level {working_level}. Tip: {tip}"
+msgstr "That was correct Hedy code, but not at the right level. You wrote `{offending_keyword}` for level {working_level}. Tip: {tip}"
 
 #, fuzzy
 msgid "Wrong Number of Arguments"
@@ -335,7 +342,7 @@ msgstr "Are you sure? You cannot revert this action."
 
 #, fuzzy
 msgid "ask_needs_var"
-msgstr "Starting in level 2, {ask} needs to be used with a variable. Example: name {is} {ask} What are you called?"
+msgstr "Starting in level 2, `{ask}` needs to be used with a variable. Example: name `{is}` `{ask}` What are you called?"
 
 #, fuzzy
 msgid "become_a_sponsor"
@@ -362,15 +369,8 @@ msgid "cant_parse_exception"
 msgstr "Couldn't parse the program"
 
 #, fuzzy
-msgid "catch_index_exception"
-msgstr "You tried to access the list {list_name} but it is either empty or the index is not there."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-#, fuzzy
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "You tried to access the list {name} but it is either empty or the index is not there."
 
 #, fuzzy
 msgid "certificate"
@@ -710,7 +710,7 @@ msgstr "Echo and ask mismatch"
 
 #, fuzzy
 msgid "echo_out"
-msgstr "Starting in level 2 {echo} is no longer needed. You can repeat an answer with {ask} and {print} now. Example: name is {ask} What are you called? {print} hello name"
+msgstr "Starting in level 2 `{echo}` is no longer needed. You can repeat an answer with `{ask}` and `{print}` now. Example: name is `{ask}` What are you called? `{print}` hello name"
 
 #, fuzzy
 msgid "edit_adventure"
@@ -1026,7 +1026,7 @@ msgstr "Incorrect Indentation"
 
 #, fuzzy
 msgid "input"
-msgstr "input from {ask}"
+msgstr "input from `{ask}`"
 
 #, fuzzy
 msgid "integer"
@@ -1416,7 +1416,7 @@ msgstr "This user hasn't earned the Hedy Certificate of Completion"
 
 #, fuzzy
 msgid "no_more_flat_if"
-msgstr "Starting in level 8, the code after {if} needs to be placed on the next line and start with 4 spaces."
+msgstr "Starting in level 8, the code after `{if}` needs to be placed on the next line and start with 4 spaces."
 
 #, fuzzy
 msgid "no_programs"
@@ -1814,7 +1814,7 @@ msgstr "Repair program icon"
 
 #, fuzzy
 msgid "repeat_dep"
-msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8."
+msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8."
 
 #, fuzzy
 msgid "repeat_match_password"
diff --git a/translations/de/LC_MESSAGES/messages.po b/translations/de/LC_MESSAGES/messages.po
index 4613ea9fb1c..5be16da5f64 100644
--- a/translations/de/LC_MESSAGES/messages.po
+++ b/translations/de/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: de\n"
@@ -22,7 +22,7 @@ msgid "Access Before Assign"
 msgstr "Du hast versucht die Variable {name} in Zeile {access_line_number} zu benutzen, aber du hast sie erst in Zeile {definition_line_number} gesetzt. Setze eine Variable bevor du sie benutzt."
 
 msgid "Cyclic Var Definition"
-msgstr "Der Name {variable} muss gesetzt werden, bevor du ihn auf der rechten Seite des {is} Befehls verwenden kannst."
+msgstr "Der Name `{variable}` muss gesetzt werden, bevor du ihn auf der rechten Seite des `{is}` Befehls verwenden kannst."
 
 #, fuzzy
 msgid "Function Undefined"
@@ -32,58 +32,58 @@ msgid "Has Blanks"
 msgstr "Dein Befehl is unvollständig. Er enthält Leerzeichen die du mit Befehlen ersetzen musst."
 
 msgid "Incomplete"
-msgstr "Hoppla! Du hast ein Programm-Stück vergessen! In Zeile {line_number}, musst du nach {incomplete_command} noch Text eingeben."
+msgstr "Hoppla! Du hast ein Programm-Stück vergessen! In Zeile {line_number}, musst du nach `{incomplete_command}` noch Text eingeben."
 
 msgid "Incomplete Repeat"
-msgstr "Es sieht so aus also ob du vergessen hast unter deinen {repeat} Befehl auf Zeile {line_number} einen Befehl zu schreiben."
+msgstr "Es sieht so aus also ob du vergessen hast unter deinen `{repeat}` Befehl auf Zeile {line_number} einen Befehl zu schreiben."
 
 msgid "Invalid"
-msgstr "{invalid_command} ist kein Hedy-Level-{level}-Befehl. Meintest du {guessed_command}?"
+msgstr "`{invalid_command}` ist kein Hedy-Level-{level}-Befehl. Meintest du `{guessed_command}`?"
 
 msgid "Invalid Argument"
-msgstr "Du kannst den Befehl {command} nicht mit dem Argument {invalid_argument} benutzen. Ändere {invalid_argument} zu einem erlaubten Typ von {allowed_types}."
+msgstr "Du kannst den Befehl `{command}` nicht mit dem Argument `{invalid_argument}` benutzen. Ändere `{invalid_argument}` zu einem erlaubten Typ von {allowed_types}."
 
 msgid "Invalid Argument Type"
-msgstr "Du kannst den Befehl {command} nicht mit dem Argument {invalid_argument} benutzen weil es ein {invalid_type} ist. Ändere {invalid_argument} zu einem erlaubten Typ von {allowed_types}."
+msgstr "Du kannst den Befehl `{command}` nicht mit dem Argument `{invalid_argument}` benutzen weil es ein {invalid_type} ist. Ändere `{invalid_argument}` zu einem erlaubten Typ von {allowed_types}."
 
 msgid "Invalid At Command"
-msgstr "Der {at} Befehl darf ab Level 16 nicht mehr verwendet werden. Du kannst eckige Klammern benutzen, um ein Element aus einer Liste zu verwenden, zum Beispiel `freunde[i]`, `glückszahlen[{random}]`."
+msgstr "Der `{command}` Befehl darf ab Level 16 nicht mehr verwendet werden. Du kannst eckige Klammern benutzen, um ein Element aus einer Liste zu verwenden, zum Beispiel `freunde[i]`, `glückszahlen[{random}]`."
 
 msgid "Invalid Space"
 msgstr "Hoppla! Du hast Zeile {line_number} mit einem Leerzeichen begonnen. Leerzeichen bringen Computer durcheinander. Kannst du es entfernen?"
 
 msgid "Invalid Type Combination"
-msgstr "Du kannst die Argumente {invalid_argument} und {invalid_argument_2} nicht in {command} verwenden weil das eine ein {invalid_type} und das andere ein {invalid_type_2} ist. Ändere {invalid_argument} zu {invalid_type_2} or {invalid_argument_2} zu {invalid_type} und versuche ob es funktioniert."
+msgstr "Du kannst die Argumente `{invalid_argument}` und `{invalid_argument_2}` nicht in `{command}` verwenden weil das eine ein {invalid_type} und das andere ein {invalid_type_2} ist. Ändere `{invalid_argument}` zu {invalid_type_2} or `{invalid_argument_2}` zu {invalid_type} und versuche ob es funktioniert."
 
 msgid "Locked Language Feature"
 msgstr "Du benutzt {concept}! Das ist toll, aber {concept} ist noch nicht freigeschaltet! Es wird in einem späteren Level freigeschaltet."
 
 msgid "Lonely Echo"
-msgstr "Du hast ein {echo} vor einem {ask} verwendet, oder ein {echo} ohne {ask}. Benutze zuerst ein {ask} um eine Eingabe zu bekommen, danach {echo}."
+msgstr "Du hast ein `{echo}` vor einem `{ask}` verwendet, oder ein `{echo}` ohne `{ask}`. Benutze zuerst ein `{ask}` um eine Eingabe zu bekommen, danach `{echo}`."
 
 msgid "Lonely Text"
 msgstr "Es sieht so aus als ob du vergessen hast einen Befehl für deinen Text in Zeile {line_number} zu verwenden"
 
 #, fuzzy
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}."
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}."
 
 msgid "Missing Command"
 msgstr "Es sieht so aus als hättest du einen Befehl in Zeile {line_number} vergessen."
 
 msgid "Missing Inner Command"
-msgstr "Es sieht so aus als hättest du vergessen, den {command}- Ausdruck, den du in Zeile {line_number} benutzt hast, mit einem Befehl zu benutzen."
+msgstr "Es sieht so aus als hättest du vergessen, den `{command}`- Ausdruck, den du in Zeile {line_number} benutzt hast, mit einem Befehl zu benutzen."
 
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}."
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}."
 
 #, fuzzy
 msgid "Missing Variable"
-msgstr "It looks like your {command} is missing a variable at the start of the line."
+msgstr "It looks like your `{command}` is missing a variable at the start of the line."
 
 #, fuzzy
 msgid "Misspelled At Command"
-msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}."
+msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}."
 
 msgid "No Indentation"
 msgstr "Du hast zu wenige Leerzeichen verwendet in Zeile {line_number}. Du hast {leading_spaces} zu Anfang verwendet, das ist zu wenig. Starte jeden neuen Block mit {indent_size} Leerzeichen mehr als in der Zeile zuvor."
@@ -93,10 +93,17 @@ msgid "Non Decimal Variable"
 msgstr "At line {line_number}, you might have tried using a number which Hedy does not like very much! Try changing it to a decimal number like 2."
 
 msgid "Parse"
-msgstr "Dein Programm ist keine gültige Hedy-Sprache. In Zeile {location[0]} an Position {location[1]} ist ein kleiner Fehler. Du hast {character_found} geschrieben, aber das ist nicht erlaubt."
+msgstr "Dein Programm ist keine gültige Hedy-Sprache. In Zeile {location[0]} an Position {location[1]} ist ein kleiner Fehler. Du hast `{character_found}` geschrieben, aber das ist nicht erlaubt."
 
 msgid "Pressit Missing Else"
-msgstr "Du hast vergessen hinzuzufügen, was passiert, wenn du eine andere Taste drückst, füge ein {else} zu deinem Code hinzu"
+msgstr "Du hast vergessen hinzuzufügen, was passiert, wenn du eine andere Taste drückst, füge ein `{else}` zu deinem Code hinzu"
+
+#, fuzzy
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -109,29 +116,29 @@ msgid "Unexpected Indentation"
 msgstr "Du hast zu viele Leerzeichen verwendet in Zeile {line_number}. Du hast {leading_spaces} zu Anfang verwendet, das ist zu viel. Starte jeden neuen Block mit {indent_size} Leerzeichen mehr als in der Zeile zuvor."
 
 msgid "Unquoted Assignment"
-msgstr "Ab diesem Level musst du rechts neben einem {is} Befehl den Text in einfache Anführungszeichen setzen. Du hast das für den Text {text} vergessen."
+msgstr "Ab diesem Level musst du rechts neben einem `{is}` Befehl den Text in einfache Anführungszeichen setzen. Du hast das für den Text {text} vergessen."
 
 msgid "Unquoted Equality Check"
 msgstr "Wenn Du prüfen willst, ob eine Variable gleich mehreren Wörtern ist, musst Du die Wörter in Anführungszeichen setzen!"
 
 msgid "Unquoted Text"
-msgstr "Achtung. Wenn du etwas {ask} oder {print}, sollte der Text mit einem Anführungszeichen beginnen und enden. Du hast beim Text {unquotedtext} etwas vergessen."
+msgstr "Achtung. Wenn du etwas `{ask}` oder `{print}`, sollte der Text mit einem Anführungszeichen beginnen und enden. Du hast beim Text {unquotedtext} etwas vergessen."
 
 msgid "Unsupported Float"
-msgstr "Nicht-ganze Zahlen werden noch nicht unterstützt, sie werden es aber in ein paar Leveln. Für den Moment ändere {value} in eine ganze Zahl um."
+msgstr "Nicht-ganze Zahlen werden noch nicht unterstützt, sie werden es aber in ein paar Leveln. Für den Moment ändere `{value}` in eine ganze Zahl um."
 
 msgid "Unsupported String Value"
-msgstr "Text-Werte dürfen kein {invalid_value} enthalten."
+msgstr "Text-Werte dürfen kein `{invalid_value}` enthalten."
 
 #, fuzzy
 msgid "Unused Variable"
 msgstr "You defined the variable {variable_name} on line {line_number}, but you did not use it."
 
 msgid "Var Undefined"
-msgstr "Du hast versucht {name} auszugeben, aber du hast es nicht angelegt. Es ist auch möglich, dass du versucht hast, {name} zu nutzen, aber die Anführungszeichen vergessen hast."
+msgstr "Du hast versucht `{name}` auszugeben, aber du hast es nicht angelegt. Es ist auch möglich, dass du versucht hast, `{name}` zu nutzen, aber die Anführungszeichen vergessen hast."
 
 msgid "Wrong Level"
-msgstr "Das war richtige Hedy-Sprache, aber nicht im richtigen Level. Du hast Sprachelement {offending_keyword} für Level {working_level} verwendet. Tip: {tip}"
+msgstr "Das war richtige Hedy-Sprache, aber nicht im richtigen Level. Du hast Sprachelement `{offending_keyword}` für Level {working_level} verwendet. Tip: {tip}"
 
 #, fuzzy
 msgid "Wrong Number of Arguments"
@@ -271,7 +278,7 @@ msgid "are_you_sure"
 msgstr "Bist du sicher? Du kannst diese Aktion nicht rückgängig machen."
 
 msgid "ask_needs_var"
-msgstr "Ab Level 2 muss {ask} mit einer Variable benutzt werden. Beispiel: Name {is} {ask} Wie heißt du?"
+msgstr "Ab Level 2 muss `{ask}` mit einer Variable benutzt werden. Beispiel: Name `{is}` `{ask}` Wie heißt du?"
 
 msgid "become_a_sponsor"
 msgstr "Werde ein Sponsor"
@@ -292,15 +299,8 @@ msgstr "Abbrechen"
 msgid "cant_parse_exception"
 msgstr "Das Programm konnte nicht analysiert werden"
 
-msgid "catch_index_exception"
-msgstr "Du hast versucht auf die Liste {list_name} zuzugreifen, aber sie ist entweder leer oder der Index ist nicht drin."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-#, fuzzy
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "Du hast versucht auf die Liste {name} zuzugreifen, aber sie ist entweder leer oder der Index ist nicht drin."
 
 msgid "certificate"
 msgstr "Abschlusszertifikat"
@@ -568,7 +568,7 @@ msgid "echo_and_ask_mismatch_exception"
 msgstr "Echo and ask mismatch"
 
 msgid "echo_out"
-msgstr "Ab Level 2 wird {echo} nicht mehr gebraucht. Du kannst jetzt eine Antwort mit {ask} und {print} wiedergeben. Beispiel: Name {is} {ask} Wie heißt Du? {print} Hallo Name"
+msgstr "Ab Level 2 wird `{echo}` nicht mehr gebraucht. Du kannst jetzt eine Antwort mit `{ask}` und `{print}` wiedergeben. Beispiel: Name `{is}` `{ask}` Wie heißt Du? `{print}` Hallo Name"
 
 #, fuzzy
 msgid "edit_adventure"
@@ -817,7 +817,7 @@ msgid "indentation_exception"
 msgstr "Incorrect Indentation"
 
 msgid "input"
-msgstr "Eingabe aus {ask}"
+msgstr "Eingabe aus `{ask}`"
 
 msgid "integer"
 msgstr "eine ganze Zahl"
@@ -1128,7 +1128,7 @@ msgid "no_certificate"
 msgstr "Dieser Nutzer hat noch kein Hedy Abschlusszertifikat"
 
 msgid "no_more_flat_if"
-msgstr "Ab Level 8 muss die Zeile nach {if} mit 4 Leerzeichen beginnen."
+msgstr "Ab Level 8 muss die Zeile nach `{if}` mit 4 Leerzeichen beginnen."
 
 #, fuzzy
 msgid "no_programs"
@@ -1436,7 +1436,7 @@ msgstr "Repariere Programm Symbol"
 
 #, fuzzy
 msgid "repeat_dep"
-msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8."
+msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8."
 
 msgid "repeat_match_password"
 msgstr "Das wiederholte Passwort stimmt nicht mit dem ersten überein."
diff --git a/translations/el/LC_MESSAGES/messages.po b/translations/el/LC_MESSAGES/messages.po
index 74ae61873e8..fccbc3a4c02 100644
--- a/translations/el/LC_MESSAGES/messages.po
+++ b/translations/el/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: el\n"
@@ -23,7 +23,7 @@ msgid "Access Before Assign"
 msgstr "You tried to use the variable {name} on line {access_line_number}, but you set it on line {definition_line_number}. Set a variable before using it."
 
 msgid "Cyclic Var Definition"
-msgstr "Το όνομα {variable} πρέπει να οριστεί για να μπορέσεις να το χρησιμοποιήσεις στη δεξιά πλευρά της εντολής is"
+msgstr "Το όνομα `{variable}` πρέπει να οριστεί για να μπορέσεις να το χρησιμοποιήσεις στη δεξιά πλευρά της εντολής is"
 
 #, fuzzy
 msgid "Function Undefined"
@@ -33,30 +33,30 @@ msgid "Has Blanks"
 msgstr "Ο κώδικάς σου δεν είναι πλήρης. Περιέχει κενά που πρέπει να αντικαταστήσεις με κώδικα."
 
 msgid "Incomplete"
-msgstr "Ουπς! Ξέχασες ένα κομμάτι κώδικα! Στη γραμμή {line_number}, πρέπει να γράψεις κείμενο ύστερα από την {incomplete_command}."
+msgstr "Ουπς! Ξέχασες ένα κομμάτι κώδικα! Στη γραμμή {line_number}, πρέπει να γράψεις κείμενο ύστερα από την `{incomplete_command}`."
 
 #, fuzzy
 msgid "Incomplete Repeat"
-msgstr "It looks like you forgot to use {command} with the repeat command you used on line {line_number}."
+msgstr "It looks like you forgot to use `{command}` with the repeat command you used on line {line_number}."
 
 msgid "Invalid"
-msgstr "Η εντολή {invalid_command} δεν είναι μια εντολή του επιπέδου {level} της Hedy. Μήπως εννοούσες {guessed_command};"
+msgstr "Η εντολή `{invalid_command}` δεν είναι μια εντολή του επιπέδου {level} της Hedy. Μήπως εννοούσες `{guessed_command}`;"
 
 msgid "Invalid Argument"
-msgstr "Δεν μπορείς να χρησιμοποιήσεις την εντολή {command} με το {invalid_argument}. Δοκίμασε να αλλάξεις το {invalid_argument} σε {allowed_types}."
+msgstr "Δεν μπορείς να χρησιμοποιήσεις την εντολή `{command}` με το `{invalid_argument}`. Δοκίμασε να αλλάξεις το `{invalid_argument}` σε {allowed_types}."
 
 msgid "Invalid Argument Type"
-msgstr "Δεν μπορείς να χρησιμοποιήσεις την εντολή {command} με το {invalid_argument} επειδή είναι {invalid_type}. Δοκίμασε να αλλάξεις το {invalid_argument} σε {allowed_types}."
+msgstr "Δεν μπορείς να χρησιμοποιήσεις την εντολή `{command}` με το `{invalid_argument}` επειδή είναι {invalid_type}. Δοκίμασε να αλλάξεις το `{invalid_argument}` σε {allowed_types}."
 
 #, fuzzy
 msgid "Invalid At Command"
-msgstr "The {at} command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
+msgstr "The `{command}` command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
 
 msgid "Invalid Space"
 msgstr "Ουπς! Ξεκίνησες μια γραμμή με κενό στη γραμμή {line_number}. Τα κενά μπερδεύουν τους υπολογιστές, μπορείς να τα αφαιρέσεις;"
 
 msgid "Invalid Type Combination"
-msgstr "Δεν μπορείς να χρησιμοποιήσεις τα {invalid_argument} και {invalid_argument_2} στο {command} επειδή το ένα είναι {invalid_type} και το άλλο είναι {invalid_type_2}. Δοκίμασε να αλλάξεις το {invalid_argument} σε {invalid_type_2} ή το {invalid_argument_2} σε {invalid_type}."
+msgstr "Δεν μπορείς να χρησιμοποιήσεις τα `{invalid_argument}` και `{invalid_argument_2}` στο `{command}` επειδή το ένα είναι {invalid_type} και το άλλο είναι {invalid_type_2}. Δοκίμασε να αλλάξεις το `{invalid_argument}` σε {invalid_type_2} ή το `{invalid_argument_2}` σε {invalid_type}."
 
 msgid "Locked Language Feature"
 msgstr "Χρησιμοποιείς το {concept}! Αυτό είναι φοβερό, αλλά το {concept} δεν έχει ξεκλειδωθεί ακόμα! Θα ξεκλειδωθεί σε μεταγενέστερο επίπεδο."
@@ -70,7 +70,7 @@ msgstr "It looks like you forgot to use a command with the text you put in line
 
 #, fuzzy
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}."
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}."
 
 msgid "Missing Command"
 msgstr "Φαίνεται ότι ξέχασες να χρησιμοποιήσεις μια εντολή στη γραμμή {line_number}."
@@ -80,15 +80,15 @@ msgid "Missing Inner Command"
 msgstr "Φαίνεται ότι ξέχασες να χρησιμοποιήσεις μια εντολή στη γραμμή {line_number}."
 
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}."
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}."
 
 #, fuzzy
 msgid "Missing Variable"
-msgstr "It looks like your {command} is missing a variable at the start of the line."
+msgstr "It looks like your `{command}` is missing a variable at the start of the line."
 
 #, fuzzy
 msgid "Misspelled At Command"
-msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}."
+msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}."
 
 msgid "No Indentation"
 msgstr "Χρησιμοποίησες πολύ λίγα κενά στη γραμμή {line_number}. Χρησιμοποίησες {leading_spaces} κενά, τα οποία δεν είναι αρκετά. Ξεκίνα κάθε νέο μπλοκ με {indent_size} κενά περισσότερα από την προηγούμενη γραμμή."
@@ -98,11 +98,18 @@ msgid "Non Decimal Variable"
 msgstr "At line {line_number}, you might have tried using a number which Hedy does not like very much! Try changing it to a decimal number like 2."
 
 msgid "Parse"
-msgstr "Ο κώδικας που εισήγαγες δεν είναι έγκυρος κώδικας Hedy. Υπάρχει ένα σφάλμα στη γραμμή {location[0]}, στη θέση {location[1]}. Πληκτρολόγησες {character_found}, όμως αυτό δεν επιτρέπεται."
+msgstr "Ο κώδικας που εισήγαγες δεν είναι έγκυρος κώδικας Hedy. Υπάρχει ένα σφάλμα στη γραμμή {location[0]}, στη θέση {location[1]}. Πληκτρολόγησες `{character_found}`, όμως αυτό δεν επιτρέπεται."
 
 #, fuzzy
 msgid "Pressit Missing Else"
-msgstr "You forgot to add what happens when you press a different key, add an {else} to your code"
+msgstr "You forgot to add what happens when you press a different key, add an `{else}` to your code"
+
+#, fuzzy
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -124,21 +131,21 @@ msgid "Unquoted Text"
 msgstr "Πρόσεξε. Όταν ζητάς ή εμφανίζεις κάτι, το κείμενο θα πρέπει να ξεκινάει και να τελειώνει με εισαγωγικά. Κάπου ξέχασες ένα."
 
 msgid "Unsupported Float"
-msgstr "Οι μη ακέραιοι αριθμοί δεν υποστηρίζονται ακόμη, αλλά θα γίνει σε λίγα επίπεδα. Προς το παρόν άλλαξε το {value} σε έναν ακέραιο."
+msgstr "Οι μη ακέραιοι αριθμοί δεν υποστηρίζονται ακόμη, αλλά θα γίνει σε λίγα επίπεδα. Προς το παρόν άλλαξε το `{value}` σε έναν ακέραιο."
 
 #, fuzzy
 msgid "Unsupported String Value"
-msgstr "Text values cannot contain {invalid_value}."
+msgstr "Text values cannot contain `{invalid_value}`."
 
 #, fuzzy
 msgid "Unused Variable"
 msgstr "You defined the variable {variable_name} on line {line_number}, but you did not use it."
 
 msgid "Var Undefined"
-msgstr "Προσπάθησες να εμφανίσεις τη μεταβλητή {name}, όμως δεν την αρχικοποίησες. Είναι επίσης πιθανό ότι προσπαθούσες να χρησιμοποιήσεις τη λέξη {name} αλλά ξέχασες τα εισαγωγικά."
+msgstr "Προσπάθησες να εμφανίσεις τη μεταβλητή `{name}`, όμως δεν την αρχικοποίησες. Είναι επίσης πιθανό ότι προσπαθούσες να χρησιμοποιήσεις τη λέξη `{name}` αλλά ξέχασες τα εισαγωγικά."
 
 msgid "Wrong Level"
-msgstr "Αυτός ήταν σωστός κώδικας Hedy, αλλά όχι στο σωστό επίπεδο. Έγραψες {offending_keyword} για το επίπεδο {working_level}. Υπόδειξη:{tip}"
+msgstr "Αυτός ήταν σωστός κώδικας Hedy, αλλά όχι στο σωστό επίπεδο. Έγραψες `{offending_keyword}` για το επίπεδο {working_level}. Υπόδειξη:{tip}"
 
 #, fuzzy
 msgid "Wrong Number of Arguments"
@@ -318,15 +325,8 @@ msgid "cant_parse_exception"
 msgstr "Couldn't parse the program"
 
 #, fuzzy
-msgid "catch_index_exception"
-msgstr "You tried to access the list {list_name} but it is either empty or the index is not there."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-#, fuzzy
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "You tried to access the list {name} but it is either empty or the index is not there."
 
 #, fuzzy
 msgid "certificate"
@@ -914,7 +914,7 @@ msgid "indentation_exception"
 msgstr "Incorrect Indentation"
 
 msgid "input"
-msgstr "είσοδος από την ask"
+msgstr "είσοδος από την `{ask}`"
 
 msgid "integer"
 msgstr "ένας αριθμός"
@@ -1245,7 +1245,7 @@ msgstr "This user hasn't earned the Hedy Certificate of Completion"
 
 #, fuzzy
 msgid "no_more_flat_if"
-msgstr "Starting in level 8, the line after {if} needs to start with 4 spaces."
+msgstr "Starting in level 8, the line after `{if}` needs to start with 4 spaces."
 
 #, fuzzy
 msgid "no_programs"
@@ -1580,7 +1580,7 @@ msgstr "Repair program icon"
 
 #, fuzzy
 msgid "repeat_dep"
-msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8."
+msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8."
 
 msgid "repeat_match_password"
 msgstr "Το συνθηματικό που επανέλαβες δεν ταιριάζει."
@@ -1951,7 +1951,7 @@ msgid "template_code"
 msgstr ""
 "Αυτή είναι η εξήγηση της περιπέτειάς μου!\n"
 "\n"
-"Με αυτόν τον τρόπο μπορώ να δείξω μια εντολή: print\n"
+"Με αυτόν τον τρόπο μπορώ να δείξω μια εντολή: {print}\n"
 "\n"
 "Αλλά μερικές φορές μπορεί να θέλω να δείξω ένα κομμάτι κώδικα, όπως αυτό:\n"
 "
\n"
@@ -2078,7 +2078,9 @@ msgstr "Tutorial"
 
 #, fuzzy
 msgid "tutorial_code_snippet"
-msgstr "Απόκρυψη των σημειώσεων"
+msgstr ""
+"{print} Hello world!\n"
+"{print} I'm learning Hedy with the tutorial!"
 
 #, fuzzy
 msgid "tutorial_message_not_found"
diff --git a/translations/en/LC_MESSAGES/messages.po b/translations/en/LC_MESSAGES/messages.po
index 4e30d860d14..ea80560bae3 100644
--- a/translations/en/LC_MESSAGES/messages.po
+++ b/translations/en/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: en\n"
@@ -22,7 +22,7 @@ msgid "Access Before Assign"
 msgstr "You tried to use the variable {name} on line {access_line_number}, but you set it on line {definition_line_number}. Set a variable before using it."
 
 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."
+msgstr "The name `{variable}` needs to be set before you can use it on the right-hand side of the `{is}` command."
 
 msgid "Function Undefined"
 msgstr "You tried to use the function {name}, but you didn't define it."
@@ -31,55 +31,55 @@ msgid "Has Blanks"
 msgstr "Your code is incomplete. It contains blanks that you have to replace with code."
 
 msgid "Incomplete"
-msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind {incomplete_command}."
+msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind `{incomplete_command}`."
 
 msgid "Incomplete Repeat"
-msgstr "It looks like you forgot to use a command with the {repeat} command you used on line {line_number}."
+msgstr "It looks like you forgot to use a `{command}` with the `{repeat}` command you used on line {line_number}."
 
 msgid "Invalid"
-msgstr "{invalid_command} is not a Hedy level {level} command. Did you mean {guessed_command}?"
+msgstr "`{invalid_command}` is not a Hedy level {level} command. Did you mean `{guessed_command}`?"
 
 msgid "Invalid Argument"
-msgstr "You cannot use the command {command} with {invalid_argument}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use the command `{command}` with `{invalid_argument}`. Try changing `{invalid_argument}` to {allowed_types}."
 
 msgid "Invalid Argument Type"
-msgstr "You cannot use {command} with {invalid_argument} because it is {invalid_type}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use `{command}` with `{invalid_argument}` because it is {invalid_type}. Try changing `{invalid_argument}` to {allowed_types}."
 
 msgid "Invalid At Command"
-msgstr "The {command} command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
+msgstr "The `{command}` command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
 
 msgid "Invalid Space"
 msgstr "Oops! You started a line with a space on line {line_number}. Spaces confuse computers, can you remove it?"
 
 msgid "Invalid Type Combination"
-msgstr "You cannot use {invalid_argument} and {invalid_argument_2} with {command} because one is {invalid_type} and the other is {invalid_type_2}. Try changing {invalid_argument} to {invalid_type_2} or {invalid_argument_2} to {invalid_type}."
+msgstr "You cannot use `{invalid_argument}` and `{invalid_argument_2}` with `{command}` because one is {invalid_type} and the other is {invalid_type_2}. Try changing `{invalid_argument}` to {invalid_type_2} or `{invalid_argument_2}` to {invalid_type}."
 
 msgid "Locked Language Feature"
 msgstr "You are using {concept}! That is awesome, but {concept} is not unlocked yet! It will be unlocked in a later level."
 
 msgid "Lonely Echo"
-msgstr "You used an {echo} before an {ask}, or an {echo} without an {ask}. Place an {ask} before the {echo}."
+msgstr "You used an `{echo}` before an `{ask}`, or an `{echo}` without an `{ask}`. Place an `{ask}` before the `{echo}`."
 
 msgid "Lonely Text"
 msgstr "It looks like you forgot to use a command with the text you used in line {line_number}"
 
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}. Try adding {missing_command} to your code."
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}. Try adding `{missing_command}` to your code."
 
 msgid "Missing Command"
 msgstr "It looks like you forgot to use a command on line {line_number}."
 
 msgid "Missing Inner Command"
-msgstr "It looks like you forgot to use a command with the {command} statement you used on line {line_number}."
+msgstr "It looks like you forgot to use a command with the `{command}` statement you used on line {line_number}."
 
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}."
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}."
 
 msgid "Missing Variable"
-msgstr "It looks like your {command} is missing a variable at the start of the line."
+msgstr "It looks like your `{command}` is missing a variable at the start of the line."
 
 msgid "Misspelled At Command"
-msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}."
+msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}."
 
 msgid "No Indentation"
 msgstr "You used too few spaces in line {line_number}. You used {leading_spaces} spaces, which is not enough. Start every new block with {indent_size} spaces more than the line before."
@@ -88,10 +88,16 @@ msgid "Non Decimal Variable"
 msgstr "At line {line_number}, you might have tried using a number which Hedy does not like very much! Try changing it to a decimal number like 2."
 
 msgid "Parse"
-msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed {character_found}, but that is not allowed."
+msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed `{character_found}`, but that is not allowed."
 
 msgid "Pressit Missing Else"
-msgstr "You forgot to add what happens when you press a different key, add an {else} to your code"
+msgstr "You forgot to add what happens when you press a different key, add an `{else}` to your code"
+
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 msgid "Save Microbit code "
 msgstr "Save Microbit code"
@@ -103,28 +109,28 @@ msgid "Unexpected Indentation"
 msgstr "You used too many spaces in line {line_number}. You used {leading_spaces} spaces, which is too much. Start every new block with {indent_size} spaces more than the line before."
 
 msgid "Unquoted Assignment"
-msgstr "From this level, you need to place texts to the right of the {is} between quotes. You forgot that for the text {text}."
+msgstr "From this level, you need to place texts to the right of the `{is}` between quotes. You forgot that for the text {text}."
 
 msgid "Unquoted Equality Check"
 msgstr "If you want to check if a variable is equal to multiple words, the words should be surrounded by quotation marks!"
 
 msgid "Unquoted Text"
-msgstr "Be careful. If you {ask} or {print} something, the text should start and finish with a quotation mark. You forgot that for the text {unquotedtext}."
+msgstr "Be careful. If you `{ask}` or `{print}` something, the text should start and finish with a quotation mark. You forgot that for the text {unquotedtext}."
 
 msgid "Unsupported Float"
-msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change {value} to an integer."
+msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change `{value}` to an integer."
 
 msgid "Unsupported String Value"
-msgstr "Text values cannot contain {invalid_value}."
+msgstr "Text values cannot contain `{invalid_value}`."
 
 msgid "Unused Variable"
 msgstr "You defined the variable {variable_name} on line {line_number}, but you did not use it."
 
 msgid "Var Undefined"
-msgstr "You tried to use the variable {name}, but you didn't set it. It is also possible that you were trying to use the word {name} but forgot quotation marks."
+msgstr "You tried to use the variable `{name}`, but you didn't set it. It is also possible that you were trying to use the word `{name}` but forgot quotation marks."
 
 msgid "Wrong Level"
-msgstr "That was correct Hedy code, but not at the right level. You wrote {offending_keyword} for level {working_level}. Tip: {tip}"
+msgstr "That was correct Hedy code, but not at the right level. You wrote `{offending_keyword}` for level {working_level}. Tip: {tip}"
 
 msgid "Wrong Number of Arguments"
 msgstr "Your function used the wrong number of arguments. You provided {used_number} but the function {name} needs {defined_number}"
@@ -256,7 +262,7 @@ msgid "are_you_sure"
 msgstr "Are you sure? You cannot revert this action."
 
 msgid "ask_needs_var"
-msgstr "Starting in level 2, {ask} needs to be used with a variable. Example: name {is} {ask} What is your name?"
+msgstr "Starting in level 2, `{ask}` needs to be used with a variable. Example: name `{is}` `{ask}` What is your name?"
 
 msgid "become_a_sponsor"
 msgstr "Become a sponsor"
@@ -276,14 +282,8 @@ msgstr "Cancel"
 msgid "cant_parse_exception"
 msgstr "Couldn't parse the program"
 
-msgid "catch_index_exception"
-msgstr "You tried to access the list {list_name} but it is either empty or the index is not there."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "You tried to access the list {name} but it is either empty or the index is not there."
 
 msgid "certificate"
 msgstr "Certificate of Completion"
@@ -775,7 +775,7 @@ msgid "indentation_exception"
 msgstr "Incorrect Indentation"
 
 msgid "input"
-msgstr "input from {ask}"
+msgstr "input from `{ask}`"
 
 msgid "integer"
 msgstr "a number"
@@ -1076,7 +1076,7 @@ msgid "no_certificate"
 msgstr "This user hasn't earned the Hedy Certificate of Completion"
 
 msgid "no_more_flat_if"
-msgstr "Starting in level 8, the code after {if} needs to be placed on the next line and start with 4 spaces."
+msgstr "Starting in level 8, the code after `{if}` needs to be placed on the next line and start with 4 spaces."
 
 msgid "no_programs"
 msgstr "There are no programs."
@@ -1376,7 +1376,7 @@ msgid "repair_program_logo_alt"
 msgstr "Repair program icon"
 
 msgid "repeat_dep"
-msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8."
+msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8."
 
 msgid "repeat_match_password"
 msgstr "The repeated password does not match."
diff --git a/translations/eo/LC_MESSAGES/messages.po b/translations/eo/LC_MESSAGES/messages.po
index 75ba2011f2e..484cac77fdc 100644
--- a/translations/eo/LC_MESSAGES/messages.po
+++ b/translations/eo/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: eo\n"
@@ -22,7 +22,7 @@ msgid "Access Before Assign"
 msgstr "Vi provis uzi la variablon {name} je la linio {access_line_number}, sed vi donis al ĝi valoron je la linio {definition_line_number}. Donu valoron al variablo antaŭ uzi ĝin."
 
 msgid "Cyclic Var Definition"
-msgstr "La nomo {variable} bezonas ricevi valoron antaŭ vi povas uzi ĝin maldekstre de la komando {is}."
+msgstr "La nomo `{variable}` bezonas ricevi valoron antaŭ vi povas uzi ĝin maldekstre de la komando `{is}`."
 
 msgid "Function Undefined"
 msgstr "Vi provis uzi la funkcion {name}, sed vi ne difinis ĝin."
@@ -31,23 +31,23 @@ msgid "Has Blanks"
 msgstr "Via kodo ne estas kompleta. Ĝi enhavas spacojn kiun vi devas anstataŭigi per kodo."
 
 msgid "Incomplete"
-msgstr "Ups! Vi forgesis parton de kodo! Je la linio {line_number} vi bezonas enigi tekston post {incomplete_command}."
+msgstr "Ups! Vi forgesis parton de kodo! Je la linio {line_number} vi bezonas enigi tekston post `{incomplete_command}`."
 
 msgid "Incomplete Repeat"
-msgstr "Ŝajnas ke vi forgesis uzi komandon kun la komando {repeat} kiun vi uzis je la linio {line_number}."
+msgstr "Ŝajnas ke vi forgesis uzi komandon kun la komando `{repeat}` kiun vi uzis je la linio {line_number}."
 
 msgid "Invalid"
-msgstr "{invalid_command} ne estas komando je la nivelo {level} de Hedy. Ĉu vi celis skribi {guessed_command}?"
+msgstr "`{invalid_command}` ne estas komando je la nivelo {level} de Hedy. Ĉu vi celis skribi `{guessed_command}`?"
 
 msgid "Invalid Argument"
-msgstr "Vi ne povas uzi la komandon {command} kun {invalid_argument}. Provu ŝanĝi {invalid_argument} per {allowed_types}."
+msgstr "Vi ne povas uzi la komandon `{command}` kun `{invalid_argument}`. Provu ŝanĝi `{invalid_argument}` per {allowed_types}."
 
 msgid "Invalid Argument Type"
-msgstr "Vi ne povas uzi {command} kun {invalid_argument} ĉar ĝi estas {invalid_type}. Provu ŝanĝi {invalid_argument} per {allowed_types}."
+msgstr "Vi ne povas uzi `{command}` kun `{invalid_argument}` ĉar ĝi estas {invalid_type}. Provu ŝanĝi `{invalid_argument}` per {allowed_types}."
 
 #, fuzzy
 msgid "Invalid At Command"
-msgstr "The {at} command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
+msgstr "The `{command}` command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
 
 #, fuzzy
 msgid "Invalid Space"
@@ -55,7 +55,7 @@ msgstr "Oops! You started a line with a space on line {line_number}. Spaces conf
 
 #, fuzzy
 msgid "Invalid Type Combination"
-msgstr "You cannot use {invalid_argument} and {invalid_argument_2} with {command} because one is {invalid_type} and the other is {invalid_type_2}. Try changing {invalid_argument} to {invalid_type_2} or {invalid_argument_2} to {invalid_type}."
+msgstr "You cannot use `{invalid_argument}` and `{invalid_argument_2}` with `{command}` because one is {invalid_type} and the other is {invalid_type_2}. Try changing `{invalid_argument}` to {invalid_type_2} or `{invalid_argument_2}` to {invalid_type}."
 
 #, fuzzy
 msgid "Locked Language Feature"
@@ -71,7 +71,7 @@ msgstr "It looks like you forgot to use a command with the text you put in line
 
 #, fuzzy
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}."
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}."
 
 #, fuzzy
 msgid "Missing Command"
@@ -79,18 +79,18 @@ msgstr "It looks like you forgot to use a command on line {line_number}."
 
 #, fuzzy
 msgid "Missing Inner Command"
-msgstr "It looks like you forgot to use a command with the {command} statement you used on line {line_number}."
+msgstr "It looks like you forgot to use a command with the `{command}` statement you used on line {line_number}."
 
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}."
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}."
 
 #, fuzzy
 msgid "Missing Variable"
-msgstr "It looks like your {command} is missing a variable at the start of the line."
+msgstr "It looks like your `{command}` is missing a variable at the start of the line."
 
 #, fuzzy
 msgid "Misspelled At Command"
-msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}."
+msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}."
 
 #, fuzzy
 msgid "No Indentation"
@@ -102,11 +102,18 @@ msgstr "At line {line_number}, you might have tried using a number which Hedy do
 
 #, fuzzy
 msgid "Parse"
-msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed {character_found}, but that is not allowed."
+msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed `{character_found}`, but that is not allowed."
 
 #, fuzzy
 msgid "Pressit Missing Else"
-msgstr "You forgot to add what happens when you press a different key, add an {else} to your code"
+msgstr "You forgot to add what happens when you press a different key, add an `{else}` to your code"
+
+#, fuzzy
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -133,10 +140,10 @@ msgstr "Be careful. If you ask or print something, the text should start and fin
 
 #, fuzzy
 msgid "Unsupported Float"
-msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change {value} to an integer."
+msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change `{value}` to an integer."
 
 msgid "Unsupported String Value"
-msgstr "Teksta valoro ne povas enhavi la jenon: {invalid_value}."
+msgstr "Teksta valoro ne povas enhavi la jenon: `{invalid_value}`."
 
 #, fuzzy
 msgid "Unused Variable"
@@ -144,11 +151,11 @@ msgstr "You defined the variable {variable_name} on line {line_number}, but you
 
 #, fuzzy
 msgid "Var Undefined"
-msgstr "You tried to use the variable {name}, but you didn't set it. It is also possible that you were trying to use the word {name} but forgot quotation marks."
+msgstr "You tried to use the variable `{name}`, but you didn't set it. It is also possible that you were trying to use the word `{name}` but forgot quotation marks."
 
 #, fuzzy
 msgid "Wrong Level"
-msgstr "That was correct Hedy code, but not at the right level. You wrote {offending_keyword} for level {working_level}. Tip: {tip}"
+msgstr "That was correct Hedy code, but not at the right level. You wrote `{offending_keyword}` for level {working_level}. Tip: {tip}"
 
 #, fuzzy
 msgid "Wrong Number of Arguments"
@@ -327,15 +334,8 @@ msgid "cant_parse_exception"
 msgstr "Couldn't parse the program"
 
 #, fuzzy
-msgid "catch_index_exception"
-msgstr "You tried to access the list {list_name} but it is either empty or the index is not there."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-#, fuzzy
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "You tried to access the list {name} but it is either empty or the index is not there."
 
 #, fuzzy
 msgid "certificate"
@@ -923,7 +923,7 @@ msgstr "Incorrect Indentation"
 
 #, fuzzy
 msgid "input"
-msgstr "input from ask"
+msgstr "input from `{ask}`"
 
 msgid "integer"
 msgstr "nombro"
@@ -1262,7 +1262,7 @@ msgstr "This user hasn't earned the Hedy Certificate of Completion"
 
 #, fuzzy
 msgid "no_more_flat_if"
-msgstr "Starting in level 8, the code after {if} needs to be placed on the next line and start with 4 spaces."
+msgstr "Starting in level 8, the code after `{if}` needs to be placed on the next line and start with 4 spaces."
 
 #, fuzzy
 msgid "no_programs"
@@ -1605,7 +1605,7 @@ msgid "repair_program_logo_alt"
 msgstr "Piktogramo pri riparado de programo"
 
 msgid "repeat_dep"
-msgstr "Ekde la nivelo 8, {repeat} bezonas esti uzita kun krommarĝeno. Vi povas vidi ekzemplojn en la tabelo {repeat} de la nivelo 8."
+msgstr "Ekde la nivelo 8, `{repeat}` bezonas esti uzita kun krommarĝeno. Vi povas vidi ekzemplojn en la tabelo `{repeat}` de la nivelo 8."
 
 msgid "repeat_match_password"
 msgstr "La ripetita pasvorto ne kongruas."
@@ -1977,7 +1977,7 @@ msgid "template_code"
 msgstr ""
 "This is the explanation of my adventure!\n"
 "\n"
-"This way I can show a command: print\n"
+"This way I can show a command: {print}\n"
 "\n"
 "But sometimes I might want to show a piece of code, like this:\n"
 "
\n"
@@ -2085,8 +2085,8 @@ msgstr "Tutorial"
 
 msgid "tutorial_code_snippet"
 msgstr ""
-"print Hello world!\n"
-"print I'm learning Hedy with the tutorial!"
+"{print} Hello world!\n"
+"{print} I'm learning Hedy with the tutorial!"
 
 #, fuzzy
 msgid "tutorial_message_not_found"
diff --git a/translations/es/LC_MESSAGES/messages.po b/translations/es/LC_MESSAGES/messages.po
index b33bf8f7625..d5df042b164 100644
--- a/translations/es/LC_MESSAGES/messages.po
+++ b/translations/es/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: es\n"
@@ -22,7 +22,7 @@ msgid "Access Before Assign"
 msgstr "Has intentado usar la variable {name} en la línea {access_line_number}, pero ya la has definido en la línea {definition_line_number}. Define una variable antes de usarla."
 
 msgid "Cyclic Var Definition"
-msgstr "Debes declarar la variable {variable} antes de poder usarla en el lado derecho del comando {is}."
+msgstr "Debes declarar la variable `{variable}` antes de poder usarla en el lado derecho del comando `{is}`."
 
 msgid "Function Undefined"
 msgstr "Has intentado utilizar la función {name}, pero no la has definido."
@@ -31,55 +31,55 @@ msgid "Has Blanks"
 msgstr "Tu código es incompleto. Contiene huecos que debes reemplazar con código."
 
 msgid "Incomplete"
-msgstr "¡Oops! ¡Has olvidado una parte de código! En la línea {line_number}, debes agregar texto después de {incomplete_command}."
+msgstr "¡Oops! ¡Has olvidado una parte de código! En la línea {line_number}, debes agregar texto después de `{incomplete_command}`."
 
 msgid "Incomplete Repeat"
-msgstr "Parece que has olvidado usar un comando con el comando {repeat} que usaste en la línea {line_number}."
+msgstr "Parece que has olvidado usar un comando con el comando `{repeat}` que usaste en la línea {line_number}."
 
 msgid "Invalid"
-msgstr "{invalid_command} no es un comando de Hedy en nivel {level}. ¿Querías decir {guessed_command}?"
+msgstr "`{invalid_command}` no es un comando de Hedy en nivel {level}. ¿Querías decir `{guessed_command}`?"
 
 msgid "Invalid Argument"
-msgstr "No puedes usar el comando {command} con {invalid_argument}. Intenta cambiar {invalid_argument} a {allowed_types}."
+msgstr "No puedes usar el comando `{command}` con `{invalid_argument}`. Intenta cambiar `{invalid_argument}` a {allowed_types}."
 
 msgid "Invalid Argument Type"
-msgstr "No puedes usar {command} con {invalid_argument} porque es {invalid_type}. Intenta cambiar {invalid_argument} a {allowed_types}."
+msgstr "No puedes usar `{command}` con `{invalid_argument}` porque es {invalid_type}. Intenta cambiar `{invalid_argument}` a {allowed_types}."
 
 msgid "Invalid At Command"
-msgstr "El comando {command} no puede utilizarse a partir del nivel 16. Puedes usar corchetes para usar un elemento de una lista, por ejemplo `friends[i]`, `lucky_numbers[{random}]`."
+msgstr "El comando `{command}` no puede utilizarse a partir del nivel 16. Puedes usar corchetes para usar un elemento de una lista, por ejemplo `friends[i]`, `lucky_numbers[{random}]`."
 
 msgid "Invalid Space"
 msgstr "¡Oops! Has comenzado una línea con un espacio en la línea {line_number}. Los espacios confunden a los ordenadores, ¿podrías quitarlos?"
 
 msgid "Invalid Type Combination"
-msgstr "No puedes usar {invalid_argument} y {invalid_argument_2} con {command} porque uno es {invalid_type} y el otro es {invalid_type_2}. Intenta cambiar {invalid_argument} a {invalid_type_2} o {invalid_argument_2} a {invalid_type}."
+msgstr "No puedes usar `{invalid_argument}` y `{invalid_argument_2}` con `{command}` porque uno es {invalid_type} y el otro es {invalid_type_2}. Intenta cambiar `{invalid_argument}` a {invalid_type_2} o `{invalid_argument_2}` a {invalid_type}."
 
 msgid "Locked Language Feature"
 msgstr "¡Estás usando {concept}! Es genial, pero ¡{concept} todavía no está desbloqueado! Se desbloqueará en un nivel posterior."
 
 msgid "Lonely Echo"
-msgstr "Has utilizado un {echo} antes de un {ask}, o un {echo} sin un {ask}. Coloca un {ask} antes del {echo}."
+msgstr "Has utilizado un `{echo}` antes de un `{ask}`, o un `{echo}` sin un `{ask}`. Coloca un `{ask}` antes del `{echo}`."
 
 msgid "Lonely Text"
 msgstr "Parece que olvidaste usar un comando con el texto que pusiste en la línea {line_number}"
 
 msgid "Missing Additional Command"
-msgstr "Parece que olvidaste terminar de escribir {command} en la línea {line_number}. Intenta añadir {missing_command} a tu código."
+msgstr "Parece que olvidaste terminar de escribir `{command}` en la línea {line_number}. Intenta añadir `{missing_command}` a tu código."
 
 msgid "Missing Command"
 msgstr "Parece que has olvidado de usar un comando en la línea {line_number}."
 
 msgid "Missing Inner Command"
-msgstr "Parece que has olvidad usar un comando en el {command} que has usado en la línea {line_number}."
+msgstr "Parece que has olvidad usar un comando en el `{command}` que has usado en la línea {line_number}."
 
 msgid "Missing Square Brackets"
-msgstr "Parece que olvidaste usar corchetes [] alrededor de la lista que estabas creando en la línea {line_number}."
+msgstr "Parece que olvidaste usar corchetes `[]` alrededor de la lista que estabas creando en la línea {line_number}."
 
 msgid "Missing Variable"
-msgstr "Parece que a tu {command} le falta una variable al principio de la línea."
+msgstr "Parece que a tu `{command}` le falta una variable al principio de la línea."
 
 msgid "Misspelled At Command"
-msgstr "Parece que haz escrito incorrectamente el comando {command}, en su lugar escribiste {invalid_argument} en la línea {line_number}."
+msgstr "Parece que haz escrito incorrectamente el comando `{command}`, en su lugar escribiste `{invalid_argument}` en la línea {line_number}."
 
 msgid "No Indentation"
 msgstr "Has utilizado demasiado pocos espacios en la línea {line_number}. Has usado {leading_spaces} espacios, lo que es insuficiente. Empieza cada nuevo bloque con {indent_size} espacios más que la línea anterior."
@@ -88,10 +88,16 @@ msgid "Non Decimal Variable"
 msgstr "En la línea {line_number}, ¡podrías haber intentado usar un número que a Hedy no le gusta mucho! Intente cambiarlo a un número decimal como 2."
 
 msgid "Parse"
-msgstr "El servidor no puede traducir este programa de Hedy. Hay un error en la línea {location[0]}, carácter {location[1]}. Tu has ingresado {character_found}, pero eso no está permitido."
+msgstr "El servidor no puede traducir este programa de Hedy. Hay un error en la línea {location[0]}, carácter {location[1]}. Tu has ingresado `{character_found}`, pero eso no está permitido."
 
 msgid "Pressit Missing Else"
-msgstr "Olvidaste añadir qué pasa cuando pulsas una tecla diferente, añade un {else} a tu código"
+msgstr "Olvidaste añadir qué pasa cuando pulsas una tecla diferente, añade un `{else}` a tu código"
+
+msgid "Runtime Value Error"
+msgstr "Mientras ejecutábamos tu programa, el comando `{command}` recibió el valor {value}, pero eso no está permitido. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 msgid "Save Microbit code "
 msgstr "Guardar código Microbit"
@@ -103,28 +109,28 @@ msgid "Unexpected Indentation"
 msgstr "Has utilizado demasiados espacios en la línea {line_number}. Has usado {leading_spaces} espacios, lo que es insuficiente. Empieza cada nuevo bloque con {indent_size} espacios más que la línea anterior."
 
 msgid "Unquoted Assignment"
-msgstr "A partir de este nivel, debes colocar el texto a la derecha de {is} entre comillas. Olvidaste eso para el texto {text}."
+msgstr "A partir de este nivel, debes colocar el texto a la derecha de `{is}` entre comillas. Olvidaste eso para el texto {text}."
 
 msgid "Unquoted Equality Check"
 msgstr "¡Si quieres comprobar si una variable es igual a varias palabras, las palabras deben estar rodeadas por comillas!"
 
 msgid "Unquoted Text"
-msgstr "¡Ten cuidado! Si {ask} o {print} algo, el texto debe estar rodeado de comillas. Has olvidado eso para el texto {unquotedtext}."
+msgstr "¡Ten cuidado! Si `{ask}` o `{print}` algo, el texto debe estar rodeado de comillas. Has olvidado eso para el texto {unquotedtext}."
 
 msgid "Unsupported Float"
-msgstr "Números no enteros no se soportan pero estarán disponibles en unos niveles. De momento, cambia {value} a un entero."
+msgstr "Números no enteros no se soportan pero estarán disponibles en unos niveles. De momento, cambia `{value}` a un entero."
 
 msgid "Unsupported String Value"
-msgstr "El texto no puede contener {invalid_value}."
+msgstr "El texto no puede contener `{invalid_value}`."
 
 msgid "Unused Variable"
 msgstr "Ha definido la variable {variable_name} en la línea {line_number}, pero no la ha utilizado."
 
 msgid "Var Undefined"
-msgstr "Intentaste usar la variable {name}, pero no la estableciste. También es posible que estés intentando usar la palabra {name} pero olvidaste las comillas."
+msgstr "Intentaste usar la variable `{name}`, pero no la estableciste. También es posible que estés intentando usar la palabra `{name}` pero olvidaste las comillas."
 
 msgid "Wrong Level"
-msgstr "Ese código es correcto, pero no pertenece al nivel correcto. Has escrito código {offending_keyword} para el nivel {working_level}.Tip: {tip}"
+msgstr "Ese código es correcto, pero no pertenece al nivel correcto. Has escrito código `{offending_keyword}` para el nivel {working_level}.Tip: {tip}"
 
 msgid "Wrong Number of Arguments"
 msgstr "Tu función usó el número incorrecto de argumentos. Pasaste {used_number} pero la función {name} necesita {defined_number}"
@@ -256,7 +262,7 @@ msgid "are_you_sure"
 msgstr "¿Estás segura/o? No puedes revertir esta acción."
 
 msgid "ask_needs_var"
-msgstr "A partir del nivel 2, {ask} debe utilizarse con una variable. Ejemplo: nombre {is} {ask} ¿Cómo te llamas?"
+msgstr "A partir del nivel 2, `{ask}` debe utilizarse con una variable. Ejemplo: nombre `{is}` `{ask}` ¿Cómo te llamas?"
 
 msgid "become_a_sponsor"
 msgstr "Conviértete en patrocinador"
@@ -276,14 +282,8 @@ msgstr "Cancelar"
 msgid "cant_parse_exception"
 msgstr "No se ha podido analizar el programa"
 
-msgid "catch_index_exception"
-msgstr "Intentaste acceder a la lista {list_name} pero está vacía o el índice no está allí."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-msgid "catch_value_exception"
-msgstr "Mientras ejecutábamos tu programa, el comando {command} recibió el valor {value}, pero eso no está permitido. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "Intentaste acceder a la lista {name} pero está vacía o el índice no está allí."
 
 msgid "certificate"
 msgstr "Certificado de Finalización"
@@ -775,7 +775,7 @@ msgid "indentation_exception"
 msgstr "Sangría incorrecta"
 
 msgid "input"
-msgstr "input de {ask}"
+msgstr "input de `{ask}`"
 
 msgid "integer"
 msgstr "un número"
@@ -1076,7 +1076,7 @@ msgid "no_certificate"
 msgstr "Este usuario no ha conseguido el Certificado Hedy de Finalización"
 
 msgid "no_more_flat_if"
-msgstr "A partir del nivel 8, el código tras {if} tiene que ponerse en la siguiente línea y debe empezar con 4 espacios."
+msgstr "A partir del nivel 8, el código tras `{if}` tiene que ponerse en la siguiente línea y debe empezar con 4 espacios."
 
 msgid "no_programs"
 msgstr "No hay programas."
@@ -1376,7 +1376,7 @@ msgid "repair_program_logo_alt"
 msgstr "Icono de reparación de programa"
 
 msgid "repeat_dep"
-msgstr "Empezando en el nivel 8, {repeat} necesita ser usado con sangría. Puedes ver ejemplos en la pestaña {repeat} en el nivel 8."
+msgstr "Empezando en el nivel 8, `{repeat}` necesita ser usado con sangría. Puedes ver ejemplos en la pestaña `{repeat}` en el nivel 8."
 
 msgid "repeat_match_password"
 msgstr "La contraseña repetida es distinta."
diff --git a/translations/et/LC_MESSAGES/messages.po b/translations/et/LC_MESSAGES/messages.po
index 504d9c953f9..8d42ce91d1b 100644
--- a/translations/et/LC_MESSAGES/messages.po
+++ b/translations/et/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: et\n"
@@ -24,7 +24,7 @@ msgstr "You tried to use the variable {name} on line {access_line_number}, but y
 
 #, fuzzy
 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."
+msgstr "The name `{variable}` needs to be set before you can use it on the right-hand side of the is command."
 
 #, fuzzy
 msgid "Function Undefined"
@@ -34,33 +34,33 @@ msgid "Has Blanks"
 msgstr "Su kood ei ole veel valmis. Seal on veel tühjad kohad, kuhu sa pead koodi asemele panema."
 
 msgid "Incomplete"
-msgstr "Ups! Sa jätsid natukene koodi kirjutamata! {line_number} real pead sa pärast {incomplete_command} midagi kirjutama."
+msgstr "Ups! Sa jätsid natukene koodi kirjutamata! {line_number} real pead sa pärast `{incomplete_command}` midagi kirjutama."
 
 #, fuzzy
 msgid "Incomplete Repeat"
-msgstr "It looks like you forgot to use {command} with the repeat command you used on line {line_number}."
+msgstr "It looks like you forgot to use `{command}` with the repeat command you used on line {line_number}."
 
 msgid "Invalid"
-msgstr "{invalid_command} ei ole Hedy {level} taseme käsk. Kas sa tahtsid kasutada {guessed_command} käsku?"
+msgstr "`{invalid_command}` ei ole Hedy {level} taseme käsk. Kas sa tahtsid kasutada `{guessed_command}` käsku?"
 
 #, fuzzy
 msgid "Invalid Argument"
-msgstr "You cannot use the command {command} with {invalid_argument}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use the command `{command}` with `{invalid_argument}`. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid Argument Type"
-msgstr "You cannot use {command} with {invalid_argument} because it is {invalid_type}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use `{command}` with `{invalid_argument}` because it is {invalid_type}. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid At Command"
-msgstr "The {at} command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
+msgstr "The `{command}` command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
 
 msgid "Invalid Space"
 msgstr "Ups! Sa alustasid rida tühikuga real {line_ number}. Tühikud ajavad arvuteid segadusse, kas sa saaksid selle eemaldada?"
 
 #, fuzzy
 msgid "Invalid Type Combination"
-msgstr "You cannot use {invalid_argument} and {invalid_argument_2} with {command} because one is {invalid_type} and the other is {invalid_type_2}. Try changing {invalid_argument} to {invalid_type_2} or {invalid_argument_2} to {invalid_type}."
+msgstr "You cannot use `{invalid_argument}` and `{invalid_argument_2}` with `{command}` because one is {invalid_type} and the other is {invalid_type_2}. Try changing `{invalid_argument}` to {invalid_type_2} or `{invalid_argument_2}` to {invalid_type}."
 
 #, fuzzy
 msgid "Locked Language Feature"
@@ -76,7 +76,7 @@ msgstr "It looks like you forgot to use a command with the text you put in line
 
 #, fuzzy
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}."
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}."
 
 #, fuzzy
 msgid "Missing Command"
@@ -84,18 +84,18 @@ msgstr "It looks like you forgot to use a command on line {line_number}."
 
 #, fuzzy
 msgid "Missing Inner Command"
-msgstr "It looks like you forgot to use a command with the {command} statement you used on line {line_number}."
+msgstr "It looks like you forgot to use a command with the `{command}` statement you used on line {line_number}."
 
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}."
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}."
 
 #, fuzzy
 msgid "Missing Variable"
-msgstr "It looks like your {command} is missing a variable at the start of the line."
+msgstr "It looks like your `{command}` is missing a variable at the start of the line."
 
 #, fuzzy
 msgid "Misspelled At Command"
-msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}."
+msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}."
 
 #, fuzzy
 msgid "No Indentation"
@@ -107,11 +107,18 @@ msgstr "At line {line_number}, you might have tried using a number which Hedy do
 
 #, fuzzy
 msgid "Parse"
-msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed {character_found}, but that is not allowed."
+msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed `{character_found}`, but that is not allowed."
 
 #, fuzzy
 msgid "Pressit Missing Else"
-msgstr "You forgot to add what happens when you press a different key, add an {else} to your code"
+msgstr "You forgot to add what happens when you press a different key, add an `{else}` to your code"
+
+#, fuzzy
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -139,11 +146,11 @@ msgstr "Be careful. If you ask or print something, the text should start and fin
 
 #, fuzzy
 msgid "Unsupported Float"
-msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change {value} to an integer."
+msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change `{value}` to an integer."
 
 #, fuzzy
 msgid "Unsupported String Value"
-msgstr "Text values cannot contain {invalid_value}."
+msgstr "Text values cannot contain `{invalid_value}`."
 
 #, fuzzy
 msgid "Unused Variable"
@@ -151,10 +158,10 @@ msgstr "You defined the variable {variable_name} on line {line_number}, but you
 
 #, fuzzy
 msgid "Var Undefined"
-msgstr "You tried to use the variable {name}, but you didn't set it. It is also possible that you were trying to use the word {name} but forgot quotation marks."
+msgstr "You tried to use the variable `{name}`, but you didn't set it. It is also possible that you were trying to use the word `{name}` but forgot quotation marks."
 
 msgid "Wrong Level"
-msgstr "See oli õige Hedy kood, aga mitte õigel tasemel. Sa kirjutasid {offending_keyword} tasemele {working_level}. Vihje: {tip}"
+msgstr "See oli õige Hedy kood, aga mitte õigel tasemel. Sa kirjutasid `{offending_keyword}` tasemele {working_level}. Vihje: {tip}"
 
 #, fuzzy
 msgid "Wrong Number of Arguments"
@@ -353,15 +360,8 @@ msgid "cant_parse_exception"
 msgstr "Couldn't parse the program"
 
 #, fuzzy
-msgid "catch_index_exception"
-msgstr "You tried to access the list {list_name} but it is either empty or the index is not there."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-#, fuzzy
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "You tried to access the list {name} but it is either empty or the index is not there."
 
 #, fuzzy
 msgid "certificate"
@@ -1004,7 +1004,7 @@ msgstr "Incorrect Indentation"
 
 #, fuzzy
 msgid "input"
-msgstr "input from ask"
+msgstr "input from `{ask}`"
 
 #, fuzzy
 msgid "integer"
@@ -1384,7 +1384,7 @@ msgstr "This user hasn't earned the Hedy Certificate of Completion"
 
 #, fuzzy
 msgid "no_more_flat_if"
-msgstr "Starting in level 8, the code after {if} needs to be placed on the next line and start with 4 spaces."
+msgstr "Starting in level 8, the code after `{if}` needs to be placed on the next line and start with 4 spaces."
 
 #, fuzzy
 msgid "no_programs"
@@ -1772,7 +1772,7 @@ msgstr "Repair program icon"
 
 #, fuzzy
 msgid "repeat_dep"
-msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8."
+msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8."
 
 #, fuzzy
 msgid "repeat_match_password"
@@ -2180,7 +2180,7 @@ msgid "template_code"
 msgstr ""
 "This is the explanation of my adventure!\n"
 "\n"
-"This way I can show a command: print\n"
+"This way I can show a command: {print}\n"
 "\n"
 "But sometimes I might want to show a piece of code, like this:\n"
 "
\n"
@@ -2296,8 +2296,8 @@ msgstr "Tutorial"
 
 msgid "tutorial_code_snippet"
 msgstr ""
-"print Tere maailm!\n"
-"print Ma õpin Hedy't!"
+"{print} Tere maailm!\n"
+"{print} Ma õpin Hedy't!"
 
 #, fuzzy
 msgid "tutorial_message_not_found"
diff --git a/translations/fa/LC_MESSAGES/messages.po b/translations/fa/LC_MESSAGES/messages.po
index 492a05bb3f7..0a1cd8befe0 100644
--- a/translations/fa/LC_MESSAGES/messages.po
+++ b/translations/fa/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: fa\n"
@@ -24,7 +24,7 @@ msgstr "You tried to use the variable {name} on line {access_line_number}, but y
 
 #, fuzzy
 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"
+msgstr "The name `{variable}` needs to be set before you can use it on the right-hand side of the is command"
 
 #, fuzzy
 msgid "Function Undefined"
@@ -36,27 +36,27 @@ msgstr "Your code is incomplete. It contains blanks that you have to replace wit
 
 #, fuzzy
 msgid "Incomplete"
-msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind {incomplete_command}."
+msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind `{incomplete_command}`."
 
 #, fuzzy
 msgid "Incomplete Repeat"
-msgstr "It looks like you forgot to use {command} with the repeat command you used on line {line_number}."
+msgstr "It looks like you forgot to use `{command}` with the repeat command you used on line {line_number}."
 
 #, fuzzy
 msgid "Invalid"
-msgstr "{invalid_command} is not a Hedy level {level} command. Did you mean {guessed_command}?"
+msgstr "`{invalid_command}` is not a Hedy level {level} command. Did you mean `{guessed_command}`?"
 
 #, fuzzy
 msgid "Invalid Argument"
-msgstr "You cannot use the command {command} with {invalid_argument} . Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use the command `{command}` with `{invalid_argument}` . Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid Argument Type"
-msgstr "You cannot use {command} with {invalid_argument} because it is {invalid_type}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use `{command}` with `{invalid_argument}` because it is {invalid_type}. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid At Command"
-msgstr "The {at} command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
+msgstr "The `{command}` command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
 
 #, fuzzy
 msgid "Invalid Space"
@@ -64,7 +64,7 @@ msgstr "Oops! You started a line with a space on line {line_number}. Spaces conf
 
 #, fuzzy
 msgid "Invalid Type Combination"
-msgstr "You cannot use {invalid_argument} and {invalid_argument_2} with {command} because one is {invalid_type} and the other is {invalid_type_2}. Try changing {invalid_argument} to {invalid_type_2} or {invalid_argument_2} to {invalid_type}."
+msgstr "You cannot use `{invalid_argument}` and `{invalid_argument_2}` with `{command}` because one is {invalid_type} and the other is {invalid_type_2}. Try changing `{invalid_argument}` to {invalid_type_2} or `{invalid_argument_2}` to {invalid_type}."
 
 #, fuzzy
 msgid "Locked Language Feature"
@@ -80,7 +80,7 @@ msgstr "It looks like you forgot to use a command with the text you put in line
 
 #, fuzzy
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}."
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}."
 
 #, fuzzy
 msgid "Missing Command"
@@ -88,18 +88,18 @@ msgstr "It looks like you forgot to use a command on line {line_number}."
 
 #, fuzzy
 msgid "Missing Inner Command"
-msgstr "It looks like you forgot to use a command with the {command} statement you used on line {line_number}."
+msgstr "It looks like you forgot to use a command with the `{command}` statement you used on line {line_number}."
 
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}."
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}."
 
 #, fuzzy
 msgid "Missing Variable"
-msgstr "It looks like your {command} is missing a variable at the start of the line."
+msgstr "It looks like your `{command}` is missing a variable at the start of the line."
 
 #, fuzzy
 msgid "Misspelled At Command"
-msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}."
+msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}."
 
 #, fuzzy
 msgid "No Indentation"
@@ -111,11 +111,18 @@ msgstr "At line {line_number}, you might have tried using a number which Hedy do
 
 #, fuzzy
 msgid "Parse"
-msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed {character_found}, but that is not allowed."
+msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed `{character_found}`, but that is not allowed."
 
 #, fuzzy
 msgid "Pressit Missing Else"
-msgstr "You forgot to add what happens when you press a different key, add an {else} to your code"
+msgstr "You forgot to add what happens when you press a different key, add an `{else}` to your code"
+
+#, fuzzy
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -143,11 +150,11 @@ msgstr "Be careful. If you ask or print something the text should start and fini
 
 #, fuzzy
 msgid "Unsupported Float"
-msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change {value} to an integer."
+msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change `{value}` to an integer."
 
 #, fuzzy
 msgid "Unsupported String Value"
-msgstr "Text values cannot contain {invalid_value}."
+msgstr "Text values cannot contain `{invalid_value}`."
 
 #, fuzzy
 msgid "Unused Variable"
@@ -155,11 +162,11 @@ msgstr "You defined the variable {variable_name} on line {line_number}, but you
 
 #, fuzzy
 msgid "Var Undefined"
-msgstr "You tried to use the variable {name}, but you did not set it. It is also possible that you were trying to use the word {name} but forgot quotation marks."
+msgstr "You tried to use the variable `{name}`, but you did not set it. It is also possible that you were trying to use the word `{name}` but forgot quotation marks."
 
 #, fuzzy
 msgid "Wrong Level"
-msgstr "That was correct Hedy code, but not at the right level. You wrote {offending_keyword} for level {working_level}. Tip: {tip}"
+msgstr "That was correct Hedy code, but not at the right level. You wrote `{offending_keyword}` for level {working_level}. Tip: {tip}"
 
 #, fuzzy
 msgid "Wrong Number of Arguments"
@@ -362,15 +369,8 @@ msgid "cant_parse_exception"
 msgstr "Couldn't parse the program"
 
 #, fuzzy
-msgid "catch_index_exception"
-msgstr "You tried to access the list {list_name} but it is either empty or the index is not there."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-#, fuzzy
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "You tried to access the list {name} but it is either empty or the index is not there."
 
 #, fuzzy
 msgid "certificate"
@@ -1022,7 +1022,7 @@ msgstr "Incorrect Indentation"
 
 #, fuzzy
 msgid "input"
-msgstr "input from ask"
+msgstr "input from `{ask}`"
 
 #, fuzzy
 msgid "integer"
@@ -1399,7 +1399,7 @@ msgstr "This user hasn't earned the Hedy Certificate of Completion"
 
 #, fuzzy
 msgid "no_more_flat_if"
-msgstr "Starting in level 8, the code after {if} needs to be placed on the next line and start with 4 spaces."
+msgstr "Starting in level 8, the code after `{if}` needs to be placed on the next line and start with 4 spaces."
 
 #, fuzzy
 msgid "no_programs"
@@ -1790,7 +1790,7 @@ msgstr "Repair program icon"
 
 #, fuzzy
 msgid "repeat_dep"
-msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8."
+msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8."
 
 #, fuzzy
 msgid "repeat_match_password"
@@ -2206,7 +2206,7 @@ msgid "template_code"
 msgstr ""
 "This is the explanation of my adventure!\n"
 "\n"
-"This way I can show a command: print\n"
+"This way I can show a command: {print}\n"
 "\n"
 "But sometimes I might want to show a piece of code, like this:\n"
 "
\n"
@@ -2336,7 +2336,9 @@ msgstr "Tutorial"
 
 #, fuzzy
 msgid "tutorial_code_snippet"
-msgstr "Hide cheatsheet"
+msgstr ""
+"{print} Hello world!\n"
+"{print} I'm learning Hedy with the tutorial!"
 
 #, fuzzy
 msgid "tutorial_message_not_found"
diff --git a/translations/fi/LC_MESSAGES/messages.po b/translations/fi/LC_MESSAGES/messages.po
index 0a9ec03b925..38693cdcc73 100644
--- a/translations/fi/LC_MESSAGES/messages.po
+++ b/translations/fi/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: fi\n"
@@ -24,7 +24,7 @@ msgstr "You tried to use the variable {name} on line {access_line_number}, but y
 
 #, fuzzy
 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."
+msgstr "The name `{variable}` needs to be set before you can use it on the right-hand side of the `{is}` command."
 
 #, fuzzy
 msgid "Function Undefined"
@@ -36,27 +36,27 @@ msgstr "Your code is incomplete. It contains blanks that you have to replace wit
 
 #, fuzzy
 msgid "Incomplete"
-msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind {incomplete_command}."
+msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind `{incomplete_command}`."
 
 #, fuzzy
 msgid "Incomplete Repeat"
-msgstr "It looks like you forgot to use a command with the {repeat} command you used on line {line_number}."
+msgstr "It looks like you forgot to use a `{command}` with the `{repeat}` command you used on line {line_number}."
 
 #, fuzzy
 msgid "Invalid"
-msgstr "{invalid_command} is not a Hedy level {level} command. Did you mean {guessed_command}?"
+msgstr "`{invalid_command}` is not a Hedy level {level} command. Did you mean `{guessed_command}`?"
 
 #, fuzzy
 msgid "Invalid Argument"
-msgstr "You cannot use the command {command} with {invalid_argument}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use the command `{command}` with `{invalid_argument}`. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid Argument Type"
-msgstr "You cannot use {command} with {invalid_argument} because it is {invalid_type}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use `{command}` with `{invalid_argument}` because it is {invalid_type}. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid At Command"
-msgstr "The {at} command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
+msgstr "The `{command}` command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
 
 #, fuzzy
 msgid "Invalid Space"
@@ -64,7 +64,7 @@ msgstr "Oops! You started a line with a space on line {line_number}. Spaces conf
 
 #, fuzzy
 msgid "Invalid Type Combination"
-msgstr "You cannot use {invalid_argument} and {invalid_argument_2} with {command} because one is {invalid_type} and the other is {invalid_type_2}. Try changing {invalid_argument} to {invalid_type_2} or {invalid_argument_2} to {invalid_type}."
+msgstr "You cannot use `{invalid_argument}` and `{invalid_argument_2}` with `{command}` because one is {invalid_type} and the other is {invalid_type_2}. Try changing `{invalid_argument}` to {invalid_type_2} or `{invalid_argument_2}` to {invalid_type}."
 
 #, fuzzy
 msgid "Locked Language Feature"
@@ -72,7 +72,7 @@ msgstr "You are using {concept}! That is awesome, but {concept} is not unlocked
 
 #, fuzzy
 msgid "Lonely Echo"
-msgstr "You used an {echo} before an {ask}, or an {echo} without an {ask}. Place an {ask} before the {echo}."
+msgstr "You used an `{echo}` before an `{ask}`, or an `{echo}` without an `{ask}`. Place an `{ask}` before the `{echo}`."
 
 #, fuzzy
 msgid "Lonely Text"
@@ -80,7 +80,7 @@ msgstr "It looks like you forgot to use a command with the text you used in line
 
 #, fuzzy
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}."
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}."
 
 #, fuzzy
 msgid "Missing Command"
@@ -88,18 +88,18 @@ msgstr "It looks like you forgot to use a command on line {line_number}."
 
 #, fuzzy
 msgid "Missing Inner Command"
-msgstr "It looks like you forgot to use a command with the {command} statement you used on line {line_number}."
+msgstr "It looks like you forgot to use a command with the `{command}` statement you used on line {line_number}."
 
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}."
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}."
 
 #, fuzzy
 msgid "Missing Variable"
-msgstr "It looks like your {command} is missing a variable at the start of the line."
+msgstr "It looks like your `{command}` is missing a variable at the start of the line."
 
 #, fuzzy
 msgid "Misspelled At Command"
-msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}."
+msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}."
 
 #, fuzzy
 msgid "No Indentation"
@@ -111,11 +111,18 @@ msgstr "At line {line_number}, you might have tried using a number which Hedy do
 
 #, fuzzy
 msgid "Parse"
-msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed {character_found}, but that is not allowed."
+msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed `{character_found}`, but that is not allowed."
 
 #, fuzzy
 msgid "Pressit Missing Else"
-msgstr "You forgot to add what happens when you press a different key, add an {else} to your code"
+msgstr "You forgot to add what happens when you press a different key, add an `{else}` to your code"
+
+#, fuzzy
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -131,7 +138,7 @@ msgstr "You used too many spaces in line {line_number}. You used {leading_spaces
 
 #, fuzzy
 msgid "Unquoted Assignment"
-msgstr "From this level, you need to place texts to the right of the {is} between quotes. You forgot that for the text {text}."
+msgstr "From this level, you need to place texts to the right of the `{is}` between quotes. You forgot that for the text {text}."
 
 #, fuzzy
 msgid "Unquoted Equality Check"
@@ -139,15 +146,15 @@ msgstr "If you want to check if a variable is equal to multiple words, the words
 
 #, fuzzy
 msgid "Unquoted Text"
-msgstr "Be careful. If you {ask} or {print} something, the text should start and finish with a quotation mark. You forgot that for the text {unquotedtext}."
+msgstr "Be careful. If you `{ask}` or `{print}` something, the text should start and finish with a quotation mark. You forgot that for the text {unquotedtext}."
 
 #, fuzzy
 msgid "Unsupported Float"
-msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change {value} to an integer."
+msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change `{value}` to an integer."
 
 #, fuzzy
 msgid "Unsupported String Value"
-msgstr "Text values cannot contain {invalid_value}."
+msgstr "Text values cannot contain `{invalid_value}`."
 
 #, fuzzy
 msgid "Unused Variable"
@@ -155,11 +162,11 @@ msgstr "You defined the variable {variable_name} on line {line_number}, but you
 
 #, fuzzy
 msgid "Var Undefined"
-msgstr "You tried to use the variable {name}, but you didn't set it. It is also possible that you were trying to use the word {name} but forgot quotation marks."
+msgstr "You tried to use the variable `{name}`, but you didn't set it. It is also possible that you were trying to use the word `{name}` but forgot quotation marks."
 
 #, fuzzy
 msgid "Wrong Level"
-msgstr "That was correct Hedy code, but not at the right level. You wrote {offending_keyword} for level {working_level}. Tip: {tip}"
+msgstr "That was correct Hedy code, but not at the right level. You wrote `{offending_keyword}` for level {working_level}. Tip: {tip}"
 
 #, fuzzy
 msgid "Wrong Number of Arguments"
@@ -335,7 +342,7 @@ msgstr "Are you sure? You cannot revert this action."
 
 #, fuzzy
 msgid "ask_needs_var"
-msgstr "Starting in level 2, {ask} needs to be used with a variable. Example: name {is} {ask} What are you called?"
+msgstr "Starting in level 2, `{ask}` needs to be used with a variable. Example: name `{is}` `{ask}` What are you called?"
 
 #, fuzzy
 msgid "become_a_sponsor"
@@ -362,15 +369,8 @@ msgid "cant_parse_exception"
 msgstr "Couldn't parse the program"
 
 #, fuzzy
-msgid "catch_index_exception"
-msgstr "You tried to access the list {list_name} but it is either empty or the index is not there."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-#, fuzzy
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "You tried to access the list {name} but it is either empty or the index is not there."
 
 #, fuzzy
 msgid "certificate"
@@ -710,7 +710,7 @@ msgstr "Echo and ask mismatch"
 
 #, fuzzy
 msgid "echo_out"
-msgstr "Starting in level 2 {echo} is no longer needed. You can repeat an answer with {ask} and {print} now. Example: name is {ask} What are you called? {print} hello name"
+msgstr "Starting in level 2 `{echo}` is no longer needed. You can repeat an answer with `{ask}` and `{print}` now. Example: name is `{ask}` What are you called? `{print}` hello name"
 
 #, fuzzy
 msgid "edit_adventure"
@@ -1025,7 +1025,7 @@ msgstr "Incorrect Indentation"
 
 #, fuzzy
 msgid "input"
-msgstr "input from {ask}"
+msgstr "input from `{ask}`"
 
 #, fuzzy
 msgid "integer"
@@ -1415,7 +1415,7 @@ msgstr "This user hasn't earned the Hedy Certificate of Completion"
 
 #, fuzzy
 msgid "no_more_flat_if"
-msgstr "Starting in level 8, the code after {if} needs to be placed on the next line and start with 4 spaces."
+msgstr "Starting in level 8, the code after `{if}` needs to be placed on the next line and start with 4 spaces."
 
 #, fuzzy
 msgid "no_programs"
@@ -1812,7 +1812,7 @@ msgstr "Repair program icon"
 
 #, fuzzy
 msgid "repeat_dep"
-msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8."
+msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8."
 
 #, fuzzy
 msgid "repeat_match_password"
diff --git a/translations/fr/LC_MESSAGES/messages.po b/translations/fr/LC_MESSAGES/messages.po
index e8c6235d4df..52ab8256eb0 100644
--- a/translations/fr/LC_MESSAGES/messages.po
+++ b/translations/fr/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: fr\n"
@@ -22,7 +22,7 @@ msgid "Access Before Assign"
 msgstr "Tu as essayé d'utiliser la variable {name} à la ligne {access_line_number}, mais tu ne l'as défini qu'à la ligne {definition_line_number}. Défini ta variable avant de l'utiliser."
 
 msgid "Cyclic Var Definition"
-msgstr "Le nom {variable} doit être défini avant que tu puisses l’utiliser à droite de la commande `is`."
+msgstr "Le nom `{variable}` doit être défini avant que tu puisses l’utiliser à droite de la commande `is`."
 
 #, fuzzy
 msgid "Function Undefined"
@@ -32,28 +32,28 @@ msgid "Has Blanks"
 msgstr "Ton code est incomplet. Il contient des blancs que tu dois remplacer par du code."
 
 msgid "Incomplete"
-msgstr "Oups ! Tu as oublié un morceau du code ! À la ligne {line_number}, tu dois ajouter du texte après {incomplete_command}."
+msgstr "Oups ! Tu as oublié un morceau du code ! À la ligne {line_number}, tu dois ajouter du texte après `{incomplete_command}`."
 
 msgid "Incomplete Repeat"
-msgstr "Il semble que tu as oublié d'utiliser {command} avec la commande repeat qui est à la ligne {line_number}."
+msgstr "Il semble que tu as oublié d'utiliser `{command}` avec la commande repeat qui est à la ligne {line_number}."
 
 msgid "Invalid"
-msgstr "{invalid_command} n’est pas une commande du niveau {level} d’Hedy. Voulais-tu écrire {guessed_command} ?"
+msgstr "`{invalid_command}` n’est pas une commande du niveau {level} d’Hedy. Voulais-tu écrire `{guessed_command}` ?"
 
 msgid "Invalid Argument"
-msgstr "Tu ne peux pas utiliser la commande {command} avec {invalid_argument}. Essaye de remplacer {invalid_argument} par {allowed_types}."
+msgstr "Tu ne peux pas utiliser la commande `{command}` avec `{invalid_argument}`. Essaye de remplacer `{invalid_argument}` par {allowed_types}."
 
 msgid "Invalid Argument Type"
-msgstr "Tu ne peux pas utiliser {command} avec {invalid_argument} car c’est {invalid_type}. Essaie de modifier {invalid_argument} en {allowed_types}."
+msgstr "Tu ne peux pas utiliser `{command}` avec `{invalid_argument}` car c’est {invalid_type}. Essaie de modifier `{invalid_argument}` en {allowed_types}."
 
 msgid "Invalid At Command"
-msgstr "La commande {at} n'est pas utilisable avant le niveau 16. Tu peux utiliser des crochets pour utiliser un élément d'une liste, par exemple `friends[i]`, `lucky_numbers[{random}]`."
+msgstr "La commande `{command}` n'est pas utilisable avant le niveau 16. Tu peux utiliser des crochets pour utiliser un élément d'une liste, par exemple `friends[i]`, `lucky_numbers[{random}]`."
 
 msgid "Invalid Space"
 msgstr "Oups ! Tu as commencé une ligne par une espace à la ligne {line_number}. Les espaces en début de ligne rendent les ordinateurs perplexes, peux-tu le supprimer ?"
 
 msgid "Invalid Type Combination"
-msgstr "Tu ne peux pas utiliser {invalid_argument} et {invalid_argument_2} avec {command} car l'un est {invalid_type} et l'autre est {invalid_type_2}. Essaye de changer {invalid_argument} en {invalid_type_2} ou {invalid_argument_2} en {invalid_type}."
+msgstr "Tu ne peux pas utiliser `{invalid_argument}` et `{invalid_argument_2}` avec `{command}` car l'un est {invalid_type} et l'autre est {invalid_type_2}. Essaye de changer `{invalid_argument}` en {invalid_type_2} ou `{invalid_argument_2}` en {invalid_type}."
 
 msgid "Locked Language Feature"
 msgstr "Tu utilises {concept} ! C'est génial mais {concept} n'est pas encore débloqué ! Ça sera débloqué dans les niveaux suivants."
@@ -66,24 +66,24 @@ msgstr "Il semble que tu as oublié de mettre une commande avec le texte de la l
 
 #, fuzzy
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}."
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}."
 
 msgid "Missing Command"
 msgstr "Il semble que vous avez oublié d'utiliser une commande à la ligne {line_number}."
 
 msgid "Missing Inner Command"
-msgstr "Il semble que tu as oublié d'utiliser une commande avec la déclaration {command} que tu as utilisé à la ligne {line_number}."
+msgstr "Il semble que tu as oublié d'utiliser une commande avec la déclaration `{command}` que tu as utilisé à la ligne {line_number}."
 
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}."
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}."
 
 #, fuzzy
 msgid "Missing Variable"
-msgstr "It looks like your {command} is missing a variable at the start of the line."
+msgstr "It looks like your `{command}` is missing a variable at the start of the line."
 
 #, fuzzy
 msgid "Misspelled At Command"
-msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}."
+msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}."
 
 msgid "No Indentation"
 msgstr "Tu as utilisé trop peu d’espaces à la ligne {line_number}. Tu as utilisé {leading_spaces} espaces, ce qui n’est pas assez. Commence chaque bloc par {indent_size} espaces de plus qu’à la ligne précédente."
@@ -93,10 +93,17 @@ msgid "Non Decimal Variable"
 msgstr "At line {line_number}, you might have tried using a number which Hedy does not like very much! Try changing it to a decimal number like 2."
 
 msgid "Parse"
-msgstr "Le code que vous avez entré n'est pas un code Hedy valide. Il y a une erreur sur la ligne {location[0]}, à la position {location[1]}. Vous avez tapé {character_found}, mais ce n'est pas permis."
+msgstr "Le code que vous avez entré n'est pas un code Hedy valide. Il y a une erreur sur la ligne {location[0]}, à la position {location[1]}. Vous avez tapé `{character_found}`, mais ce n'est pas permis."
 
 msgid "Pressit Missing Else"
-msgstr "Tu as oublié d'ajouter ce qu'il se passe si tu presses une touche différente, ajouter un {else} à ton code"
+msgstr "Tu as oublié d'ajouter ce qu'il se passe si tu presses une touche différente, ajouter un `{else}` à ton code"
+
+#, fuzzy
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -118,20 +125,20 @@ msgid "Unquoted Text"
 msgstr "Attention : si tu affiche ou demande quelque chose, le texte doit commencer et se terminer par des guillemets. Il en manque quelque part."
 
 msgid "Unsupported Float"
-msgstr "Les nombres non-entiers ne sont pas encore disponible, mais ils le seront dans quelques niveaux. Pour l'instant, change {value} en un entier."
+msgstr "Les nombres non-entiers ne sont pas encore disponible, mais ils le seront dans quelques niveaux. Pour l'instant, change `{value}` en un entier."
 
 msgid "Unsupported String Value"
-msgstr "Les valeurs textes ne peuvent pas contenir {invalid_value}."
+msgstr "Les valeurs textes ne peuvent pas contenir `{invalid_value}`."
 
 #, fuzzy
 msgid "Unused Variable"
 msgstr "You defined the variable {variable_name} on line {line_number}, but you did not use it."
 
 msgid "Var Undefined"
-msgstr "Tu as essayé d’utiliser la variable {name}, mais tu ne l’as pas définie. Ou bien tu essayais d’utiliser le mot {name}, mais tu as oublié les guillemets."
+msgstr "Tu as essayé d’utiliser la variable `{name}`, mais tu ne l’as pas définie. Ou bien tu essayais d’utiliser le mot `{name}`, mais tu as oublié les guillemets."
 
 msgid "Wrong Level"
-msgstr "C'était un code Hedy correct, mais pas au bon niveau. Vous avez écrit {offending_keyword} pour le niveau {working_level}. Conseil : {tip}"
+msgstr "C'était un code Hedy correct, mais pas au bon niveau. Vous avez écrit `{offending_keyword}` pour le niveau {working_level}. Conseil : {tip}"
 
 #, fuzzy
 msgid "Wrong Number of Arguments"
@@ -271,7 +278,7 @@ msgid "are_you_sure"
 msgstr "Êtes-vous sûr ? Vous ne pouvez pas annuler cette action."
 
 msgid "ask_needs_var"
-msgstr "À partir du niveau 2, {ask} doit être utilisé avec une variable. Exemple : nom {is} {ask} Quel est ton nom ?"
+msgstr "À partir du niveau 2, `{ask}` doit être utilisé avec une variable. Exemple : nom `{is}` `{ask}` Quel est ton nom ?"
 
 msgid "become_a_sponsor"
 msgstr "Devenir un sponsor"
@@ -293,15 +300,8 @@ msgstr "Annuler"
 msgid "cant_parse_exception"
 msgstr "Couldn't parse the program"
 
-msgid "catch_index_exception"
-msgstr "Tu as essayé d'accéder à la liste {list_name} mais celle-ci est vide ou sans index."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-#, fuzzy
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "Tu as essayé d'accéder à la liste {name} mais celle-ci est vide ou sans index."
 
 msgid "certificate"
 msgstr "Certificat de complétion"
@@ -570,11 +570,11 @@ msgid "duplicate"
 msgstr "Dupliquer"
 
 msgid "echo_and_ask_mismatch_exception"
-msgstr "`{echo}` et `{ask}` ne correspondent pas"
+msgstr "{echo} et `{ask}` ne correspondent pas"
 
 #, fuzzy
 msgid "echo_out"
-msgstr "À partir du niveau 2 `{echo}` n'est plus nécessaire. Tu peux répéter une réponse avec `{ask}` et `{print}` maintenant. Exemple : `nom is {ask} Quel est ton nom ? {print} bonjour nom`"
+msgstr "À partir du niveau 2 `{echo}` n'est plus nécessaire. Tu peux répéter une réponse avec `{ask}` et `{print}` maintenant. Exemple : `nom {is} {ask} Quel est ton nom ? {print} bonjour nom`"
 
 #, fuzzy
 msgid "edit_adventure"
@@ -826,7 +826,7 @@ msgid "indentation_exception"
 msgstr "Incorrect Indentation"
 
 msgid "input"
-msgstr "saisie de {ask}"
+msgstr "saisie de `{ask}`"
 
 msgid "integer"
 msgstr "un nombre"
@@ -1143,7 +1143,7 @@ msgid "no_certificate"
 msgstr "Cet utilisateur n'a pas reçu le certificat de complétion de Hedy"
 
 msgid "no_more_flat_if"
-msgstr "À partir du niveau 8, le code après {if} doit être placé sur une nouvelle ligne commençant avec 4 espaces."
+msgstr "À partir du niveau 8, le code après `{if}` doit être placé sur une nouvelle ligne commençant avec 4 espaces."
 
 #, fuzzy
 msgid "no_programs"
@@ -1451,7 +1451,7 @@ msgid "repair_program_logo_alt"
 msgstr "Corriger l'icône du programmer"
 
 msgid "repeat_dep"
-msgstr "À partir du niveau 8, {repeat} doit être utilisée avec de l'indentation. Des exemples sont montrés à l'onglet {repeat} du niveau 8."
+msgstr "À partir du niveau 8, `{repeat}` doit être utilisée avec de l'indentation. Des exemples sont montrés à l'onglet `{repeat}` du niveau 8."
 
 msgid "repeat_match_password"
 msgstr "Les mots de passes sont différents."
@@ -1900,8 +1900,8 @@ msgstr "Didacticiel"
 
 msgid "tutorial_code_snippet"
 msgstr ""
-"print Hello world !\n"
-"print J'apprends Hedy avec le tutoriel !"
+"{print} Hello world !\n"
+"{print} J'apprends Hedy avec le tutoriel !"
 
 msgid "tutorial_message_not_found"
 msgstr "Nous n'avons pas trouvé l'étape de tutoriel demandée..."
diff --git a/translations/fy/LC_MESSAGES/messages.po b/translations/fy/LC_MESSAGES/messages.po
index 291aed3a0c0..7b808e30720 100644
--- a/translations/fy/LC_MESSAGES/messages.po
+++ b/translations/fy/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: fy\n"
@@ -24,7 +24,7 @@ msgstr "You tried to use the variable {name} on line {access_line_number}, but y
 
 #, fuzzy
 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"
+msgstr "The name `{variable}` needs to be set before you can use it on the right-hand side of the is command"
 
 #, fuzzy
 msgid "Function Undefined"
@@ -34,33 +34,33 @@ msgid "Has Blanks"
 msgstr "Tink der om! Dyn koade is noch net ôf. Der stiet noch leech streepke yn, dêr moat de goede koade noch stean."
 
 msgid "Incomplete"
-msgstr "Tink derom, bist wat koade fergetten. Op rigel {line_number} moat der efter {incomplete_command} noch tekst komme."
+msgstr "Tink derom, bist wat koade fergetten. Op rigel {line_number} moat der efter `{incomplete_command}` noch tekst komme."
 
 #, fuzzy
 msgid "Incomplete Repeat"
-msgstr "It looks like you forgot to use {command} with the repeat command you used on line {line_number}."
+msgstr "It looks like you forgot to use `{command}` with the repeat command you used on line {line_number}."
 
 msgid "Invalid"
-msgstr "{invalid_command} is gjin commando yn Hedy level {level}. Bedoelst {guessed_command}?"
+msgstr "`{invalid_command}` is gjin commando yn Hedy level {level}. Bedoelst `{guessed_command}`?"
 
 #, fuzzy
 msgid "Invalid Argument"
-msgstr "You cannot use the command {command} with {invalid_argument} . Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use the command `{command}` with `{invalid_argument}` . Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid Argument Type"
-msgstr "You cannot use {command} with {invalid_argument} because it is {invalid_type}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use `{command}` with `{invalid_argument}` because it is {invalid_type}. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid At Command"
-msgstr "The {at} command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
+msgstr "The `{command}` command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
 
 msgid "Invalid Space"
 msgstr "Heden! Rigel {line_number} begjint mei ien spaasje. Computers kinne net sa goed oer spaasjes, kinst him fuorthelje?"
 
 #, fuzzy
 msgid "Invalid Type Combination"
-msgstr "You cannot use {invalid_argument} and {invalid_argument_2} with {command} because one is {invalid_type} and the other is {invalid_type_2}. Try changing {invalid_argument} to {invalid_type_2} or {invalid_argument_2} to {invalid_type}."
+msgstr "You cannot use `{invalid_argument}` and `{invalid_argument_2}` with `{command}` because one is {invalid_type} and the other is {invalid_type_2}. Try changing `{invalid_argument}` to {invalid_type_2} or `{invalid_argument_2}` to {invalid_type}."
 
 #, fuzzy
 msgid "Locked Language Feature"
@@ -75,7 +75,7 @@ msgstr "It looks like you forgot to use a command with the text you put in line
 
 #, fuzzy
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}."
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}."
 
 #, fuzzy
 msgid "Missing Command"
@@ -83,18 +83,18 @@ msgstr "It looks like you forgot to use a command on line {line_number}."
 
 #, fuzzy
 msgid "Missing Inner Command"
-msgstr "It looks like you forgot to use a command with the {command} statement you used on line {line_number}."
+msgstr "It looks like you forgot to use a command with the `{command}` statement you used on line {line_number}."
 
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}."
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}."
 
 #, fuzzy
 msgid "Missing Variable"
-msgstr "It looks like your {command} is missing a variable at the start of the line."
+msgstr "It looks like your `{command}` is missing a variable at the start of the line."
 
 #, fuzzy
 msgid "Misspelled At Command"
-msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}."
+msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}."
 
 #, fuzzy
 msgid "No Indentation"
@@ -105,11 +105,18 @@ msgid "Non Decimal Variable"
 msgstr "At line {line_number}, you might have tried using a number which Hedy does not like very much! Try changing it to a decimal number like 2."
 
 msgid "Parse"
-msgstr "De koade dysto skreaun hast is gjin jildige Hedy-koade. Der sit in flater op rigel {location[0]}, op posysje {location[1]}. Do hast  {character_found} typt, mar dat mei op dy plak net."
+msgstr "De koade dysto skreaun hast is gjin jildige Hedy-koade. Der sit in flater op rigel {location[0]}, op posysje {location[1]}. Do hast  `{character_found}` typt, mar dat mei op dy plak net."
 
 #, fuzzy
 msgid "Pressit Missing Else"
-msgstr "You forgot to add what happens when you press a different key, add an {else} to your code"
+msgstr "You forgot to add what happens when you press a different key, add an `{else}` to your code"
+
+#, fuzzy
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -134,21 +141,21 @@ msgstr "Tink der om! Bij `print` en `ask` moat foar én en efter de tekst in oan
 
 #, fuzzy
 msgid "Unsupported Float"
-msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change {value} to an integer."
+msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change `{value}` to an integer."
 
 #, fuzzy
 msgid "Unsupported String Value"
-msgstr "Text values cannot contain {invalid_value}."
+msgstr "Text values cannot contain `{invalid_value}`."
 
 #, fuzzy
 msgid "Unused Variable"
 msgstr "You defined the variable {variable_name} on line {line_number}, but you did not use it."
 
 msgid "Var Undefined"
-msgstr "Do besykest de fariabele {name} te printen, mar dy hast gjin wearde jûn. It kin ek wêze datst it wurd {name} printen woest en oanhellingtekens fergetten bist."
+msgstr "Do besykest de fariabele `{name}` te printen, mar dy hast gjin wearde jûn. It kin ek wêze datst it wurd `{name}` printen woest en oanhellingtekens fergetten bist."
 
 msgid "Wrong Level"
-msgstr "Dat wie bêste koade hear, mar net op in goeie level. Hast koade {offending_keyword} skreaun foar level {working_level}. Tip: {tip}."
+msgstr "Dat wie bêste koade hear, mar net op in goeie level. Hast koade `{offending_keyword}` skreaun foar level {working_level}. Tip: {tip}."
 
 #, fuzzy
 msgid "Wrong Number of Arguments"
@@ -342,15 +349,8 @@ msgid "cant_parse_exception"
 msgstr "Couldn't parse the program"
 
 #, fuzzy
-msgid "catch_index_exception"
-msgstr "You tried to access the list {list_name} but it is either empty or the index is not there."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-#, fuzzy
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "You tried to access the list {name} but it is either empty or the index is not there."
 
 #, fuzzy
 msgid "certificate"
@@ -977,7 +977,7 @@ msgstr "Incorrect Indentation"
 
 #, fuzzy
 msgid "input"
-msgstr "input from ask"
+msgstr "input from `{ask}`"
 
 #, fuzzy
 msgid "integer"
@@ -1335,7 +1335,7 @@ msgstr "This user hasn't earned the Hedy Certificate of Completion"
 
 #, fuzzy
 msgid "no_more_flat_if"
-msgstr "Starting in level 8, the code after {if} needs to be placed on the next line and start with 4 spaces."
+msgstr "Starting in level 8, the code after `{if}` needs to be placed on the next line and start with 4 spaces."
 
 #, fuzzy
 msgid "no_programs"
@@ -1710,7 +1710,7 @@ msgstr "Repair program icon"
 
 #, fuzzy
 msgid "repeat_dep"
-msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8."
+msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8."
 
 msgid "repeat_match_password"
 msgstr "De wachtwurden binne net itselde."
@@ -2110,7 +2110,7 @@ msgid "template_code"
 msgstr ""
 "This is the explanation of my adventure!\n"
 "\n"
-"This way I can show a command: print\n"
+"This way I can show a command: {print}\n"
 "\n"
 "But sometimes I might want to show a piece of code, like this:\n"
 "
\n"
@@ -2240,7 +2240,9 @@ msgstr "Tutorial"
 
 #, fuzzy
 msgid "tutorial_code_snippet"
-msgstr "Hide cheatsheet"
+msgstr ""
+"{print} Hello world!\n"
+"{print} I'm learning Hedy with the tutorial!"
 
 #, fuzzy
 msgid "tutorial_message_not_found"
diff --git a/translations/he/LC_MESSAGES/messages.po b/translations/he/LC_MESSAGES/messages.po
index ae8b96dc852..5382570e47b 100644
--- a/translations/he/LC_MESSAGES/messages.po
+++ b/translations/he/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: he\n"
@@ -24,7 +24,7 @@ msgstr "ניסיתם להשתמש במשתנה {name} בשורה {access_line_nu
 
 #, fuzzy
 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."
+msgstr "The name `{variable}` needs to be set before you can use it on the right-hand side of the is command."
 
 #, fuzzy
 msgid "Function Undefined"
@@ -36,30 +36,30 @@ msgstr "Your code is incomplete. It contains blanks that you have to replace wit
 
 #, fuzzy
 msgid "Incomplete"
-msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind {incomplete_command}."
+msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind `{incomplete_command}`."
 
 #, fuzzy
 msgid "Incomplete Repeat"
-msgstr "It looks like you forgot to use {command} with the repeat command you used on line {line_number}."
+msgstr "It looks like you forgot to use `{command}` with the repeat command you used on line {line_number}."
 
 msgid "Invalid"
-msgstr "{invalid_command} היא לא פקודה תקינה בשלב {level}. אולי התכוונתם ל-{guessed_command}?"
+msgstr "`{invalid_command}` היא לא פקודה תקינה בשלב {level}. אולי התכוונתם ל-`{guessed_command}`?"
 
 msgid "Invalid Argument"
-msgstr "אי אפשר להשתמש ב-{command} עם {invalid_argument}. נסו לשנות את {invalid_argument} לאחד מהדברים הבאים: {allowed_types}."
+msgstr "אי אפשר להשתמש ב-`{command}` עם `{invalid_argument}`. נסו לשנות את `{invalid_argument}` לאחד מהדברים הבאים: {allowed_types}."
 
 msgid "Invalid Argument Type"
-msgstr "אי אפשר להשתמש ב-{command} עם {invalid_argument}, כי זה {invalid_type}. נסו לשנות את {invalid_argument} לאחד מהדברים הבאים: {allowed_types}."
+msgstr "אי אפשר להשתמש ב-`{command}` עם `{invalid_argument}`, כי זה {invalid_type}. נסו לשנות את `{invalid_argument}` לאחד מהדברים הבאים: {allowed_types}."
 
 #, fuzzy
 msgid "Invalid At Command"
-msgstr "The {at} command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
+msgstr "The `{command}` command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
 
 msgid "Invalid Space"
 msgstr "אופס! התחלתם את שורה {line_number} עם רווח, ורווחים מבלבלים מחשבים. תוכלו למחוק אותו?"
 
 msgid "Invalid Type Combination"
-msgstr "אי אפשר להשתמש ב-{invalid_argument} ו-{invalid_argument_2} עם {command}, כי אחד מהם {invalid_type} והשני {invalid_type_2}. נסו לשנות את {invalid_argument} ל{invalid_type_2}, או את {invalid_argument_2} ל{invalid_type}."
+msgstr "אי אפשר להשתמש ב-`{invalid_argument}` ו-`{invalid_argument_2}` עם `{command}`, כי אחד מהם {invalid_type} והשני {invalid_type_2}. נסו לשנות את `{invalid_argument}` ל{invalid_type_2}, או את `{invalid_argument_2}` ל{invalid_type}."
 
 #, fuzzy
 msgid "Locked Language Feature"
@@ -75,25 +75,25 @@ msgstr "It looks like you forgot to use a command with the text you put in line
 
 #, fuzzy
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}."
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}."
 
 msgid "Missing Command"
 msgstr "נראה ששכחתם לכתוב פקודה בשורה {line_number}."
 
 #, fuzzy
 msgid "Missing Inner Command"
-msgstr "It looks like you forgot to use a command with the {command} statement you used on line {line_number}."
+msgstr "It looks like you forgot to use a command with the `{command}` statement you used on line {line_number}."
 
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}."
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}."
 
 #, fuzzy
 msgid "Missing Variable"
-msgstr "It looks like your {command} is missing a variable at the start of the line."
+msgstr "It looks like your `{command}` is missing a variable at the start of the line."
 
 #, fuzzy
 msgid "Misspelled At Command"
-msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}."
+msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}."
 
 msgid "No Indentation"
 msgstr "אין מספיק רווחים בשורה {line_number}. יש שם {leading_spaces} רווחים, אבל זה לא מספיק. צריך להתחיל כל בלוק עם מספר הרווחים של השורה שלפני, ועוד {indent_size}."
@@ -103,11 +103,18 @@ msgid "Non Decimal Variable"
 msgstr "At line {line_number}, you might have tried using a number which Hedy does not like very much! Try changing it to a decimal number like 2."
 
 msgid "Parse"
-msgstr "הקוד שהזנתם הוא לא קוד הֶדִי תקין. יש שגיאה בשורה {location[0]}, במיקום {location[1]}. כתבתם {character_found}, אבל זה לא מתאים לכאן."
+msgstr "הקוד שהזנתם הוא לא קוד הֶדִי תקין. יש שגיאה בשורה {location[0]}, במיקום {location[1]}. כתבתם `{character_found}`, אבל זה לא מתאים לכאן."
 
 #, fuzzy
 msgid "Pressit Missing Else"
-msgstr "You forgot to add what happens when you press a different key, add an {else} to your code"
+msgstr "You forgot to add what happens when you press a different key, add an `{else}` to your code"
+
+#, fuzzy
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -129,21 +136,21 @@ msgid "Unquoted Text"
 msgstr "זהירות. אם אתם רוצים להדפיס או לשאול משהו, הטקסט חייב להתחיל ולהסתיים במירכאות. שכחתם את זה בטקסט {unquotedtext}."
 
 msgid "Unsupported Float"
-msgstr "עדיין אי אפשר להשתמש במספרים לא-שלמים, אבל יהיה אפשר בעוד כמה שלבים. בינתיים, הפכו את {value} למספר שלם."
+msgstr "עדיין אי אפשר להשתמש במספרים לא-שלמים, אבל יהיה אפשר בעוד כמה שלבים. בינתיים, הפכו את `{value}` למספר שלם."
 
 #, fuzzy
 msgid "Unsupported String Value"
-msgstr "Text values cannot contain {invalid_value}."
+msgstr "Text values cannot contain `{invalid_value}`."
 
 #, fuzzy
 msgid "Unused Variable"
 msgstr "You defined the variable {variable_name} on line {line_number}, but you did not use it."
 
 msgid "Var Undefined"
-msgstr "ניסיתם להשתמש במשתנה {name}, אבל אף פעם לא הגדרתם אותו. יכול להיות גם שרציתם להשתמש במילה {name}, אבל שכחתם את המירכאות."
+msgstr "ניסיתם להשתמש במשתנה `{name}`, אבל אף פעם לא הגדרתם אותו. יכול להיות גם שרציתם להשתמש במילה `{name}`, אבל שכחתם את המירכאות."
 
 msgid "Wrong Level"
-msgstr "הקוד הזה תקין, אבל הוא לא מתאים לשלב שאתם נמצאים בו. כתבתם {offending_keyword} בשלב {working_level}. טיפ: {tip}"
+msgstr "הקוד הזה תקין, אבל הוא לא מתאים לשלב שאתם נמצאים בו. כתבתם `{offending_keyword}` בשלב {working_level}. טיפ: {tip}"
 
 #, fuzzy
 msgid "Wrong Number of Arguments"
@@ -343,15 +350,8 @@ msgid "cant_parse_exception"
 msgstr "Couldn't parse the program"
 
 #, fuzzy
-msgid "catch_index_exception"
-msgstr "You tried to access the list {list_name} but it is either empty or the index is not there."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-#, fuzzy
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "You tried to access the list {name} but it is either empty or the index is not there."
 
 #, fuzzy
 msgid "certificate"
@@ -990,7 +990,7 @@ msgstr "Incorrect Indentation"
 
 #, fuzzy
 msgid "input"
-msgstr "input from ask"
+msgstr "input from `{ask}`"
 
 #, fuzzy
 msgid "integer"
@@ -1370,7 +1370,7 @@ msgstr "This user hasn't earned the Hedy Certificate of Completion"
 
 #, fuzzy
 msgid "no_more_flat_if"
-msgstr "Starting in level 8, the code after {if} needs to be placed on the next line and start with 4 spaces."
+msgstr "Starting in level 8, the code after `{if}` needs to be placed on the next line and start with 4 spaces."
 
 #, fuzzy
 msgid "no_programs"
@@ -1754,7 +1754,7 @@ msgstr "Repair program icon"
 
 #, fuzzy
 msgid "repeat_dep"
-msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8."
+msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8."
 
 #, fuzzy
 msgid "repeat_match_password"
@@ -2165,7 +2165,7 @@ msgid "template_code"
 msgstr ""
 "This is the explanation of my adventure!\n"
 "\n"
-"This way I can show a command: print\n"
+"This way I can show a command: {print}\n"
 "\n"
 "But sometimes I might want to show a piece of code, like this:\n"
 "
\n"
@@ -2284,8 +2284,8 @@ msgstr "Tutorial"
 #, fuzzy
 msgid "tutorial_code_snippet"
 msgstr ""
-"print Hello world!\n"
-"print I'm learning Hedy with the tutorial!"
+"{print} Hello world!\n"
+"{print} I'm learning Hedy with the tutorial!"
 
 #, fuzzy
 msgid "tutorial_message_not_found"
diff --git a/translations/hi/LC_MESSAGES/messages.po b/translations/hi/LC_MESSAGES/messages.po
index e999622e103..a5ff0514f06 100644
--- a/translations/hi/LC_MESSAGES/messages.po
+++ b/translations/hi/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: hi\n"
@@ -22,7 +22,7 @@ msgid "Access Before Assign"
 msgstr "आपने लाइन {access_line_number} पर वेरिएबल {name} का उपयोग करने का प्रयास किया, लेकिन आपने इसे लाइन {definition_line_number} पर सेट कर दिया। उपयोग करने से पहले एक वेरिएबल सेट करें।"
 
 msgid "Cyclic Var Definition"
-msgstr "नाम {variable} को is कमांड के दाईं ओर उपयोग करने से पहले सेट करने की आवश्यकता है"
+msgstr "नाम `{variable}` को is कमांड के दाईं ओर उपयोग करने से पहले सेट करने की आवश्यकता है"
 
 msgid "Function Undefined"
 msgstr "आपने फ़ंक्शन {name} का उपयोग करने का प्रयास किया, लेकिन आपने इसे परिभाषित नहीं किया।"
@@ -31,28 +31,28 @@ msgid "Has Blanks"
 msgstr "आपका कोड अधूरा है। इसमें रिक्त स्थान हैं जिन्हें आपको कोड से बदलना होगा।"
 
 msgid "Incomplete"
-msgstr "उफ़! आप थोड़ा सा कोड भूल गए! लाइन {line_number} पर, आपको {incomplete_command} के पीछे टेक्स्ट डालना होगा|"
+msgstr "उफ़! आप थोड़ा सा कोड भूल गए! लाइन {line_number} पर, आपको `{incomplete_command}` के पीछे टेक्स्ट डालना होगा|"
 
 msgid "Incomplete Repeat"
-msgstr "ऐसा लगता है कि आप लाइन {line_number} पर उपयोग किए गए {repeat} कमांड के साथ एक कमांड का उपयोग करना भूल गए हैं।"
+msgstr "ऐसा लगता है कि आप लाइन {line_number} पर उपयोग किए गए `{repeat}` कमांड के साथ एक कमांड का उपयोग करना भूल गए हैं।"
 
 msgid "Invalid"
-msgstr "{invalid_command} हेडी स्तर  {level} आदेश नहीं है। क्या आपका मतलब {guessed_command} था?"
+msgstr "`{invalid_command}` हेडी स्तर  {level} आदेश नहीं है। क्या आपका मतलब `{guessed_command}` था?"
 
 msgid "Invalid Argument"
-msgstr "आप {invalid_argument} के साथ {command} कमांड का उपयोग नहीं कर सकते। {invalid_argument} को {allowed_types} में बदलने का प्रयास करें।"
+msgstr "आप `{invalid_argument}` के साथ `{command}` कमांड का उपयोग नहीं कर सकते। `{invalid_argument}` को {allowed_types} में बदलने का प्रयास करें।"
 
 msgid "Invalid Argument Type"
-msgstr "आप {invalid_argument} के साथ {command} कमांड का उपयोग नहीं कर सकते क्योंकि यह {invalid_type} है। {invalid_argument} को {allowed_types} में बदलने का प्रयास करें।"
+msgstr "आप `{invalid_argument}` के साथ `{command}` कमांड का उपयोग नहीं कर सकते क्योंकि यह {invalid_type} है। `{invalid_argument}` को {allowed_types} में बदलने का प्रयास करें।"
 
 msgid "Invalid At Command"
-msgstr "लेवल 16 के बाद से {command} कमांड का उपयोग नहीं किया जा सकता है। आप किसी सूची से किसी तत्व का उपयोग करने के लिए वर्गाकार कोष्ठक का उपयोग कर सकते हैं, उदाहरण के लिए `friends[i]`, `lucky_numbers[{random}]`।"
+msgstr "लेवल 16 के बाद से `{command}` कमांड का उपयोग नहीं किया जा सकता है। आप किसी सूची से किसी तत्व का उपयोग करने के लिए वर्गाकार कोष्ठक का उपयोग कर सकते हैं, उदाहरण के लिए `friends[i]`, `lucky_numbers[{random}]`।"
 
 msgid "Invalid Space"
 msgstr "ओह! आपने {line_number} लाइन पर रिक्त स्थान के साथ एक लाइन शुरू की है। रिक्त स्थान कंप्यूटर को भ्रमित करते हैं, क्या आप इसे हटा सकते हैं?"
 
 msgid "Invalid Type Combination"
-msgstr "आप {command} में {invalid_argument} और {invalid_argument_2} का उपयोग नहीं कर सकते क्योंकि एक {invalid_type} है और दूसरा {invalid_type_2} है। {invalid_argument} को {invalid_type_2} या {invalid_argument_2} को {invalid_type} में बदलने की कोशिश करें।"
+msgstr "आप `{command}` में `{invalid_argument}` और `{invalid_argument_2}` का उपयोग नहीं कर सकते क्योंकि एक {invalid_type} है और दूसरा {invalid_type_2} है। `{invalid_argument}` को {invalid_type_2} या `{invalid_argument_2}` को {invalid_type} में बदलने की कोशिश करें।"
 
 msgid "Locked Language Feature"
 msgstr "आप {concept} का उपयोग कर रहे हैं! यह बहुत बढ़िया है, लेकिन {concept} अभी तक खुला नहीं है! इसे बाद के स्तर पर अनलॉक किया जाएगा।"
@@ -66,7 +66,7 @@ msgstr "It looks like you forgot to use a command with the text you put in line
 
 #, fuzzy
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}।"
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}।"
 
 msgid "Missing Command"
 msgstr "ऐसा लगता है कि आप {line_number} लाइन पर कमांड का उपयोग करना भूल गए हैं।"
@@ -76,15 +76,15 @@ msgid "Missing Inner Command"
 msgstr "ऐसा लगता है कि आप {line_number} लाइन पर कमांड का उपयोग करना भूल गए हैं।"
 
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}।"
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}।"
 
 #, fuzzy
 msgid "Missing Variable"
-msgstr "It looks like your {command} is missing a variable at the start of the line."
+msgstr "It looks like your `{command}` is missing a variable at the start of the line."
 
 #, fuzzy
 msgid "Misspelled At Command"
-msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}।"
+msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}।"
 
 msgid "No Indentation"
 msgstr "आपने लाइन {line_number} में बहुत कम रिक्त स्थान का उपयोग किया है। आपने {leading_spaces} रिक्त स्थान का उपयोग किया है, जो पर्याप्त नहीं है। प्रत्येक नए ब्लॉक को {indent_size} रिक्त स्थान के साथ शुरू करें जो पहले की पंक्ति से अधिक है।"
@@ -94,11 +94,18 @@ msgid "Non Decimal Variable"
 msgstr "At line {line_number}, you might have tried using a number which Hedy does not like very much! Try changing it to a decimal number like 2।"
 
 msgid "Parse"
-msgstr "आपके द्वारा दर्ज किया गया कोड मान्य Hedy कोड नहीं है। लाइन {location[0]}, स्थिति {location[1]} पर एक गलती है। आपने {character_found} टाइप किया, लेकिन इसकी अनुमति नहीं है|"
+msgstr "आपके द्वारा दर्ज किया गया कोड मान्य Hedy कोड नहीं है। लाइन {location[0]}, स्थिति {location[1]} पर एक गलती है। आपने `{character_found}` टाइप किया, लेकिन इसकी अनुमति नहीं है|"
 
 #, fuzzy
 msgid "Pressit Missing Else"
-msgstr "You forgot to add what happens when you press a different key, add an {else} to your code"
+msgstr "You forgot to add what happens when you press a different key, add an `{else}` to your code"
+
+#, fuzzy
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}।"
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -121,21 +128,21 @@ msgid "Unquoted Text"
 msgstr "सावधान रहे। यदि आप कुछ पूछते या प्रिंट करते हैं, तो पाठ एक उद्धरण चिह्न के साथ शुरू और समाप्त होना चाहिए। आप एक को कहीं भूल गए।"
 
 msgid "Unsupported Float"
-msgstr "गैर-पूर्णांक संख्याएं अभी तक समर्थित नहीं हैं लेकिन वे कुछ स्तरों में होंगी। अभी के लिए {value} को एक पूर्णांक में बदलें।"
+msgstr "गैर-पूर्णांक संख्याएं अभी तक समर्थित नहीं हैं लेकिन वे कुछ स्तरों में होंगी। अभी के लिए `{value}` को एक पूर्णांक में बदलें।"
 
 #, fuzzy
 msgid "Unsupported String Value"
-msgstr "Text values cannot contain {invalid_value}."
+msgstr "Text values cannot contain `{invalid_value}`."
 
 #, fuzzy
 msgid "Unused Variable"
 msgstr "You defined the variable {variable_name} on line {line_number}, but you did not use it।"
 
 msgid "Var Undefined"
-msgstr "आपने वेरिएबल {name} का उपयोग करने का प्रयास किया, लेकिन आपने इसे सेट नहीं किया। यह भी संभव है कि आप {name} शब्द का उपयोग करने की कोशिश कर रहे थे लेकिन उद्धरण चिह्नों को भूल गए।"
+msgstr "आपने वेरिएबल `{name}` का उपयोग करने का प्रयास किया, लेकिन आपने इसे सेट नहीं किया। यह भी संभव है कि आप `{name}` शब्द का उपयोग करने की कोशिश कर रहे थे लेकिन उद्धरण चिह्नों को भूल गए।"
 
 msgid "Wrong Level"
-msgstr "वह सही हैडी कोड था, लेकिन सही स्तर पर नहीं। आपने {offending_keyword}  स्तर  {working_level} के लिए लिखा है। युक्ति: {tip}"
+msgstr "वह सही हैडी कोड था, लेकिन सही स्तर पर नहीं। आपने `{offending_keyword}`  स्तर  {working_level} के लिए लिखा है। युक्ति: {tip}"
 
 #, fuzzy
 msgid "Wrong Number of Arguments"
@@ -314,15 +321,8 @@ msgid "cant_parse_exception"
 msgstr "Couldn't parse the program"
 
 #, fuzzy
-msgid "catch_index_exception"
-msgstr "You tried to access the list {list_name} but it is either empty or the index is not there."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-#, fuzzy
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}।"
+msgid "Runtime Index Error"
+msgstr "You tried to access the list {name} but it is either empty or the index is not there."
 
 #, fuzzy
 msgid "certificate"
@@ -912,7 +912,7 @@ msgid "indentation_exception"
 msgstr "Incorrect Indentation"
 
 msgid "input"
-msgstr "ask से input"
+msgstr "`{ask}` से input"
 
 msgid "integer"
 msgstr "एक संख्या"
@@ -1254,7 +1254,7 @@ msgstr "This user hasn't earned the Hedy Certificate of Completion"
 
 #, fuzzy
 msgid "no_more_flat_if"
-msgstr "Starting in level 8, the line after {if} needs to start with 4 spaces."
+msgstr "Starting in level 8, the line after `{if}` needs to start with 4 spaces."
 
 #, fuzzy
 msgid "no_programs"
@@ -1600,7 +1600,7 @@ msgstr "Repair program icon"
 
 #, fuzzy
 msgid "repeat_dep"
-msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8।"
+msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8।"
 
 msgid "repeat_match_password"
 msgstr "दोहराया हुआ सांकेतिक शब्द मेल नहीं खाता|"
@@ -1978,7 +1978,7 @@ msgid "template_code"
 msgstr ""
 "This is the explanation of my adventure!\n"
 "\n"
-"This way I can show a command: print\n"
+"This way I can show a command: {print}\n"
 "\n"
 "But sometimes I might want to show a piece of code, like this:\n"
 "
\n"
@@ -2106,7 +2106,9 @@ msgstr "Tutorial"
 
 #, fuzzy
 msgid "tutorial_code_snippet"
-msgstr "Hide cheatsheet"
+msgstr ""
+"{print} Hello world!\n"
+"{print} I'm learning Hedy with the tutorial!"
 
 #, fuzzy
 msgid "tutorial_message_not_found"
diff --git a/translations/hu/LC_MESSAGES/messages.po b/translations/hu/LC_MESSAGES/messages.po
index 55b0bf0da00..b981659c529 100644
--- a/translations/hu/LC_MESSAGES/messages.po
+++ b/translations/hu/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: hu\n"
@@ -24,7 +24,7 @@ msgstr "A {name} nevű változót a {access_line_number}. sorban próbáltad has
 
 #, fuzzy
 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"
+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"
 
 #, fuzzy
 msgid "Function Undefined"
@@ -34,33 +34,33 @@ msgid "Has Blanks"
 msgstr "A kódod hiányos. Tartalmaz üres helyeket, amelyeket kóddal kell helyettesíteni."
 
 msgid "Incomplete"
-msgstr "Hoppá! Elfelejtettél egy kis kódot! A(z) {line_number}. sorban, szöveget kell beírnod a(z) {incomplete_command} parancs mögé."
+msgstr "Hoppá! Elfelejtettél egy kis kódot! A(z) {line_number}. sorban, szöveget kell beírnod a(z) `{incomplete_command}` parancs mögé."
 
 #, fuzzy
 msgid "Incomplete Repeat"
-msgstr "It looks like you forgot to use {command} with the repeat command you used on line {line_number}."
+msgstr "It looks like you forgot to use `{command}` with the repeat command you used on line {line_number}."
 
 msgid "Invalid"
-msgstr "{invalid_command}: Nem {level}. szintű Hedy parancs. A(z) {guessed_command} parancsra gondoltál?"
+msgstr "`{invalid_command}`: Nem {level}. szintű Hedy parancs. A(z) `{guessed_command}` parancsra gondoltál?"
 
 #, fuzzy
 msgid "Invalid Argument"
-msgstr "A(z) {command} parancsot nem lehet a(z) {invalid_argument} argumentummal használni. Próbáld meg '{invalid_argument}' típusát megváltoztatni valamelyikre ezek közül: {allowed_types}."
+msgstr "A(z) `{command}` parancsot nem lehet a(z) `{invalid_argument}` argumentummal használni. Próbáld meg '`{invalid_argument}`' típusát megváltoztatni valamelyikre ezek közül: {allowed_types}."
 
 #, fuzzy
 msgid "Invalid Argument Type"
-msgstr "A(z) {command} parancsot nem lehet a(z) {invalid_argument} argumentummal használni, mert az {invalid_type} típusú. Próbáld meg '{invalid_argument}' típusát megváltoztatni valamelyikre ezek közül: {allowed_types}."
+msgstr "A(z) `{command}` parancsot nem lehet a(z) `{invalid_argument}` argumentummal használni, mert az {invalid_type} típusú. Próbáld meg '`{invalid_argument}`' típusát megváltoztatni valamelyikre ezek közül: {allowed_types}."
 
 #, fuzzy
 msgid "Invalid At Command"
-msgstr "The {at} command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
+msgstr "The `{command}` command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
 
 msgid "Invalid Space"
 msgstr "Hoppá! Szóközzel kezdted a sort itt: {line_number}. sor. A szóközök összezavarják a számítógépet, el tudod távolítani?"
 
 #, fuzzy
 msgid "Invalid Type Combination"
-msgstr "You cannot use {invalid_argument} and {invalid_argument_2} with {command} because one is {invalid_type} and the other is {invalid_type_2}. Try changing {invalid_argument} to {invalid_type_2} or {invalid_argument_2} to {invalid_type}."
+msgstr "You cannot use `{invalid_argument}` and `{invalid_argument_2}` with `{command}` because one is {invalid_type} and the other is {invalid_type_2}. Try changing `{invalid_argument}` to {invalid_type_2} or `{invalid_argument_2}` to {invalid_type}."
 
 #, fuzzy
 msgid "Locked Language Feature"
@@ -75,7 +75,7 @@ msgstr "A(z) {line_number}. sorban csak szöveg van, úgy tűnik elfelejtettél
 
 #, fuzzy
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}."
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}."
 
 #, fuzzy
 msgid "Missing Command"
@@ -83,18 +83,18 @@ msgstr "Úgy tűnik, elfelejtettél parancsot írni a(z) {line_number}. sorba."
 
 #, fuzzy
 msgid "Missing Inner Command"
-msgstr "It looks like you forgot to use a command with the {command} statement you used on line {line_number}."
+msgstr "It looks like you forgot to use a command with the `{command}` statement you used on line {line_number}."
 
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}."
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}."
 
 #, fuzzy
 msgid "Missing Variable"
-msgstr "It looks like your {command} is missing a variable at the start of the line."
+msgstr "It looks like your `{command}` is missing a variable at the start of the line."
 
 #, fuzzy
 msgid "Misspelled At Command"
-msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}."
+msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}."
 
 #, fuzzy
 msgid "No Indentation"
@@ -105,11 +105,18 @@ msgid "Non Decimal Variable"
 msgstr "At line {line_number}, you might have tried using a number which Hedy does not like very much! Try changing it to a decimal number like 2."
 
 msgid "Parse"
-msgstr "A kód, amit beírtál, nem érvényes Hedy kód. Hiba van a következő sorban: {location[0]}, a következő helyen: {location[1]}. Ezt írtad: {character_found}, de ez nem megengedett"
+msgstr "A kód, amit beírtál, nem érvényes Hedy kód. Hiba van a következő sorban: {location[0]}, a következő helyen: {location[1]}. Ezt írtad: `{character_found}`, de ez nem megengedett"
 
 #, fuzzy
 msgid "Pressit Missing Else"
-msgstr "You forgot to add what happens when you press a different key, add an {else} to your code"
+msgstr "You forgot to add what happens when you press a different key, add an `{else}` to your code"
+
+#, fuzzy
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -135,21 +142,21 @@ msgstr "Légy óvatos. Ha kiíratsz egy szöveget, akkor azt idézőjelbe kell t
 
 #, fuzzy
 msgid "Unsupported Float"
-msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change {value} to an integer."
+msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change `{value}` to an integer."
 
 #, fuzzy
 msgid "Unsupported String Value"
-msgstr "Text values cannot contain {invalid_value}."
+msgstr "Text values cannot contain `{invalid_value}`."
 
 #, fuzzy
 msgid "Unused Variable"
 msgstr "You defined the variable {variable_name} on line {line_number}, but you did not use it."
 
 msgid "Var Undefined"
-msgstr "Ki akartad íratni: {name}, de nem adtál neki értéket."
+msgstr "Ki akartad íratni: `{name}`, de nem adtál neki értéket."
 
 msgid "Wrong Level"
-msgstr "Ez helyes Hedy-kód volt, de nem a megfelelő szinten. A(z) {working_level}. szinten még nem lehet a(z) {offending_keyword} parancsot használni. Hátha ez segít: {tip}."
+msgstr "Ez helyes Hedy-kód volt, de nem a megfelelő szinten. A(z) {working_level}. szinten még nem lehet a(z) `{offending_keyword}` parancsot használni. Hátha ez segít: {tip}."
 
 #, fuzzy
 msgid "Wrong Number of Arguments"
@@ -344,15 +351,8 @@ msgid "cant_parse_exception"
 msgstr "Couldn't parse the program"
 
 #, fuzzy
-msgid "catch_index_exception"
-msgstr "You tried to access the list {list_name} but it is either empty or the index is not there."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-#, fuzzy
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "You tried to access the list {name} but it is either empty or the index is not there."
 
 #, fuzzy
 msgid "certificate"
@@ -1334,7 +1334,7 @@ msgstr "This user hasn't earned the Hedy Certificate of Completion"
 
 #, fuzzy
 msgid "no_more_flat_if"
-msgstr "Starting in level 8, the line after {if} needs to start with 4 spaces."
+msgstr "Starting in level 8, the line after `{if}` needs to start with 4 spaces."
 
 #, fuzzy
 msgid "no_programs"
@@ -1710,7 +1710,7 @@ msgstr "Repair program icon"
 
 #, fuzzy
 msgid "repeat_dep"
-msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8."
+msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8."
 
 msgid "repeat_match_password"
 msgstr "Az ismételt jelszó nem egyezik."
@@ -2110,7 +2110,7 @@ msgid "template_code"
 msgstr ""
 "This is the explanation of my adventure!\n"
 "\n"
-"This way I can show a command: print\n"
+"This way I can show a command: {print}\n"
 "\n"
 "But sometimes I might want to show a piece of code, like this:\n"
 "
\n"
@@ -2240,7 +2240,9 @@ msgstr "Bemutató"
 
 #, fuzzy
 msgid "tutorial_code_snippet"
-msgstr "Súgó elrejtése"
+msgstr ""
+"{print} Hello world!\n"
+"{print} I'm learning Hedy with the tutorial!"
 
 #, fuzzy
 msgid "tutorial_message_not_found"
diff --git a/translations/ia/LC_MESSAGES/messages.po b/translations/ia/LC_MESSAGES/messages.po
index 617b0214a2b..6bd1c7a40d9 100644
--- a/translations/ia/LC_MESSAGES/messages.po
+++ b/translations/ia/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: ia\n"
@@ -24,7 +24,7 @@ msgstr "You tried to use the variable {name} on line {access_line_number}, but y
 
 #, fuzzy
 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."
+msgstr "The name `{variable}` needs to be set before you can use it on the right-hand side of the `{is}` command."
 
 #, fuzzy
 msgid "Function Undefined"
@@ -36,27 +36,27 @@ msgstr "Your code is incomplete. It contains blanks that you have to replace wit
 
 #, fuzzy
 msgid "Incomplete"
-msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind {incomplete_command}."
+msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind `{incomplete_command}`."
 
 #, fuzzy
 msgid "Incomplete Repeat"
-msgstr "It looks like you forgot to use a command with the {repeat} command you used on line {line_number}."
+msgstr "It looks like you forgot to use a `{command}` with the `{repeat}` command you used on line {line_number}."
 
 #, fuzzy
 msgid "Invalid"
-msgstr "{invalid_command} is not a Hedy level {level} command. Did you mean {guessed_command}?"
+msgstr "`{invalid_command}` is not a Hedy level {level} command. Did you mean `{guessed_command}`?"
 
 #, fuzzy
 msgid "Invalid Argument"
-msgstr "You cannot use the command {command} with {invalid_argument}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use the command `{command}` with `{invalid_argument}`. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid Argument Type"
-msgstr "You cannot use {command} with {invalid_argument} because it is {invalid_type}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use `{command}` with `{invalid_argument}` because it is {invalid_type}. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid At Command"
-msgstr "The {command} command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
+msgstr "The `{command}` command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
 
 #, fuzzy
 msgid "Invalid Space"
@@ -64,7 +64,7 @@ msgstr "Oops! You started a line with a space on line {line_number}. Spaces conf
 
 #, fuzzy
 msgid "Invalid Type Combination"
-msgstr "You cannot use {invalid_argument} and {invalid_argument_2} with {command} because one is {invalid_type} and the other is {invalid_type_2}. Try changing {invalid_argument} to {invalid_type_2} or {invalid_argument_2} to {invalid_type}."
+msgstr "You cannot use `{invalid_argument}` and `{invalid_argument_2}` with `{command}` because one is {invalid_type} and the other is {invalid_type_2}. Try changing `{invalid_argument}` to {invalid_type_2} or `{invalid_argument_2}` to {invalid_type}."
 
 #, fuzzy
 msgid "Locked Language Feature"
@@ -72,7 +72,7 @@ msgstr "You are using {concept}! That is awesome, but {concept} is not unlocked
 
 #, fuzzy
 msgid "Lonely Echo"
-msgstr "You used an {echo} before an {ask}, or an {echo} without an {ask}. Place an {ask} before the {echo}."
+msgstr "You used an `{echo}` before an `{ask}`, or an `{echo}` without an `{ask}`. Place an `{ask}` before the `{echo}`."
 
 #, fuzzy
 msgid "Lonely Text"
@@ -80,7 +80,7 @@ msgstr "It looks like you forgot to use a command with the text you used in line
 
 #, fuzzy
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}. Try adding {missing_command} to your code."
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}. Try adding `{missing_command}` to your code."
 
 #, fuzzy
 msgid "Missing Command"
@@ -88,18 +88,18 @@ msgstr "It looks like you forgot to use a command on line {line_number}."
 
 #, fuzzy
 msgid "Missing Inner Command"
-msgstr "It looks like you forgot to use a command with the {command} statement you used on line {line_number}."
+msgstr "It looks like you forgot to use a command with the `{command}` statement you used on line {line_number}."
 
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}."
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}."
 
 #, fuzzy
 msgid "Missing Variable"
-msgstr "It looks like your {command} is missing a variable at the start of the line."
+msgstr "It looks like your `{command}` is missing a variable at the start of the line."
 
 #, fuzzy
 msgid "Misspelled At Command"
-msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}."
+msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}."
 
 #, fuzzy
 msgid "No Indentation"
@@ -111,11 +111,18 @@ msgstr "At line {line_number}, you might have tried using a number which Hedy do
 
 #, fuzzy
 msgid "Parse"
-msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed {character_found}, but that is not allowed."
+msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed `{character_found}`, but that is not allowed."
 
 #, fuzzy
 msgid "Pressit Missing Else"
-msgstr "You forgot to add what happens when you press a different key, add an {else} to your code"
+msgstr "You forgot to add what happens when you press a different key, add an `{else}` to your code"
+
+#, fuzzy
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -131,7 +138,7 @@ msgstr "You used too many spaces in line {line_number}. You used {leading_spaces
 
 #, fuzzy
 msgid "Unquoted Assignment"
-msgstr "From this level, you need to place texts to the right of the {is} between quotes. You forgot that for the text {text}."
+msgstr "From this level, you need to place texts to the right of the `{is}` between quotes. You forgot that for the text {text}."
 
 #, fuzzy
 msgid "Unquoted Equality Check"
@@ -139,15 +146,15 @@ msgstr "If you want to check if a variable is equal to multiple words, the words
 
 #, fuzzy
 msgid "Unquoted Text"
-msgstr "Be careful. If you {ask} or {print} something, the text should start and finish with a quotation mark. You forgot that for the text {unquotedtext}."
+msgstr "Be careful. If you `{ask}` or `{print}` something, the text should start and finish with a quotation mark. You forgot that for the text {unquotedtext}."
 
 #, fuzzy
 msgid "Unsupported Float"
-msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change {value} to an integer."
+msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change `{value}` to an integer."
 
 #, fuzzy
 msgid "Unsupported String Value"
-msgstr "Text values cannot contain {invalid_value}."
+msgstr "Text values cannot contain `{invalid_value}`."
 
 #, fuzzy
 msgid "Unused Variable"
@@ -155,11 +162,11 @@ msgstr "You defined the variable {variable_name} on line {line_number}, but you
 
 #, fuzzy
 msgid "Var Undefined"
-msgstr "You tried to use the variable {name}, but you didn't set it. It is also possible that you were trying to use the word {name} but forgot quotation marks."
+msgstr "You tried to use the variable `{name}`, but you didn't set it. It is also possible that you were trying to use the word `{name}` but forgot quotation marks."
 
 #, fuzzy
 msgid "Wrong Level"
-msgstr "That was correct Hedy code, but not at the right level. You wrote {offending_keyword} for level {working_level}. Tip: {tip}"
+msgstr "That was correct Hedy code, but not at the right level. You wrote `{offending_keyword}` for level {working_level}. Tip: {tip}"
 
 #, fuzzy
 msgid "Wrong Number of Arguments"
@@ -334,7 +341,7 @@ msgstr "Are you sure? You cannot revert this action."
 
 #, fuzzy
 msgid "ask_needs_var"
-msgstr "Starting in level 2, {ask} needs to be used with a variable. Example: name {is} {ask} What is your name?"
+msgstr "Starting in level 2, `{ask}` needs to be used with a variable. Example: name `{is}` `{ask}` What is your name?"
 
 #, fuzzy
 msgid "become_a_sponsor"
@@ -361,15 +368,8 @@ msgid "cant_parse_exception"
 msgstr "Couldn't parse the program"
 
 #, fuzzy
-msgid "catch_index_exception"
-msgstr "You tried to access the list {list_name} but it is either empty or the index is not there."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-#, fuzzy
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "You tried to access the list {name} but it is either empty or the index is not there."
 
 #, fuzzy
 msgid "certificate"
@@ -1025,7 +1025,7 @@ msgstr "Incorrect Indentation"
 
 #, fuzzy
 msgid "input"
-msgstr "input from {ask}"
+msgstr "input from `{ask}`"
 
 #, fuzzy
 msgid "integer"
@@ -1415,7 +1415,7 @@ msgstr "This user hasn't earned the Hedy Certificate of Completion"
 
 #, fuzzy
 msgid "no_more_flat_if"
-msgstr "Starting in level 8, the code after {if} needs to be placed on the next line and start with 4 spaces."
+msgstr "Starting in level 8, the code after `{if}` needs to be placed on the next line and start with 4 spaces."
 
 #, fuzzy
 msgid "no_programs"
@@ -1815,7 +1815,7 @@ msgstr "Repair program icon"
 
 #, fuzzy
 msgid "repeat_dep"
-msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8."
+msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8."
 
 #, fuzzy
 msgid "repeat_match_password"
diff --git a/translations/id/LC_MESSAGES/messages.po b/translations/id/LC_MESSAGES/messages.po
index a6fff8e6bd6..95d603169bd 100644
--- a/translations/id/LC_MESSAGES/messages.po
+++ b/translations/id/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: id\n"
@@ -34,7 +34,7 @@ msgstr ""
 "Generated-By: Babel 2.11.0\n"
 
 msgid "Cyclic Var Definition"
-msgstr "Nama {variable} perlu disetel sebelum Anda dapat menggunakannya di sisi kanan perintah {is}."
+msgstr "Nama `{variable}` perlu disetel sebelum Anda dapat menggunakannya di sisi kanan perintah `{is}`."
 
 #, fuzzy
 msgid "Function Undefined"
@@ -44,58 +44,58 @@ msgid "Has Blanks"
 msgstr "Kode Anda tidak lengkap. Ini berisi bagian kosong yang harus Anda ganti dengan kode."
 
 msgid "Incomplete"
-msgstr "Ups! Anda sedikit lupa kodenya! Pada baris {line_number}, Anda perlu memasukkan teks di belakang {incomplete_command}."
+msgstr "Ups! Anda sedikit lupa kodenya! Pada baris {line_number}, Anda perlu memasukkan teks di belakang `{incomplete_command}`."
 
 msgid "Incomplete Repeat"
-msgstr "Sepertinya Anda lupa menggunakan perintah dengan perintah {repeat} yang Anda gunakan pada baris {line_number}."
+msgstr "Sepertinya Anda lupa menggunakan perintah dengan perintah `{repeat}` yang Anda gunakan pada baris {line_number}."
 
 msgid "Invalid"
-msgstr "{invalid_command} bukan perintah {level} level Hedy. Apakah maksud Anda {guessed_command}?"
+msgstr "`{invalid_command}` bukan perintah {level} level Hedy. Apakah maksud Anda `{guessed_command}`?"
 
 msgid "Invalid Argument"
-msgstr "Anda tidak dapat menggunakan perintah {command} dengan {invalid_argument}. Coba ubah {invalid_argument} menjadi {allowed_types}."
+msgstr "Anda tidak dapat menggunakan perintah `{command}` dengan `{invalid_argument}`. Coba ubah `{invalid_argument}` menjadi {allowed_types}."
 
 msgid "Invalid Argument Type"
-msgstr "Anda tidak dapat menggunakan {command} dengan {invalid_argument} karena {invalid_type}. Coba ubah {invalid_argument} menjadi {allowed_types}."
+msgstr "Anda tidak dapat menggunakan `{command}` dengan `{invalid_argument}` karena {invalid_type}. Coba ubah `{invalid_argument}` menjadi {allowed_types}."
 
 msgid "Invalid At Command"
-msgstr "Perintah {at} tidak boleh digunakan mulai level 16 dan seterusnya. Anda dapat menggunakan tanda kurung siku untuk menggunakan elemen dari daftar, misalnya `teman[i]`, `angka_keberuntungan[{random}]`."
+msgstr "Perintah `{command}` tidak boleh digunakan mulai level 16 dan seterusnya. Anda dapat menggunakan tanda kurung siku untuk menggunakan elemen dari daftar, misalnya `teman[i]`, `angka_keberuntungan[{random}]`."
 
 msgid "Invalid Space"
 msgstr "Ups! kamu memulai baris dengan sebuah spasi pada baris {line_number}. Spasi membingungkan komputer, dapatkah kamu membuangnya?"
 
 msgid "Invalid Type Combination"
-msgstr "Anda tidak dapat menggunakan {invalid_argument} dan {invalid_argument_2} dengan {command} karena yang satu adalah {invalid_type} dan yang lainnya adalah {invalid_type_2}. Coba ubah {invalid_argument} menjadi {invalid_type_2} atau {invalid_argument_2} menjadi {invalid_type}."
+msgstr "Anda tidak dapat menggunakan `{invalid_argument}` dan `{invalid_argument_2}` dengan `{command}` karena yang satu adalah {invalid_type} dan yang lainnya adalah {invalid_type_2}. Coba ubah `{invalid_argument}` menjadi {invalid_type_2} atau `{invalid_argument_2}` menjadi {invalid_type}."
 
 msgid "Locked Language Feature"
 msgstr "Anda menggunakan {concept}! Itu luar biasa, tapi {concept} belum dibuka! Ini akan dibuka di level selanjutnya."
 
 msgid "Lonely Echo"
-msgstr "Anda menggunakan {echo} sebelum {ask}, atau {echo} tanpa {ask}. Tempatkan {ask} sebelum {echo}."
+msgstr "Anda menggunakan `{echo}` sebelum `{ask}`, atau `{echo}` tanpa `{ask}`. Tempatkan `{ask}` sebelum `{echo}`."
 
 msgid "Lonely Text"
 msgstr "Sepertinya Anda lupa menggunakan perintah dengan teks yang Anda gunakan di baris {line_number}"
 
 #, fuzzy
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}."
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}."
 
 msgid "Missing Command"
 msgstr "Sepertinya Anda lupa menggunakan perintah pada baris {line_number}."
 
 msgid "Missing Inner Command"
-msgstr "Sepertinya Anda lupa menggunakan perintah dengan pernyataan {command} yang Anda gunakan pada baris {line_number}."
+msgstr "Sepertinya Anda lupa menggunakan perintah dengan pernyataan `{command}` yang Anda gunakan pada baris {line_number}."
 
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}."
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}."
 
 #, fuzzy
 msgid "Missing Variable"
-msgstr "It looks like your {command} is missing a variable at the start of the line."
+msgstr "It looks like your `{command}` is missing a variable at the start of the line."
 
 #, fuzzy
 msgid "Misspelled At Command"
-msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}."
+msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}."
 
 msgid "No Indentation"
 msgstr "Anda menggunakan terlalu sedikit spasi pada baris {line_number}. Anda menggunakan {leading_spaces} spasi, dan itu tidak cukup. Mulailah setiap blok baru dengan spasi {indent_size} lebih banyak dari baris sebelumnya."
@@ -105,10 +105,17 @@ msgid "Non Decimal Variable"
 msgstr "At line {line_number}, you might have tried using a number which Hedy does not like very much! Try changing it to a decimal number like 2."
 
 msgid "Parse"
-msgstr "Kode yang kamu masukan bukan kode Hedy yang valid. Ada kesalahan pada baris {location[0]}, pada posisi {location[1]}. Kamu menuliskan {character_found}, tapi itu tidak diperbolehkan."
+msgstr "Kode yang kamu masukan bukan kode Hedy yang valid. Ada kesalahan pada baris {location[0]}, pada posisi {location[1]}. Kamu menuliskan `{character_found}`, tapi itu tidak diperbolehkan."
 
 msgid "Pressit Missing Else"
-msgstr "Anda lupa menambahkan apa yang terjadi bila Anda menekan tombol lain, tambahkan {else} ke kode Anda"
+msgstr "Anda lupa menambahkan apa yang terjadi bila Anda menekan tombol lain, tambahkan `{else}` ke kode Anda"
+
+#, fuzzy
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -121,29 +128,29 @@ msgid "Unexpected Indentation"
 msgstr "Anda menggunakan terlalu banyak spasi pada baris {line_number}. Anda menggunakan spasi {leading_spaces}, dan itu terlalu banyak. Mulailah setiap blok baru dengan spasi {indent_size} lebih banyak dari baris sebelumnya."
 
 msgid "Unquoted Assignment"
-msgstr "Dari level ini, Anda perlu menempatkan teks di sebelah kanan {is} di antara tanda kutip. Anda lupa itu untuk teks {text}."
+msgstr "Dari level ini, Anda perlu menempatkan teks di sebelah kanan `{is}` di antara tanda kutip. Anda lupa itu untuk teks {text}."
 
 msgid "Unquoted Equality Check"
 msgstr "Jika Anda ingin memeriksa apakah suatu variabel sama dengan beberapa kata, kata-kata tersebut harus diapit oleh tanda kutip!"
 
 msgid "Unquoted Text"
-msgstr "Hati-hati. Jika Anda {ask} atau {print} sesuatu, teks harus diawali dan diakhiri dengan tanda kutip. Anda lupa untuk teks {unquotedtext}."
+msgstr "Hati-hati. Jika Anda `{ask}` atau `{print}` sesuatu, teks harus diawali dan diakhiri dengan tanda kutip. Anda lupa untuk teks {unquotedtext}."
 
 msgid "Unsupported Float"
-msgstr "Angka non-integer belum didukung namun akan ada dalam beberapa level. Untuk saat ini ubah {value} menjadi bilangan bulat."
+msgstr "Angka non-integer belum didukung namun akan ada dalam beberapa level. Untuk saat ini ubah `{value}` menjadi bilangan bulat."
 
 msgid "Unsupported String Value"
-msgstr "Nilai teks tidak boleh berisi {invalid_value}."
+msgstr "Nilai teks tidak boleh berisi `{invalid_value}`."
 
 #, fuzzy
 msgid "Unused Variable"
 msgstr "You defined the variable {variable_name} on line {line_number}, but you did not use it."
 
 msgid "Var Undefined"
-msgstr "Kamu mencoba untuk menampilkan variabel {name}, tapi kamu belum mengisinya dengan nilai. Ada kemungkinan bahwa kamu sedang mencoba untuk menampilkan kata {name} tapi melupakan tanda kutip."
+msgstr "Kamu mencoba untuk menampilkan variabel `{name}`, tapi kamu belum mengisinya dengan nilai. Ada kemungkinan bahwa kamu sedang mencoba untuk menampilkan kata `{name}` tapi melupakan tanda kutip."
 
 msgid "Wrong Level"
-msgstr "Itu adalah kode Hedy yang benar, namun tidak pada level yang tepat. Kamu menulis kode {offending_keyword} untuk level {working_level}. Tip: {tip}"
+msgstr "Itu adalah kode Hedy yang benar, namun tidak pada level yang tepat. Kamu menulis kode `{offending_keyword}` untuk level {working_level}. Tip: {tip}"
 
 #, fuzzy
 msgid "Wrong Number of Arguments"
@@ -282,7 +289,7 @@ msgid "are_you_sure"
 msgstr "Apakah kamu yakin? Kamu tidak dapat membatalkan aksi ini."
 
 msgid "ask_needs_var"
-msgstr "Mulai level 2, {ask} perlu digunakan dengan variabel. Contoh: nama {is} {ask} Siapa namamu?"
+msgstr "Mulai level 2, `{ask}` perlu digunakan dengan variabel. Contoh: nama `{is}` `{ask}` Siapa namamu?"
 
 msgid "become_a_sponsor"
 msgstr "Menjadi sponsor"
@@ -303,15 +310,8 @@ msgstr "Batal"
 msgid "cant_parse_exception"
 msgstr "Tidak dapat menguraikan program"
 
-msgid "catch_index_exception"
-msgstr "Anda mencoba mengakses daftar {list_name} tetapi daftar itu kosong atau indeksnya tidak ada."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-#, fuzzy
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "Anda mencoba mengakses daftar {name} tetapi daftar itu kosong atau indeksnya tidak ada."
 
 msgid "certificate"
 msgstr "Sertifikat Penyelesaian"
@@ -824,7 +824,7 @@ msgid "indentation_exception"
 msgstr "Indentasi Salah"
 
 msgid "input"
-msgstr "masukan dari {ask}"
+msgstr "masukan dari `{ask}`"
 
 msgid "integer"
 msgstr "sebuah angka"
@@ -1129,7 +1129,7 @@ msgid "no_certificate"
 msgstr "Pengguna ini belum mendapatkan Sertifikat Penyelesaian Hedy"
 
 msgid "no_more_flat_if"
-msgstr "Mulai dari level 8, kode setelah {if} perlu ditempatkan pada baris berikutnya dan dimulai dengan 4 spasi."
+msgstr "Mulai dari level 8, kode setelah `{if}` perlu ditempatkan pada baris berikutnya dan dimulai dengan 4 spasi."
 
 #, fuzzy
 msgid "no_programs"
@@ -1435,7 +1435,7 @@ msgstr "Ikon program perbaikan"
 
 #, fuzzy
 msgid "repeat_dep"
-msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8."
+msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8."
 
 msgid "repeat_match_password"
 msgstr "Password yang dimasukkan ulang tidak sesuai."
diff --git a/translations/it/LC_MESSAGES/messages.po b/translations/it/LC_MESSAGES/messages.po
index 11d0c21d51a..a266b96b9af 100644
--- a/translations/it/LC_MESSAGES/messages.po
+++ b/translations/it/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: it\n"
@@ -22,7 +22,7 @@ msgid "Access Before Assign"
 msgstr "Hai provato a utilizzare la variabile {name} sulla riga {access_line_number}, ma l'hai impostata sulla riga {definition_line_number}. Impostare una variabile prima di usarla."
 
 msgid "Cyclic Var Definition"
-msgstr "Il nome {variabile} deve essere impostato prima di poterlo utilizzare sul lato destro del comando {is}."
+msgstr "Il nome `{variable}` deve essere impostato prima di poterlo utilizzare sul lato destro del comando `{is}`."
 
 #, fuzzy
 msgid "Function Undefined"
@@ -32,32 +32,32 @@ msgid "Has Blanks"
 msgstr "Il tuo codice è incompleto. Contiene spazi vuoti che devi sostituire con il codice."
 
 msgid "Incomplete"
-msgstr "Ops! Hai dimenticato un po' di codice! Alla riga {line_number}, devi inserire il testo dietro {incomplete_command}."
+msgstr "Ops! Hai dimenticato un po' di codice! Alla riga {line_number}, devi inserire il testo dietro `{incomplete_command}`."
 
 msgid "Incomplete Repeat"
-msgstr "Sembra che tu abbia dimenticato di utilizzare un comando con il comando {repeat} utilizzato alla riga {line_number}."
+msgstr "Sembra che tu abbia dimenticato di utilizzare un comando con il comando `{repeat}` utilizzato alla riga {line_number}."
 
 msgid "Invalid"
-msgstr "{invalid_command} non è un commando Hedy per il livello {level}. Intendevi {guessed_command}?"
+msgstr "`{invalid_command}` non è un commando Hedy per il livello {level}. Intendevi `{guessed_command}`?"
 
 #, fuzzy
 msgid "Invalid Argument"
-msgstr "You cannot use the command {command} with {invalid_argument} . Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use the command `{command}` with `{invalid_argument}` . Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid Argument Type"
-msgstr "You cannot use {command} with {invalid_argument} because it is {invalid_type}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use `{command}` with `{invalid_argument}` because it is {invalid_type}. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid At Command"
-msgstr "The {at} command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
+msgstr "The `{command}` command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
 
 msgid "Invalid Space"
 msgstr "Ops! Hai iniziato una linea con uno spazio alla linea {line_number}. Gli spazi confondono i computer, puoi rimuoverla?"
 
 #, fuzzy
 msgid "Invalid Type Combination"
-msgstr "You cannot use {invalid_argument} and {invalid_argument_2} with {command} because one is {invalid_type} and the other is {invalid_type_2}. Try changing {invalid_argument} to {invalid_type_2} or {invalid_argument_2} to {invalid_type}."
+msgstr "You cannot use `{invalid_argument}` and `{invalid_argument_2}` with `{command}` because one is {invalid_type} and the other is {invalid_type_2}. Try changing `{invalid_argument}` to {invalid_type_2} or `{invalid_argument_2}` to {invalid_type}."
 
 #, fuzzy
 msgid "Locked Language Feature"
@@ -73,7 +73,7 @@ msgstr "It looks like you forgot to use a command with the text you put in line
 
 #, fuzzy
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}."
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}."
 
 #, fuzzy
 msgid "Missing Command"
@@ -81,18 +81,18 @@ msgstr "It looks like you forgot to use a command on line {line_number}."
 
 #, fuzzy
 msgid "Missing Inner Command"
-msgstr "It looks like you forgot to use a command with the {command} statement you used on line {line_number}."
+msgstr "It looks like you forgot to use a command with the `{command}` statement you used on line {line_number}."
 
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}."
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}."
 
 #, fuzzy
 msgid "Missing Variable"
-msgstr "It looks like your {command} is missing a variable at the start of the line."
+msgstr "It looks like your `{command}` is missing a variable at the start of the line."
 
 #, fuzzy
 msgid "Misspelled At Command"
-msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}."
+msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}."
 
 #, fuzzy
 msgid "No Indentation"
@@ -103,10 +103,17 @@ msgid "Non Decimal Variable"
 msgstr "At line {line_number}, you might have tried using a number which Hedy does not like very much! Try changing it to a decimal number like 2."
 
 msgid "Parse"
-msgstr "Il codice che hai scritto non è un codice Hedy valido. C'è un errore alla linea {location[0]}, alla posizione {location[1]}. Hai scritto {character_found} ma questo non è permesso."
+msgstr "Il codice che hai scritto non è un codice Hedy valido. C'è un errore alla linea {location[0]}, alla posizione {location[1]}. Hai scritto `{character_found}` ma questo non è permesso."
 
 msgid "Pressit Missing Else"
-msgstr "Hai dimenticato di aggiungere cosa succede quando premi un tasto diverso, aggiungi un {else} al tuo codice"
+msgstr "Hai dimenticato di aggiungere cosa succede quando premi un tasto diverso, aggiungi un `{else}` al tuo codice"
+
+#, fuzzy
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -133,21 +140,21 @@ msgstr "Stai attento. Se stampi qualcosa, il testo dovrebbe iniziare e finire co
 
 #, fuzzy
 msgid "Unsupported Float"
-msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change {value} to an integer."
+msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change `{value}` to an integer."
 
 #, fuzzy
 msgid "Unsupported String Value"
-msgstr "Text values cannot contain {invalid_value}."
+msgstr "Text values cannot contain `{invalid_value}`."
 
 #, fuzzy
 msgid "Unused Variable"
 msgstr "You defined the variable {variable_name} on line {line_number}, but you did not use it."
 
 msgid "Var Undefined"
-msgstr "Hai provato a scrivere {name} ma non l'hai inizializzato."
+msgstr "Hai provato a scrivere `{name}` ma non l'hai inizializzato."
 
 msgid "Wrong Level"
-msgstr "Questo è il codice Hedy corretto ma non al livello giusto. Hai scritto  codice {offending_keyword} per il livello {working_level}. Tip: {tip}"
+msgstr "Questo è il codice Hedy corretto ma non al livello giusto. Hai scritto  codice `{offending_keyword}` per il livello {working_level}. Tip: {tip}"
 
 #, fuzzy
 msgid "Wrong Number of Arguments"
@@ -344,15 +351,8 @@ msgid "cant_parse_exception"
 msgstr "Couldn't parse the program"
 
 #, fuzzy
-msgid "catch_index_exception"
-msgstr "You tried to access the list {list_name} but it is either empty or the index is not there."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-#, fuzzy
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "You tried to access the list {name} but it is either empty or the index is not there."
 
 #, fuzzy
 msgid "certificate"
@@ -988,7 +988,7 @@ msgstr "Incorrect Indentation"
 
 #, fuzzy
 msgid "input"
-msgstr "input from ask"
+msgstr "input from `{ask}`"
 
 #, fuzzy
 msgid "integer"
@@ -1353,7 +1353,7 @@ msgstr "This user hasn't earned the Hedy Certificate of Completion"
 
 #, fuzzy
 msgid "no_more_flat_if"
-msgstr "Starting in level 8, the code after {if} needs to be placed on the next line and start with 4 spaces."
+msgstr "Starting in level 8, the code after `{if}` needs to be placed on the next line and start with 4 spaces."
 
 #, fuzzy
 msgid "no_programs"
@@ -1725,7 +1725,7 @@ msgstr "Repair program icon"
 
 #, fuzzy
 msgid "repeat_dep"
-msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8."
+msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8."
 
 msgid "repeat_match_password"
 msgstr "La password ripetuta non combacia."
@@ -2127,7 +2127,7 @@ msgid "template_code"
 msgstr ""
 "This is the explanation of my adventure!\n"
 "\n"
-"This way I can show a command: print\n"
+"This way I can show a command: {print}\n"
 "\n"
 "But sometimes I might want to show a piece of code, like this:\n"
 "
\n"
@@ -2257,7 +2257,9 @@ msgstr "Tutorial"
 
 #, fuzzy
 msgid "tutorial_code_snippet"
-msgstr "Hide cheatsheet"
+msgstr ""
+"{print} Hello world!\n"
+"{print} I'm learning Hedy with the tutorial!"
 
 #, fuzzy
 msgid "tutorial_message_not_found"
diff --git a/translations/ja/LC_MESSAGES/messages.po b/translations/ja/LC_MESSAGES/messages.po
index aa101554c31..8ce7da27125 100644
--- a/translations/ja/LC_MESSAGES/messages.po
+++ b/translations/ja/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: ja\n"
@@ -22,7 +22,7 @@ msgid "Access Before Assign"
 msgstr "あなたは {name} という変数を{access_line_number}行で使おうとしましたが、{definition_line_number}行で定めました。変数は、使う前に定めて下さい。"
 
 msgid "Cyclic Var Definition"
-msgstr "この名前 {variable}は、{is} コマンドの右側で使う前に定めて下さい。"
+msgstr "この名前 `{variable}`は、`{is}` コマンドの右側で使う前に定めて下さい。"
 
 #, fuzzy
 msgid "Function Undefined"
@@ -32,25 +32,25 @@ msgid "Has Blanks"
 msgstr "あたなのコードは、完全に終わっていません。空白のスペースが含まれているので、コードに書き換えて下さい。"
 
 msgid "Incomplete"
-msgstr "おおっと! 少しコードを忘れていますよ!{line_number}行の{incomplete_command}の後に、テキストを入力して下さい。"
+msgstr "おおっと! 少しコードを忘れていますよ!{line_number}行の`{incomplete_command}`の後に、テキストを入力して下さい。"
 
 msgid "Incomplete Repeat"
-msgstr "{line_number}行で使った{repeat} コマンドを使い忘れているようです。"
+msgstr "{line_number}行で使った`{repeat}` コマンドを使い忘れているようです。"
 
 msgid "Invalid"
-msgstr "{invalid_command} は Hedy レベル {level} コマンドではありません。 {guessed_command}ではありませんか?"
+msgstr "`{invalid_command}` は Hedy レベル {level} コマンドではありません。 `{guessed_command}`ではありませんか?"
 
 #, fuzzy
 msgid "Invalid Argument"
-msgstr "You cannot use the command {command} with {invalid_argument}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use the command `{command}` with `{invalid_argument}`. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid Argument Type"
-msgstr "You cannot use {command} with {invalid_argument} because it is {invalid_type}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use `{command}` with `{invalid_argument}` because it is {invalid_type}. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid At Command"
-msgstr "The {at} command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
+msgstr "The `{command}` command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
 
 #, fuzzy
 msgid "Invalid Space"
@@ -58,7 +58,7 @@ msgstr "Oops! You started a line with a space on line {line_number}. Spaces conf
 
 #, fuzzy
 msgid "Invalid Type Combination"
-msgstr "You cannot use {invalid_argument} and {invalid_argument_2} with {command} because one is {invalid_type} and the other is {invalid_type_2}. Try changing {invalid_argument} to {invalid_type_2} or {invalid_argument_2} to {invalid_type}."
+msgstr "You cannot use `{invalid_argument}` and `{invalid_argument_2}` with `{command}` because one is {invalid_type} and the other is {invalid_type_2}. Try changing `{invalid_argument}` to {invalid_type_2} or `{invalid_argument_2}` to {invalid_type}."
 
 #, fuzzy
 msgid "Locked Language Feature"
@@ -74,7 +74,7 @@ msgstr "It looks like you forgot to use a command with the text you put in line
 
 #, fuzzy
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}."
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}."
 
 #, fuzzy
 msgid "Missing Command"
@@ -82,18 +82,18 @@ msgstr "It looks like you forgot to use a command on line {line_number}."
 
 #, fuzzy
 msgid "Missing Inner Command"
-msgstr "It looks like you forgot to use a command with the {command} statement you used on line {line_number}."
+msgstr "It looks like you forgot to use a command with the `{command}` statement you used on line {line_number}."
 
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}."
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}."
 
 #, fuzzy
 msgid "Missing Variable"
-msgstr "It looks like your {command} is missing a variable at the start of the line."
+msgstr "It looks like your `{command}` is missing a variable at the start of the line."
 
 #, fuzzy
 msgid "Misspelled At Command"
-msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}."
+msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}."
 
 #, fuzzy
 msgid "No Indentation"
@@ -105,11 +105,18 @@ msgstr "At line {line_number}, you might have tried using a number which Hedy do
 
 #, fuzzy
 msgid "Parse"
-msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed {character_found}, but that is not allowed."
+msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed `{character_found}`, but that is not allowed."
 
 #, fuzzy
 msgid "Pressit Missing Else"
-msgstr "You forgot to add what happens when you press a different key, add an {else} to your code"
+msgstr "You forgot to add what happens when you press a different key, add an `{else}` to your code"
+
+#, fuzzy
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -137,11 +144,11 @@ msgstr "Be careful. If you ask or print something, the text should start and fin
 
 #, fuzzy
 msgid "Unsupported Float"
-msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change {value} to an integer."
+msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change `{value}` to an integer."
 
 #, fuzzy
 msgid "Unsupported String Value"
-msgstr "Text values cannot contain {invalid_value}."
+msgstr "Text values cannot contain `{invalid_value}`."
 
 #, fuzzy
 msgid "Unused Variable"
@@ -149,11 +156,11 @@ msgstr "You defined the variable {variable_name} on line {line_number}, but you
 
 #, fuzzy
 msgid "Var Undefined"
-msgstr "You tried to use the variable {name}, but you didn't set it. It is also possible that you were trying to use the word {name} but forgot quotation marks."
+msgstr "You tried to use the variable `{name}`, but you didn't set it. It is also possible that you were trying to use the word `{name}` but forgot quotation marks."
 
 #, fuzzy
 msgid "Wrong Level"
-msgstr "That was correct Hedy code, but not at the right level. You wrote {offending_keyword} for level {working_level}. Tip: {tip}"
+msgstr "That was correct Hedy code, but not at the right level. You wrote `{offending_keyword}` for level {working_level}. Tip: {tip}"
 
 #, fuzzy
 msgid "Wrong Number of Arguments"
@@ -355,15 +362,8 @@ msgid "cant_parse_exception"
 msgstr "Couldn't parse the program"
 
 #, fuzzy
-msgid "catch_index_exception"
-msgstr "You tried to access the list {list_name} but it is either empty or the index is not there."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-#, fuzzy
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "You tried to access the list {name} but it is either empty or the index is not there."
 
 #, fuzzy
 msgid "certificate"
@@ -1017,7 +1017,7 @@ msgstr "Incorrect Indentation"
 
 #, fuzzy
 msgid "input"
-msgstr "input from ask"
+msgstr "input from `{ask}`"
 
 #, fuzzy
 msgid "integer"
@@ -1400,7 +1400,7 @@ msgstr "このユーザはHedy修了証を得ていません"
 
 #, fuzzy
 msgid "no_more_flat_if"
-msgstr "Starting in level 8, the code after {if} needs to be placed on the next line and start with 4 spaces."
+msgstr "Starting in level 8, the code after `{if}` needs to be placed on the next line and start with 4 spaces."
 
 #, fuzzy
 msgid "no_programs"
@@ -1788,7 +1788,7 @@ msgstr "Repair program icon"
 
 #, fuzzy
 msgid "repeat_dep"
-msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8."
+msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8."
 
 #, fuzzy
 msgid "repeat_match_password"
@@ -2205,7 +2205,7 @@ msgid "template_code"
 msgstr ""
 "This is the explanation of my adventure!\n"
 "\n"
-"This way I can show a command: print\n"
+"This way I can show a command: {print}\n"
 "\n"
 "But sometimes I might want to show a piece of code, like this:\n"
 "
\n"
@@ -2322,8 +2322,8 @@ msgstr "Tutorial"
 #, fuzzy
 msgid "tutorial_code_snippet"
 msgstr ""
-"print Hello world!\n"
-"print I'm learning Hedy with the tutorial!"
+"{print} Hello world!\n"
+"{print} I'm learning Hedy with the tutorial!"
 
 #, fuzzy
 msgid "tutorial_message_not_found"
diff --git a/translations/kmr/LC_MESSAGES/messages.po b/translations/kmr/LC_MESSAGES/messages.po
index b484ac3be27..e71cfa4d09c 100644
--- a/translations/kmr/LC_MESSAGES/messages.po
+++ b/translations/kmr/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: kmr\n"
@@ -24,7 +24,7 @@ msgstr "You tried to use the variable {name} on line {access_line_number}, but y
 
 #, fuzzy
 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."
+msgstr "The name `{variable}` needs to be set before you can use it on the right-hand side of the `{is}` command."
 
 #, fuzzy
 msgid "Function Undefined"
@@ -36,27 +36,27 @@ msgstr "Your code is incomplete. It contains blanks that you have to replace wit
 
 #, fuzzy
 msgid "Incomplete"
-msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind {incomplete_command}."
+msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind `{incomplete_command}`."
 
 #, fuzzy
 msgid "Incomplete Repeat"
-msgstr "It looks like you forgot to use a command with the {repeat} command you used on line {line_number}."
+msgstr "It looks like you forgot to use a `{command}` with the `{repeat}` command you used on line {line_number}."
 
 #, fuzzy
 msgid "Invalid"
-msgstr "{invalid_command} is not a Hedy level {level} command. Did you mean {guessed_command}?"
+msgstr "`{invalid_command}` is not a Hedy level {level} command. Did you mean `{guessed_command}`?"
 
 #, fuzzy
 msgid "Invalid Argument"
-msgstr "You cannot use the command {command} with {invalid_argument}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use the command `{command}` with `{invalid_argument}`. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid Argument Type"
-msgstr "You cannot use {command} with {invalid_argument} because it is {invalid_type}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use `{command}` with `{invalid_argument}` because it is {invalid_type}. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid At Command"
-msgstr "The {at} command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
+msgstr "The `{command}` command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
 
 #, fuzzy
 msgid "Invalid Space"
@@ -64,7 +64,7 @@ msgstr "Oops! You started a line with a space on line {line_number}. Spaces conf
 
 #, fuzzy
 msgid "Invalid Type Combination"
-msgstr "You cannot use {invalid_argument} and {invalid_argument_2} with {command} because one is {invalid_type} and the other is {invalid_type_2}. Try changing {invalid_argument} to {invalid_type_2} or {invalid_argument_2} to {invalid_type}."
+msgstr "You cannot use `{invalid_argument}` and `{invalid_argument_2}` with `{command}` because one is {invalid_type} and the other is {invalid_type_2}. Try changing `{invalid_argument}` to {invalid_type_2} or `{invalid_argument_2}` to {invalid_type}."
 
 #, fuzzy
 msgid "Locked Language Feature"
@@ -72,7 +72,7 @@ msgstr "You are using {concept}! That is awesome, but {concept} is not unlocked
 
 #, fuzzy
 msgid "Lonely Echo"
-msgstr "You used an {echo} before an {ask}, or an {echo} without an {ask}. Place an {ask} before the {echo}."
+msgstr "You used an `{echo}` before an `{ask}`, or an `{echo}` without an `{ask}`. Place an `{ask}` before the `{echo}`."
 
 #, fuzzy
 msgid "Lonely Text"
@@ -80,7 +80,7 @@ msgstr "It looks like you forgot to use a command with the text you used in line
 
 #, fuzzy
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}."
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}."
 
 #, fuzzy
 msgid "Missing Command"
@@ -88,18 +88,18 @@ msgstr "It looks like you forgot to use a command on line {line_number}."
 
 #, fuzzy
 msgid "Missing Inner Command"
-msgstr "It looks like you forgot to use a command with the {command} statement you used on line {line_number}."
+msgstr "It looks like you forgot to use a command with the `{command}` statement you used on line {line_number}."
 
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}."
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}."
 
 #, fuzzy
 msgid "Missing Variable"
-msgstr "It looks like your {command} is missing a variable at the start of the line."
+msgstr "It looks like your `{command}` is missing a variable at the start of the line."
 
 #, fuzzy
 msgid "Misspelled At Command"
-msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}."
+msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}."
 
 #, fuzzy
 msgid "No Indentation"
@@ -111,11 +111,18 @@ msgstr "At line {line_number}, you might have tried using a number which Hedy do
 
 #, fuzzy
 msgid "Parse"
-msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed {character_found}, but that is not allowed."
+msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed `{character_found}`, but that is not allowed."
 
 #, fuzzy
 msgid "Pressit Missing Else"
-msgstr "You forgot to add what happens when you press a different key, add an {else} to your code"
+msgstr "You forgot to add what happens when you press a different key, add an `{else}` to your code"
+
+#, fuzzy
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -131,7 +138,7 @@ msgstr "You used too many spaces in line {line_number}. You used {leading_spaces
 
 #, fuzzy
 msgid "Unquoted Assignment"
-msgstr "From this level, you need to place texts to the right of the {is} between quotes. You forgot that for the text {text}."
+msgstr "From this level, you need to place texts to the right of the `{is}` between quotes. You forgot that for the text {text}."
 
 #, fuzzy
 msgid "Unquoted Equality Check"
@@ -139,15 +146,15 @@ msgstr "If you want to check if a variable is equal to multiple words, the words
 
 #, fuzzy
 msgid "Unquoted Text"
-msgstr "Be careful. If you {ask} or {print} something, the text should start and finish with a quotation mark. You forgot that for the text {unquotedtext}."
+msgstr "Be careful. If you `{ask}` or `{print}` something, the text should start and finish with a quotation mark. You forgot that for the text {unquotedtext}."
 
 #, fuzzy
 msgid "Unsupported Float"
-msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change {value} to an integer."
+msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change `{value}` to an integer."
 
 #, fuzzy
 msgid "Unsupported String Value"
-msgstr "Text values cannot contain {invalid_value}."
+msgstr "Text values cannot contain `{invalid_value}`."
 
 #, fuzzy
 msgid "Unused Variable"
@@ -155,11 +162,11 @@ msgstr "You defined the variable {variable_name} on line {line_number}, but you
 
 #, fuzzy
 msgid "Var Undefined"
-msgstr "You tried to use the variable {name}, but you didn't set it. It is also possible that you were trying to use the word {name} but forgot quotation marks."
+msgstr "You tried to use the variable `{name}`, but you didn't set it. It is also possible that you were trying to use the word `{name}` but forgot quotation marks."
 
 #, fuzzy
 msgid "Wrong Level"
-msgstr "That was correct Hedy code, but not at the right level. You wrote {offending_keyword} for level {working_level}. Tip: {tip}"
+msgstr "That was correct Hedy code, but not at the right level. You wrote `{offending_keyword}` for level {working_level}. Tip: {tip}"
 
 #, fuzzy
 msgid "Wrong Number of Arguments"
@@ -334,7 +341,7 @@ msgstr "Are you sure? You cannot revert this action."
 
 #, fuzzy
 msgid "ask_needs_var"
-msgstr "Starting in level 2, {ask} needs to be used with a variable. Example: name {is} {ask} What are you called?"
+msgstr "Starting in level 2, `{ask}` needs to be used with a variable. Example: name `{is}` `{ask}` What are you called?"
 
 #, fuzzy
 msgid "become_a_sponsor"
@@ -361,15 +368,8 @@ msgid "cant_parse_exception"
 msgstr "Couldn't parse the program"
 
 #, fuzzy
-msgid "catch_index_exception"
-msgstr "You tried to access the list {list_name} but it is either empty or the index is not there."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-#, fuzzy
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "You tried to access the list {name} but it is either empty or the index is not there."
 
 #, fuzzy
 msgid "certificate"
@@ -709,7 +709,7 @@ msgstr "Echo and ask mismatch"
 
 #, fuzzy
 msgid "echo_out"
-msgstr "Starting in level 2 {echo} is no longer needed. You can repeat an answer with {ask} and {print} now. Example: name is {ask} What are you called? {print} hello name"
+msgstr "Starting in level 2 `{echo}` is no longer needed. You can repeat an answer with `{ask}` and `{print}` now. Example: name is `{ask}` What are you called? `{print}` hello name"
 
 #, fuzzy
 msgid "edit_adventure"
@@ -1025,7 +1025,7 @@ msgstr "Incorrect Indentation"
 
 #, fuzzy
 msgid "input"
-msgstr "input from {ask}"
+msgstr "input from `{ask}`"
 
 #, fuzzy
 msgid "integer"
@@ -1415,7 +1415,7 @@ msgstr "This user hasn't earned the Hedy Certificate of Completion"
 
 #, fuzzy
 msgid "no_more_flat_if"
-msgstr "Starting in level 8, the code after {if} needs to be placed on the next line and start with 4 spaces."
+msgstr "Starting in level 8, the code after `{if}` needs to be placed on the next line and start with 4 spaces."
 
 #, fuzzy
 msgid "no_programs"
@@ -1813,7 +1813,7 @@ msgstr "Repair program icon"
 
 #, fuzzy
 msgid "repeat_dep"
-msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8."
+msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8."
 
 #, fuzzy
 msgid "repeat_match_password"
diff --git a/translations/ko/LC_MESSAGES/messages.po b/translations/ko/LC_MESSAGES/messages.po
index b29743ac410..b185aa4cc81 100644
--- a/translations/ko/LC_MESSAGES/messages.po
+++ b/translations/ko/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: ko\n"
@@ -24,7 +24,7 @@ msgstr "{access_line_number} 라인에서 {name} 변수를 사용하려고 했
 
 #, fuzzy
 msgid "Cyclic Var Definition"
-msgstr "{is} 명령어의 오른쪽에서 이름 {variable}을(를) 설정해야 사용할 수 있습니다."
+msgstr "`{is}` 명령어의 오른쪽에서 이름 `{variable}`을(를) 설정해야 사용할 수 있습니다."
 
 #, fuzzy
 msgid "Function Undefined"
@@ -36,27 +36,27 @@ msgstr "코드가 불완전합니다. 코드로 대체해야하는 빈칸이 들
 
 #, fuzzy
 msgid "Incomplete"
-msgstr "이런! 코드를 조금 잊으셨군요! {line_number} 라인에서 {incomplete_command} 뒤에 텍스트를 입력해야 합니다."
+msgstr "이런! 코드를 조금 잊으셨군요! {line_number} 라인에서 `{incomplete_command}` 뒤에 텍스트를 입력해야 합니다."
 
 #, fuzzy
 msgid "Incomplete Repeat"
-msgstr "{line_number} 라인에서 사용한 {repeat} 명령을 사용하지 않은 것 같습니다."
+msgstr "{line_number} 라인에서 사용한 `{repeat}` 명령을 사용하지 않은 것 같습니다."
 
 #, fuzzy
 msgid "Invalid"
-msgstr "{invalid_command}이(가) Hedy 레벨 {level} 명령이 아닙니다. {guessed_command}을(를) 말씀하신 건가요?"
+msgstr "`{invalid_command}`이(가) Hedy 레벨 {level} 명령이 아닙니다. `{guessed_command}`을(를) 말씀하신 건가요?"
 
 #, fuzzy
 msgid "Invalid Argument"
-msgstr "{invalid_argument} 명령을 {invalid_argument}에 사용할 수 없습니다. {invalid_argument}을(를) {allowed_type}(으)로 변경해 보십시오."
+msgstr "`{invalid_argument}` 명령을 `{invalid_argument}`에 사용할 수 없습니다. `{invalid_argument}`을(를) {allowed_types}(으)로 변경해 보십시오."
 
 #, fuzzy
 msgid "Invalid Argument Type"
-msgstr "{invalid_type}이므로 {command}을(를) {invalid_argument}에 사용할 수 없습니다. {invalid_argument}을(를) {allowed_type}(으)로 변경해 보십시오."
+msgstr "{invalid_type}이므로 `{command}`을(를) `{invalid_argument}`에 사용할 수 없습니다. `{invalid_argument}`을(를) {allowed_types}(으)로 변경해 보십시오."
 
 #, fuzzy
 msgid "Invalid At Command"
-msgstr "레벨 16부터는 {at} 명령어를 사용할 수 없습니다. 대괄호를 사용하여 friends[i], lucky_numbers[{random}]와 같은 목록의 요소를 사용할 수 있습니다."
+msgstr "레벨 16부터는 `{command}` 명령어를 사용할 수 없습니다. 대괄호를 사용하여 friends[i], lucky_numbers[{random}]와 같은 목록의 요소를 사용할 수 있습니다."
 
 #, fuzzy
 msgid "Invalid Space"
@@ -64,7 +64,7 @@ msgstr "이런! 행 {line_number}에 공백이 있는 행을 시작했습니다.
 
 #, fuzzy
 msgid "Invalid Type Combination"
-msgstr "하나는 {invalid_type}이고 다른 하나는 {invalid_type_2}이므로 {invalid_argument} 및 {invalid_argument_2}을(를) {command}에 사용할 수 없습니다. {invalid_argument}을(를) {invalid_type_2} 또는 {invalid_argument_2}을(를) {invalid_type}으로 변경해 보십시오."
+msgstr "하나는 {invalid_type}이고 다른 하나는 {invalid_type_2}이므로 `{invalid_argument}` 및 `{invalid_argument_2}`을(를) `{command}`에 사용할 수 없습니다. `{invalid_argument}`을(를) {invalid_type_2} 또는 `{invalid_argument_2}`을(를) {invalid_type}으로 변경해 보십시오."
 
 #, fuzzy
 msgid "Locked Language Feature"
@@ -72,7 +72,7 @@ msgstr "{concept}을(를) 사용하고 있군요! 멋지지만 {concept}은(는)
 
 #, fuzzy
 msgid "Lonely Echo"
-msgstr "{ask} 이전에 {echo}을(를) 사용했거나 {ask}이(가) 없는 {echo}을(를) 사용했습니다. {echo} 앞에 {ask}을(를) 배치하십시오."
+msgstr "{ask} 이전에 `{echo}`을(를) 사용했거나 `{ask}`이(가) 없는 `{echo}`을(를) 사용했습니다. `{echo}` 앞에 `{ask}`을(를) 배치하십시오."
 
 #, fuzzy
 msgid "Lonely Text"
@@ -80,7 +80,7 @@ msgstr "{line_number} 행에서 사용한 텍스트에 명령을 사용하지 
 
 #, fuzzy
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}."
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}."
 
 #, fuzzy
 msgid "Missing Command"
@@ -88,18 +88,18 @@ msgstr "{line_number} 라인에서 명령을 사용하는 것을 잊어버린 
 
 #, fuzzy
 msgid "Missing Inner Command"
-msgstr "{line_number} 라인에서 사용한 {command} 문에 명령을 사용하지 않은 것 같습니다."
+msgstr "{line_number} 라인에서 사용한 `{command}` 문에 명령을 사용하지 않은 것 같습니다."
 
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}."
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}."
 
 #, fuzzy
 msgid "Missing Variable"
-msgstr "It looks like your {command} is missing a variable at the start of the line."
+msgstr "It looks like your `{command}` is missing a variable at the start of the line."
 
 #, fuzzy
 msgid "Misspelled At Command"
-msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}."
+msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}."
 
 #, fuzzy
 msgid "No Indentation"
@@ -111,11 +111,18 @@ msgstr "At line {line_number}, you might have tried using a number which Hedy do
 
 #, fuzzy
 msgid "Parse"
-msgstr "입력한 코드가 올바른 Hedy 코드가 아닙니다. {location[1]} 위치의 {location[0]} 행에 오류가 있습니다. {character_found}을(를) 입력했지만 이 코드는 허용되지 않습니다."
+msgstr "입력한 코드가 올바른 Hedy 코드가 아닙니다. {location[1]} 위치의 {location[0]} 행에 오류가 있습니다. `{character_found}`을(를) 입력했지만 이 코드는 허용되지 않습니다."
 
 #, fuzzy
 msgid "Pressit Missing Else"
-msgstr "다른 키를 누를 때 발생하는 작업을 코드에 {else}을(를) 추가하지 않았습니다"
+msgstr "다른 키를 누를 때 발생하는 작업을 코드에 `{else}`을(를) 추가하지 않았습니다"
+
+#, fuzzy
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -131,7 +138,7 @@ msgstr "{line_number} 행에 공백을 너무 많이 사용했습니다. {leadin
 
 #, fuzzy
 msgid "Unquoted Assignment"
-msgstr "이 레벨에서 따옴표 사이 {is}의 오른쪽에 텍스트를 배치해야 합니다. {text} 텍스트의 경우 이를 잊어버린 것입니다."
+msgstr "이 레벨에서 따옴표 사이 `{is}`의 오른쪽에 텍스트를 배치해야 합니다. {text} 텍스트의 경우 이를 잊어버린 것입니다."
 
 #, fuzzy
 msgid "Unquoted Equality Check"
@@ -139,7 +146,7 @@ msgstr "변수가 여러 단어와 같은지 확인하려면 단어를 따옴표
 
 #, fuzzy
 msgid "Unquoted Text"
-msgstr "주의하십시오. {ask} 또는 {print} 작업을 수행할 경우 텍스트는 따옴표로 시작하고 끝을 맺어야 합니다. {unquotedtext} 텍스트에 대해 잊어버린 것입니다."
+msgstr "주의하십시오. `{ask}` 또는 `{print}` 작업을 수행할 경우 텍스트는 따옴표로 시작하고 끝을 맺어야 합니다. {unquotedtext} 텍스트에 대해 잊어버린 것입니다."
 
 #, fuzzy
 msgid "Unsupported Float"
@@ -147,7 +154,7 @@ msgstr "정수가 아닌 숫자는 아직 지원되지 않지만 몇 가지 레
 
 #, fuzzy
 msgid "Unsupported String Value"
-msgstr "텍스트 값에는 {invalid_value}이(가) 포함될 수 없습니다."
+msgstr "텍스트 값에는 `{invalid_value}`이(가) 포함될 수 없습니다."
 
 #, fuzzy
 msgid "Unused Variable"
@@ -155,11 +162,11 @@ msgstr "You defined the variable {variable_name} on line {line_number}, but you
 
 #, fuzzy
 msgid "Var Undefined"
-msgstr "{name} 변수를 사용하려고 했지만 설정하지 않았습니다. {name} 단어를 사용하려고 했지만 따옴표를 잊어버렸을 수도 있습니다."
+msgstr "`{name}` 변수를 사용하려고 했지만 설정하지 않았습니다. `{name}` 단어를 사용하려고 했지만 따옴표를 잊어버렸을 수도 있습니다."
 
 #, fuzzy
 msgid "Wrong Level"
-msgstr "올바른 Hedy 코드이지만 올바른 레벨은 아닙니다. {working_level} 레벨에 대해 {offending_keyword}을(를) 작성했습니다. 팁: {tip}"
+msgstr "올바른 Hedy 코드이지만 올바른 레벨은 아닙니다. {working_level} 레벨에 대해 `{offending_keyword}`을(를) 작성했습니다. 팁: {tip}"
 
 #, fuzzy
 msgid "Wrong Number of Arguments"
@@ -334,7 +341,7 @@ msgstr "확실하신가요? 이 작업은 뒤로 되돌릴 수 없습니다."
 
 #, fuzzy
 msgid "ask_needs_var"
-msgstr "레벨 2부터 {ask}을(를) 변수와 함께 사용해야 합니다. 예: 이름 {is} {ask} 무엇이라고 부르십니까?"
+msgstr "레벨 2부터 `{ask}`을(를) 변수와 함께 사용해야 합니다. 예: 이름 `{is}` `{ask}` 무엇이라고 부르십니까?"
 
 #, fuzzy
 msgid "become_a_sponsor"
@@ -361,15 +368,8 @@ msgid "cant_parse_exception"
 msgstr "프로그램을 구문 분석할 수 없습니다"
 
 #, fuzzy
-msgid "catch_index_exception"
-msgstr "{list_name} 목록에 액세스하려고 했지만 비어 있거나 인덱스가 없습니다."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-#, fuzzy
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "{name} 목록에 액세스하려고 했지만 비어 있거나 인덱스가 없습니다."
 
 #, fuzzy
 msgid "certificate"
@@ -709,7 +709,7 @@ msgstr "에코 및 질문 불일치"
 
 #, fuzzy
 msgid "echo_out"
-msgstr "더 이상 레벨 2 {echo}에서 시작할 필요가 없습니다. 이제 {ask}과(와) {print}(으)로 응답을 반복할 수 있습니다. 예: 이름은 {ask}입니다. 무엇이라고 부르십니까? {print} hello name"
+msgstr "더 이상 레벨 2 `{echo}`에서 시작할 필요가 없습니다. 이제 `{ask}`과(와) `{print}`(으)로 응답을 반복할 수 있습니다. 예: 이름은 `{ask}`입니다. 무엇이라고 부르십니까? `{print}` hello name"
 
 #, fuzzy
 msgid "edit_adventure"
@@ -1025,7 +1025,7 @@ msgstr "\"잘못된 들여쓰기 입니다"
 
 #, fuzzy
 msgid "input"
-msgstr "{ask}에서 입력"
+msgstr "`{ask}`에서 입력"
 
 #, fuzzy
 msgid "integer"
@@ -1416,7 +1416,7 @@ msgstr "This user hasn't earned the Hedy Certificate of Completion"
 
 #, fuzzy
 msgid "no_more_flat_if"
-msgstr "Starting in level 8, the code after {if} needs to be placed on the next line and start with 4 spaces."
+msgstr "Starting in level 8, the code after `{if}` needs to be placed on the next line and start with 4 spaces."
 
 #, fuzzy
 msgid "no_programs"
@@ -1814,7 +1814,7 @@ msgstr "Repair program icon"
 
 #, fuzzy
 msgid "repeat_dep"
-msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8."
+msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8."
 
 #, fuzzy
 msgid "repeat_match_password"
diff --git a/translations/mi/LC_MESSAGES/messages.po b/translations/mi/LC_MESSAGES/messages.po
index 5c720959c50..d3dd7c04603 100644
--- a/translations/mi/LC_MESSAGES/messages.po
+++ b/translations/mi/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: mi\n"
@@ -24,7 +24,7 @@ msgstr "You tried to use the variable {name} on line {access_line_number}, but y
 
 #, fuzzy
 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."
+msgstr "The name `{variable}` needs to be set before you can use it on the right-hand side of the `{is}` command."
 
 #, fuzzy
 msgid "Function Undefined"
@@ -36,27 +36,27 @@ msgstr "Your code is incomplete. It contains blanks that you have to replace wit
 
 #, fuzzy
 msgid "Incomplete"
-msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind {incomplete_command}."
+msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind `{incomplete_command}`."
 
 #, fuzzy
 msgid "Incomplete Repeat"
-msgstr "It looks like you forgot to use a command with the {repeat} command you used on line {line_number}."
+msgstr "It looks like you forgot to use a `{command}` with the `{repeat}` command you used on line {line_number}."
 
 #, fuzzy
 msgid "Invalid"
-msgstr "{invalid_command} is not a Hedy level {level} command. Did you mean {guessed_command}?"
+msgstr "`{invalid_command}` is not a Hedy level {level} command. Did you mean `{guessed_command}`?"
 
 #, fuzzy
 msgid "Invalid Argument"
-msgstr "You cannot use the command {command} with {invalid_argument}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use the command `{command}` with `{invalid_argument}`. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid Argument Type"
-msgstr "You cannot use {command} with {invalid_argument} because it is {invalid_type}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use `{command}` with `{invalid_argument}` because it is {invalid_type}. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid At Command"
-msgstr "The {command} command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
+msgstr "The `{command}` command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
 
 #, fuzzy
 msgid "Invalid Space"
@@ -64,7 +64,7 @@ msgstr "Oops! You started a line with a space on line {line_number}. Spaces conf
 
 #, fuzzy
 msgid "Invalid Type Combination"
-msgstr "You cannot use {invalid_argument} and {invalid_argument_2} with {command} because one is {invalid_type} and the other is {invalid_type_2}. Try changing {invalid_argument} to {invalid_type_2} or {invalid_argument_2} to {invalid_type}."
+msgstr "You cannot use `{invalid_argument}` and `{invalid_argument_2}` with `{command}` because one is {invalid_type} and the other is {invalid_type_2}. Try changing `{invalid_argument}` to {invalid_type_2} or `{invalid_argument_2}` to {invalid_type}."
 
 #, fuzzy
 msgid "Locked Language Feature"
@@ -72,7 +72,7 @@ msgstr "You are using {concept}! That is awesome, but {concept} is not unlocked
 
 #, fuzzy
 msgid "Lonely Echo"
-msgstr "You used an {echo} before an {ask}, or an {echo} without an {ask}. Place an {ask} before the {echo}."
+msgstr "You used an `{echo}` before an `{ask}`, or an `{echo}` without an `{ask}`. Place an `{ask}` before the `{echo}`."
 
 #, fuzzy
 msgid "Lonely Text"
@@ -80,7 +80,7 @@ msgstr "It looks like you forgot to use a command with the text you used in line
 
 #, fuzzy
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}."
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}."
 
 #, fuzzy
 msgid "Missing Command"
@@ -88,18 +88,18 @@ msgstr "It looks like you forgot to use a command on line {line_number}."
 
 #, fuzzy
 msgid "Missing Inner Command"
-msgstr "It looks like you forgot to use a command with the {command} statement you used on line {line_number}."
+msgstr "It looks like you forgot to use a command with the `{command}` statement you used on line {line_number}."
 
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}."
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}."
 
 #, fuzzy
 msgid "Missing Variable"
-msgstr "It looks like your {command} is missing a variable at the start of the line."
+msgstr "It looks like your `{command}` is missing a variable at the start of the line."
 
 #, fuzzy
 msgid "Misspelled At Command"
-msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}."
+msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}."
 
 #, fuzzy
 msgid "No Indentation"
@@ -111,11 +111,18 @@ msgstr "At line {line_number}, you might have tried using a number which Hedy do
 
 #, fuzzy
 msgid "Parse"
-msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed {character_found}, but that is not allowed."
+msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed `{character_found}`, but that is not allowed."
 
 #, fuzzy
 msgid "Pressit Missing Else"
-msgstr "You forgot to add what happens when you press a different key, add an {else} to your code"
+msgstr "You forgot to add what happens when you press a different key, add an `{else}` to your code"
+
+#, fuzzy
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -131,7 +138,7 @@ msgstr "You used too many spaces in line {line_number}. You used {leading_spaces
 
 #, fuzzy
 msgid "Unquoted Assignment"
-msgstr "From this level, you need to place texts to the right of the {is} between quotes. You forgot that for the text {text}."
+msgstr "From this level, you need to place texts to the right of the `{is}` between quotes. You forgot that for the text {text}."
 
 #, fuzzy
 msgid "Unquoted Equality Check"
@@ -139,15 +146,15 @@ msgstr "If you want to check if a variable is equal to multiple words, the words
 
 #, fuzzy
 msgid "Unquoted Text"
-msgstr "Be careful. If you {ask} or {print} something, the text should start and finish with a quotation mark. You forgot that for the text {unquotedtext}."
+msgstr "Be careful. If you `{ask}` or `{print}` something, the text should start and finish with a quotation mark. You forgot that for the text {unquotedtext}."
 
 #, fuzzy
 msgid "Unsupported Float"
-msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change {value} to an integer."
+msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change `{value}` to an integer."
 
 #, fuzzy
 msgid "Unsupported String Value"
-msgstr "Text values cannot contain {invalid_value}."
+msgstr "Text values cannot contain `{invalid_value}`."
 
 #, fuzzy
 msgid "Unused Variable"
@@ -155,11 +162,11 @@ msgstr "You defined the variable {variable_name} on line {line_number}, but you
 
 #, fuzzy
 msgid "Var Undefined"
-msgstr "You tried to use the variable {name}, but you didn't set it. It is also possible that you were trying to use the word {name} but forgot quotation marks."
+msgstr "You tried to use the variable `{name}`, but you didn't set it. It is also possible that you were trying to use the word `{name}` but forgot quotation marks."
 
 #, fuzzy
 msgid "Wrong Level"
-msgstr "That was correct Hedy code, but it statusnot at the right level. You wrote {offending_keyword} for level {working_level}. Tip: {tip}"
+msgstr "That was correct Hedy code, but it statusnot at the right level. You wrote `{offending_keyword}` for level {working_level}. Tip: {tip}"
 
 #, fuzzy
 msgid "Wrong Number of Arguments"
@@ -334,7 +341,7 @@ msgstr "Are you sure? You cannot revert this action."
 
 #, fuzzy
 msgid "ask_needs_var"
-msgstr "Starting in level 2, {ask} needs to be used with a variable. Example: name {is} {ask} What is your name?"
+msgstr "Starting in level 2, `{ask}` needs to be used with a variable. Example: name `{is}` `{ask}` What is your name?"
 
 #, fuzzy
 msgid "become_a_sponsor"
@@ -361,15 +368,8 @@ msgid "cant_parse_exception"
 msgstr "Couldn't parse the program"
 
 #, fuzzy
-msgid "catch_index_exception"
-msgstr "You tried to access the list {list_name} but it is either empty or the index is not there."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-#, fuzzy
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "You tried to access the list {name} but it is either empty or the index is not there."
 
 #, fuzzy
 msgid "certificate"
@@ -1025,7 +1025,7 @@ msgstr "Incorrect Indentation"
 
 #, fuzzy
 msgid "input"
-msgstr "input from {ask}"
+msgstr "input from `{ask}`"
 
 #, fuzzy
 msgid "integer"
@@ -1416,7 +1416,7 @@ msgstr "This user hasn't earned the Hedy Certificate of Completion"
 
 #, fuzzy
 msgid "no_more_flat_if"
-msgstr "Starting in level 8, the code after {if} needs to be placed on the next line and start with 4 spaces."
+msgstr "Starting in level 8, the code after `{if}` needs to be placed on the next line and start with 4 spaces."
 
 #, fuzzy
 msgid "no_programs"
@@ -1815,7 +1815,7 @@ msgstr "Repair program icon"
 
 #, fuzzy
 msgid "repeat_dep"
-msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8."
+msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8."
 
 #, fuzzy
 msgid "repeat_match_password"
diff --git a/translations/nb_NO/LC_MESSAGES/messages.po b/translations/nb_NO/LC_MESSAGES/messages.po
index f2c420df1d9..f9a1e3e510c 100644
--- a/translations/nb_NO/LC_MESSAGES/messages.po
+++ b/translations/nb_NO/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: nb_NO\n"
@@ -23,7 +23,7 @@ msgid "Access Before Assign"
 msgstr "You tried to use the variable {name} on line {access_line_number}, but you set it on line {definition_line_number}. Set a variable before using it."
 
 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"
+msgstr "Variabelen `{variable}` må opprettes og gis en verdi før du kan bruke den på høyre siden av hvis-kommandoen"
 
 #, fuzzy
 msgid "Function Undefined"
@@ -33,30 +33,30 @@ msgid "Has Blanks"
 msgstr "Koden din er uferdig. Den inneholder tomrom du må erstatte med kode."
 
 msgid "Incomplete"
-msgstr "Oisann! Du glemte litt kode! På linje {line_number}, må du legge til tekst etter {incomplete_command}."
+msgstr "Oisann! Du glemte litt kode! På linje {line_number}, må du legge til tekst etter `{incomplete_command}`."
 
 #, fuzzy
 msgid "Incomplete Repeat"
-msgstr "It looks like you forgot to use {command} with the repeat command you used on line {line_number}."
+msgstr "It looks like you forgot to use `{command}` with the repeat command you used on line {line_number}."
 
 msgid "Invalid"
-msgstr "{invalid_command} er ikke en Hedy nivå {level} kommando. Mente du {guessed_command}?"
+msgstr "`{invalid_command}` er ikke en Hedy nivå {level} kommando. Mente du `{guessed_command}`?"
 
 msgid "Invalid Argument"
-msgstr "Du kan ikke bruke kommandoen {command} med {invalid_argument}. Prøv å endre {invalid_argument} til {allowed_types}."
+msgstr "Du kan ikke bruke kommandoen `{command}` med `{invalid_argument}`. Prøv å endre `{invalid_argument}` til {allowed_types}."
 
 msgid "Invalid Argument Type"
-msgstr "Du kan ikke bruke {command} med {invalid_argument} fordi det er {invalid_type}. Prøv å endre {invalid_argument} til {allowed_types}."
+msgstr "Du kan ikke bruke `{command}` med `{invalid_argument}` fordi det er {invalid_type}. Prøv å endre `{invalid_argument}` til {allowed_types}."
 
 #, fuzzy
 msgid "Invalid At Command"
-msgstr "The {at} command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
+msgstr "The `{command}` command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
 
 msgid "Invalid Space"
 msgstr "Oisann! Du begynte linjen med et mellomrom på linje {line_number}. Mellomrom forvirrer datamaskiner, kan du fjerne det?"
 
 msgid "Invalid Type Combination"
-msgstr "Du kan ikke bruke {invalid_argument} og {invalid_argument_2} i {command} fordi en er {invalid_type} og den andre er {invalid_type_2}. Prøv å endre {invalid_argument} til {invalid_type_2} eller {invalid_argument_2} til {invalid_type}."
+msgstr "Du kan ikke bruke `{invalid_argument}` og `{invalid_argument_2}` i `{command}` fordi en er {invalid_type} og den andre er {invalid_type_2}. Prøv å endre `{invalid_argument}` til {invalid_type_2} eller `{invalid_argument_2}` til {invalid_type}."
 
 msgid "Locked Language Feature"
 msgstr "Du bruker {concept}! Det er fantastisk, men {concept} er ikke låst opp enda! Det vil bli låst opp på et senere nivå."
@@ -70,7 +70,7 @@ msgstr "It looks like you forgot to use a command with the text you put in line
 
 #, fuzzy
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}."
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}."
 
 msgid "Missing Command"
 msgstr "Det ser ut som du glemte å bruke en kommando på linje line {line_number}."
@@ -80,15 +80,15 @@ msgid "Missing Inner Command"
 msgstr "Det ser ut som du glemte å bruke en kommando på linje line {line_number}."
 
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}."
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}."
 
 #, fuzzy
 msgid "Missing Variable"
-msgstr "It looks like your {command} is missing a variable at the start of the line."
+msgstr "It looks like your `{command}` is missing a variable at the start of the line."
 
 #, fuzzy
 msgid "Misspelled At Command"
-msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}."
+msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}."
 
 msgid "No Indentation"
 msgstr "Du brukte for få mellomrom på linje {line_number}. Du brukte {leading_spaces} mellomrom, dette er ikke nok. Start hver nye kodeblokk med {indent_size} mellomrom mer enn linjen før."
@@ -98,11 +98,18 @@ msgid "Non Decimal Variable"
 msgstr "At line {line_number}, you might have tried using a number which Hedy does not like very much! Try changing it to a decimal number like 2."
 
 msgid "Parse"
-msgstr "Koden du skrev inn er ikke korrekt Hedy kode. Det er en feil på linje {location[0]}, på posisjon {location[1]}. Du skrev {character_found}, men det er ikke lov."
+msgstr "Koden du skrev inn er ikke korrekt Hedy kode. Det er en feil på linje {location[0]}, på posisjon {location[1]}. Du skrev `{character_found}`, men det er ikke lov."
 
 #, fuzzy
 msgid "Pressit Missing Else"
-msgstr "You forgot to add what happens when you press a different key, add an {else} to your code"
+msgstr "You forgot to add what happens when you press a different key, add an `{else}` to your code"
+
+#, fuzzy
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -124,21 +131,21 @@ msgid "Unquoted Text"
 msgstr "Vær forsiktig. Hvis du spør eller skriver ut noe så må du huske å begynne og avslutte teksten med en apostrof. Du glemte en apostrof en plass."
 
 msgid "Unsupported Float"
-msgstr "Desimaltall er ikke støttet enda, men de er det om noen nivåer. Du må endre {value} til ett heltall på dette nivået."
+msgstr "Desimaltall er ikke støttet enda, men de er det om noen nivåer. Du må endre `{value}` til ett heltall på dette nivået."
 
 #, fuzzy
 msgid "Unsupported String Value"
-msgstr "Text values cannot contain {invalid_value}."
+msgstr "Text values cannot contain `{invalid_value}`."
 
 #, fuzzy
 msgid "Unused Variable"
 msgstr "You defined the variable {variable_name} on line {line_number}, but you did not use it."
 
 msgid "Var Undefined"
-msgstr "Du prøvde å bruke variabelen {name}, men den finnes ikke. Det kan også være at du prøvde å bruke ordet {name} men at du glemte apostrof-tegnene."
+msgstr "Du prøvde å bruke variabelen `{name}`, men den finnes ikke. Det kan også være at du prøvde å bruke ordet `{name}` men at du glemte apostrof-tegnene."
 
 msgid "Wrong Level"
-msgstr "Det var korrekt Hedy kode, men det var feil nivå. Du skrev {offending_keyword} for nivå {working_level}. Tips: {tip}"
+msgstr "Det var korrekt Hedy kode, men det var feil nivå. Du skrev `{offending_keyword}` for nivå {working_level}. Tips: {tip}"
 
 #, fuzzy
 msgid "Wrong Number of Arguments"
@@ -314,15 +321,8 @@ msgid "cant_parse_exception"
 msgstr "Couldn't parse the program"
 
 #, fuzzy
-msgid "catch_index_exception"
-msgstr "You tried to access the list {list_name} but it is either empty or the index is not there."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-#, fuzzy
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "You tried to access the list {name} but it is either empty or the index is not there."
 
 #, fuzzy
 msgid "certificate"
@@ -1233,7 +1233,7 @@ msgstr "This user hasn't earned the Hedy Certificate of Completion"
 
 #, fuzzy
 msgid "no_more_flat_if"
-msgstr "Starting in level 8, the code after {if} needs to be placed on the next line and start with 4 spaces."
+msgstr "Starting in level 8, the code after `{if}` needs to be placed on the next line and start with 4 spaces."
 
 #, fuzzy
 msgid "no_programs"
@@ -1565,7 +1565,7 @@ msgstr "Repair program icon"
 
 #, fuzzy
 msgid "repeat_dep"
-msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8."
+msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8."
 
 msgid "repeat_match_password"
 msgstr "Passordene du fylte inn er ikke like."
@@ -2044,7 +2044,9 @@ msgstr "Tutorial"
 
 #, fuzzy
 msgid "tutorial_code_snippet"
-msgstr "Skjul hjelpeark"
+msgstr ""
+"{print} Hello world!\n"
+"{print} I'm learning Hedy with the tutorial!"
 
 #, fuzzy
 msgid "tutorial_message_not_found"
diff --git a/translations/nl/LC_MESSAGES/messages.po b/translations/nl/LC_MESSAGES/messages.po
index 371e8a9dbe4..503431b920a 100644
--- a/translations/nl/LC_MESSAGES/messages.po
+++ b/translations/nl/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: nl\n"
@@ -22,7 +22,7 @@ msgid "Access Before Assign"
 msgstr "Je probeerde de variabele {name} te gebruiken op regel {access_line_number}, maar stelt de variabele in op regel {definition_line_number}. Stel een variabele in voor je die gebruikt."
 
 msgid "Cyclic Var Definition"
-msgstr "De variabele {variable} moet worden ingesteld voor je die aan de rechterkant van een {is} mag gebruiken."
+msgstr "De variabele `{variable}` moet worden ingesteld voor je die aan de rechterkant van een `{is}` mag gebruiken."
 
 msgid "Function Undefined"
 msgstr "Je gebruikt de functie {name} te gebruiken, maar je hebt die niet gedefinieerd."
@@ -31,56 +31,56 @@ msgid "Has Blanks"
 msgstr "Je code is onvolledig. Er zijn nog invulplaatsen die je moet vervangen door code."
 
 msgid "Incomplete"
-msgstr "Let op, je bent een stukje code vergeten. Op regel {line_number} moet er achter {incomplete_command} nog tekst komen."
+msgstr "Let op, je bent een stukje code vergeten. Op regel {line_number} moet er achter `{incomplete_command}` nog tekst komen."
 
 msgid "Incomplete Repeat"
-msgstr "Het lijkt erop dat je vergeten bent om het {repeat} commando op regel {line_number} in te vullen."
+msgstr "Het lijkt erop dat je vergeten bent om het `{repeat}` commando op regel {line_number} in te vullen."
 
 msgid "Invalid"
-msgstr "{invalid_command} is geen commando in Hedy level {level}. Bedoelde je {guessed_command}?"
+msgstr "`{invalid_command}` is geen commando in Hedy level {level}. Bedoelde je `{guessed_command}`?"
 
 msgid "Invalid Argument"
-msgstr "Je kan commando {command} niet gebruiken met {invalid_argument}. Probeer {invalid_argument} te vervangen door iets uit {allowed_types}."
+msgstr "Je kan commando `{command}` niet gebruiken met `{invalid_argument}`. Probeer `{invalid_argument}` te vervangen door iets uit {allowed_types}."
 
 msgid "Invalid Argument Type"
-msgstr "Je kan {command} niet gebruiken met {invalid_argument} omdat dat {invalid_type} is. Je kan {{invalid_argument}} wel gebruiken met {allowed_types}."
+msgstr "Je kan `{command}` niet gebruiken met `{invalid_argument}` omdat dat {invalid_type} is. Je kan `{invalid_argument}` wel gebruiken met {allowed_types}."
 
 msgid "Invalid At Command"
-msgstr "Het {command} commando mag niet gebruikt worden van af level 16. Je kunt blokhaken gebruiken om een element uit een lijst te gebruiken, bijvoorbeeld `vrienden[i]`, `geluksnummers[{random}]`."
+msgstr "Het `{command}` commando mag niet gebruikt worden van af level 16. Je kunt blokhaken gebruiken om een element uit een lijst te gebruiken, bijvoorbeeld `vrienden[i]`, `geluksnummers[{random}]`."
 
 msgid "Invalid Space"
 msgstr "Oeps! Regel {line_number} begint met een spatie. Computers kunnen niet zo goed tegen spaties, kun je 'm weghalen?"
 
 msgid "Invalid Type Combination"
-msgstr "Je kan {invalid_argument} en {invalid_argument_2} niet gebruiken met {command} omdat de ene {invalid_type} is, en de andere {invalid_type_2}. Verander {invalid_argument} in {invalid_type_2} of {invalid_argument_2} in {invalid_type}."
+msgstr "Je kan `{invalid_argument}` en `{invalid_argument_2}` niet gebruiken met `{command}` omdat de ene {invalid_type} is, en de andere {invalid_type_2}. Verander `{invalid_argument}` in {invalid_type_2} of `{invalid_argument_2}` in {invalid_type}."
 
 msgid "Locked Language Feature"
 msgstr "In jouw programma zit {concept}! Goed gedaan! Maar {concept} is nog niet beschikbaar. Dat komt in een later level."
 
 msgid "Lonely Echo"
-msgstr "Je gebruikt een {echo} voor een {ask}, of een {echo} zonder een {ask}. Gebruik altijd een {ask} voor een {echo}."
+msgstr "Je gebruikt een `{echo}` voor een `{ask}`, of een `{echo}` zonder een `{ask}`. Gebruik altijd een `{ask}` voor een `{echo}`."
 
 msgid "Lonely Text"
 msgstr "Het lijkt erop dat je bent vergeten bent een commando te gebruiken in de tekst die je op regel {line_number} hebt geschreven"
 
 msgid "Missing Additional Command"
-msgstr "Het lijkt erop dat je {command} niet volledig hebt geschreven op regel {line_number}. Probeer {missing_command} toe te voegen aan je code."
+msgstr "Het lijkt erop dat je `{command}` niet volledig hebt geschreven op regel {line_number}. Probeer `{missing_command}` toe te voegen aan je code."
 
 msgid "Missing Command"
 msgstr "Het lijkt erop dat je vergeten bent om een commando te gebruiken op regel {line_number}."
 
 msgid "Missing Inner Command"
-msgstr "Het lijkt erop dat je vergeten bent om het {command} commando op regel {line_number} in te vullen."
+msgstr "Het lijkt erop dat je vergeten bent om het `{command}` commando op regel {line_number} in te vullen."
 
 #, fuzzy
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}."
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}."
 
 msgid "Missing Variable"
-msgstr "Het lijkt erop dat {command} een variabele mist op het begin van de regel."
+msgstr "Het lijkt erop dat `{command}` een variabele mist op het begin van de regel."
 
 msgid "Misspelled At Command"
-msgstr "Je hebt {command} verkeerd geschreven, jij schreef {invalid_argument} op regel {line_number}."
+msgstr "Je hebt `{command}` verkeerd geschreven, jij schreef `{invalid_argument}` op regel {line_number}."
 
 msgid "No Indentation"
 msgstr "Je hebt te weinig spaties voor regel {line_number} gebruikt. Er staan {leading_spaces} spaties, maar dat is te weinig. Begin een blok steeds met {indent_size} meer spaties dan de regel ervoor."
@@ -89,10 +89,16 @@ msgid "Non Decimal Variable"
 msgstr "Op regel {line_number}, heb jij misschien geprobeerd om een nummer te gebruiken, iets dat Hedy niet leuk vindt! Probeer het te veranderen in een decimaal nummer, zoals 2."
 
 msgid "Parse"
-msgstr "De code die jij intypte is geen geldige Hedy code. Er zit een foutje op regel {location[0]}, op positie {location[1]}. Jij typte {character_found}, maar dat mag op die plek niet."
+msgstr "De code die jij intypte is geen geldige Hedy code. Er zit een foutje op regel {location[0]}, op positie {location[1]}. Jij typte `{character_found}`, maar dat mag op die plek niet."
 
 msgid "Pressit Missing Else"
-msgstr "Je moet ook nog instellen wat er gebeurt als je een andere toets indrukt. Voeg daarvoor een {else} toe aan je programma"
+msgstr "Je moet ook nog instellen wat er gebeurt als je een andere toets indrukt. Voeg daarvoor een `{else}` toe aan je programma"
+
+msgid "Runtime Value Error"
+msgstr "Tijdens het runnen van jouw programma heeft het commando `{command}` een waarde gekregen `{value}` wat niet is toegestaan. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -105,28 +111,28 @@ msgid "Unexpected Indentation"
 msgstr "Je hebt te veel spaties voor regel {line_number} gebruikt. Er staan {leading_spaces} spaties, maar dat is te veel. Begin een blok steeds met {indent_size} spaties."
 
 msgid "Unquoted Assignment"
-msgstr "Let op. Vanaf dit level moet je tekst rechts van de {is} tussen aanhalingstekens zetten. Jij bent dat vergeten voor de tekst {text}."
+msgstr "Let op. Vanaf dit level moet je tekst rechts van de `{is}` tussen aanhalingstekens zetten. Jij bent dat vergeten voor de tekst {text}."
 
 msgid "Unquoted Equality Check"
 msgstr "Als je wilt kijken of een variabele gelijk is aan meerdere woorden, moeten die woorden tussen aanhalingstekens staan!"
 
 msgid "Unquoted Text"
-msgstr "Let op! Bij {print} en {ask} moet voor én achter de tekst een aanhalingsteken komen. Jij bent dat vergeten voor de tekst {unquotedtext}."
+msgstr "Let op! Bij `{print}` en `{ask}` moet voor én achter de tekst een aanhalingsteken komen. Jij bent dat vergeten voor de tekst {unquotedtext}."
 
 msgid "Unsupported Float"
-msgstr "Helaas, Hedy ondersteunt nog geen kommagetallen. Verander {value} in een geheel getal."
+msgstr "Helaas, Hedy ondersteunt nog geen kommagetallen. Verander `{value}` in een geheel getal."
 
 msgid "Unsupported String Value"
-msgstr "Tekst waarden mogen geen {invalid_value} bevatten."
+msgstr "Tekst waarden mogen geen `{invalid_value}` bevatten."
 
 msgid "Unused Variable"
 msgstr "Jij definieerde de variable {variable_name} op regel {line_number}, maar die heb jij helemaal niet gebruikt."
 
 msgid "Var Undefined"
-msgstr "Je gebruikt de variabele {name}, maar die heb je niet ingesteld. Het kan ook zijn dat je het woord {name} wilde gebruiken en aanhalingstekens vergeten bent."
+msgstr "Je gebruikt de variabele `{name}`, maar die heb je niet ingesteld. Het kan ook zijn dat je het woord `{name}` wilde gebruiken en aanhalingstekens vergeten bent."
 
 msgid "Wrong Level"
-msgstr "Dat was goede code hoor, maar niet op het goede level. Je schreef een {offending_keyword} voor level {working_level}. Tip: {tip}"
+msgstr "Dat was goede code hoor, maar niet op het goede level. Je schreef een `{offending_keyword}` voor level {working_level}. Tip: {tip}"
 
 msgid "Wrong Number of Arguments"
 msgstr "Jouw functie gebruikt een verkeerd aantal argumenten. Jij gaf {used_number} argumenten, maar de functie {name} heeft er nodig: {defined_number}"
@@ -261,7 +267,7 @@ msgid "are_you_sure"
 msgstr "Weet je het zeker? Je kunt dit niet meer ongedaan maken."
 
 msgid "ask_needs_var"
-msgstr "Vanaf level 2 hoort {ask} met een variabele ervoor. Bijv: naam {is} {ask} Hoe heet jij?"
+msgstr "Vanaf level 2 hoort `{ask}` met een variabele ervoor. Bijv: naam `{is}` `{ask}` Hoe heet jij?"
 
 msgid "become_a_sponsor"
 msgstr "Word sponsor"
@@ -282,14 +288,8 @@ msgstr "Afbreken"
 msgid "cant_parse_exception"
 msgstr "We konden het programma niet lezen"
 
-msgid "catch_index_exception"
-msgstr "Je hebt geprobeerd de lijst {list_name} te gebruiken, maar deze is óf leeg óf de index bestaat niet."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-msgid "catch_value_exception"
-msgstr "Tijdens het runnen van jouw programma heeft het commando {command} een waarde gekregen {value} wat niet is toegestaan. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "Je hebt geprobeerd de lijst {name} te gebruiken, maar deze is óf leeg óf de index bestaat niet."
 
 msgid "certificate"
 msgstr "Certificaat van voltooiing"
@@ -546,7 +546,7 @@ msgid "echo_and_ask_mismatch_exception"
 msgstr "Echo en vraag kloppen niet met elkaar"
 
 msgid "echo_out"
-msgstr "Vanaf level 2 heb je geen {echo} meer nodig! Je kunt een variabele gebruiken om iets te herhalen, met {ask} en {print}. Voorbeeld: naam {is} {ask} Hoe heet jij? {print} hallo naam"
+msgstr "Vanaf level 2 heb je geen `{echo}` meer nodig! Je kunt een variabele gebruiken om iets te herhalen, met `{ask}` en `{print}`. Voorbeeld: naam `{is}` `{ask}` Hoe heet jij? `{print}` hallo naam"
 
 msgid "edit_adventure"
 msgstr "Aanpassen adventure"
@@ -789,7 +789,7 @@ msgid "indentation_exception"
 msgstr "Inspringen niet goed gebruikt"
 
 msgid "input"
-msgstr "invoer van {ask}"
+msgstr "invoer van `{ask}`"
 
 msgid "integer"
 msgstr "een getal"
@@ -1090,7 +1090,7 @@ msgid "no_certificate"
 msgstr "Deze gebruiker heeft het Hedy certificaat voor afronden niet behaald"
 
 msgid "no_more_flat_if"
-msgstr "Vanaf level 8 moet de code na {if} op de volgende regel komen en beginnen met 4 spaties."
+msgstr "Vanaf level 8 moet de code na `{if}` op de volgende regel komen en beginnen met 4 spaties."
 
 msgid "no_programs"
 msgstr "Er zijn geen programma's."
@@ -1390,7 +1390,7 @@ msgid "repair_program_logo_alt"
 msgstr "Repareer programma icon"
 
 msgid "repeat_dep"
-msgstr "Vanaf level 8 moet je regels van {repeat} inspringen. Hiervan heb je een voorbeeld op level 8 bij de {repeat} pagina."
+msgstr "Vanaf level 8 moet je regels van `{repeat}` inspringen. Hiervan heb je een voorbeeld op level 8 bij de `{repeat}` pagina."
 
 msgid "repeat_match_password"
 msgstr "Het herhaalde wachtwoord is niet gelijk."
diff --git a/translations/pa_PK/LC_MESSAGES/messages.po b/translations/pa_PK/LC_MESSAGES/messages.po
index f018e905221..b47656044fc 100644
--- a/translations/pa_PK/LC_MESSAGES/messages.po
+++ b/translations/pa_PK/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: pa_PK\n"
@@ -24,7 +24,7 @@ msgstr "You tried to use the variable {name} on line {access_line_number}, but y
 
 #, fuzzy
 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."
+msgstr "The name `{variable}` needs to be set before you can use it on the right-hand side of the `{is}` command."
 
 #, fuzzy
 msgid "Function Undefined"
@@ -36,27 +36,27 @@ msgstr "Your code is incomplete. It contains blanks that you have to replace wit
 
 #, fuzzy
 msgid "Incomplete"
-msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind {incomplete_command}."
+msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind `{incomplete_command}`."
 
 #, fuzzy
 msgid "Incomplete Repeat"
-msgstr "It looks like you forgot to use a command with the {repeat} command you used on line {line_number}."
+msgstr "It looks like you forgot to use a `{command}` with the `{repeat}` command you used on line {line_number}."
 
 #, fuzzy
 msgid "Invalid"
-msgstr "{invalid_command} is not a Hedy level {level} command. Did you mean {guessed_command}?"
+msgstr "`{invalid_command}` is not a Hedy level {level} command. Did you mean `{guessed_command}`?"
 
 #, fuzzy
 msgid "Invalid Argument"
-msgstr "You cannot use the command {command} with {invalid_argument}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use the command `{command}` with `{invalid_argument}`. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid Argument Type"
-msgstr "You cannot use {command} with {invalid_argument} because it is {invalid_type}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use `{command}` with `{invalid_argument}` because it is {invalid_type}. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid At Command"
-msgstr "The {at} command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
+msgstr "The `{command}` command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
 
 #, fuzzy
 msgid "Invalid Space"
@@ -64,7 +64,7 @@ msgstr "Oops! You started a line with a space on line {line_number}. Spaces conf
 
 #, fuzzy
 msgid "Invalid Type Combination"
-msgstr "You cannot use {invalid_argument} and {invalid_argument_2} with {command} because one is {invalid_type} and the other is {invalid_type_2}. Try changing {invalid_argument} to {invalid_type_2} or {invalid_argument_2} to {invalid_type}."
+msgstr "You cannot use `{invalid_argument}` and `{invalid_argument_2}` with `{command}` because one is {invalid_type} and the other is {invalid_type_2}. Try changing `{invalid_argument}` to {invalid_type_2} or `{invalid_argument_2}` to {invalid_type}."
 
 #, fuzzy
 msgid "Locked Language Feature"
@@ -72,7 +72,7 @@ msgstr "You are using {concept}! That is awesome, but {concept} is not unlocked
 
 #, fuzzy
 msgid "Lonely Echo"
-msgstr "You used an {echo} before an {ask}, or an {echo} without an {ask}. Place an {ask} before the {echo}."
+msgstr "You used an `{echo}` before an `{ask}`, or an `{echo}` without an `{ask}`. Place an `{ask}` before the `{echo}`."
 
 #, fuzzy
 msgid "Lonely Text"
@@ -80,7 +80,7 @@ msgstr "It looks like you forgot to use a command with the text you used in line
 
 #, fuzzy
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}."
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}."
 
 #, fuzzy
 msgid "Missing Command"
@@ -88,18 +88,18 @@ msgstr "It looks like you forgot to use a command on line {line_number}."
 
 #, fuzzy
 msgid "Missing Inner Command"
-msgstr "It looks like you forgot to use a command with the {command} statement you used on line {line_number}."
+msgstr "It looks like you forgot to use a command with the `{command}` statement you used on line {line_number}."
 
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}."
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}."
 
 #, fuzzy
 msgid "Missing Variable"
-msgstr "It looks like your {command} is missing a variable at the start of the line."
+msgstr "It looks like your `{command}` is missing a variable at the start of the line."
 
 #, fuzzy
 msgid "Misspelled At Command"
-msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}."
+msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}."
 
 #, fuzzy
 msgid "No Indentation"
@@ -111,11 +111,18 @@ msgstr "At line {line_number}, you might have tried using a number which Hedy do
 
 #, fuzzy
 msgid "Parse"
-msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed {character_found}, but that is not allowed."
+msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed `{character_found}`, but that is not allowed."
 
 #, fuzzy
 msgid "Pressit Missing Else"
-msgstr "You forgot to add what happens when you press a different key, add an {else} to your code"
+msgstr "You forgot to add what happens when you press a different key, add an `{else}` to your code"
+
+#, fuzzy
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -131,7 +138,7 @@ msgstr "You used too many spaces in line {line_number}. You used {leading_spaces
 
 #, fuzzy
 msgid "Unquoted Assignment"
-msgstr "From this level, you need to place texts to the right of the {is} between quotes. You forgot that for the text {text}."
+msgstr "From this level, you need to place texts to the right of the `{is}` between quotes. You forgot that for the text {text}."
 
 #, fuzzy
 msgid "Unquoted Equality Check"
@@ -139,15 +146,15 @@ msgstr "If you want to check if a variable is equal to multiple words, the words
 
 #, fuzzy
 msgid "Unquoted Text"
-msgstr "Be careful. If you {ask} or {print} something, the text should start and finish with a quotation mark. You forgot that for the text {unquotedtext}."
+msgstr "Be careful. If you `{ask}` or `{print}` something, the text should start and finish with a quotation mark. You forgot that for the text {unquotedtext}."
 
 #, fuzzy
 msgid "Unsupported Float"
-msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change {value} to an integer."
+msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change `{value}` to an integer."
 
 #, fuzzy
 msgid "Unsupported String Value"
-msgstr "Text values cannot contain {invalid_value}."
+msgstr "Text values cannot contain `{invalid_value}`."
 
 #, fuzzy
 msgid "Unused Variable"
@@ -155,11 +162,11 @@ msgstr "You defined the variable {variable_name} on line {line_number}, but you
 
 #, fuzzy
 msgid "Var Undefined"
-msgstr "You tried to use the variable {name}, but you didn't set it. It is also possible that you were trying to use the word {name} but forgot quotation marks."
+msgstr "You tried to use the variable `{name}`, but you didn't set it. It is also possible that you were trying to use the word `{name}` but forgot quotation marks."
 
 #, fuzzy
 msgid "Wrong Level"
-msgstr "That was correct Hedy code, but not at the right level. You wrote {offending_keyword} for level {working_level}. Tip: {tip}"
+msgstr "That was correct Hedy code, but not at the right level. You wrote `{offending_keyword}` for level {working_level}. Tip: {tip}"
 
 #, fuzzy
 msgid "Wrong Number of Arguments"
@@ -334,7 +341,7 @@ msgstr "Are you sure? You cannot revert this action."
 
 #, fuzzy
 msgid "ask_needs_var"
-msgstr "Starting in level 2, {ask} needs to be used with a variable. Example: name {is} {ask} What are you called?"
+msgstr "Starting in level 2, `{ask}` needs to be used with a variable. Example: name `{is}` `{ask}` What are you called?"
 
 #, fuzzy
 msgid "become_a_sponsor"
@@ -361,15 +368,8 @@ msgid "cant_parse_exception"
 msgstr "Couldn't parse the program"
 
 #, fuzzy
-msgid "catch_index_exception"
-msgstr "You tried to access the list {list_name} but it is either empty or the index is not there."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-#, fuzzy
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "You tried to access the list {name} but it is either empty or the index is not there."
 
 #, fuzzy
 msgid "certificate"
@@ -709,7 +709,7 @@ msgstr "Echo and ask mismatch"
 
 #, fuzzy
 msgid "echo_out"
-msgstr "Starting in level 2 {echo} is no longer needed. You can repeat an answer with {ask} and {print} now. Example: name is {ask} What are you called? {print} hello name"
+msgstr "Starting in level 2 `{echo}` is no longer needed. You can repeat an answer with `{ask}` and `{print}` now. Example: name is `{ask}` What are you called? `{print}` hello name"
 
 #, fuzzy
 msgid "edit_adventure"
@@ -1023,7 +1023,7 @@ msgstr "Incorrect Indentation"
 
 #, fuzzy
 msgid "input"
-msgstr "input from {ask}"
+msgstr "input from `{ask}`"
 
 #, fuzzy
 msgid "integer"
@@ -1413,7 +1413,7 @@ msgstr "This user hasn't earned the Hedy Certificate of Completion"
 
 #, fuzzy
 msgid "no_more_flat_if"
-msgstr "Starting in level 8, the code after {if} needs to be placed on the next line and start with 4 spaces."
+msgstr "Starting in level 8, the code after `{if}` needs to be placed on the next line and start with 4 spaces."
 
 #, fuzzy
 msgid "no_programs"
@@ -1809,7 +1809,7 @@ msgstr "Repair program icon"
 
 #, fuzzy
 msgid "repeat_dep"
-msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8."
+msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8."
 
 #, fuzzy
 msgid "repeat_match_password"
diff --git a/translations/pap/LC_MESSAGES/messages.po b/translations/pap/LC_MESSAGES/messages.po
index 74f0572b465..c0d13f82958 100644
--- a/translations/pap/LC_MESSAGES/messages.po
+++ b/translations/pap/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: pap\n"
@@ -24,7 +24,7 @@ msgstr "You tried to use the variable {name} on line {access_line_number}, but y
 
 #, fuzzy
 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."
+msgstr "The name `{variable}` needs to be set before you can use it on the right-hand side of the `{is}` command."
 
 #, fuzzy
 msgid "Function Undefined"
@@ -36,27 +36,27 @@ msgstr "Your code is incomplete. It contains blanks that you have to replace wit
 
 #, fuzzy
 msgid "Incomplete"
-msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind {incomplete_command}."
+msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind `{incomplete_command}`."
 
 #, fuzzy
 msgid "Incomplete Repeat"
-msgstr "It looks like you forgot to use a command with the {repeat} command you used on line {line_number}."
+msgstr "It looks like you forgot to use a `{command}` with the `{repeat}` command you used on line {line_number}."
 
 #, fuzzy
 msgid "Invalid"
-msgstr "{invalid_command} is not a Hedy level {level} command. Did you mean {guessed_command}?"
+msgstr "`{invalid_command}` is not a Hedy level {level} command. Did you mean `{guessed_command}`?"
 
 #, fuzzy
 msgid "Invalid Argument"
-msgstr "You cannot use the command {command} with {invalid_argument}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use the command `{command}` with `{invalid_argument}`. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid Argument Type"
-msgstr "You cannot use {command} with {invalid_argument} because it is {invalid_type}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use `{command}` with `{invalid_argument}` because it is {invalid_type}. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid At Command"
-msgstr "The {at} command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
+msgstr "The `{command}` command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
 
 #, fuzzy
 msgid "Invalid Space"
@@ -64,7 +64,7 @@ msgstr "Oops! You started a line with a space on line {line_number}. Spaces conf
 
 #, fuzzy
 msgid "Invalid Type Combination"
-msgstr "You cannot use {invalid_argument} and {invalid_argument_2} with {command} because one is {invalid_type} and the other is {invalid_type_2}. Try changing {invalid_argument} to {invalid_type_2} or {invalid_argument_2} to {invalid_type}."
+msgstr "You cannot use `{invalid_argument}` and `{invalid_argument_2}` with `{command}` because one is {invalid_type} and the other is {invalid_type_2}. Try changing `{invalid_argument}` to {invalid_type_2} or `{invalid_argument_2}` to {invalid_type}."
 
 #, fuzzy
 msgid "Locked Language Feature"
@@ -72,7 +72,7 @@ msgstr "You are using {concept}! That is awesome, but {concept} is not unlocked
 
 #, fuzzy
 msgid "Lonely Echo"
-msgstr "You used an {echo} before an {ask}, or an {echo} without an {ask}. Place an {ask} before the {echo}."
+msgstr "You used an `{echo}` before an `{ask}`, or an `{echo}` without an `{ask}`. Place an `{ask}` before the `{echo}`."
 
 #, fuzzy
 msgid "Lonely Text"
@@ -80,7 +80,7 @@ msgstr "It looks like you forgot to use a command with the text you used in line
 
 #, fuzzy
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}."
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}."
 
 #, fuzzy
 msgid "Missing Command"
@@ -88,18 +88,18 @@ msgstr "It looks like you forgot to use a command on line {line_number}."
 
 #, fuzzy
 msgid "Missing Inner Command"
-msgstr "It looks like you forgot to use a command with the {command} statement you used on line {line_number}."
+msgstr "It looks like you forgot to use a command with the `{command}` statement you used on line {line_number}."
 
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}."
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}."
 
 #, fuzzy
 msgid "Missing Variable"
-msgstr "It looks like your {command} is missing a variable at the start of the line."
+msgstr "It looks like your `{command}` is missing a variable at the start of the line."
 
 #, fuzzy
 msgid "Misspelled At Command"
-msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}."
+msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}."
 
 #, fuzzy
 msgid "No Indentation"
@@ -111,11 +111,18 @@ msgstr "At line {line_number}, you might have tried using a number which Hedy do
 
 #, fuzzy
 msgid "Parse"
-msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed {character_found}, but that is not allowed."
+msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed `{character_found}`, but that is not allowed."
 
 #, fuzzy
 msgid "Pressit Missing Else"
-msgstr "You forgot to add what happens when you press a different key, add an {else} to your code"
+msgstr "You forgot to add what happens when you press a different key, add an `{else}` to your code"
+
+#, fuzzy
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -131,7 +138,7 @@ msgstr "You used too many spaces in line {line_number}. You used {leading_spaces
 
 #, fuzzy
 msgid "Unquoted Assignment"
-msgstr "From this level, you need to place texts to the right of the {is} between quotes. You forgot that for the text {text}."
+msgstr "From this level, you need to place texts to the right of the `{is}` between quotes. You forgot that for the text {text}."
 
 #, fuzzy
 msgid "Unquoted Equality Check"
@@ -139,15 +146,15 @@ msgstr "If you want to check if a variable is equal to multiple words, the words
 
 #, fuzzy
 msgid "Unquoted Text"
-msgstr "Be careful. If you {ask} or {print} something, the text should start and finish with a quotation mark. You forgot that for the text {unquotedtext}."
+msgstr "Be careful. If you `{ask}` or `{print}` something, the text should start and finish with a quotation mark. You forgot that for the text {unquotedtext}."
 
 #, fuzzy
 msgid "Unsupported Float"
-msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change {value} to an integer."
+msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change `{value}` to an integer."
 
 #, fuzzy
 msgid "Unsupported String Value"
-msgstr "Text values cannot contain {invalid_value}."
+msgstr "Text values cannot contain `{invalid_value}`."
 
 #, fuzzy
 msgid "Unused Variable"
@@ -155,11 +162,11 @@ msgstr "You defined the variable {variable_name} on line {line_number}, but you
 
 #, fuzzy
 msgid "Var Undefined"
-msgstr "You tried to use the variable {name}, but you didn't set it. It is also possible that you were trying to use the word {name} but forgot quotation marks."
+msgstr "You tried to use the variable `{name}`, but you didn't set it. It is also possible that you were trying to use the word `{name}` but forgot quotation marks."
 
 #, fuzzy
 msgid "Wrong Level"
-msgstr "That was correct Hedy code, but not at the right level. You wrote {offending_keyword} for level {working_level}. Tip: {tip}"
+msgstr "That was correct Hedy code, but not at the right level. You wrote `{offending_keyword}` for level {working_level}. Tip: {tip}"
 
 #, fuzzy
 msgid "Wrong Number of Arguments"
@@ -334,7 +341,7 @@ msgstr "Are you sure? You cannot revert this action."
 
 #, fuzzy
 msgid "ask_needs_var"
-msgstr "Starting in level 2, {ask} needs to be used with a variable. Example: name {is} {ask} What is your name?"
+msgstr "Starting in level 2, `{ask}` needs to be used with a variable. Example: name `{is}` `{ask}` What is your name?"
 
 #, fuzzy
 msgid "become_a_sponsor"
@@ -361,15 +368,8 @@ msgid "cant_parse_exception"
 msgstr "Couldn't parse the program"
 
 #, fuzzy
-msgid "catch_index_exception"
-msgstr "You tried to access the list {list_name} but it is either empty or the index is not there."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-#, fuzzy
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "You tried to access the list {name} but it is either empty or the index is not there."
 
 #, fuzzy
 msgid "certificate"
@@ -1025,7 +1025,7 @@ msgstr "Incorrect Indentation"
 
 #, fuzzy
 msgid "input"
-msgstr "input from {ask}"
+msgstr "input from `{ask}`"
 
 #, fuzzy
 msgid "integer"
@@ -1416,7 +1416,7 @@ msgstr "This user hasn't earned the Hedy Certificate of Completion"
 
 #, fuzzy
 msgid "no_more_flat_if"
-msgstr "Starting in level 8, the code after {if} needs to be placed on the next line and start with 4 spaces."
+msgstr "Starting in level 8, the code after `{if}` needs to be placed on the next line and start with 4 spaces."
 
 #, fuzzy
 msgid "no_programs"
@@ -1815,7 +1815,7 @@ msgstr "Repair program icon"
 
 #, fuzzy
 msgid "repeat_dep"
-msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8."
+msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8."
 
 #, fuzzy
 msgid "repeat_match_password"
diff --git a/translations/pl/LC_MESSAGES/messages.po b/translations/pl/LC_MESSAGES/messages.po
index 7e48ed49380..e9ad2f36d55 100644
--- a/translations/pl/LC_MESSAGES/messages.po
+++ b/translations/pl/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: pl\n"
@@ -22,7 +22,7 @@ msgid "Access Before Assign"
 msgstr "Próbowano użyć zmiennej {name} w linii {access_line_number}, ale ustawiono ją w linii {definition_line_number}. Ustaw zmienną przed jej użyciem."
 
 msgid "Cyclic Var Definition"
-msgstr "Zmienna {variable} musi zostać ustawiona zanim będzie można użyć jej po prawej stronie tej komendy."
+msgstr "Zmienna `{variable}` musi zostać ustawiona zanim będzie można użyć jej po prawej stronie tej komendy."
 
 msgid "Function Undefined"
 msgstr "Próba użycia funkcji {name}, która nie została zdefiniowana."
@@ -31,57 +31,57 @@ msgid "Has Blanks"
 msgstr "Twój kod nie jest skończony. Posiada miejsca które trzeba wypełnić."
 
 msgid "Incomplete"
-msgstr "Ups! Zapomniałeś o odrobinie kodu! W linii {line_number}, musisz dodać tekst po {incomplete_command}."
+msgstr "Ups! Zapomniałeś o odrobinie kodu! W linii {line_number}, musisz dodać tekst po `{incomplete_command}`."
 
 msgid "Incomplete Repeat"
-msgstr "Wygląda na to, że zapomniano użyć komendy z poleceniem {repeat} w linii {line_number}."
+msgstr "Wygląda na to, że zapomniano użyć komendy z poleceniem `{repeat}` w linii {line_number}."
 
 msgid "Invalid"
-msgstr "{invalid_command} nie jest komendą z {level} poziomu Hedy. Czy miałeś na myśli {guessed_command}?"
+msgstr "`{invalid_command}` nie jest komendą z {level} poziomu Hedy. Czy miałeś na myśli `{guessed_command}`?"
 
 msgid "Invalid Argument"
-msgstr "Nie możesz użyć komendy {command} z {invalid_argument} . Spróbuj zmienić typ {invalid_argument} na {allowed_types}."
+msgstr "Nie możesz użyć komendy `{command}` z `{invalid_argument}` . Spróbuj zmienić typ `{invalid_argument}` na {allowed_types}."
 
 msgid "Invalid Argument Type"
-msgstr "Nie możesz użyć komendy {command} z {invalid_argument}, ponieważ jest ona typu {invalid_type}. Spróbuj zmienić {invalid_argument} na {allowed_types}."
+msgstr "Nie możesz użyć komendy `{command}` z `{invalid_argument}`, ponieważ jest ona typu {invalid_type}. Spróbuj zmienić `{invalid_argument}` na {allowed_types}."
 
 msgid "Invalid At Command"
-msgstr "Polecenie {at} nie może być używane od poziomu 16 wzwyż. Możesz użyć nawiasów kwadratowych aby wybrać element z listy, na przykład: `przyjaciele[i]`, `szczęśliwe_numerki[{random}]`."
+msgstr "Polecenie `{command}` nie może być używane od poziomu 16 wzwyż. Możesz użyć nawiasów kwadratowych aby wybrać element z listy, na przykład: `przyjaciele[i]`, `szczęśliwe_numerki[{random}]`."
 
 msgid "Invalid Space"
 msgstr "Ups! Linia numer {line_number} zaczyna się od spacji. Spacje są dziwne dla komputerów, czy można ją usunąć?"
 
 msgid "Invalid Type Combination"
-msgstr "Nie możesz użyć {invalid_argument} oraz {invalid_argument_2} z {command} ponieważ pierwszy jest typu {invalid_type}, a drugi jest typu {invalid_type_2}. Spróbuj zmienić {invalid_argument} na {invalid_type_2} lub {invalid_argument_2} na {invalid_type}."
+msgstr "Nie możesz użyć `{invalid_argument}` oraz `{invalid_argument_2}` z `{command}` ponieważ pierwszy jest typu {invalid_type}, a drugi jest typu {invalid_type_2}. Spróbuj zmienić `{invalid_argument}` na {invalid_type_2} lub `{invalid_argument_2}` na {invalid_type}."
 
 msgid "Locked Language Feature"
 msgstr "Używasz {concept}! To super, ale {concept} nie jest jeszcze odblokowany! Będzie odblokowany na następnym poziomie."
 
 msgid "Lonely Echo"
-msgstr "Użyłeś {echo} przed {ask} lub {echo} bez {ask}. Umieść {ask} przed {echo}."
+msgstr "Użyłeś `{echo}` przed `{ask}` lub `{echo}` bez `{ask}`. Umieść `{ask}` przed `{echo}`."
 
 msgid "Lonely Text"
 msgstr "Wygląda na to, że zapomniano użyć komendy z tekstem w linii {line_number}"
 
 #, fuzzy
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}."
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}."
 
 msgid "Missing Command"
 msgstr "Wygląda na to, że zapomniano użyć komendy w linii {line_number}."
 
 msgid "Missing Inner Command"
-msgstr "Wygląda na to, że zapomniano użyć komendy z słowem {command} użytym w linii {line_number}."
+msgstr "Wygląda na to, że zapomniano użyć komendy z słowem `{command}` użytym w linii {line_number}."
 
 #, fuzzy
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}."
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}."
 
 msgid "Missing Variable"
-msgstr "W poleceniu {command} brakuje zmiennej na początku linii."
+msgstr "W poleceniu `{command}` brakuje zmiennej na początku linii."
 
 msgid "Misspelled At Command"
-msgstr "Wygląda na to, że mogłeś błędnie napisać polecenie {command}, zamiast tego w wierszu {line_number} wpisałeś {invalid_argument}."
+msgstr "Wygląda na to, że mogłeś błędnie napisać polecenie `{command}`, zamiast tego w wierszu {line_number} wpisałeś `{invalid_argument}`."
 
 msgid "No Indentation"
 msgstr "Użyto zbyt mało spacji w linii {line_number}. Użyto {leading_spaces} spacji, to za mało. Rozpocznij każdy blok o {indent_size} spacji dalej niż linia powyżej."
@@ -90,10 +90,17 @@ msgid "Non Decimal Variable"
 msgstr "W linii {line_number} mogłeś spróbować użyć numeru, którego Hedy nie bardzo lubi! Spróbuj zmienić go na liczbę dziesiętną, np. 2."
 
 msgid "Parse"
-msgstr "Kod który wprowadzono nie jest poprawnym kodem Hedy. W linii {location[0]} jest błąd, w pozycji {location[1]}. Użyto {character_found}, co nie jest dozwolone."
+msgstr "Kod który wprowadzono nie jest poprawnym kodem Hedy. W linii {location[0]} jest błąd, w pozycji {location[1]}. Użyto `{character_found}`, co nie jest dozwolone."
 
 msgid "Pressit Missing Else"
-msgstr "Nie dodano instrukcji co ma się wydarzyć gdy naciśnięty zostanie inny klawisz, dodaj instrukcję {else} do swojego kodu"
+msgstr "Nie dodano instrukcji co ma się wydarzyć gdy naciśnięty zostanie inny klawisz, dodaj instrukcję `{else}` do swojego kodu"
+
+#, fuzzy
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -106,7 +113,7 @@ msgid "Unexpected Indentation"
 msgstr "Użyto zbyt dużo spacji w linii {line_number}. Użyto {leading_spaces} spacji, to za dużo. Rozpocznij każdy blok {indent_size} spacji dalej niż poprzednia linia."
 
 msgid "Unquoted Assignment"
-msgstr "Od tego poziomu, tekst po {is} będzie musiał być między apostrofami. Zapomniano o tym przy tekście {text}."
+msgstr "Od tego poziomu, tekst po `{is}` będzie musiał być między apostrofami. Zapomniano o tym przy tekście {text}."
 
 msgid "Unquoted Equality Check"
 msgstr "Jeśli chcesz sprawdzić, czy zmienna jest równa wielu słowom, słowa powinny być pomiędzy apostrofami!"
@@ -115,19 +122,19 @@ msgid "Unquoted Text"
 msgstr "Uważaj. Jeżeli chcesz coś wypisać, tekst powinien zaczynać i kończyć się apostrofem. Zapomniano o tym dla tekstu {unquotedtext}."
 
 msgid "Unsupported Float"
-msgstr "Liczby niecałkowita nie są jeszcze dostępne, ale będą za kilka poziomów. Na teraz, zmień {value} na liczbę całkowitą."
+msgstr "Liczby niecałkowita nie są jeszcze dostępne, ale będą za kilka poziomów. Na teraz, zmień `{value}` na liczbę całkowitą."
 
 msgid "Unsupported String Value"
-msgstr "Wartości tekstowe nie mogą zawierać {invalid_value}."
+msgstr "Wartości tekstowe nie mogą zawierać `{invalid_value}`."
 
 msgid "Unused Variable"
 msgstr "Zdefiniowałeś zmienną {variable_name} w linii {line_number}, ale jej nie użyłeś."
 
 msgid "Var Undefined"
-msgstr "Próbowano użyć zmiennej {name}, ale nie została ona ustawiona. Jest też możliwe, że próbowano użyć słowa {name}, ale zapomniano o apostrofach."
+msgstr "Próbowano użyć zmiennej `{name}`, ale nie została ona ustawiona. Jest też możliwe, że próbowano użyć słowa `{name}`, ale zapomniano o apostrofach."
 
 msgid "Wrong Level"
-msgstr "To był poprawny kod Hedy, ale nie dla tego poziomu. Użyto {offending_keyword} dla poziomu {working_level}. Porada: {tip}"
+msgstr "To był poprawny kod Hedy, ale nie dla tego poziomu. Użyto `{offending_keyword}` dla poziomu {working_level}. Porada: {tip}"
 
 msgid "Wrong Number of Arguments"
 msgstr "Twoja funkcja użyła nieprawidłowej liczby argumentów. Podałeś {used_number}, ale funkcja {name} potrzebuje {defined_number}"
@@ -264,7 +271,7 @@ msgid "are_you_sure"
 msgstr "Czy jesteś pewien? Ta operacja jest nieodwracalna."
 
 msgid "ask_needs_var"
-msgstr "Od poziomu 2, {ask} musi być użyty razem ze zmienną. Przykład: imię {is} {ask} Jak się nazywasz?"
+msgstr "Od poziomu 2, `{ask}` musi być użyty razem ze zmienną. Przykład: imię `{is}` `{ask}` Jak się nazywasz?"
 
 msgid "become_a_sponsor"
 msgstr "Zostań sponsorem"
@@ -286,15 +293,8 @@ msgstr "Anuluj"
 msgid "cant_parse_exception"
 msgstr "Couldn't parse the program"
 
-msgid "catch_index_exception"
-msgstr "Próbowałeś dostać się do elementu listy {list_name}, ale jest ona pusta albo indeks który podałeś nie istnieje."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-#, fuzzy
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "Próbowałeś dostać się do elementu listy {name}, ale jest ona pusta albo indeks który podałeś nie istnieje."
 
 msgid "certificate"
 msgstr "Certyfikat ukończenia"
@@ -567,7 +567,7 @@ msgid "echo_and_ask_mismatch_exception"
 msgstr "Echo and ask mismatch"
 
 msgid "echo_out"
-msgstr "Od poziomu 2, {echo} nie jest potrzebne. Teraz możesz powtarzać odpowiedź za pomocą {ask} oraz {print}. Przykład: imię {is} {ask} Jak się nazywasz? {print} Cześć imię"
+msgstr "Od poziomu 2, `{echo}` nie jest potrzebne. Teraz możesz powtarzać odpowiedź za pomocą `{ask}` oraz `{print}`. Przykład: imię `{is}` `{ask}` Jak się nazywasz? `{print}` Cześć imię"
 
 #, fuzzy
 msgid "edit_adventure"
@@ -819,7 +819,7 @@ msgid "indentation_exception"
 msgstr "Incorrect Indentation"
 
 msgid "input"
-msgstr "wejście z {ask}"
+msgstr "wejście z `{ask}`"
 
 msgid "integer"
 msgstr "liczba"
@@ -1136,7 +1136,7 @@ msgid "no_certificate"
 msgstr "Ten użytkownik uzyskał Certyfikat Ukończenia Hedy"
 
 msgid "no_more_flat_if"
-msgstr "Zaczynając od poziomu 8, linia po instrukcji {if} musi zaczynać się od 4 spacji."
+msgstr "Zaczynając od poziomu 8, linia po instrukcji `{if}` musi zaczynać się od 4 spacji."
 
 #, fuzzy
 msgid "no_programs"
@@ -1445,7 +1445,7 @@ msgstr "Ikona naprawy programu"
 
 #, fuzzy
 msgid "repeat_dep"
-msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8."
+msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8."
 
 msgid "repeat_match_password"
 msgstr "Powtórzone hasło nie zgadza się z nowym hasłem."
diff --git a/translations/pt_BR/LC_MESSAGES/messages.po b/translations/pt_BR/LC_MESSAGES/messages.po
index 30844eb649c..b47a110a123 100644
--- a/translations/pt_BR/LC_MESSAGES/messages.po
+++ b/translations/pt_BR/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: pt_BR\n"
@@ -22,7 +22,7 @@ msgid "Access Before Assign"
 msgstr "Você tentou utilizar a variável {name} na linha {access_line_number}, mas você a definiu na linha {definition_line_number}. Defina uma variável antes de utiliza-la."
 
 msgid "Cyclic Var Definition"
-msgstr "O nome {variable} precisa ser definido antes que voce possa utiliza-lo do lado direito do comando {is}."
+msgstr "O nome `{variable}` precisa ser definido antes que voce possa utiliza-lo do lado direito do comando `{is}`."
 
 msgid "Function Undefined"
 msgstr "Você tentou usar a função {name}, mas você não a definiu."
@@ -31,55 +31,55 @@ msgid "Has Blanks"
 msgstr "Seu codigo esta incompleto. Ele contém espaços em branco que precisam ser preenchidos com codigo."
 
 msgid "Incomplete"
-msgstr "Opa! Você esqueceu uma parte do código! Na linha {line_number}, você precisa colocar texto antes de {incomplete_command}."
+msgstr "Opa! Você esqueceu uma parte do código! Na linha {line_number}, você precisa colocar texto antes de `{incomplete_command}`."
 
 msgid "Incomplete Repeat"
-msgstr "Parece que você esqueceu de usar um comando com o {repeat} que você escreveu na linha {line_number}."
+msgstr "Parece que você esqueceu de usar um comando com o `{repeat}` que você escreveu na linha {line_number}."
 
 msgid "Invalid"
-msgstr "{invalid_command} não é um commando do nível {level} da Hedy. Você quis dizer {guessed_command}?"
+msgstr "`{invalid_command}` não é um commando do nível {level} da Hedy. Você quis dizer `{guessed_command}`?"
 
 msgid "Invalid Argument"
-msgstr "Você não pode usar o comando {command} com {invalid_argument} . Tente mudar {invalid_argument} para {allowed_types}."
+msgstr "Você não pode usar o comando `{command}` com `{invalid_argument}` . Tente mudar `{invalid_argument}` para {allowed_types}."
 
 msgid "Invalid Argument Type"
-msgstr "Você não pode usar {command} com {invalid_argument} porque ele é {invalid_type}. Tente mudar {invalid_argument} para {allowed_types}."
+msgstr "Você não pode usar `{command}` com `{invalid_argument}` porque ele é {invalid_type}. Tente mudar `{invalid_argument}` para {allowed_types}."
 
 msgid "Invalid At Command"
-msgstr "O comando {command} não pode mais ser usado a partir do nível 16. Você pode usar colchetes para usar um elemento de uma lista, por exemplo `amigos[i]`, `números_da_sorte[{random}]`."
+msgstr "O comando `{command}` não pode mais ser usado a partir do nível 16. Você pode usar colchetes para usar um elemento de uma lista, por exemplo `amigos[i]`, `números_da_sorte[{random}]`."
 
 msgid "Invalid Space"
 msgstr "Opa! Você começou uma linha com um espaço na linha {line_number}. Espaços confundem os computadores, você poderia removê-lo?"
 
 msgid "Invalid Type Combination"
-msgstr "Você não pode usar {invalid_argument} e {invalid_argument_2} com {command} porque um é {invalid_type} e o outro é {invalid_type_2}. Tente mudar {invalid_argument} para {invalid_type_2} ou {invalid_argument_2} para {invalid_type}."
+msgstr "Você não pode usar `{invalid_argument}` e `{invalid_argument_2}` com `{command}` porque um é {invalid_type} e o outro é {invalid_type_2}. Tente mudar `{invalid_argument}` para {invalid_type_2} ou `{invalid_argument_2}` para {invalid_type}."
 
 msgid "Locked Language Feature"
 msgstr "Você está usando {concept}! Isso é ótimo, mas {concept} não foi desbloqueado ainda! Ele será desbloqueado em um nível mais adiante."
 
 msgid "Lonely Echo"
-msgstr "Você usou um {echo} antes de um {ask}, ou um {echo} sem um {ask}. Coloque um {ask} antes do {echo}."
+msgstr "Você usou um `{echo}` antes de um `{ask}`, ou um `{echo}` sem um `{ask}`. Coloque um `{ask}` antes do `{echo}`."
 
 msgid "Lonely Text"
 msgstr "Parece que você esqueceu de usar um comando com o texto que você usou na linha {line_number}"
 
 msgid "Missing Additional Command"
-msgstr "Parece que você esqueceu de terminar de escrever {command} na linha {line_number}. Tente adicionar {missing_command} a seu código."
+msgstr "Parece que você esqueceu de terminar de escrever `{command}` na linha {line_number}. Tente adicionar `{missing_command}` a seu código."
 
 msgid "Missing Command"
 msgstr "Parece que você esqueceu de usar um comando na linha {line_number}."
 
 msgid "Missing Inner Command"
-msgstr "Parece que você esqueceu de usar um comando com a declaração {command} que você usou na linha {line_number}."
+msgstr "Parece que você esqueceu de usar um comando com a declaração `{command}` que você usou na linha {line_number}."
 
 msgid "Missing Square Brackets"
-msgstr "Parece que você esqueceu de usar colchetes [] ao redor da lista que você tentou criar na linha {line_number}."
+msgstr "Parece que você esqueceu de usar colchetes `[]` ao redor da lista que você tentou criar na linha {line_number}."
 
 msgid "Missing Variable"
-msgstr "Parece que está faltando uma variável no seu comando {command} no começo da linha."
+msgstr "Parece que está faltando uma variável no seu comando `{command}` no começo da linha."
 
 msgid "Misspelled At Command"
-msgstr "Talvez você tenha cometido um erro de digitação tentando escrever o comando {command}, ao invés de {invalid_argument} na linha {line_number}."
+msgstr "Talvez você tenha cometido um erro de digitação tentando escrever o comando `{command}`, ao invés de `{invalid_argument}` na linha {line_number}."
 
 msgid "No Indentation"
 msgstr "Você não usou espaços suficientes na linha {line_number}. Você usou {leading_spaces} espaços, que é menos do que a quantia necessária. Comece todo bloco novo com {indent_size} espaços a mais do que na linha anterior."
@@ -88,10 +88,16 @@ msgid "Non Decimal Variable"
 msgstr "Na linha {line_number}, você pode ter tentado usar um número de que Hedy não gosta muito! Tente mudá-lo para um número decimal como 2."
 
 msgid "Parse"
-msgstr "O código que você enviou não é um código Hedy válido. O erro é na linha {location[0]}, posição {location[1]}. Você escreveu {character_found}, mas isso não é permitido."
+msgstr "O código que você enviou não é um código Hedy válido. O erro é na linha {location[0]}, posição {location[1]}. Você escreveu `{character_found}`, mas isso não é permitido."
 
 msgid "Pressit Missing Else"
-msgstr "Você esqueceu de escrever o que acontece quando você aperta uma tecla diferente, adicione um {else} a seu código"
+msgstr "Você esqueceu de escrever o que acontece quando você aperta uma tecla diferente, adicione um `{else}` a seu código"
+
+msgid "Runtime Value Error"
+msgstr "Durante a execução do seu programa, o comando `{command}` recebeu o valor {value}, o que não é permitido. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -104,28 +110,28 @@ msgid "Unexpected Indentation"
 msgstr "Você usou espaços demais na linha {line_number}. Você usou {leading_spaces} espaços, que é mais do que a quantia necessária. Comece todo bloco novo com {indent_size} espaços a mais do que na linha anterior."
 
 msgid "Unquoted Assignment"
-msgstr "A partir desse nível, você precisa colocar os textos à direita do {is} e entre aspas. Você esqueceu disso no texto {text}."
+msgstr "A partir desse nível, você precisa colocar os textos à direita do `{is}` e entre aspas. Você esqueceu disso no texto {text}."
 
 msgid "Unquoted Equality Check"
 msgstr "Se você quer checar se uma variável é igual a múltiplas palavras, elas devem estar cercadas por aspas!"
 
 msgid "Unquoted Text"
-msgstr "Tome cuidado. Se for usar {ask} ou {print}, o texto deve começar e terminar com aspas. Você esqueceu uma no texto {unquotedtext}."
+msgstr "Tome cuidado. Se for usar `{ask}` ou `{print}`, o texto deve começar e terminar com aspas. Você esqueceu uma no texto {unquotedtext}."
 
 msgid "Unsupported Float"
-msgstr "Números não inteiros ainda não são suportados, mas serão daqui a alguns níveis. Por enquanto, troque {value} por um inteiro."
+msgstr "Números não inteiros ainda não são suportados, mas serão daqui a alguns níveis. Por enquanto, troque `{value}` por um inteiro."
 
 msgid "Unsupported String Value"
-msgstr "Valores de texto não podem conter {invalid_value}."
+msgstr "Valores de texto não podem conter `{invalid_value}`."
 
 msgid "Unused Variable"
 msgstr "Você definiu a variável {variable_name} na linha {line_number}, mas não a usou."
 
 msgid "Var Undefined"
-msgstr "Você tentou usar a variável {name}, mas não a definiu primeiro. Ou, talvez, você tenha tentado usar a palavra {name} mas tenha esquecido de usar aspas."
+msgstr "Você tentou usar a variável `{name}`, mas não a definiu primeiro. Ou, talvez, você tenha tentado usar a palavra `{name}` mas tenha esquecido de usar aspas."
 
 msgid "Wrong Level"
-msgstr "Este era um código Hedy correto, mas não para o nível correto. Você escreveu {offending_keyword} para o nível {working_level}. Dica: {tip}"
+msgstr "Este era um código Hedy correto, mas não para o nível correto. Você escreveu `{offending_keyword}` para o nível {working_level}. Dica: {tip}"
 
 msgid "Wrong Number of Arguments"
 msgstr "Sua função usou a quantidade errada de parâmetros. Você forneceu {used_number} mas a função {name} requer {defined_number}"
@@ -263,7 +269,7 @@ msgid "are_you_sure"
 msgstr "Tem certeza? Você não poderá reverter esta ação."
 
 msgid "ask_needs_var"
-msgstr "A partir do nível 2, {ask} precisa ser usado com uma variável. Exemplo: nome {is} {ask} Qual é o seu nome?"
+msgstr "A partir do nível 2, `{ask}` precisa ser usado com uma variável. Exemplo: nome `{is}` `{ask}` Qual é o seu nome?"
 
 msgid "become_a_sponsor"
 msgstr "Tornar-se um patrocinador"
@@ -284,14 +290,8 @@ msgstr "Cancelar"
 msgid "cant_parse_exception"
 msgstr "Não foi possível analisar o programa"
 
-msgid "catch_index_exception"
-msgstr "Você tentou acessar a lista {list_name} mas ou ela está vazia, ou o índice não está presente nela."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-msgid "catch_value_exception"
-msgstr "Durante a execução do seu programa, o comando {command} recebeu o valor {value}, o que não é permitido. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "Você tentou acessar a lista {name} mas ou ela está vazia, ou o índice não está presente nela."
 
 msgid "certificate"
 msgstr "Certificado de Conclusão"
@@ -815,7 +815,7 @@ msgid "indentation_exception"
 msgstr "Indentação incorreta"
 
 msgid "input"
-msgstr "entrada de {ask}"
+msgstr "entrada de `{ask}`"
 
 msgid "integer"
 msgstr "um número"
@@ -1118,7 +1118,7 @@ msgid "no_certificate"
 msgstr "Esse usuário ainda não conseguiu o Certificado Hedy de Conclusão"
 
 msgid "no_more_flat_if"
-msgstr "A partir do nível 8, o código depois do {if} precisa ser colocado na linha seguinte e começar com 4 espaços."
+msgstr "A partir do nível 8, o código depois do `{if}` precisa ser colocado na linha seguinte e começar com 4 espaços."
 
 msgid "no_programs"
 msgstr "Não há programas."
@@ -1434,7 +1434,7 @@ msgid "repair_program_logo_alt"
 msgstr "Ícone de reparar programa"
 
 msgid "repeat_dep"
-msgstr "A partir do nível 8, {repeat} precisa ser usado com indentação. Você pode ver exemplos na aba {repeat} do nível 8."
+msgstr "A partir do nível 8, `{repeat}` precisa ser usado com indentação. Você pode ver exemplos na aba `{repeat}` do nível 8."
 
 msgid "repeat_match_password"
 msgstr "A senha repetida não corresponde."
diff --git a/translations/pt_PT/LC_MESSAGES/messages.po b/translations/pt_PT/LC_MESSAGES/messages.po
index d561887c897..26ddfe588f5 100644
--- a/translations/pt_PT/LC_MESSAGES/messages.po
+++ b/translations/pt_PT/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: pt_PT\n"
@@ -24,7 +24,7 @@ msgstr "You tried to use the variable {name} on line {access_line_number}, but y
 
 #, fuzzy
 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"
+msgstr "The name `{variable}` needs to be set before you can use it on the right-hand side of the is command"
 
 #, fuzzy
 msgid "Function Undefined"
@@ -35,33 +35,33 @@ msgid "Has Blanks"
 msgstr "Your code is incomplete. It contains blanks that you have to replace with code."
 
 msgid "Incomplete"
-msgstr "Oops! Esqueceste-te de um pedaço de código! Na linha {line_number}, tens de introduzir texto a seguir de {incomplete_command}."
+msgstr "Oops! Esqueceste-te de um pedaço de código! Na linha {line_number}, tens de introduzir texto a seguir de `{incomplete_command}`."
 
 #, fuzzy
 msgid "Incomplete Repeat"
-msgstr "It looks like you forgot to use {command} with the repeat command you used on line {line_number}."
+msgstr "It looks like you forgot to use `{command}` with the repeat command you used on line {line_number}."
 
 msgid "Invalid"
-msgstr "{invalid_command} não é um comando Hedy do nível {level}. Será que querias dizer {guessed_command}?"
+msgstr "`{invalid_command}` não é um comando Hedy do nível {level}. Será que querias dizer `{guessed_command}`?"
 
 #, fuzzy
 msgid "Invalid Argument"
-msgstr "You cannot use the command {command} with {invalid_argument} . Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use the command `{command}` with `{invalid_argument}` . Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid Argument Type"
-msgstr "You cannot use {command} with {invalid_argument} because it is {invalid_type}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use `{command}` with `{invalid_argument}` because it is {invalid_type}. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid At Command"
-msgstr "The {at} command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
+msgstr "The `{command}` command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
 
 msgid "Invalid Space"
 msgstr "Oops! Começaste uma linha com um espaço na linha {line_number}. Espaços confundem os computadores, podes apagá-lo?"
 
 #, fuzzy
 msgid "Invalid Type Combination"
-msgstr "You cannot use {invalid_argument} and {invalid_argument_2} with {command} because one is {invalid_type} and the other is {invalid_type_2}. Try changing {invalid_argument} to {invalid_type_2} or {invalid_argument_2} to {invalid_type}."
+msgstr "You cannot use `{invalid_argument}` and `{invalid_argument_2}` with `{command}` because one is {invalid_type} and the other is {invalid_type_2}. Try changing `{invalid_argument}` to {invalid_type_2} or `{invalid_argument_2}` to {invalid_type}."
 
 #, fuzzy
 msgid "Locked Language Feature"
@@ -77,7 +77,7 @@ msgstr "It looks like you forgot to use a command with the text you put in line
 
 #, fuzzy
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}."
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}."
 
 #, fuzzy
 msgid "Missing Command"
@@ -85,17 +85,17 @@ msgstr "It looks like you forgot to use a command on line {line_number}."
 
 #, fuzzy
 msgid "Missing Inner Command"
-msgstr "It looks like you forgot to use a command with the {command} statement you used on line {line_number}."
+msgstr "It looks like you forgot to use a command with the `{command}` statement you used on line {line_number}."
 
 msgid "Missing Square Brackets"
-msgstr "Parece que se esqueceu de utilizar parênteses retos [] à volta da lista que estava a criar na linha {line_number}."
+msgstr "Parece que se esqueceu de utilizar parênteses retos `[]` à volta da lista que estava a criar na linha {line_number}."
 
 msgid "Missing Variable"
-msgstr "It looks like your {command} is missing a variable at the start of the line."
+msgstr "It looks like your `{command}` is missing a variable at the start of the line."
 
 #, fuzzy
 msgid "Misspelled At Command"
-msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}."
+msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}."
 
 #, fuzzy
 msgid "No Indentation"
@@ -106,11 +106,18 @@ msgid "Non Decimal Variable"
 msgstr "At line {line_number}, you might have tried using a number which Hedy does not like very much! Try changing it to a decimal number like 2."
 
 msgid "Parse"
-msgstr "O código que introduziste não é um código Hedy válido. Existe um erro na linha {location[0]}, na posição {location[1]}. Tu digitaste {character_found}, mas isso não é permitido."
+msgstr "O código que introduziste não é um código Hedy válido. Existe um erro na linha {location[0]}, na posição {location[1]}. Tu digitaste `{character_found}`, mas isso não é permitido."
 
 #, fuzzy
 msgid "Pressit Missing Else"
-msgstr "You forgot to add what happens when you press a different key, add an {else} to your code"
+msgstr "You forgot to add what happens when you press a different key, add an `{else}` to your code"
+
+#, fuzzy
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -137,21 +144,21 @@ msgstr "Tem cuidado. Se queres escrever algo, o texto deve começar e acabar com
 
 #, fuzzy
 msgid "Unsupported Float"
-msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change {value} to an integer."
+msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change `{value}` to an integer."
 
 #, fuzzy
 msgid "Unsupported String Value"
-msgstr "Text values cannot contain {invalid_value}."
+msgstr "Text values cannot contain `{invalid_value}`."
 
 #, fuzzy
 msgid "Unused Variable"
 msgstr "You defined the variable {variable_name} on line {line_number}, but you did not use it."
 
 msgid "Var Undefined"
-msgstr "Tentaste escrever {name}, mas não o instanciastes."
+msgstr "Tentaste escrever `{name}`, mas não o instanciastes."
 
 msgid "Wrong Level"
-msgstr "Isso era código Hedy correcto, mas não no nível certo. Escreveste códio {offending_keyword} para o nível {working_level}. Tip: {tip}"
+msgstr "Isso era código Hedy correcto, mas não no nível certo. Escreveste códio `{offending_keyword}` para o nível {working_level}. Tip: {tip}"
 
 #, fuzzy
 msgid "Wrong Number of Arguments"
@@ -346,15 +353,8 @@ msgid "cant_parse_exception"
 msgstr "Couldn't parse the program"
 
 #, fuzzy
-msgid "catch_index_exception"
-msgstr "You tried to access the list {list_name} but it is either empty or the index is not there."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-#, fuzzy
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "You tried to access the list {name} but it is either empty or the index is not there."
 
 #, fuzzy
 msgid "certificate"
@@ -988,7 +988,7 @@ msgstr "Incorrect Indentation"
 
 #, fuzzy
 msgid "input"
-msgstr "input from ask"
+msgstr "input from `{ask}`"
 
 #, fuzzy
 msgid "integer"
@@ -1350,7 +1350,7 @@ msgstr "This user hasn't earned the Hedy Certificate of Completion"
 
 #, fuzzy
 msgid "no_more_flat_if"
-msgstr "Starting in level 8, the code after {if} needs to be placed on the next line and start with 4 spaces."
+msgstr "Starting in level 8, the code after `{if}` needs to be placed on the next line and start with 4 spaces."
 
 #, fuzzy
 msgid "no_programs"
@@ -1728,7 +1728,7 @@ msgstr "Repair program icon"
 
 #, fuzzy
 msgid "repeat_dep"
-msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8."
+msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8."
 
 msgid "repeat_match_password"
 msgstr "A palavra-passe repetida não coincide."
@@ -2130,7 +2130,7 @@ msgid "template_code"
 msgstr ""
 "This is the explanation of my adventure!\n"
 "\n"
-"This way I can show a command: print\n"
+"This way I can show a command: {print}\n"
 "\n"
 "But sometimes I might want to show a piece of code, like this:\n"
 "
\n"
@@ -2260,7 +2260,9 @@ msgstr "Tutorial"
 
 #, fuzzy
 msgid "tutorial_code_snippet"
-msgstr "Hide cheatsheet"
+msgstr ""
+"{print} Hello world!\n"
+"{print} I'm learning Hedy with the tutorial!"
 
 #, fuzzy
 msgid "tutorial_message_not_found"
diff --git a/translations/ro/LC_MESSAGES/messages.po b/translations/ro/LC_MESSAGES/messages.po
index 9b73ec05748..87865928681 100644
--- a/translations/ro/LC_MESSAGES/messages.po
+++ b/translations/ro/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: ro\n"
@@ -24,7 +24,7 @@ msgstr "You tried to use the variable {name} on line {access_line_number}, but y
 
 #, fuzzy
 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."
+msgstr "The name `{variable}` needs to be set before you can use it on the right-hand side of the `{is}` command."
 
 #, fuzzy
 msgid "Function Undefined"
@@ -36,27 +36,27 @@ msgstr "Your code is incomplete. It contains blanks that you have to replace wit
 
 #, fuzzy
 msgid "Incomplete"
-msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind {incomplete_command}."
+msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind `{incomplete_command}`."
 
 #, fuzzy
 msgid "Incomplete Repeat"
-msgstr "It looks like you forgot to use a command with the {repeat} command you used on line {line_number}."
+msgstr "It looks like you forgot to use a `{command}` with the `{repeat}` command you used on line {line_number}."
 
 #, fuzzy
 msgid "Invalid"
-msgstr "{invalid_command} is not a Hedy level {level} command. Did you mean {guessed_command}?"
+msgstr "`{invalid_command}` is not a Hedy level {level} command. Did you mean `{guessed_command}`?"
 
 #, fuzzy
 msgid "Invalid Argument"
-msgstr "You cannot use the command {command} with {invalid_argument}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use the command `{command}` with `{invalid_argument}`. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid Argument Type"
-msgstr "You cannot use {command} with {invalid_argument} because it is {invalid_type}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use `{command}` with `{invalid_argument}` because it is {invalid_type}. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid At Command"
-msgstr "The {at} command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
+msgstr "The `{command}` command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
 
 #, fuzzy
 msgid "Invalid Space"
@@ -64,7 +64,7 @@ msgstr "Oops! You started a line with a space on line {line_number}. Spaces conf
 
 #, fuzzy
 msgid "Invalid Type Combination"
-msgstr "You cannot use {invalid_argument} and {invalid_argument_2} with {command} because one is {invalid_type} and the other is {invalid_type_2}. Try changing {invalid_argument} to {invalid_type_2} or {invalid_argument_2} to {invalid_type}."
+msgstr "You cannot use `{invalid_argument}` and `{invalid_argument_2}` with `{command}` because one is {invalid_type} and the other is {invalid_type_2}. Try changing `{invalid_argument}` to {invalid_type_2} or `{invalid_argument_2}` to {invalid_type}."
 
 #, fuzzy
 msgid "Locked Language Feature"
@@ -72,7 +72,7 @@ msgstr "You are using {concept}! That is awesome, but {concept} is not unlocked
 
 #, fuzzy
 msgid "Lonely Echo"
-msgstr "You used an {echo} before an {ask}, or an {echo} without an {ask}. Place an {ask} before the {echo}."
+msgstr "You used an `{echo}` before an `{ask}`, or an `{echo}` without an `{ask}`. Place an `{ask}` before the `{echo}`."
 
 #, fuzzy
 msgid "Lonely Text"
@@ -80,7 +80,7 @@ msgstr "It looks like you forgot to use a command with the text you used in line
 
 #, fuzzy
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}."
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}."
 
 #, fuzzy
 msgid "Missing Command"
@@ -88,18 +88,18 @@ msgstr "It looks like you forgot to use a command on line {line_number}."
 
 #, fuzzy
 msgid "Missing Inner Command"
-msgstr "It looks like you forgot to use a command with the {command} statement you used on line {line_number}."
+msgstr "It looks like you forgot to use a command with the `{command}` statement you used on line {line_number}."
 
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}."
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}."
 
 #, fuzzy
 msgid "Missing Variable"
-msgstr "It looks like your {command} is missing a variable at the start of the line."
+msgstr "It looks like your `{command}` is missing a variable at the start of the line."
 
 #, fuzzy
 msgid "Misspelled At Command"
-msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}."
+msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}."
 
 #, fuzzy
 msgid "No Indentation"
@@ -111,11 +111,18 @@ msgstr "At line {line_number}, you might have tried using a number which Hedy do
 
 #, fuzzy
 msgid "Parse"
-msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed {character_found}, but that is not allowed."
+msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed `{character_found}`, but that is not allowed."
 
 #, fuzzy
 msgid "Pressit Missing Else"
-msgstr "You forgot to add what happens when you press a different key, add an {else} to your code"
+msgstr "You forgot to add what happens when you press a different key, add an `{else}` to your code"
+
+#, fuzzy
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -131,7 +138,7 @@ msgstr "You used too many spaces in line {line_number}. You used {leading_spaces
 
 #, fuzzy
 msgid "Unquoted Assignment"
-msgstr "From this level, you need to place texts to the right of the {is} between quotes. You forgot that for the text {text}."
+msgstr "From this level, you need to place texts to the right of the `{is}` between quotes. You forgot that for the text {text}."
 
 #, fuzzy
 msgid "Unquoted Equality Check"
@@ -139,15 +146,15 @@ msgstr "If you want to check if a variable is equal to multiple words, the words
 
 #, fuzzy
 msgid "Unquoted Text"
-msgstr "Be careful. If you {ask} or {print} something, the text should start and finish with a quotation mark. You forgot that for the text {unquotedtext}."
+msgstr "Be careful. If you `{ask}` or `{print}` something, the text should start and finish with a quotation mark. You forgot that for the text {unquotedtext}."
 
 #, fuzzy
 msgid "Unsupported Float"
-msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change {value} to an integer."
+msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change `{value}` to an integer."
 
 #, fuzzy
 msgid "Unsupported String Value"
-msgstr "Text values cannot contain {invalid_value}."
+msgstr "Text values cannot contain `{invalid_value}`."
 
 #, fuzzy
 msgid "Unused Variable"
@@ -155,11 +162,11 @@ msgstr "You defined the variable {variable_name} on line {line_number}, but you
 
 #, fuzzy
 msgid "Var Undefined"
-msgstr "You tried to use the variable {name}, but you didn't set it. It is also possible that you were trying to use the word {name} but forgot quotation marks."
+msgstr "You tried to use the variable `{name}`, but you didn't set it. It is also possible that you were trying to use the word `{name}` but forgot quotation marks."
 
 #, fuzzy
 msgid "Wrong Level"
-msgstr "That was correct Hedy code, but not at the right level. You wrote {offending_keyword} for level {working_level}. Tip: {tip}"
+msgstr "That was correct Hedy code, but not at the right level. You wrote `{offending_keyword}` for level {working_level}. Tip: {tip}"
 
 #, fuzzy
 msgid "Wrong Number of Arguments"
@@ -334,7 +341,7 @@ msgstr "Are you sure? You cannot revert this action."
 
 #, fuzzy
 msgid "ask_needs_var"
-msgstr "Starting in level 2, {ask} needs to be used with a variable. Example: name {is} {ask} What are you called?"
+msgstr "Starting in level 2, `{ask}` needs to be used with a variable. Example: name `{is}` `{ask}` What are you called?"
 
 #, fuzzy
 msgid "become_a_sponsor"
@@ -361,15 +368,8 @@ msgid "cant_parse_exception"
 msgstr "Couldn't parse the program"
 
 #, fuzzy
-msgid "catch_index_exception"
-msgstr "You tried to access the list {list_name} but it is either empty or the index is not there."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-#, fuzzy
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "You tried to access the list {name} but it is either empty or the index is not there."
 
 #, fuzzy
 msgid "certificate"
@@ -709,7 +709,7 @@ msgstr "Echo and ask mismatch"
 
 #, fuzzy
 msgid "echo_out"
-msgstr "Starting in level 2 {echo} is no longer needed. You can repeat an answer with {ask} and {print} now. Example: name is {ask} What are you called? {print} hello name"
+msgstr "Starting in level 2 `{echo}` is no longer needed. You can repeat an answer with `{ask}` and `{print}` now. Example: name is `{ask}` What are you called? `{print}` hello name"
 
 #, fuzzy
 msgid "edit_adventure"
@@ -1024,7 +1024,7 @@ msgstr "Incorrect Indentation"
 
 #, fuzzy
 msgid "input"
-msgstr "input from {ask}"
+msgstr "input from `{ask}`"
 
 #, fuzzy
 msgid "integer"
@@ -1414,7 +1414,7 @@ msgstr "This user hasn't earned the Hedy Certificate of Completion"
 
 #, fuzzy
 msgid "no_more_flat_if"
-msgstr "Starting in level 8, the code after {if} needs to be placed on the next line and start with 4 spaces."
+msgstr "Starting in level 8, the code after `{if}` needs to be placed on the next line and start with 4 spaces."
 
 #, fuzzy
 msgid "no_programs"
@@ -1808,7 +1808,7 @@ msgstr "Repair program icon"
 
 #, fuzzy
 msgid "repeat_dep"
-msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8."
+msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8."
 
 #, fuzzy
 msgid "repeat_match_password"
diff --git a/translations/ru/LC_MESSAGES/messages.po b/translations/ru/LC_MESSAGES/messages.po
index 7722395f2b2..6695880b28f 100644
--- a/translations/ru/LC_MESSAGES/messages.po
+++ b/translations/ru/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: ru\n"
@@ -23,7 +23,7 @@ msgid "Access Before Assign"
 msgstr "Вы использовали переменную {name} на строке {access_line_number}, но вы присваиваете ей значение на строке {definition_line_number}. Присвойте значение до того как используете переменную."
 
 msgid "Cyclic Var Definition"
-msgstr "Имени {variable} должно быть присвоено значение до того как вы используете его в правой части команды {is}."
+msgstr "Имени `{variable}` должно быть присвоено значение до того как вы используете его в правой части команды `{is}`."
 
 #, fuzzy
 msgid "Function Undefined"
@@ -33,58 +33,58 @@ msgid "Has Blanks"
 msgstr "Ваша программа не готова. В ней есть пробелы, на место которых нужно вписать код."
 
 msgid "Incomplete"
-msgstr "Ой-ой! На строке {line_number} нужно дописать что-то ещё после {incomplete_command}."
+msgstr "Ой-ой! На строке {line_number} нужно дописать что-то ещё после `{incomplete_command}`."
 
 msgid "Incomplete Repeat"
-msgstr "Похоже вы забыли использовать какую-нибудь ещё команду вместе с командой {repeat} на строке {line_number}."
+msgstr "Похоже вы забыли использовать какую-нибудь ещё команду вместе с командой `{repeat}` на строке {line_number}."
 
 msgid "Invalid"
-msgstr "{invalid_command} - это не команда Хеди с уровня {level}. Может вы имели ввиду {guessed_command}?"
+msgstr "`{invalid_command}` - это не команда Хеди с уровня {level}. Может вы имели ввиду `{guessed_command}`?"
 
 msgid "Invalid Argument"
-msgstr "Вы не можете использовать команду {command} с {invalid_argument} . Попробуйте заменить {invalid_argument} на {allowed_types}."
+msgstr "Вы не можете использовать команду `{command}` с `{invalid_argument}` . Попробуйте заменить `{invalid_argument}` на {allowed_types}."
 
 msgid "Invalid Argument Type"
-msgstr "Вы не можете использовать команду {command} с {invalid_argument} потому что это {invalid_type}. Замените {invalid_argument} на {allowed_types}."
+msgstr "Вы не можете использовать команду `{command}` с `{invalid_argument}` потому что это {invalid_type}. Замените `{invalid_argument}` на {allowed_types}."
 
 msgid "Invalid At Command"
-msgstr "Команду {at} нельзя использовать начиная с уровня 16. Используйте квадратные скобки для того чтобы обратиться к элементу списка, например `друзья[i]`, `счастливые_числа[{random}]`."
+msgstr "Команду `{command}` нельзя использовать начиная с уровня 16. Используйте квадратные скобки для того чтобы обратиться к элементу списка, например `друзья[i]`, `счастливые_числа[{random}]`."
 
 msgid "Invalid Space"
 msgstr "Ой-ой! Вы начали код с пробела на строке {line_number}. Этот пробел может запутать компьютер, можете удалить его?"
 
 msgid "Invalid Type Combination"
-msgstr "Вы не можете использовать {invalid_argument} и {invalid_argument_2} с командой {command} потому что первый - {invalid_type} и второй - {invalid_type_2}. Замените {invalid_argument} на {invalid_type_2} или {invalid_argument_2} на {invalid_type}."
+msgstr "Вы не можете использовать `{invalid_argument}` и `{invalid_argument_2}` с командой `{command}` потому что первый - {invalid_type} и второй - {invalid_type_2}. Замените `{invalid_argument}` на {invalid_type_2} или `{invalid_argument_2}` на {invalid_type}."
 
 msgid "Locked Language Feature"
 msgstr "Вы уже используете {concept}! Это круто, но {concept} ещё заблокировано! Оно разблокируется на более поздних уровнях."
 
 msgid "Lonely Echo"
-msgstr "Вы использовали команду {echo} до команды {ask} или {echo} без {ask}`. Вставьте {ask} до команды {echo}."
+msgstr "Вы использовали команду `{echo}` до команды `{ask}` или `{echo}` без `{ask}`. Вставьте `{ask}` до команды `{echo}`."
 
 msgid "Lonely Text"
 msgstr "Кажется, вы забыли использовать команду вместе с текстом, написанным на строке {line_number}"
 
 #, fuzzy
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}."
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}."
 
 msgid "Missing Command"
 msgstr "Кажется, вы забыли использовать команду на строке {line_number}."
 
 msgid "Missing Inner Command"
-msgstr "Кажется, вы забыли использовать команду с выражением {command} на строке {line_number}."
+msgstr "Кажется, вы забыли использовать команду с выражением `{command}` на строке {line_number}."
 
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}."
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}."
 
 #, fuzzy
 msgid "Missing Variable"
-msgstr "It looks like your {command} is missing a variable at the start of the line."
+msgstr "It looks like your `{command}` is missing a variable at the start of the line."
 
 #, fuzzy
 msgid "Misspelled At Command"
-msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}."
+msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}."
 
 msgid "No Indentation"
 msgstr "Вы поставили недостаточно пробелов на строке {line_number}. Вы поставили {leading_spaces} пробелов, но этого мало. В каждом новом блоке кода ставьте на {indent_size} пробелов больше, чем было на предыдущей строке."
@@ -94,11 +94,18 @@ msgid "Non Decimal Variable"
 msgstr "At line {line_number}, you might have tried using a number which Hedy does not like very much! Try changing it to a decimal number like 2."
 
 msgid "Parse"
-msgstr "Введенный вами код не является действительным кодом Hedy. В строке {location[0]}, в позиции {location[1]}, допущена ошибка. Вы ввели {character_found}, но это недопустимо."
+msgstr "Введенный вами код не является действительным кодом Hedy. В строке {location[0]}, в позиции {location[1]}, допущена ошибка. Вы ввели `{character_found}`, но это недопустимо."
 
 #, fuzzy
 msgid "Pressit Missing Else"
-msgstr "You forgot to add what happens when you press a different key, add an {else} to your code"
+msgstr "You forgot to add what happens when you press a different key, add an `{else}` to your code"
+
+#, fuzzy
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -111,29 +118,29 @@ msgid "Unexpected Indentation"
 msgstr "Вы использовали слишком много пробелов в строке {line_number}. Вы использовали {leading_spaces} пробелов, что слишком много. Начинайте каждый новый блок с {indent_size} пробелов больше, чем в предыдущей строке."
 
 msgid "Unquoted Assignment"
-msgstr "Начиная с этого уровня, вам нужно помещать тексты справа от {is} между кавычками. Вы забыли это для текста {text}."
+msgstr "Начиная с этого уровня, вам нужно помещать тексты справа от `{is}` между кавычками. Вы забыли это для текста {text}."
 
 msgid "Unquoted Equality Check"
 msgstr "Если вы хотите проверить, равна ли переменная нескольким словам, слова должны быть окружены кавычками!"
 
 msgid "Unquoted Text"
-msgstr "Будьте внимательны. Если вы {ask} или {print} что-то, текст должен начинаться и заканчиваться кавычками. Вы забыли это для текста {unquotedtext}."
+msgstr "Будьте внимательны. Если вы `{ask}` или `{print}` что-то, текст должен начинаться и заканчиваться кавычками. Вы забыли это для текста {unquotedtext}."
 
 msgid "Unsupported Float"
-msgstr "Нецелые числа пока не поддерживаются, но будут поддерживаться через несколько уровней. Пока измените {value} на целое число."
+msgstr "Нецелые числа пока не поддерживаются, но будут поддерживаться через несколько уровней. Пока измените `{value}` на целое число."
 
 msgid "Unsupported String Value"
-msgstr "Текстовые значения не могут содержать {invalid_value}."
+msgstr "Текстовые значения не могут содержать `{invalid_value}`."
 
 #, fuzzy
 msgid "Unused Variable"
 msgstr "You defined the variable {variable_name} on line {line_number}, but you did not use it."
 
 msgid "Var Undefined"
-msgstr "Вы пытались использовать переменную {name}, но не задали ее. Также возможно, что вы пытались использовать слово {name}, но забыли кавычки."
+msgstr "Вы пытались использовать переменную `{name}`, но не задали ее. Также возможно, что вы пытались использовать слово `{name}`, но забыли кавычки."
 
 msgid "Wrong Level"
-msgstr "Это был правильный код Hedy, но не на том уровне. Вы написали {offending_keyword} для уровня {working_level}. Подсказка: {tip}"
+msgstr "Это был правильный код Hedy, но не на том уровне. Вы написали `{offending_keyword}` для уровня {working_level}. Подсказка: {tip}"
 
 #, fuzzy
 msgid "Wrong Number of Arguments"
@@ -274,7 +281,7 @@ msgid "are_you_sure"
 msgstr "Вы уверены? Это действие невозможно будет отменить или откатить."
 
 msgid "ask_needs_var"
-msgstr "Начиная со второго уровня, {ask} нужно использовать с переменной. Пример: имя {is} {ask} Как тебя зовут?"
+msgstr "Начиная со второго уровня, `{ask}` нужно использовать с переменной. Пример: имя `{is}` `{ask}` Как тебя зовут?"
 
 msgid "become_a_sponsor"
 msgstr "Станьте спонсором"
@@ -296,15 +303,8 @@ msgstr "Отменить"
 msgid "cant_parse_exception"
 msgstr "Couldn't parse the program"
 
-msgid "catch_index_exception"
-msgstr "Вы пытались получить доступ к списку {list_name}, но он либо пуст, либо в нем отсутствует индекс."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-#, fuzzy
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "Вы пытались получить доступ к списку {name}, но он либо пуст, либо в нем отсутствует индекс."
 
 msgid "certificate"
 msgstr "Сертификат о прохождении"
@@ -579,7 +579,7 @@ msgid "echo_and_ask_mismatch_exception"
 msgstr "Echo and ask mismatch"
 
 msgid "echo_out"
-msgstr "Начиная со второго уровня {echo} больше не нужен. Теперь вы можете повторить ответ с помощью {ask} и {print}. Пример: имя {ask} Как тебя зовут? {print} привет имя"
+msgstr "Начиная со второго уровня `{echo}` больше не нужен. Теперь вы можете повторить ответ с помощью `{ask}` и `{print}`. Пример: имя `{ask}` Как тебя зовут? `{print}` привет имя"
 
 #, fuzzy
 msgid "edit_adventure"
@@ -832,7 +832,7 @@ msgid "indentation_exception"
 msgstr "Incorrect Indentation"
 
 msgid "input"
-msgstr "ввод от {ask}"
+msgstr "ввод от `{ask}`"
 
 msgid "integer"
 msgstr "число"
@@ -1152,7 +1152,7 @@ msgid "no_certificate"
 msgstr "Этот пользователь не заработал сертификат о прохождении Hedy"
 
 msgid "no_more_flat_if"
-msgstr "Начиная с 8-го уровня, строка после {if} должна начинаться с 4 пробелов."
+msgstr "Начиная с 8-го уровня, строка после `{if}` должна начинаться с 4 пробелов."
 
 #, fuzzy
 msgid "no_programs"
@@ -1462,7 +1462,7 @@ msgstr "Восстановление значка программы"
 
 #, fuzzy
 msgid "repeat_dep"
-msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8."
+msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8."
 
 msgid "repeat_match_password"
 msgstr "Повторный пароль не совпадает."
diff --git a/translations/sq/LC_MESSAGES/messages.po b/translations/sq/LC_MESSAGES/messages.po
index 51e17561517..933a7ca8ad3 100644
--- a/translations/sq/LC_MESSAGES/messages.po
+++ b/translations/sq/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: sq\n"
@@ -24,7 +24,7 @@ msgstr "You tried to use the variable {name} on line {access_line_number}, but y
 
 #, fuzzy
 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."
+msgstr "The name `{variable}` needs to be set before you can use it on the right-hand side of the is command."
 
 #, fuzzy
 msgid "Function Undefined"
@@ -36,27 +36,27 @@ msgstr "Your code is incomplete. It contains blanks that you have to replace wit
 
 #, fuzzy
 msgid "Incomplete"
-msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind {incomplete_command}."
+msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind `{incomplete_command}`."
 
 #, fuzzy
 msgid "Incomplete Repeat"
-msgstr "It looks like you forgot to use {command} with the repeat command you used on line {line_number}."
+msgstr "It looks like you forgot to use `{command}` with the repeat command you used on line {line_number}."
 
 #, fuzzy
 msgid "Invalid"
-msgstr "{invalid_command} is not a Hedy level {level} command. Did you mean {guessed_command}?"
+msgstr "`{invalid_command}` is not a Hedy level {level} command. Did you mean `{guessed_command}`?"
 
 #, fuzzy
 msgid "Invalid Argument"
-msgstr "You cannot use the command {command} with {invalid_argument}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use the command `{command}` with `{invalid_argument}`. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid Argument Type"
-msgstr "You cannot use {command} with {invalid_argument} because it is {invalid_type}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use `{command}` with `{invalid_argument}` because it is {invalid_type}. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid At Command"
-msgstr "The {at} command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
+msgstr "The `{command}` command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
 
 #, fuzzy
 msgid "Invalid Space"
@@ -64,7 +64,7 @@ msgstr "Oops! You started a line with a space on line {line_number}. Spaces conf
 
 #, fuzzy
 msgid "Invalid Type Combination"
-msgstr "You cannot use {invalid_argument} and {invalid_argument_2} with {command} because one is {invalid_type} and the other is {invalid_type_2}. Try changing {invalid_argument} to {invalid_type_2} or {invalid_argument_2} to {invalid_type}."
+msgstr "You cannot use `{invalid_argument}` and `{invalid_argument_2}` with `{command}` because one is {invalid_type} and the other is {invalid_type_2}. Try changing `{invalid_argument}` to {invalid_type_2} or `{invalid_argument_2}` to {invalid_type}."
 
 #, fuzzy
 msgid "Locked Language Feature"
@@ -80,7 +80,7 @@ msgstr "It looks like you forgot to use a command with the text you put in line
 
 #, fuzzy
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}."
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}."
 
 #, fuzzy
 msgid "Missing Command"
@@ -88,18 +88,18 @@ msgstr "It looks like you forgot to use a command on line {line_number}."
 
 #, fuzzy
 msgid "Missing Inner Command"
-msgstr "It looks like you forgot to use a command with the {command} statement you used on line {line_number}."
+msgstr "It looks like you forgot to use a command with the `{command}` statement you used on line {line_number}."
 
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}."
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}."
 
 #, fuzzy
 msgid "Missing Variable"
-msgstr "It looks like your {command} is missing a variable at the start of the line."
+msgstr "It looks like your `{command}` is missing a variable at the start of the line."
 
 #, fuzzy
 msgid "Misspelled At Command"
-msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}."
+msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}."
 
 #, fuzzy
 msgid "No Indentation"
@@ -111,11 +111,18 @@ msgstr "At line {line_number}, you might have tried using a number which Hedy do
 
 #, fuzzy
 msgid "Parse"
-msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed {character_found}, but that is not allowed."
+msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed `{character_found}`, but that is not allowed."
 
 #, fuzzy
 msgid "Pressit Missing Else"
-msgstr "You forgot to add what happens when you press a different key, add an {else} to your code"
+msgstr "You forgot to add what happens when you press a different key, add an `{else}` to your code"
+
+#, fuzzy
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -143,11 +150,11 @@ msgstr "Be careful. If you ask or print something, the text should start and fin
 
 #, fuzzy
 msgid "Unsupported Float"
-msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change {value} to an integer."
+msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change `{value}` to an integer."
 
 #, fuzzy
 msgid "Unsupported String Value"
-msgstr "Text values cannot contain {invalid_value}."
+msgstr "Text values cannot contain `{invalid_value}`."
 
 #, fuzzy
 msgid "Unused Variable"
@@ -155,11 +162,11 @@ msgstr "You defined the variable {variable_name} on line {line_number}, but you
 
 #, fuzzy
 msgid "Var Undefined"
-msgstr "You tried to use the variable {name}, but you didn't set it. It is also possible that you were trying to use the word {name} but forgot quotation marks."
+msgstr "You tried to use the variable `{name}`, but you didn't set it. It is also possible that you were trying to use the word `{name}` but forgot quotation marks."
 
 #, fuzzy
 msgid "Wrong Level"
-msgstr "That was correct Hedy code, but not at the right level. You wrote {offending_keyword} for level {working_level}. Tip: {tip}"
+msgstr "That was correct Hedy code, but not at the right level. You wrote `{offending_keyword}` for level {working_level}. Tip: {tip}"
 
 #, fuzzy
 msgid "Wrong Number of Arguments"
@@ -361,15 +368,8 @@ msgid "cant_parse_exception"
 msgstr "Couldn't parse the program"
 
 #, fuzzy
-msgid "catch_index_exception"
-msgstr "You tried to access the list {list_name} but it is either empty or the index is not there."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-#, fuzzy
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "You tried to access the list {name} but it is either empty or the index is not there."
 
 #, fuzzy
 msgid "certificate"
@@ -1024,7 +1024,7 @@ msgstr "Incorrect Indentation"
 
 #, fuzzy
 msgid "input"
-msgstr "input from ask"
+msgstr "input from `{ask}`"
 
 #, fuzzy
 msgid "integer"
@@ -1414,7 +1414,7 @@ msgstr "This user hasn't earned the Hedy Certificate of Completion"
 
 #, fuzzy
 msgid "no_more_flat_if"
-msgstr "Starting in level 8, the code after {if} needs to be placed on the next line and start with 4 spaces."
+msgstr "Starting in level 8, the code after `{if}` needs to be placed on the next line and start with 4 spaces."
 
 #, fuzzy
 msgid "no_programs"
@@ -1811,7 +1811,7 @@ msgstr "Repair program icon"
 
 #, fuzzy
 msgid "repeat_dep"
-msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8."
+msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8."
 
 #, fuzzy
 msgid "repeat_match_password"
@@ -2359,8 +2359,8 @@ msgstr "Tutorial"
 #, fuzzy
 msgid "tutorial_code_snippet"
 msgstr ""
-"print Hello world!\n"
-"print I'm learning Hedy with the tutorial!"
+"{print} Hello world!\n"
+"{print} I'm learning Hedy with the tutorial!"
 
 #, fuzzy
 msgid "tutorial_message_not_found"
diff --git a/translations/sr/LC_MESSAGES/messages.po b/translations/sr/LC_MESSAGES/messages.po
index f107af2d4dd..75f7fab9da3 100644
--- a/translations/sr/LC_MESSAGES/messages.po
+++ b/translations/sr/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: sr\n"
@@ -24,7 +24,7 @@ msgstr "You tried to use the variable {name} on line {access_line_number}, but y
 
 #, fuzzy
 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."
+msgstr "The name `{variable}` needs to be set before you can use it on the right-hand side of the `{is}` command."
 
 #, fuzzy
 msgid "Function Undefined"
@@ -36,27 +36,27 @@ msgstr "Your code is incomplete. It contains blanks that you have to replace wit
 
 #, fuzzy
 msgid "Incomplete"
-msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind {incomplete_command}."
+msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind `{incomplete_command}`."
 
 #, fuzzy
 msgid "Incomplete Repeat"
-msgstr "It looks like you forgot to use a command with the {repeat} command you used on line {line_number}."
+msgstr "It looks like you forgot to use a `{command}` with the `{repeat}` command you used on line {line_number}."
 
 #, fuzzy
 msgid "Invalid"
-msgstr "{invalid_command} is not a Hedy level {level} command. Did you mean {guessed_command}?"
+msgstr "`{invalid_command}` is not a Hedy level {level} command. Did you mean `{guessed_command}`?"
 
 #, fuzzy
 msgid "Invalid Argument"
-msgstr "You cannot use the command {command} with {invalid_argument}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use the command `{command}` with `{invalid_argument}`. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid Argument Type"
-msgstr "You cannot use {command} with {invalid_argument} because it is {invalid_type}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use `{command}` with `{invalid_argument}` because it is {invalid_type}. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid At Command"
-msgstr "The {at} command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
+msgstr "The `{command}` command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
 
 #, fuzzy
 msgid "Invalid Space"
@@ -64,7 +64,7 @@ msgstr "Oops! You started a line with a space on line {line_number}. Spaces conf
 
 #, fuzzy
 msgid "Invalid Type Combination"
-msgstr "You cannot use {invalid_argument} and {invalid_argument_2} with {command} because one is {invalid_type} and the other is {invalid_type_2}. Try changing {invalid_argument} to {invalid_type_2} or {invalid_argument_2} to {invalid_type}."
+msgstr "You cannot use `{invalid_argument}` and `{invalid_argument_2}` with `{command}` because one is {invalid_type} and the other is {invalid_type_2}. Try changing `{invalid_argument}` to {invalid_type_2} or `{invalid_argument_2}` to {invalid_type}."
 
 #, fuzzy
 msgid "Locked Language Feature"
@@ -72,7 +72,7 @@ msgstr "You are using {concept}! That is awesome, but {concept} is not unlocked
 
 #, fuzzy
 msgid "Lonely Echo"
-msgstr "You used an {echo} before an {ask}, or an {echo} without an {ask}. Place an {ask} before the {echo}."
+msgstr "You used an `{echo}` before an `{ask}`, or an `{echo}` without an `{ask}`. Place an `{ask}` before the `{echo}`."
 
 #, fuzzy
 msgid "Lonely Text"
@@ -80,7 +80,7 @@ msgstr "It looks like you forgot to use a command with the text you used in line
 
 #, fuzzy
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}."
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}."
 
 #, fuzzy
 msgid "Missing Command"
@@ -88,18 +88,18 @@ msgstr "It looks like you forgot to use a command on line {line_number}."
 
 #, fuzzy
 msgid "Missing Inner Command"
-msgstr "It looks like you forgot to use a command with the {command} statement you used on line {line_number}."
+msgstr "It looks like you forgot to use a command with the `{command}` statement you used on line {line_number}."
 
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}."
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}."
 
 #, fuzzy
 msgid "Missing Variable"
-msgstr "It looks like your {command} is missing a variable at the start of the line."
+msgstr "It looks like your `{command}` is missing a variable at the start of the line."
 
 #, fuzzy
 msgid "Misspelled At Command"
-msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}."
+msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}."
 
 #, fuzzy
 msgid "No Indentation"
@@ -111,11 +111,18 @@ msgstr "At line {line_number}, you might have tried using a number which Hedy do
 
 #, fuzzy
 msgid "Parse"
-msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed {character_found}, but that is not allowed."
+msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed `{character_found}`, but that is not allowed."
 
 #, fuzzy
 msgid "Pressit Missing Else"
-msgstr "You forgot to add what happens when you press a different key, add an {else} to your code"
+msgstr "You forgot to add what happens when you press a different key, add an `{else}` to your code"
+
+#, fuzzy
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -131,7 +138,7 @@ msgstr "You used too many spaces in line {line_number}. You used {leading_spaces
 
 #, fuzzy
 msgid "Unquoted Assignment"
-msgstr "From this level, you need to place texts to the right of the {is} between quotes. You forgot that for the text {text}."
+msgstr "From this level, you need to place texts to the right of the `{is}` between quotes. You forgot that for the text {text}."
 
 #, fuzzy
 msgid "Unquoted Equality Check"
@@ -139,15 +146,15 @@ msgstr "If you want to check if a variable is equal to multiple words, the words
 
 #, fuzzy
 msgid "Unquoted Text"
-msgstr "Be careful. If you {ask} or {print} something, the text should start and finish with a quotation mark. You forgot that for the text {unquotedtext}."
+msgstr "Be careful. If you `{ask}` or `{print}` something, the text should start and finish with a quotation mark. You forgot that for the text {unquotedtext}."
 
 #, fuzzy
 msgid "Unsupported Float"
-msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change {value} to an integer."
+msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change `{value}` to an integer."
 
 #, fuzzy
 msgid "Unsupported String Value"
-msgstr "Text values cannot contain {invalid_value}."
+msgstr "Text values cannot contain `{invalid_value}`."
 
 #, fuzzy
 msgid "Unused Variable"
@@ -155,11 +162,11 @@ msgstr "You defined the variable {variable_name} on line {line_number}, but you
 
 #, fuzzy
 msgid "Var Undefined"
-msgstr "You tried to use the variable {name}, but you didn't set it. It is also possible that you were trying to use the word {name} but forgot quotation marks."
+msgstr "You tried to use the variable `{name}`, but you didn't set it. It is also possible that you were trying to use the word `{name}` but forgot quotation marks."
 
 #, fuzzy
 msgid "Wrong Level"
-msgstr "That was correct Hedy code, but not at the right level. You wrote {offending_keyword} for level {working_level}. Tip: {tip}"
+msgstr "That was correct Hedy code, but not at the right level. You wrote `{offending_keyword}` for level {working_level}. Tip: {tip}"
 
 #, fuzzy
 msgid "Wrong Number of Arguments"
@@ -331,7 +338,7 @@ msgstr "Are you sure? You cannot revert this action."
 
 #, fuzzy
 msgid "ask_needs_var"
-msgstr "Starting in level 2, {ask} needs to be used with a variable. Example: name {is} {ask} What are you called?"
+msgstr "Starting in level 2, `{ask}` needs to be used with a variable. Example: name `{is}` `{ask}` What are you called?"
 
 #, fuzzy
 msgid "become_a_sponsor"
@@ -357,15 +364,8 @@ msgid "cant_parse_exception"
 msgstr "Couldn't parse the program"
 
 #, fuzzy
-msgid "catch_index_exception"
-msgstr "You tried to access the list {list_name} but it is either empty or the index is not there."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-#, fuzzy
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "You tried to access the list {name} but it is either empty or the index is not there."
 
 #, fuzzy
 msgid "certificate"
@@ -698,7 +698,7 @@ msgstr "Echo and ask mismatch"
 
 #, fuzzy
 msgid "echo_out"
-msgstr "Starting in level 2 {echo} is no longer needed. You can repeat an answer with {ask} and {print} now. Example: name is {ask} What are you called? {print} hello name"
+msgstr "Starting in level 2 `{echo}` is no longer needed. You can repeat an answer with `{ask}` and `{print}` now. Example: name is `{ask}` What are you called? `{print}` hello name"
 
 #, fuzzy
 msgid "edit_adventure"
@@ -1008,7 +1008,7 @@ msgstr "Incorrect Indentation"
 
 #, fuzzy
 msgid "input"
-msgstr "input from {ask}"
+msgstr "input from `{ask}`"
 
 #, fuzzy
 msgid "integer"
@@ -1391,7 +1391,7 @@ msgstr "This user hasn't earned the Hedy Certificate of Completion"
 
 #, fuzzy
 msgid "no_more_flat_if"
-msgstr "Starting in level 8, the code after {if} needs to be placed on the next line and start with 4 spaces."
+msgstr "Starting in level 8, the code after `{if}` needs to be placed on the next line and start with 4 spaces."
 
 #, fuzzy
 msgid "no_programs"
@@ -1778,7 +1778,7 @@ msgstr "Repair program icon"
 
 #, fuzzy
 msgid "repeat_dep"
-msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8."
+msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8."
 
 #, fuzzy
 msgid "repeat_match_password"
diff --git a/translations/sv/LC_MESSAGES/messages.po b/translations/sv/LC_MESSAGES/messages.po
index da0b57731a1..d83aa97f1e3 100644
--- a/translations/sv/LC_MESSAGES/messages.po
+++ b/translations/sv/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: sv\n"
@@ -22,7 +22,7 @@ msgid "Access Before Assign"
 msgstr "Du försökte använda variabeln {name} på rad {access_line_number}, men du tilldelar den på rad {definition_line_number}. Ge variabeln ett värde innan du använder den."
 
 msgid "Cyclic Var Definition"
-msgstr "Namnet {variable} måste ges ett värde innan du kan använda det på höger sida av {is}-kommandot."
+msgstr "Namnet `{variable}` måste ges ett värde innan du kan använda det på höger sida av `{is}`-kommandot."
 
 #, fuzzy
 msgid "Function Undefined"
@@ -32,58 +32,58 @@ msgid "Has Blanks"
 msgstr "Din kod är ofullständig. Den innehåller tomrum som du måste ersätta med kod."
 
 msgid "Incomplete"
-msgstr "Hoppsan! Du glömde lite kod! På rad {line_number} måste du ange text efter {incomplete_command}."
+msgstr "Hoppsan! Du glömde lite kod! På rad {line_number} måste du ange text efter `{incomplete_command}`."
 
 msgid "Incomplete Repeat"
-msgstr "Du verkar ha glömt att använda ett kommando med {repeat}-kommandot som du använde på rad {line_number}."
+msgstr "Du verkar ha glömt att använda ett kommando med `{repeat}`-kommandot som du använde på rad {line_number}."
 
 msgid "Invalid"
-msgstr "{invalid_command} är inte ett Hedy-kommando på nivå {level}. Menade du {guessed_command}?"
+msgstr "`{invalid_command}` är inte ett Hedy-kommando på nivå {level}. Menade du `{guessed_command}`?"
 
 msgid "Invalid Argument"
-msgstr "Du kan inte använda kommandot {command} med {invalid_argument}. Försök att ändra {invalid_argument} till {allowed_types}."
+msgstr "Du kan inte använda kommandot `{command}` med `{invalid_argument}`. Försök att ändra `{invalid_argument}` till {allowed_types}."
 
 msgid "Invalid Argument Type"
-msgstr "Du kan inte använda {command} med {invalid_argument} eftersom det är {invalid_type}. Försök ändra {invalid_argument} till {allowed_types}."
+msgstr "Du kan inte använda `{command}` med `{invalid_argument}` eftersom det är {invalid_type}. Försök ändra `{invalid_argument}` till {allowed_types}."
 
 msgid "Invalid At Command"
-msgstr "Kommandot {at} får inte användas från och med nivå 16. Du kan använda hakparenteser för att använda ett element från en lista, till exempel `vänner[i]`, `lyckonummer[{random}]`."
+msgstr "Kommandot `{command}` får inte användas från och med nivå 16. Du kan använda hakparenteser för att använda ett element från en lista, till exempel `vänner[i]`, `lyckonummer[{random}]`."
 
 msgid "Invalid Space"
 msgstr "Hoppsan! Du började en rad med ett mellanslag på rad {line_number}. Mellanslag förvirrar datorer; kan du ta bort det?"
 
 msgid "Invalid Type Combination"
-msgstr "Du kan inte använda {invalid_argument} och {invalid_argument_2} med {command} eftersom det ena är {invalid_type} och det andra är {invalid_type_2}. Försök att ändra {invalid_argument} till {invalid_type_2} eller {invalid_argument_2} till {invalid_type}."
+msgstr "Du kan inte använda `{invalid_argument}` och `{invalid_argument_2}` med `{command}` eftersom det ena är {invalid_type} och det andra är {invalid_type_2}. Försök att ändra `{invalid_argument}` till {invalid_type_2} eller `{invalid_argument_2}` till {invalid_type}."
 
 msgid "Locked Language Feature"
 msgstr "Du använder {concept}! Det är jättebra men {concept} är inte upplåst än! Den kommer att låsas upp på en senare nivå."
 
 msgid "Lonely Echo"
-msgstr "Du använde {echo} före {ask}, eller {echo} utan något {ask}. Skriv {ask} före {echo}."
+msgstr "Du använde `{echo}` före `{ask}`, eller `{echo}` utan något `{ask}`. Skriv `{ask}` före `{echo}`."
 
 msgid "Lonely Text"
 msgstr "Du verkar ha glömt att använda ett kommando ihop med texten du använde på rad {line_number}"
 
 #, fuzzy
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}."
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}."
 
 msgid "Missing Command"
 msgstr "Du verkar ha glömt att använda ett kommando på rad {line_number}."
 
 msgid "Missing Inner Command"
-msgstr "Du verkar ha glömt ett kommando ihop med {command} som du använde på rad {line_number}."
+msgstr "Du verkar ha glömt ett kommando ihop med `{command}` som du använde på rad {line_number}."
 
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}."
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}."
 
 #, fuzzy
 msgid "Missing Variable"
-msgstr "It looks like your {command} is missing a variable at the start of the line."
+msgstr "It looks like your `{command}` is missing a variable at the start of the line."
 
 #, fuzzy
 msgid "Misspelled At Command"
-msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}."
+msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}."
 
 msgid "No Indentation"
 msgstr "Du har använt för få mellanslag på rad {line_number}. Du använde {leading_spaces} mellanslag och det är för få. Börja varje nytt block med {indent_size} mellanslag mer än raden innan."
@@ -93,10 +93,17 @@ msgid "Non Decimal Variable"
 msgstr "At line {line_number}, you might have tried using a number which Hedy does not like very much! Try changing it to a decimal number like 2."
 
 msgid "Parse"
-msgstr "Koden du matat in är inte giltig Hedy-kod. Det finns ett fel på rad {location[0]} och kolumn {location[1]}. Du skrev {character_found}, men det är inte tillåtet."
+msgstr "Koden du matat in är inte giltig Hedy-kod. Det finns ett fel på rad {location[0]} och kolumn {location[1]}. Du skrev `{character_found}`, men det är inte tillåtet."
 
 msgid "Pressit Missing Else"
-msgstr "Du glömde att lägga till vad som händer när du trycker på en annan tangent; lägg till ett {else} i din kod"
+msgstr "Du glömde att lägga till vad som händer när du trycker på en annan tangent; lägg till ett `{else}` i din kod"
+
+#, fuzzy
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -109,29 +116,29 @@ msgid "Unexpected Indentation"
 msgstr "Du använde för många mellanslag på rad {line_number}. Du använde {leading_spaces} mellanslag och det är för många. Börja varje nytt block med {indent_size} mellanslag mer än raden innan."
 
 msgid "Unquoted Assignment"
-msgstr "Från den här nivån behöver du skriva texter till höger om {is} inom citattecken. Du glömde det för texten {text}."
+msgstr "Från den här nivån behöver du skriva texter till höger om `{is}` inom citattecken. Du glömde det för texten {text}."
 
 msgid "Unquoted Equality Check"
 msgstr "Om du vill kontrollera om en variabel är lika med flera ord, ska orden omges av citattecken!"
 
 msgid "Unquoted Text"
-msgstr "Var försiktig. Om du {ask} eller {print} något ska texten börja och sluta med ett citattecken. Du glömde det för texten {unquotedtext}."
+msgstr "Var försiktig. Om du `{ask}` eller `{print}` något ska texten börja och sluta med ett citattecken. Du glömde det för texten {unquotedtext}."
 
 msgid "Unsupported Float"
-msgstr "Icke-heltal stöds inte än, men kommer att finnas några nivåer högre upp. Ändra {value} till ett heltal för tillfället."
+msgstr "Icke-heltal stöds inte än, men kommer att finnas några nivåer högre upp. Ändra `{value}` till ett heltal för tillfället."
 
 msgid "Unsupported String Value"
-msgstr "Textvärden kan inte innehålla {invalid_value}."
+msgstr "Textvärden kan inte innehålla `{invalid_value}`."
 
 #, fuzzy
 msgid "Unused Variable"
 msgstr "You defined the variable {variable_name} on line {line_number}, but you did not use it."
 
 msgid "Var Undefined"
-msgstr "Du försökte använda variabeln {name}, men du har inte tilldelat den något värde. Det är också möjligt att du försökte använda ordet {name} men glömde citattecken."
+msgstr "Du försökte använda variabeln `{name}`, men du har inte tilldelat den något värde. Det är också möjligt att du försökte använda ordet `{name}` men glömde citattecken."
 
 msgid "Wrong Level"
-msgstr "Det var rätt Hedy-kod, men inte på rätt nivå. Du skrev {offending_keyword} på nivå {working_level}. Tips: {tip}"
+msgstr "Det var rätt Hedy-kod, men inte på rätt nivå. Du skrev `{offending_keyword}` på nivå {working_level}. Tips: {tip}"
 
 #, fuzzy
 msgid "Wrong Number of Arguments"
@@ -271,7 +278,7 @@ msgid "are_you_sure"
 msgstr "Är du säker? Du kan inte ångra den här åtgärden."
 
 msgid "ask_needs_var"
-msgstr "Från och med nivå 2 måste {ask} användas med en variabel. Exempel: namn {is} {ask} Vad heter du?"
+msgstr "Från och med nivå 2 måste `{ask}` användas med en variabel. Exempel: namn `{is}` `{ask}` Vad heter du?"
 
 msgid "become_a_sponsor"
 msgstr "Bli sponsor"
@@ -292,15 +299,8 @@ msgstr "Avbryt"
 msgid "cant_parse_exception"
 msgstr "Kan inte analysera programmet"
 
-msgid "catch_index_exception"
-msgstr "Du försökte komma åt listan {list_name} men den är antingen tom eller så finns inte det indexet."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-#, fuzzy
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "Du försökte komma åt listan {name} men den är antingen tom eller så finns inte det indexet."
 
 msgid "certificate"
 msgstr "Diplom för genomförd utbildning"
@@ -568,7 +568,7 @@ msgid "echo_and_ask_mismatch_exception"
 msgstr "Echo and ask mismatch"
 
 msgid "echo_out"
-msgstr "Från och med nivå 2 behövs inte längre {echo}. Du kan nu istället upprepa ett svar med {ask} och {print}. Exempel: namnet är {ask} Vad heter du? {print} Hej namn"
+msgstr "Från och med nivå 2 behövs inte längre `{echo}`. Du kan nu istället upprepa ett svar med `{ask}` och `{print}`. Exempel: namnet är `{ask}` Vad heter du? `{print}` Hej namn"
 
 #, fuzzy
 msgid "edit_adventure"
@@ -819,7 +819,7 @@ msgid "indentation_exception"
 msgstr "Incorrect Indentation"
 
 msgid "input"
-msgstr "indata från {ask}"
+msgstr "indata från `{ask}`"
 
 msgid "integer"
 msgstr "ett tal"
@@ -1135,7 +1135,7 @@ msgid "no_certificate"
 msgstr "Den här användaren har inte fått Hedys diplom för slutförande"
 
 msgid "no_more_flat_if"
-msgstr "Från och med nivå 8 måste koden efter {if} placeras på nästa rad och börja med fyra mellanslag."
+msgstr "Från och med nivå 8 måste koden efter `{if}` placeras på nästa rad och börja med fyra mellanslag."
 
 #, fuzzy
 msgid "no_programs"
@@ -1444,7 +1444,7 @@ msgstr "Ikon för programreparation"
 
 #, fuzzy
 msgid "repeat_dep"
-msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8."
+msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8."
 
 msgid "repeat_match_password"
 msgstr "Det upprepade lösenordet stämmer inte."
diff --git a/translations/sw/LC_MESSAGES/messages.po b/translations/sw/LC_MESSAGES/messages.po
index 09f5118ba7f..ce9b34256c3 100644
--- a/translations/sw/LC_MESSAGES/messages.po
+++ b/translations/sw/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: sw\n"
@@ -24,7 +24,7 @@ msgstr "You tried to use the variable {name} on line {access_line_number}, but y
 
 #, fuzzy
 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"
+msgstr "The name `{variable}` needs to be set before you can use it on the right-hand side of the is command"
 
 #, fuzzy
 msgid "Function Undefined"
@@ -35,33 +35,33 @@ msgid "Has Blanks"
 msgstr "Your code is incomplete. It contains blanks that you have to replace with code."
 
 msgid "Incomplete"
-msgstr "Oops! Umesahau kitu! Kwenye mstari wa {line_number}, unatakiwa kuandika nyuma ya {incomplete_command}."
+msgstr "Oops! Umesahau kitu! Kwenye mstari wa {line_number}, unatakiwa kuandika nyuma ya `{incomplete_command}`."
 
 #, fuzzy
 msgid "Incomplete Repeat"
-msgstr "It looks like you forgot to use {command} with the repeat command you used on line {line_number}."
+msgstr "It looks like you forgot to use `{command}` with the repeat command you used on line {line_number}."
 
 msgid "Invalid"
-msgstr "{invalid_command} hii sio sahihi kwa kiwango cha {level}. Ulimaanisha  {guessed_command}?"
+msgstr "`{invalid_command}` hii sio sahihi kwa kiwango cha {level}. Ulimaanisha  `{guessed_command}`?"
 
 #, fuzzy
 msgid "Invalid Argument"
-msgstr "You cannot use the command {command} with {invalid_argument} . Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use the command `{command}` with `{invalid_argument}` . Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid Argument Type"
-msgstr "You cannot use {command} with {invalid_argument} because it is {invalid_type}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use `{command}` with `{invalid_argument}` because it is {invalid_type}. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid At Command"
-msgstr "The {at} command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
+msgstr "The `{command}` command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
 
 msgid "Invalid Space"
 msgstr "Oops! Ulianza mstari na nafasi(ujazo) katika mstari wa {line_number}. Nafasi huchanganya kompyuta, unaweza kuiondoa?"
 
 #, fuzzy
 msgid "Invalid Type Combination"
-msgstr "You cannot use {invalid_argument} and {invalid_argument_2} with {command} because one is {invalid_type} and the other is {invalid_type_2}. Try changing {invalid_argument} to {invalid_type_2} or {invalid_argument_2} to {invalid_type}."
+msgstr "You cannot use `{invalid_argument}` and `{invalid_argument_2}` with `{command}` because one is {invalid_type} and the other is {invalid_type_2}. Try changing `{invalid_argument}` to {invalid_type_2} or `{invalid_argument_2}` to {invalid_type}."
 
 #, fuzzy
 msgid "Locked Language Feature"
@@ -77,7 +77,7 @@ msgstr "It looks like you forgot to use a command with the text you put in line
 
 #, fuzzy
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}."
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}."
 
 #, fuzzy
 msgid "Missing Command"
@@ -85,18 +85,18 @@ msgstr "It looks like you forgot to use a command on line {line_number}."
 
 #, fuzzy
 msgid "Missing Inner Command"
-msgstr "It looks like you forgot to use a command with the {command} statement you used on line {line_number}."
+msgstr "It looks like you forgot to use a command with the `{command}` statement you used on line {line_number}."
 
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}."
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}."
 
 #, fuzzy
 msgid "Missing Variable"
-msgstr "It looks like your {command} is missing a variable at the start of the line."
+msgstr "It looks like your `{command}` is missing a variable at the start of the line."
 
 #, fuzzy
 msgid "Misspelled At Command"
-msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}."
+msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}."
 
 #, fuzzy
 msgid "No Indentation"
@@ -108,11 +108,18 @@ msgstr "At line {line_number}, you might have tried using a number which Hedy do
 
 #, fuzzy
 msgid "Parse"
-msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed {character_found}, but that is not allowed."
+msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed `{character_found}`, but that is not allowed."
 
 #, fuzzy
 msgid "Pressit Missing Else"
-msgstr "You forgot to add what happens when you press a different key, add an {else} to your code"
+msgstr "You forgot to add what happens when you press a different key, add an `{else}` to your code"
+
+#, fuzzy
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -139,21 +146,21 @@ msgstr "Kuwa makini. Ikiwa unachapisha kitu maandishi yanapaswa kuanza na kumali
 
 #, fuzzy
 msgid "Unsupported Float"
-msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change {value} to an integer."
+msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change `{value}` to an integer."
 
 #, fuzzy
 msgid "Unsupported String Value"
-msgstr "Text values cannot contain {invalid_value}."
+msgstr "Text values cannot contain `{invalid_value}`."
 
 #, fuzzy
 msgid "Unused Variable"
 msgstr "You defined the variable {variable_name} on line {line_number}, but you did not use it."
 
 msgid "Var Undefined"
-msgstr "Umejaribu kuchapisha {name}, lakini hukuiimarisha."
+msgstr "Umejaribu kuchapisha `{name}`, lakini hukuiimarisha."
 
 msgid "Wrong Level"
-msgstr "Ni sahihi, lakini sio jibu la kiwango hiki. Umeandika jibu {offending_keyword}  kwenye kiwango cha {working_level}. Tip: {tip}"
+msgstr "Ni sahihi, lakini sio jibu la kiwango hiki. Umeandika jibu `{offending_keyword}`  kwenye kiwango cha {working_level}. Tip: {tip}"
 
 #, fuzzy
 msgid "Wrong Number of Arguments"
@@ -350,15 +357,8 @@ msgid "cant_parse_exception"
 msgstr "Couldn't parse the program"
 
 #, fuzzy
-msgid "catch_index_exception"
-msgstr "You tried to access the list {list_name} but it is either empty or the index is not there."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-#, fuzzy
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "You tried to access the list {name} but it is either empty or the index is not there."
 
 #, fuzzy
 msgid "certificate"
@@ -995,7 +995,7 @@ msgstr "Incorrect Indentation"
 
 #, fuzzy
 msgid "input"
-msgstr "input from ask"
+msgstr "input from `{ask}`"
 
 #, fuzzy
 msgid "integer"
@@ -1356,7 +1356,7 @@ msgstr "This user hasn't earned the Hedy Certificate of Completion"
 
 #, fuzzy
 msgid "no_more_flat_if"
-msgstr "Starting in level 8, the code after {if} needs to be placed on the next line and start with 4 spaces."
+msgstr "Starting in level 8, the code after `{if}` needs to be placed on the next line and start with 4 spaces."
 
 #, fuzzy
 msgid "no_programs"
@@ -1740,7 +1740,7 @@ msgstr "Repair program icon"
 
 #, fuzzy
 msgid "repeat_dep"
-msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8."
+msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8."
 
 msgid "repeat_match_password"
 msgstr "Nenosiri inayorudiwa hailingani."
@@ -2142,7 +2142,7 @@ msgid "template_code"
 msgstr ""
 "This is the explanation of my adventure!\n"
 "\n"
-"This way I can show a command: print\n"
+"This way I can show a command: {print}\n"
 "\n"
 "But sometimes I might want to show a piece of code, like this:\n"
 "
\n"
@@ -2272,7 +2272,9 @@ msgstr "Tutorial"
 
 #, fuzzy
 msgid "tutorial_code_snippet"
-msgstr "Hide cheatsheet"
+msgstr ""
+"{print} Hello world!\n"
+"{print} I'm learning Hedy with the tutorial!"
 
 #, fuzzy
 msgid "tutorial_message_not_found"
diff --git a/translations/te/LC_MESSAGES/messages.po b/translations/te/LC_MESSAGES/messages.po
index 2315e16bc79..003c9cc0a70 100644
--- a/translations/te/LC_MESSAGES/messages.po
+++ b/translations/te/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: te\n"
@@ -24,7 +24,7 @@ msgstr "You tried to use the variable {name} on line {access_line_number}, but y
 
 #, fuzzy
 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."
+msgstr "The name `{variable}` needs to be set before you can use it on the right-hand side of the `{is}` command."
 
 #, fuzzy
 msgid "Function Undefined"
@@ -36,27 +36,27 @@ msgstr "Your code is incomplete. It contains blanks that you have to replace wit
 
 #, fuzzy
 msgid "Incomplete"
-msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind {incomplete_command}."
+msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind `{incomplete_command}`."
 
 #, fuzzy
 msgid "Incomplete Repeat"
-msgstr "It looks like you forgot to use a command with the {repeat} command you used on line {line_number}."
+msgstr "It looks like you forgot to use a `{command}` with the `{repeat}` command you used on line {line_number}."
 
 #, fuzzy
 msgid "Invalid"
-msgstr "{invalid_command} is not a Hedy level {level} command. Did you mean {guessed_command}?"
+msgstr "`{invalid_command}` is not a Hedy level {level} command. Did you mean `{guessed_command}`?"
 
 #, fuzzy
 msgid "Invalid Argument"
-msgstr "You cannot use the command {command} with {invalid_argument}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use the command `{command}` with `{invalid_argument}`. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid Argument Type"
-msgstr "You cannot use {command} with {invalid_argument} because it is {invalid_type}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use `{command}` with `{invalid_argument}` because it is {invalid_type}. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid At Command"
-msgstr "The {at} command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
+msgstr "The `{command}` command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
 
 #, fuzzy
 msgid "Invalid Space"
@@ -64,7 +64,7 @@ msgstr "Oops! You started a line with a space on line {line_number}. Spaces conf
 
 #, fuzzy
 msgid "Invalid Type Combination"
-msgstr "You cannot use {invalid_argument} and {invalid_argument_2} with {command} because one is {invalid_type} and the other is {invalid_type_2}. Try changing {invalid_argument} to {invalid_type_2} or {invalid_argument_2} to {invalid_type}."
+msgstr "You cannot use `{invalid_argument}` and `{invalid_argument_2}` with `{command}` because one is {invalid_type} and the other is {invalid_type_2}. Try changing `{invalid_argument}` to {invalid_type_2} or `{invalid_argument_2}` to {invalid_type}."
 
 #, fuzzy
 msgid "Locked Language Feature"
@@ -72,7 +72,7 @@ msgstr "You are using {concept}! That is awesome, but {concept} is not unlocked
 
 #, fuzzy
 msgid "Lonely Echo"
-msgstr "You used an {echo} before an {ask}, or an {echo} without an {ask}. Place an {ask} before the {echo}."
+msgstr "You used an `{echo}` before an `{ask}`, or an `{echo}` without an `{ask}`. Place an `{ask}` before the `{echo}`."
 
 #, fuzzy
 msgid "Lonely Text"
@@ -80,7 +80,7 @@ msgstr "It looks like you forgot to use a command with the text you used in line
 
 #, fuzzy
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}."
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}."
 
 #, fuzzy
 msgid "Missing Command"
@@ -88,18 +88,18 @@ msgstr "It looks like you forgot to use a command on line {line_number}."
 
 #, fuzzy
 msgid "Missing Inner Command"
-msgstr "It looks like you forgot to use a command with the {command} statement you used on line {line_number}."
+msgstr "It looks like you forgot to use a command with the `{command}` statement you used on line {line_number}."
 
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}."
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}."
 
 #, fuzzy
 msgid "Missing Variable"
-msgstr "It looks like your {command} is missing a variable at the start of the line."
+msgstr "It looks like your `{command}` is missing a variable at the start of the line."
 
 #, fuzzy
 msgid "Misspelled At Command"
-msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}."
+msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}."
 
 #, fuzzy
 msgid "No Indentation"
@@ -111,11 +111,18 @@ msgstr "At line {line_number}, you might have tried using a number which Hedy do
 
 #, fuzzy
 msgid "Parse"
-msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed {character_found}, but that is not allowed."
+msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed `{character_found}`, but that is not allowed."
 
 #, fuzzy
 msgid "Pressit Missing Else"
-msgstr "You forgot to add what happens when you press a different key, add an {else} to your code"
+msgstr "You forgot to add what happens when you press a different key, add an `{else}` to your code"
+
+#, fuzzy
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -131,7 +138,7 @@ msgstr "You used too many spaces in line {line_number}. You used {leading_spaces
 
 #, fuzzy
 msgid "Unquoted Assignment"
-msgstr "From this level, you need to place texts to the right of the {is} between quotes. You forgot that for the text {text}."
+msgstr "From this level, you need to place texts to the right of the `{is}` between quotes. You forgot that for the text {text}."
 
 #, fuzzy
 msgid "Unquoted Equality Check"
@@ -139,15 +146,15 @@ msgstr "If you want to check if a variable is equal to multiple words, the words
 
 #, fuzzy
 msgid "Unquoted Text"
-msgstr "Be careful. If you {ask} or {print} something, the text should start and finish with a quotation mark. You forgot that for the text {unquotedtext}."
+msgstr "Be careful. If you `{ask}` or `{print}` something, the text should start and finish with a quotation mark. You forgot that for the text {unquotedtext}."
 
 #, fuzzy
 msgid "Unsupported Float"
-msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change {value} to an integer."
+msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change `{value}` to an integer."
 
 #, fuzzy
 msgid "Unsupported String Value"
-msgstr "Text values cannot contain {invalid_value}."
+msgstr "Text values cannot contain `{invalid_value}`."
 
 #, fuzzy
 msgid "Unused Variable"
@@ -155,11 +162,11 @@ msgstr "You defined the variable {variable_name} on line {line_number}, but you
 
 #, fuzzy
 msgid "Var Undefined"
-msgstr "You tried to use the variable {name}, but you didn't set it. It is also possible that you were trying to use the word {name} but forgot quotation marks."
+msgstr "You tried to use the variable `{name}`, but you didn't set it. It is also possible that you were trying to use the word `{name}` but forgot quotation marks."
 
 #, fuzzy
 msgid "Wrong Level"
-msgstr "That was correct Hedy code, but not at the right level. You wrote {offending_keyword} for level {working_level}. Tip: {tip}"
+msgstr "That was correct Hedy code, but not at the right level. You wrote `{offending_keyword}` for level {working_level}. Tip: {tip}"
 
 #, fuzzy
 msgid "Wrong Number of Arguments"
@@ -334,7 +341,7 @@ msgstr "Are you sure? You cannot revert this action."
 
 #, fuzzy
 msgid "ask_needs_var"
-msgstr "Starting in level 2, {ask} needs to be used with a variable. Example: name {is} {ask} What are you called?"
+msgstr "Starting in level 2, `{ask}` needs to be used with a variable. Example: name `{is}` `{ask}` What are you called?"
 
 #, fuzzy
 msgid "become_a_sponsor"
@@ -361,15 +368,8 @@ msgid "cant_parse_exception"
 msgstr "Couldn't parse the program"
 
 #, fuzzy
-msgid "catch_index_exception"
-msgstr "You tried to access the list {list_name} but it is either empty or the index is not there."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-#, fuzzy
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "You tried to access the list {name} but it is either empty or the index is not there."
 
 #, fuzzy
 msgid "certificate"
@@ -709,7 +709,7 @@ msgstr "Echo and ask mismatch"
 
 #, fuzzy
 msgid "echo_out"
-msgstr "Starting in level 2 {echo} is no longer needed. You can repeat an answer with {ask} and {print} now. Example: name is {ask} What are you called? {print} hello name"
+msgstr "Starting in level 2 `{echo}` is no longer needed. You can repeat an answer with `{ask}` and `{print}` now. Example: name is `{ask}` What are you called? `{print}` hello name"
 
 #, fuzzy
 msgid "edit_adventure"
@@ -1024,7 +1024,7 @@ msgstr "Incorrect Indentation"
 
 #, fuzzy
 msgid "input"
-msgstr "input from {ask}"
+msgstr "input from `{ask}`"
 
 #, fuzzy
 msgid "integer"
@@ -1414,7 +1414,7 @@ msgstr "This user hasn't earned the Hedy Certificate of Completion"
 
 #, fuzzy
 msgid "no_more_flat_if"
-msgstr "Starting in level 8, the code after {if} needs to be placed on the next line and start with 4 spaces."
+msgstr "Starting in level 8, the code after `{if}` needs to be placed on the next line and start with 4 spaces."
 
 #, fuzzy
 msgid "no_programs"
@@ -1811,7 +1811,7 @@ msgstr "Repair program icon"
 
 #, fuzzy
 msgid "repeat_dep"
-msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8."
+msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8."
 
 #, fuzzy
 msgid "repeat_match_password"
diff --git a/translations/th/LC_MESSAGES/messages.po b/translations/th/LC_MESSAGES/messages.po
index 7b5a2c4a6fc..da23bab59ab 100644
--- a/translations/th/LC_MESSAGES/messages.po
+++ b/translations/th/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: th\n"
@@ -24,7 +24,7 @@ msgstr "You tried to use the variable {name} on line {access_line_number}, but y
 
 #, fuzzy
 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."
+msgstr "The name `{variable}` needs to be set before you can use it on the right-hand side of the is command."
 
 #, fuzzy
 msgid "Function Undefined"
@@ -36,27 +36,27 @@ msgstr "Your code is incomplete. It contains blanks that you have to replace wit
 
 #, fuzzy
 msgid "Incomplete"
-msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind {incomplete_command}."
+msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind `{incomplete_command}`."
 
 #, fuzzy
 msgid "Incomplete Repeat"
-msgstr "It looks like you forgot to use {command} with the repeat command you used on line {line_number}."
+msgstr "It looks like you forgot to use `{command}` with the repeat command you used on line {line_number}."
 
 #, fuzzy
 msgid "Invalid"
-msgstr "{invalid_command} is not a Hedy level {level} command. Did you mean {guessed_command}?"
+msgstr "`{invalid_command}` is not a Hedy level {level} command. Did you mean `{guessed_command}`?"
 
 #, fuzzy
 msgid "Invalid Argument"
-msgstr "You cannot use the command {command} with {invalid_argument}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use the command `{command}` with `{invalid_argument}`. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid Argument Type"
-msgstr "You cannot use {command} with {invalid_argument} because it is {invalid_type}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use `{command}` with `{invalid_argument}` because it is {invalid_type}. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid At Command"
-msgstr "The {at} command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
+msgstr "The `{command}` command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
 
 #, fuzzy
 msgid "Invalid Space"
@@ -64,7 +64,7 @@ msgstr "Oops! You started a line with a space on line {line_number}. Spaces conf
 
 #, fuzzy
 msgid "Invalid Type Combination"
-msgstr "You cannot use {invalid_argument} and {invalid_argument_2} with {command} because one is {invalid_type} and the other is {invalid_type_2}. Try changing {invalid_argument} to {invalid_type_2} or {invalid_argument_2} to {invalid_type}."
+msgstr "You cannot use `{invalid_argument}` and `{invalid_argument_2}` with `{command}` because one is {invalid_type} and the other is {invalid_type_2}. Try changing `{invalid_argument}` to {invalid_type_2} or `{invalid_argument_2}` to {invalid_type}."
 
 #, fuzzy
 msgid "Locked Language Feature"
@@ -80,7 +80,7 @@ msgstr "It looks like you forgot to use a command with the text you put in line
 
 #, fuzzy
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}."
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}."
 
 #, fuzzy
 msgid "Missing Command"
@@ -88,18 +88,18 @@ msgstr "It looks like you forgot to use a command on line {line_number}."
 
 #, fuzzy
 msgid "Missing Inner Command"
-msgstr "It looks like you forgot to use a command with the {command} statement you used on line {line_number}."
+msgstr "It looks like you forgot to use a command with the `{command}` statement you used on line {line_number}."
 
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}."
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}."
 
 #, fuzzy
 msgid "Missing Variable"
-msgstr "It looks like your {command} is missing a variable at the start of the line."
+msgstr "It looks like your `{command}` is missing a variable at the start of the line."
 
 #, fuzzy
 msgid "Misspelled At Command"
-msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}."
+msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}."
 
 #, fuzzy
 msgid "No Indentation"
@@ -111,11 +111,18 @@ msgstr "At line {line_number}, you might have tried using a number which Hedy do
 
 #, fuzzy
 msgid "Parse"
-msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed {character_found}, but that is not allowed."
+msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed `{character_found}`, but that is not allowed."
 
 #, fuzzy
 msgid "Pressit Missing Else"
-msgstr "You forgot to add what happens when you press a different key, add an {else} to your code"
+msgstr "You forgot to add what happens when you press a different key, add an `{else}` to your code"
+
+#, fuzzy
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -143,11 +150,11 @@ msgstr "Be careful. If you ask or print something, the text should start and fin
 
 #, fuzzy
 msgid "Unsupported Float"
-msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change {value} to an integer."
+msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change `{value}` to an integer."
 
 #, fuzzy
 msgid "Unsupported String Value"
-msgstr "Text values cannot contain {invalid_value}."
+msgstr "Text values cannot contain `{invalid_value}`."
 
 #, fuzzy
 msgid "Unused Variable"
@@ -155,11 +162,11 @@ msgstr "You defined the variable {variable_name} on line {line_number}, but you
 
 #, fuzzy
 msgid "Var Undefined"
-msgstr "You tried to use the variable {name}, but you didn't set it. It is also possible that you were trying to use the word {name} but forgot quotation marks."
+msgstr "You tried to use the variable `{name}`, but you didn't set it. It is also possible that you were trying to use the word `{name}` but forgot quotation marks."
 
 #, fuzzy
 msgid "Wrong Level"
-msgstr "That was correct Hedy code, but not at the right level. You wrote {offending_keyword} for level {working_level}. Tip: {tip}"
+msgstr "That was correct Hedy code, but not at the right level. You wrote `{offending_keyword}` for level {working_level}. Tip: {tip}"
 
 #, fuzzy
 msgid "Wrong Number of Arguments"
@@ -361,15 +368,8 @@ msgid "cant_parse_exception"
 msgstr "Couldn't parse the program"
 
 #, fuzzy
-msgid "catch_index_exception"
-msgstr "You tried to access the list {list_name} but it is either empty or the index is not there."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-#, fuzzy
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "You tried to access the list {name} but it is either empty or the index is not there."
 
 #, fuzzy
 msgid "certificate"
@@ -1382,7 +1382,7 @@ msgstr "This user hasn't earned the Hedy Certificate of Completion"
 
 #, fuzzy
 msgid "no_more_flat_if"
-msgstr "Starting in level 8, the code after {if} needs to be placed on the next line and start with 4 spaces."
+msgstr "Starting in level 8, the code after `{if}` needs to be placed on the next line and start with 4 spaces."
 
 #, fuzzy
 msgid "no_programs"
@@ -1779,7 +1779,7 @@ msgstr "Repair program icon"
 
 #, fuzzy
 msgid "repeat_dep"
-msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8."
+msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8."
 
 #, fuzzy
 msgid "repeat_match_password"
@@ -2326,8 +2326,8 @@ msgstr "Tutorial"
 #, fuzzy
 msgid "tutorial_code_snippet"
 msgstr ""
-"print Hello world!\n"
-"print I'm learning Hedy with the tutorial!"
+"{print} Hello world!\n"
+"{print} I'm learning Hedy with the tutorial!"
 
 #, fuzzy
 msgid "tutorial_message_not_found"
diff --git a/translations/tl/LC_MESSAGES/messages.po b/translations/tl/LC_MESSAGES/messages.po
index 198cf8669b6..2082e2d4d12 100644
--- a/translations/tl/LC_MESSAGES/messages.po
+++ b/translations/tl/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: tl\n"
@@ -24,7 +24,7 @@ msgstr "You tried to use the variable {name} on line {access_line_number}, but y
 
 #, fuzzy
 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."
+msgstr "The name `{variable}` needs to be set before you can use it on the right-hand side of the `{is}` command."
 
 #, fuzzy
 msgid "Function Undefined"
@@ -36,27 +36,27 @@ msgstr "Your code is incomplete. It contains blanks that you have to replace wit
 
 #, fuzzy
 msgid "Incomplete"
-msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind {incomplete_command}."
+msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind `{incomplete_command}`."
 
 #, fuzzy
 msgid "Incomplete Repeat"
-msgstr "It looks like you forgot to use a command with the {repeat} command you used on line {line_number}."
+msgstr "It looks like you forgot to use a `{command}` with the `{repeat}` command you used on line {line_number}."
 
 #, fuzzy
 msgid "Invalid"
-msgstr "{invalid_command} is not a Hedy level {level} command. Did you mean {guessed_command}?"
+msgstr "`{invalid_command}` is not a Hedy level {level} command. Did you mean `{guessed_command}`?"
 
 #, fuzzy
 msgid "Invalid Argument"
-msgstr "You cannot use the command {command} with {invalid_argument}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use the command `{command}` with `{invalid_argument}`. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid Argument Type"
-msgstr "You cannot use {command} with {invalid_argument} because it is {invalid_type}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use `{command}` with `{invalid_argument}` because it is {invalid_type}. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid At Command"
-msgstr "The {at} command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
+msgstr "The `{command}` command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
 
 #, fuzzy
 msgid "Invalid Space"
@@ -64,7 +64,7 @@ msgstr "Oops! You started a line with a space on line {line_number}. Spaces conf
 
 #, fuzzy
 msgid "Invalid Type Combination"
-msgstr "You cannot use {invalid_argument} and {invalid_argument_2} with {command} because one is {invalid_type} and the other is {invalid_type_2}. Try changing {invalid_argument} to {invalid_type_2} or {invalid_argument_2} to {invalid_type}."
+msgstr "You cannot use `{invalid_argument}` and `{invalid_argument_2}` with `{command}` because one is {invalid_type} and the other is {invalid_type_2}. Try changing `{invalid_argument}` to {invalid_type_2} or `{invalid_argument_2}` to {invalid_type}."
 
 #, fuzzy
 msgid "Locked Language Feature"
@@ -72,7 +72,7 @@ msgstr "You are using {concept}! That is awesome, but {concept} is not unlocked
 
 #, fuzzy
 msgid "Lonely Echo"
-msgstr "You used an {echo} before an {ask}, or an {echo} without an {ask}. Place an {ask} before the {echo}."
+msgstr "You used an `{echo}` before an `{ask}`, or an `{echo}` without an `{ask}`. Place an `{ask}` before the `{echo}`."
 
 #, fuzzy
 msgid "Lonely Text"
@@ -80,7 +80,7 @@ msgstr "It looks like you forgot to use a command with the text you used in line
 
 #, fuzzy
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}."
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}."
 
 #, fuzzy
 msgid "Missing Command"
@@ -88,18 +88,18 @@ msgstr "It looks like you forgot to use a command on line {line_number}."
 
 #, fuzzy
 msgid "Missing Inner Command"
-msgstr "It looks like you forgot to use a command with the {command} statement you used on line {line_number}."
+msgstr "It looks like you forgot to use a command with the `{command}` statement you used on line {line_number}."
 
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}."
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}."
 
 #, fuzzy
 msgid "Missing Variable"
-msgstr "It looks like your {command} is missing a variable at the start of the line."
+msgstr "It looks like your `{command}` is missing a variable at the start of the line."
 
 #, fuzzy
 msgid "Misspelled At Command"
-msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}."
+msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}."
 
 #, fuzzy
 msgid "No Indentation"
@@ -111,11 +111,18 @@ msgstr "At line {line_number}, you might have tried using a number which Hedy do
 
 #, fuzzy
 msgid "Parse"
-msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed {character_found}, but that is not allowed."
+msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed `{character_found}`, but that is not allowed."
 
 #, fuzzy
 msgid "Pressit Missing Else"
-msgstr "You forgot to add what happens when you press a different key, add an {else} to your code"
+msgstr "You forgot to add what happens when you press a different key, add an `{else}` to your code"
+
+#, fuzzy
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -131,7 +138,7 @@ msgstr "You used too many spaces in line {line_number}. You used {leading_spaces
 
 #, fuzzy
 msgid "Unquoted Assignment"
-msgstr "From this level, you need to place texts to the right of the {is} between quotes. You forgot that for the text {text}."
+msgstr "From this level, you need to place texts to the right of the `{is}` between quotes. You forgot that for the text {text}."
 
 #, fuzzy
 msgid "Unquoted Equality Check"
@@ -139,15 +146,15 @@ msgstr "If you want to check if a variable is equal to multiple words, the words
 
 #, fuzzy
 msgid "Unquoted Text"
-msgstr "Be careful. If you {ask} or {print} something, the text should start and finish with a quotation mark. You forgot that for the text {unquotedtext}."
+msgstr "Be careful. If you `{ask}` or `{print}` something, the text should start and finish with a quotation mark. You forgot that for the text {unquotedtext}."
 
 #, fuzzy
 msgid "Unsupported Float"
-msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change {value} to an integer."
+msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change `{value}` to an integer."
 
 #, fuzzy
 msgid "Unsupported String Value"
-msgstr "Text values cannot contain {invalid_value}."
+msgstr "Text values cannot contain `{invalid_value}`."
 
 #, fuzzy
 msgid "Unused Variable"
@@ -155,11 +162,11 @@ msgstr "You defined the variable {variable_name} on line {line_number}, but you
 
 #, fuzzy
 msgid "Var Undefined"
-msgstr "You tried to use the variable {name}, but you didn't set it. It is also possible that you were trying to use the word {name} but forgot quotation marks."
+msgstr "You tried to use the variable `{name}`, but you didn't set it. It is also possible that you were trying to use the word `{name}` but forgot quotation marks."
 
 #, fuzzy
 msgid "Wrong Level"
-msgstr "That was correct Hedy code, but not at the right level. You wrote {offending_keyword} for level {working_level}. Tip: {tip}"
+msgstr "That was correct Hedy code, but not at the right level. You wrote `{offending_keyword}` for level {working_level}. Tip: {tip}"
 
 #, fuzzy
 msgid "Wrong Number of Arguments"
@@ -334,7 +341,7 @@ msgstr "Are you sure? You cannot revert this action."
 
 #, fuzzy
 msgid "ask_needs_var"
-msgstr "Starting in level 2, {ask} needs to be used with a variable. Example: name {is} {ask} What are you called?"
+msgstr "Starting in level 2, `{ask}` needs to be used with a variable. Example: name `{is}` `{ask}` What are you called?"
 
 #, fuzzy
 msgid "become_a_sponsor"
@@ -361,15 +368,8 @@ msgid "cant_parse_exception"
 msgstr "Couldn't parse the program"
 
 #, fuzzy
-msgid "catch_index_exception"
-msgstr "You tried to access the list {list_name} but it is either empty or the index is not there."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-#, fuzzy
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "You tried to access the list {name} but it is either empty or the index is not there."
 
 #, fuzzy
 msgid "certificate"
@@ -709,7 +709,7 @@ msgstr "Echo and ask mismatch"
 
 #, fuzzy
 msgid "echo_out"
-msgstr "Starting in level 2 {echo} is no longer needed. You can repeat an answer with {ask} and {print} now. Example: name is {ask} What are you called? {print} hello name"
+msgstr "Starting in level 2 `{echo}` is no longer needed. You can repeat an answer with `{ask}` and `{print}` now. Example: name is `{ask}` What are you called? `{print}` hello name"
 
 #, fuzzy
 msgid "edit_adventure"
@@ -1024,7 +1024,7 @@ msgstr "Incorrect Indentation"
 
 #, fuzzy
 msgid "input"
-msgstr "input from {ask}"
+msgstr "input from `{ask}`"
 
 #, fuzzy
 msgid "integer"
@@ -1415,7 +1415,7 @@ msgstr "This user hasn't earned the Hedy Certificate of Completion"
 
 #, fuzzy
 msgid "no_more_flat_if"
-msgstr "Starting in level 8, the code after {if} needs to be placed on the next line and start with 4 spaces."
+msgstr "Starting in level 8, the code after `{if}` needs to be placed on the next line and start with 4 spaces."
 
 #, fuzzy
 msgid "no_programs"
@@ -1813,7 +1813,7 @@ msgstr "Repair program icon"
 
 #, fuzzy
 msgid "repeat_dep"
-msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8."
+msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8."
 
 #, fuzzy
 msgid "repeat_match_password"
diff --git a/translations/tn/LC_MESSAGES/messages.po b/translations/tn/LC_MESSAGES/messages.po
index 3b807941c92..b712398d068 100644
--- a/translations/tn/LC_MESSAGES/messages.po
+++ b/translations/tn/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: tn\n"
@@ -24,7 +24,7 @@ msgstr "You tried to use the variable {name} on line {access_line_number}, but y
 
 #, fuzzy
 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."
+msgstr "The name `{variable}` needs to be set before you can use it on the right-hand side of the is command."
 
 #, fuzzy
 msgid "Function Undefined"
@@ -36,27 +36,27 @@ msgstr "Your code is incomplete. It contains blanks that you have to replace wit
 
 #, fuzzy
 msgid "Incomplete"
-msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind {incomplete_command}."
+msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind `{incomplete_command}`."
 
 #, fuzzy
 msgid "Incomplete Repeat"
-msgstr "It looks like you forgot to use {command} with the repeat command you used on line {line_number}."
+msgstr "It looks like you forgot to use `{command}` with the repeat command you used on line {line_number}."
 
 #, fuzzy
 msgid "Invalid"
-msgstr "{invalid_command} is not a Hedy level {level} command. Did you mean {guessed_command}?"
+msgstr "`{invalid_command}` is not a Hedy level {level} command. Did you mean `{guessed_command}`?"
 
 #, fuzzy
 msgid "Invalid Argument"
-msgstr "You cannot use the command {command} with {invalid_argument}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use the command `{command}` with `{invalid_argument}`. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid Argument Type"
-msgstr "You cannot use {command} with {invalid_argument} because it is {invalid_type}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use `{command}` with `{invalid_argument}` because it is {invalid_type}. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid At Command"
-msgstr "The {at} command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
+msgstr "The `{command}` command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
 
 #, fuzzy
 msgid "Invalid Space"
@@ -64,7 +64,7 @@ msgstr "Oops! You started a line with a space on line {line_number}. Spaces conf
 
 #, fuzzy
 msgid "Invalid Type Combination"
-msgstr "You cannot use {invalid_argument} and {invalid_argument_2} with {command} because one is {invalid_type} and the other is {invalid_type_2}. Try changing {invalid_argument} to {invalid_type_2} or {invalid_argument_2} to {invalid_type}."
+msgstr "You cannot use `{invalid_argument}` and `{invalid_argument_2}` with `{command}` because one is {invalid_type} and the other is {invalid_type_2}. Try changing `{invalid_argument}` to {invalid_type_2} or `{invalid_argument_2}` to {invalid_type}."
 
 #, fuzzy
 msgid "Locked Language Feature"
@@ -80,7 +80,7 @@ msgstr "It looks like you forgot to use a command with the text you put in line
 
 #, fuzzy
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}."
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}."
 
 #, fuzzy
 msgid "Missing Command"
@@ -88,18 +88,18 @@ msgstr "It looks like you forgot to use a command on line {line_number}."
 
 #, fuzzy
 msgid "Missing Inner Command"
-msgstr "It looks like you forgot to use a command with the {command} statement you used on line {line_number}."
+msgstr "It looks like you forgot to use a command with the `{command}` statement you used on line {line_number}."
 
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}."
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}."
 
 #, fuzzy
 msgid "Missing Variable"
-msgstr "It looks like your {command} is missing a variable at the start of the line."
+msgstr "It looks like your `{command}` is missing a variable at the start of the line."
 
 #, fuzzy
 msgid "Misspelled At Command"
-msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}."
+msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}."
 
 #, fuzzy
 msgid "No Indentation"
@@ -111,11 +111,18 @@ msgstr "At line {line_number}, you might have tried using a number which Hedy do
 
 #, fuzzy
 msgid "Parse"
-msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed {character_found}, but that is not allowed."
+msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed `{character_found}`, but that is not allowed."
 
 #, fuzzy
 msgid "Pressit Missing Else"
-msgstr "You forgot to add what happens when you press a different key, add an {else} to your code"
+msgstr "You forgot to add what happens when you press a different key, add an `{else}` to your code"
+
+#, fuzzy
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -143,11 +150,11 @@ msgstr "Be careful. If you ask or print something, the text should start and fin
 
 #, fuzzy
 msgid "Unsupported Float"
-msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change {value} to an integer."
+msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change `{value}` to an integer."
 
 #, fuzzy
 msgid "Unsupported String Value"
-msgstr "Text values cannot contain {invalid_value}."
+msgstr "Text values cannot contain `{invalid_value}`."
 
 #, fuzzy
 msgid "Unused Variable"
@@ -155,11 +162,11 @@ msgstr "You defined the variable {variable_name} on line {line_number}, but you
 
 #, fuzzy
 msgid "Var Undefined"
-msgstr "You tried to use the variable {name}, but you didn't set it. It is also possible that you were trying to use the word {name} but forgot quotation marks."
+msgstr "You tried to use the variable `{name}`, but you didn't set it. It is also possible that you were trying to use the word `{name}` but forgot quotation marks."
 
 #, fuzzy
 msgid "Wrong Level"
-msgstr "That was correct Hedy code, but not at the right level. You wrote {offending_keyword} for level {working_level}. Tip: {tip}"
+msgstr "That was correct Hedy code, but not at the right level. You wrote `{offending_keyword}` for level {working_level}. Tip: {tip}"
 
 #, fuzzy
 msgid "Wrong Number of Arguments"
@@ -361,15 +368,8 @@ msgid "cant_parse_exception"
 msgstr "Couldn't parse the program"
 
 #, fuzzy
-msgid "catch_index_exception"
-msgstr "You tried to access the list {list_name} but it is either empty or the index is not there."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-#, fuzzy
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "You tried to access the list {name} but it is either empty or the index is not there."
 
 #, fuzzy
 msgid "certificate"
@@ -1024,7 +1024,7 @@ msgstr "Incorrect Indentation"
 
 #, fuzzy
 msgid "input"
-msgstr "input from ask"
+msgstr "input from `{ask}`"
 
 #, fuzzy
 msgid "integer"
@@ -1409,7 +1409,7 @@ msgstr "This user hasn't earned the Hedy Certificate of Completion"
 
 #, fuzzy
 msgid "no_more_flat_if"
-msgstr "Starting in level 8, the code after {if} needs to be placed on the next line and start with 4 spaces."
+msgstr "Starting in level 8, the code after `{if}` needs to be placed on the next line and start with 4 spaces."
 
 #, fuzzy
 msgid "no_programs"
@@ -1806,7 +1806,7 @@ msgstr "Repair program icon"
 
 #, fuzzy
 msgid "repeat_dep"
-msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8."
+msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8."
 
 #, fuzzy
 msgid "repeat_match_password"
@@ -2354,8 +2354,8 @@ msgstr "Tutorial"
 #, fuzzy
 msgid "tutorial_code_snippet"
 msgstr ""
-"print Hello world!\n"
-"print I'm learning Hedy with the tutorial!"
+"{print} Hello world!\n"
+"{print} I'm learning Hedy with the tutorial!"
 
 #, fuzzy
 msgid "tutorial_message_not_found"
diff --git a/translations/tr/LC_MESSAGES/messages.po b/translations/tr/LC_MESSAGES/messages.po
index 1cfc1ecedb3..4f1fe639a17 100644
--- a/translations/tr/LC_MESSAGES/messages.po
+++ b/translations/tr/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: tr\n"
@@ -22,7 +22,7 @@ msgid "Access Before Assign"
 msgstr "{name} değişkenini {access_line_number} numaralı satırda kullanmaya çalıştınız, ancak {definition_line_number} numaralı satırda ayarladınız. Bir değişkeni, onu kullanmadan önce ayarlayın."
 
 msgid "Cyclic Var Definition"
-msgstr "{is} komutunun sağ tarafında kullanabilmeniz için {variable} adının daha önceden ayarlanması gerekir."
+msgstr "`{is}` komutunun sağ tarafında kullanabilmeniz için `{variable}` adının daha önceden ayarlanması gerekir."
 
 #, fuzzy
 msgid "Function Undefined"
@@ -32,58 +32,58 @@ msgid "Has Blanks"
 msgstr "Kodunuz tamamlanmamış. Kod ile değiştirmeniz gereken boşluklar var."
 
 msgid "Incomplete"
-msgstr "Oops! Bir kod parçasını unuttunuz! {line_number} numaralı satırda, {incomplete_command} satırının arkasına metin girmeniz gerekir."
+msgstr "Oops! Bir kod parçasını unuttunuz! {line_number} numaralı satırda, `{incomplete_command}` satırının arkasına metin girmeniz gerekir."
 
 msgid "Incomplete Repeat"
-msgstr "Görünüşe göre {line_number} numaralı satırda kullandığınız {repeat} komutuyla birlikte bir komut kullanmayı unutmuşsunuz."
+msgstr "Görünüşe göre {line_number} numaralı satırda kullandığınız `{repeat}` komutuyla birlikte bir komut kullanmayı unutmuşsunuz."
 
 msgid "Invalid"
-msgstr "{invalid_command} bir Hedy seviye {level} komutu değildir. {guessed_command} demek mi istediniz?"
+msgstr "`{invalid_command}` bir Hedy seviye {level} komutu değildir. `{guessed_command}` demek mi istediniz?"
 
 msgid "Invalid Argument"
-msgstr "{command} komutunu {invalid_argument} ile kullanamazsınız. {invalid_argument} 'ı {allowed_types} olarak değiştirmeyi deneyin."
+msgstr "`{command}` komutunu `{invalid_argument}` ile kullanamazsınız. `{invalid_argument}` 'ı {allowed_types} olarak değiştirmeyi deneyin."
 
 msgid "Invalid Argument Type"
-msgstr "{command} komutu ile birlikte {invalid_argument} kullanamazsınız çünkü bu bir {invalid_type}. {invalid_argument} 'ı {allowed_types} olarak değiştirmeyi deneyin."
+msgstr "`{command}` komutu ile birlikte `{invalid_argument}` kullanamazsınız çünkü bu bir {invalid_type}. `{invalid_argument}` 'ı {allowed_types} olarak değiştirmeyi deneyin."
 
 msgid "Invalid At Command"
-msgstr "{at} komutu 16. seviyeden itibaren kullanılamaz. Bir listeden bir öğe kullanmak için köşeli parantez kullanabilirsiniz, örneğin `arkadaşlar[i]`, `şanslı_sayılar[{random}]`."
+msgstr "`{command}` komutu 16. seviyeden itibaren kullanılamaz. Bir listeden bir öğe kullanmak için köşeli parantez kullanabilirsiniz, örneğin `arkadaşlar[i]`, `şanslı_sayılar[{random}]`."
 
 msgid "Invalid Space"
 msgstr "Oops! {line_number} numaralı satır boşlukla başladınız. Boşluklar bilgisayarların kafasını karıştırır, kaldırabilir misiniz?"
 
 msgid "Invalid Type Combination"
-msgstr "{command} komutu ile {invalid_argument} ve {invalid_argument_2} kullanamazsınız çünkü biri bir {invalid_type} diğeri bir {invalid_type_2}. {invalid_argument} 'ı {invalid_type_2} olarak ya da {invalid_argument_2} 'ı {invalid_type} olarak değiştirmeyi deneyin."
+msgstr "`{command}` komutu ile `{invalid_argument}` ve `{invalid_argument_2}` kullanamazsınız çünkü biri bir {invalid_type} diğeri bir {invalid_type_2}. `{invalid_argument}` 'ı {invalid_type_2} olarak ya da `{invalid_argument_2}` 'ı {invalid_type} olarak değiştirmeyi deneyin."
 
 msgid "Locked Language Feature"
 msgstr "{concept} kullanıyorsunuz! Bu harika, ancak {concept} kilidi henüz açılmadı! Bunun kullanımı daha sonraki bir seviyede açılacak."
 
 msgid "Lonely Echo"
-msgstr "Bir {ask}'dan önce bir {echo} veya {ask} olmadan bir {echo} kullandınız. {echo}'dan önce bir {ask} yerleştirin."
+msgstr "Bir `{ask}`'dan önce bir `{echo}` veya `{ask}` olmadan bir `{echo}` kullandınız. `{echo}`'dan önce bir `{ask}` yerleştirin."
 
 msgid "Lonely Text"
 msgstr "Görünüşe göre {line_number} numaralı satırda kullandığınız metinle birlikte bir komut kullanmayı unutmuşsunuz"
 
 #, fuzzy
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}."
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}."
 
 msgid "Missing Command"
 msgstr "Görünüşe göre {line_number} numaralı satırda bir komut kullanmayı unutmuşsunuz."
 
 msgid "Missing Inner Command"
-msgstr "Görünüşe göre {line_number} satırında kullandığınız {command} deyimiyle bir komut kullanmayı unutmuşsunuz."
+msgstr "Görünüşe göre {line_number} satırında kullandığınız `{command}` deyimiyle bir komut kullanmayı unutmuşsunuz."
 
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}."
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}."
 
 #, fuzzy
 msgid "Missing Variable"
-msgstr "It looks like your {command} is missing a variable at the start of the line."
+msgstr "It looks like your `{command}` is missing a variable at the start of the line."
 
 #, fuzzy
 msgid "Misspelled At Command"
-msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}."
+msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}."
 
 msgid "No Indentation"
 msgstr "{line_number} numaralı satırda çok az boşluk kullandınız. {leading_spaces} boşluk kullandınız, ama bu yeterli değil. Her yeni bloğu bir önceki satırdan {indent_size} boşluk daha fazla içeride olacak şekilde başlatın."
@@ -93,10 +93,17 @@ msgid "Non Decimal Variable"
 msgstr "At line {line_number}, you might have tried using a number which Hedy does not like very much! Try changing it to a decimal number like 2."
 
 msgid "Parse"
-msgstr "Girdiğiniz kod geçerli bir Hedy kodu değil. {location[0]} numaralı satırda, {location[1]} numaralı konumda bir hata var. {character_found} yazdınız, ancak buna izin verilmez."
+msgstr "Girdiğiniz kod geçerli bir Hedy kodu değil. {location[0]} numaralı satırda, {location[1]} numaralı konumda bir hata var. `{character_found}` yazdınız, ancak buna izin verilmez."
 
 msgid "Pressit Missing Else"
-msgstr "Farklı bir tuşa bastığınızda ne olacağını eklemeyi unuttunuz, kodunuza bir {else} ekleyin"
+msgstr "Farklı bir tuşa bastığınızda ne olacağını eklemeyi unuttunuz, kodunuza bir `{else}` ekleyin"
+
+#, fuzzy
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -115,13 +122,13 @@ msgid "Unquoted Equality Check"
 msgstr "Bir değişkenin birden fazla kelimeden oluşan bir ifadeye eşit olup olmadığını kontrol etmek istiyorsanız, kelimeler tırnak işaretleriyle çevrelenmelidir!"
 
 msgid "Unquoted Text"
-msgstr "Dikkatli olun. Bir şeyi {ask} veya {print} yaparsanız, artık bu metin tırnak işaretiyle başlamalı ve bitmelidir. Bunu {unquotedtext} metni için unuttunuz."
+msgstr "Dikkatli olun. Bir şeyi `{ask}` veya `{print}` yaparsanız, artık bu metin tırnak işaretiyle başlamalı ve bitmelidir. Bunu {unquotedtext} metni için unuttunuz."
 
 msgid "Unsupported Float"
-msgstr "Tamsayı-olmayan sayılar bu seviyede desteklenmemektedir, ancak birkaç seviye sonra desteklenecektir. Şimdilik {value} öğesini bir tamsayı olarak değiştirin."
+msgstr "Tamsayı-olmayan sayılar bu seviyede desteklenmemektedir, ancak birkaç seviye sonra desteklenecektir. Şimdilik `{value}` öğesini bir tamsayı olarak değiştirin."
 
 msgid "Unsupported String Value"
-msgstr "Metin değerleri {invalid_value} içeremez."
+msgstr "Metin değerleri `{invalid_value}` içeremez."
 
 #, fuzzy
 msgid "Unused Variable"
@@ -131,7 +138,7 @@ msgid "Var Undefined"
 msgstr "{name} değişkenini kullanmaya çalıştınız, ancak bunu ayarlamadınız. Ayrıca {name} kelimesini kullanmaya çalışmış ancak tırnak işaretlerini unutmuş olmanız da mümkündür."
 
 msgid "Wrong Level"
-msgstr "Bu doğru bir Hedy koduydu, ancak kullanımı doğru seviyede değildi. Seviye {working_level} için {offending_keyword} yazmışsınız. İpucu: {tip}"
+msgstr "Bu doğru bir Hedy koduydu, ancak kullanımı doğru seviyede değildi. Seviye {working_level} için `{offending_keyword}` yazmışsınız. İpucu: {tip}"
 
 #, fuzzy
 msgid "Wrong Number of Arguments"
@@ -271,7 +278,7 @@ msgid "are_you_sure"
 msgstr "Emin misiniz? Bu işlemi geri alamazsınız."
 
 msgid "ask_needs_var"
-msgstr "2. seviyeden itibaren, {ask} bir değişkenle birlikte kullanılmalıdır. Örnek: isim {is} {ask} Senin adın ne?"
+msgstr "2. seviyeden itibaren, `{ask}` bir değişkenle birlikte kullanılmalıdır. Örnek: isim `{is}` `{ask}` Senin adın ne?"
 
 msgid "become_a_sponsor"
 msgstr "Sponsor olun"
@@ -292,15 +299,8 @@ msgstr "İptal"
 msgid "cant_parse_exception"
 msgstr "Program ayrıştırılamadı"
 
-msgid "catch_index_exception"
-msgstr "{list_name} listesine erişmeye çalıştınız ancak liste ya boş ya da istenen dizin orada değil."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-#, fuzzy
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "{name} listesine erişmeye çalıştınız ancak liste ya boş ya da istenen dizin orada değil."
 
 msgid "certificate"
 msgstr "Tamamlama Sertifikası"
@@ -813,7 +813,7 @@ msgid "indentation_exception"
 msgstr "Yanlış Girintileme"
 
 msgid "input"
-msgstr "{ask}'dan alınan girdi"
+msgstr "`{ask}`'dan alınan girdi"
 
 msgid "integer"
 msgstr "bir sayı"
@@ -1119,7 +1119,7 @@ msgid "no_certificate"
 msgstr "Bu kullanıcı Hedy Tamamlama Sertifikasını henüz kazanmadı"
 
 msgid "no_more_flat_if"
-msgstr "8. seviyeden itibaren, {if}'den sonraki kodun bir sonraki satıra yerleştirilmesi ve satırın 4 boşlukla başlaması gerekir."
+msgstr "8. seviyeden itibaren, `{if}`'den sonraki kodun bir sonraki satıra yerleştirilmesi ve satırın 4 boşlukla başlaması gerekir."
 
 #, fuzzy
 msgid "no_programs"
@@ -1427,7 +1427,7 @@ msgstr "Program onarım simgesi"
 
 #, fuzzy
 msgid "repeat_dep"
-msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8."
+msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8."
 
 msgid "repeat_match_password"
 msgstr "Yinelenen şifre eşleşmiyor."
diff --git a/translations/uk/LC_MESSAGES/messages.po b/translations/uk/LC_MESSAGES/messages.po
index 7511391f95b..c2d8761adaf 100644
--- a/translations/uk/LC_MESSAGES/messages.po
+++ b/translations/uk/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: uk\n"
@@ -23,7 +23,7 @@ msgid "Access Before Assign"
 msgstr "You tried to use the variable {name} on line {access_line_number}, but you set it on line {definition_line_number}. Set a variable before using it."
 
 msgid "Cyclic Var Definition"
-msgstr "Ім'я {variable} повинно бути задане до того, як ви зможете використовувати її в правій частині команди {is}."
+msgstr "Ім'я `{variable}` повинно бути задане до того, як ви зможете використовувати її в правій частині команди `{is}`."
 
 #, fuzzy
 msgid "Function Undefined"
@@ -33,58 +33,58 @@ msgid "Has Blanks"
 msgstr "Ваш код є неповним. Він містить пробіли, які необхідно замінити кодом."
 
 msgid "Incomplete"
-msgstr "Ой! Ви забули трохи коду! У рядку {line_number} потрібно ввести текст за {incomplete_command}."
+msgstr "Ой! Ви забули трохи коду! У рядку {line_number} потрібно ввести текст за `{incomplete_command}`."
 
 msgid "Incomplete Repeat"
-msgstr "Схоже на те, що ви забули використати команду {repeat}, яку використовували в рядку {line_number}."
+msgstr "Схоже на те, що ви забули використати команду `{repeat}`, яку використовували в рядку {line_number}."
 
 msgid "Invalid"
-msgstr "{invalid_command} не є командою рівня {level} Hedy. Ви мали на увазі {guessed_command}?"
+msgstr "`{invalid_command}` не є командою рівня {level} Hedy. Ви мали на увазі `{guessed_command}`?"
 
 msgid "Invalid Argument"
-msgstr "Ви не можете використовувати команду {command} з {invalid_argument}. Спробуйте змінити {invalid_argument} на {allowed_types}."
+msgstr "Ви не можете використовувати команду `{command}` з `{invalid_argument}`. Спробуйте змінити `{invalid_argument}` на {allowed_types}."
 
 msgid "Invalid Argument Type"
-msgstr "Ви не можете використовувати {command} з {invalid_argument}, оскільки він є {invalid_type}. Спробуйте змінити {invalid_argument} на {allowed_types}."
+msgstr "Ви не можете використовувати `{command}` з `{invalid_argument}`, оскільки він є {invalid_type}. Спробуйте змінити `{invalid_argument}` на {allowed_types}."
 
 msgid "Invalid At Command"
-msgstr "Команду {at} не можна використовувати, починаючи з рівня 16. Ви можете використовувати квадратні дужки для використання елемента зі списку, наприклад `friends[i]`, `lucky_numbers[{random}]`."
+msgstr "Команду `{command}` не можна використовувати, починаючи з рівня 16. Ви можете використовувати квадратні дужки для використання елемента зі списку, наприклад `friends[i]`, `lucky_numbers[{random}]`."
 
 msgid "Invalid Space"
 msgstr "Упс! Ви почали рядок з пробілу в рядку {line_number}. Пробіли збивають з пантелику комп'ютер, чи можете ви його прибрати?"
 
 msgid "Invalid Type Combination"
-msgstr "Ви не можете використовувати {invalid_argument} і {invalid_argument_2} з {command}, оскільки один з них є {invalid_type}, а інший - {invalid_type_2}. Спробуйте змінити {invalid_argument} на {invalid_type_2} або {invalid_argument_2} на {invalid_type}."
+msgstr "Ви не можете використовувати `{invalid_argument}` і `{invalid_argument_2}` з `{command}`, оскільки один з них є {invalid_type}, а інший - {invalid_type_2}. Спробуйте змінити `{invalid_argument}` на {invalid_type_2} або `{invalid_argument_2}` на {invalid_type}."
 
 msgid "Locked Language Feature"
 msgstr "Ви використовуєте {concept}! Це чудово, але {concept} ще не розблоковано! Його буде розблоковано на наступному рівні."
 
 msgid "Lonely Echo"
-msgstr "Ви використали {echo} перед {ask} або {echo} без {ask}. Поставте {ask} перед {echo}."
+msgstr "Ви використали `{echo}` перед `{ask}` або `{echo}` без `{ask}`. Поставте `{ask}` перед `{echo}`."
 
 msgid "Lonely Text"
 msgstr "Схоже, що ви забули використати команду з текстом, яка використовується в рядку {line_number}"
 
 #, fuzzy
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}."
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}."
 
 msgid "Missing Command"
 msgstr "Схоже, що ви забули використати команду в рядку {line_number}."
 
 msgid "Missing Inner Command"
-msgstr "Схоже, що ви забули використати команду з оператором {command}, який ви використовували в рядку {line_number}."
+msgstr "Схоже, що ви забули використати команду з оператором `{command}`, який ви використовували в рядку {line_number}."
 
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}."
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}."
 
 #, fuzzy
 msgid "Missing Variable"
-msgstr "It looks like your {command} is missing a variable at the start of the line."
+msgstr "It looks like your `{command}` is missing a variable at the start of the line."
 
 #, fuzzy
 msgid "Misspelled At Command"
-msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}."
+msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}."
 
 msgid "No Indentation"
 msgstr "У рядку {line_number} використано занадто мало пробілів. Ви використали {leading_spaces} пробілів, що недостатньо. Починайте кожен новий блок з {indent_size} пробілів більше, ніж у попередньому рядку."
@@ -94,11 +94,18 @@ msgid "Non Decimal Variable"
 msgstr "At line {line_number}, you might have tried using a number which Hedy does not like very much! Try changing it to a decimal number like 2."
 
 msgid "Parse"
-msgstr "Введений вами код не є дійсним кодом Hedy. У рядку {location[0]}, в позиції {location[1]}, помилка. Ви ввели {character_found}, але це не допустимо."
+msgstr "Введений вами код не є дійсним кодом Hedy. У рядку {location[0]}, в позиції {location[1]}, помилка. Ви ввели `{character_found}`, але це не допустимо."
 
 #, fuzzy
 msgid "Pressit Missing Else"
-msgstr "You forgot to add what happens when you press a different key, add an {else} to your code"
+msgstr "You forgot to add what happens when you press a different key, add an `{else}` to your code"
+
+#, fuzzy
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -111,19 +118,19 @@ msgid "Unexpected Indentation"
 msgstr "У рядку {line_number} використано занадто багато пробілів. Ви використали {leading_spaces} пробілів, що є занадто багато. Починайте кожен новий блок з {indent_size} пробілів більше, ніж у попередньому рядку."
 
 msgid "Unquoted Assignment"
-msgstr "З цього рівня потрібно розміщувати тексти праворуч від {is} між лапками. Ви забули, це для тексту {text}."
+msgstr "З цього рівня потрібно розміщувати тексти праворуч від `{is}` між лапками. Ви забули, це для тексту {text}."
 
 msgid "Unquoted Equality Check"
 msgstr "Якщо потрібно перевірити, чи дорівнює змінна декільком словам, то слова повинні бути взяті в лапки!"
 
 msgid "Unquoted Text"
-msgstr "Будьте уважні. Якщо ви щось {ask} або {print}, то текст повинен починатися і закінчуватися лапками. Це ви забули для тексту {unquotedtext}."
+msgstr "Будьте уважні. Якщо ви щось `{ask}` або `{print}`, то текст повинен починатися і закінчуватися лапками. Це ви забули для тексту {unquotedtext}."
 
 msgid "Unsupported Float"
-msgstr "Нецілі числа поки що не підтримуються, але це буде через декілька рівнів. Наразі змініть {value} на ціле число."
+msgstr "Нецілі числа поки що не підтримуються, але це буде через декілька рівнів. Наразі змініть `{value}` на ціле число."
 
 msgid "Unsupported String Value"
-msgstr "Текстові значення не можуть містити {invalid_value}."
+msgstr "Текстові значення не можуть містити `{invalid_value}`."
 
 #, fuzzy
 msgid "Unused Variable"
@@ -133,7 +140,7 @@ msgid "Var Undefined"
 msgstr "Ви намагалися використати перемінну {name}, але не задали її. Також можливо, що ви намагалися використати слово {name}, але забули взяти лапки."
 
 msgid "Wrong Level"
-msgstr "Це був правильний код Hedy, але не на тому рівні. Ви написали {offending_keyword} для рівня {working_level}. Підказка: {tip}"
+msgstr "Це був правильний код Hedy, але не на тому рівні. Ви написали `{offending_keyword}` для рівня {working_level}. Підказка: {tip}"
 
 #, fuzzy
 msgid "Wrong Number of Arguments"
@@ -274,7 +281,7 @@ msgid "are_you_sure"
 msgstr "Ви впевнені? Ви не можете відкликати цю операцію."
 
 msgid "ask_needs_var"
-msgstr "Починаючи з рівня 2, {ask} потрібно використовувати із перемінною. Приклад: name {is} {ask} Як тебе звати?"
+msgstr "Починаючи з рівня 2, `{ask}` потрібно використовувати із перемінною. Приклад: name `{is}` `{ask}` Як тебе звати?"
 
 msgid "become_a_sponsor"
 msgstr "Стати спонсором"
@@ -297,15 +304,8 @@ msgstr "Скасувати"
 msgid "cant_parse_exception"
 msgstr "Couldn't parse the program"
 
-msgid "catch_index_exception"
-msgstr "Ви намагалися отримати доступ до списку {list_name}, але він або порожній, або індекс там відсутній."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-#, fuzzy
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "Ви намагалися отримати доступ до списку {name}, але він або порожній, або індекс там відсутній."
 
 msgid "certificate"
 msgstr "Свідоцтво про проходження курсу"
@@ -581,7 +581,7 @@ msgid "echo_and_ask_mismatch_exception"
 msgstr "Echo and ask mismatch"
 
 msgid "echo_out"
-msgstr "Починаючи з рівня 2 команда {echo} більше не потрібна. Тепер ви можете повторити відповідь за допомогою {ask} і {print}. Приклад: ім'я - {ask} Як тебе звати? {print} привіт ім'я"
+msgstr "Починаючи з рівня 2 команда `{echo}` більше не потрібна. Тепер ви можете повторити відповідь за допомогою `{ask}` і `{print}`. Приклад: ім'я - `{ask}` Як тебе звати? `{print}` привіт ім'я"
 
 #, fuzzy
 msgid "edit_adventure"
@@ -881,7 +881,7 @@ msgid "indentation_exception"
 msgstr "Incorrect Indentation"
 
 msgid "input"
-msgstr "вхідні дані з {ask}"
+msgstr "вхідні дані з `{ask}`"
 
 #, fuzzy
 msgid "integer"
@@ -1247,7 +1247,7 @@ msgstr "Цей користувач не отримав сертифікат п
 
 #, fuzzy
 msgid "no_more_flat_if"
-msgstr "Starting in level 8, the line after {if} needs to start with 4 spaces."
+msgstr "Starting in level 8, the line after `{if}` needs to start with 4 spaces."
 
 #, fuzzy
 msgid "no_programs"
@@ -1622,7 +1622,7 @@ msgstr "Repair program icon"
 
 #, fuzzy
 msgid "repeat_dep"
-msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8."
+msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8."
 
 #, fuzzy
 msgid "repeat_match_password"
diff --git a/translations/ur/LC_MESSAGES/messages.po b/translations/ur/LC_MESSAGES/messages.po
index db10b5f2dc5..709ccf84504 100644
--- a/translations/ur/LC_MESSAGES/messages.po
+++ b/translations/ur/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: ur\n"
@@ -23,7 +23,7 @@ msgid "Access Before Assign"
 msgstr "You tried to use the variable {name} on line {access_line_number}, but you set it on line {definition_line_number}. Set a variable before using it."
 
 msgid "Cyclic Var Definition"
-msgstr "اس نام {variable} کو استعمال سے پہلے {is}کمانڈ کے بائیں جانب متعارف کروائیں۔"
+msgstr "اس نام `{variable}` کو استعمال سے پہلے `{is}`کمانڈ کے بائیں جانب متعارف کروائیں۔"
 
 #, fuzzy
 msgid "Function Undefined"
@@ -34,27 +34,27 @@ msgstr "آپ کا کوڈ نامکمل ہے۔اس میں خالی جگہیں مو
 
 #, fuzzy
 msgid "Incomplete"
-msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind {incomplete_command}."
+msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind `{incomplete_command}`."
 
 #, fuzzy
 msgid "Incomplete Repeat"
-msgstr "It looks like you forgot to use {command} with the repeat command you used on line {line_number}."
+msgstr "It looks like you forgot to use `{command}` with the repeat command you used on line {line_number}."
 
 #, fuzzy
 msgid "Invalid"
-msgstr "{invalid_command} is not a Hedy level {level} command. Did you mean {guessed_command}?"
+msgstr "`{invalid_command}` is not a Hedy level {level} command. Did you mean `{guessed_command}`?"
 
 #, fuzzy
 msgid "Invalid Argument"
-msgstr "You cannot use the command {command} with {invalid_argument}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use the command `{command}` with `{invalid_argument}`. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid Argument Type"
-msgstr "You cannot use {command} with {invalid_argument} because it is {invalid_type}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use `{command}` with `{invalid_argument}` because it is {invalid_type}. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid At Command"
-msgstr "The {at} command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
+msgstr "The `{command}` command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
 
 #, fuzzy
 msgid "Invalid Space"
@@ -62,7 +62,7 @@ msgstr "Oops! You started a line with a space on line {line_number}. Spaces conf
 
 #, fuzzy
 msgid "Invalid Type Combination"
-msgstr "You cannot use {invalid_argument} and {invalid_argument_2} with {command} because one is {invalid_type} and the other is {invalid_type_2}. Try changing {invalid_argument} to {invalid_type_2} or {invalid_argument_2} to {invalid_type}."
+msgstr "You cannot use `{invalid_argument}` and `{invalid_argument_2}` with `{command}` because one is {invalid_type} and the other is {invalid_type_2}. Try changing `{invalid_argument}` to {invalid_type_2} or `{invalid_argument_2}` to {invalid_type}."
 
 #, fuzzy
 msgid "Locked Language Feature"
@@ -78,7 +78,7 @@ msgstr "It looks like you forgot to use a command with the text you put in line
 
 #, fuzzy
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}."
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}."
 
 #, fuzzy
 msgid "Missing Command"
@@ -86,18 +86,18 @@ msgstr "It looks like you forgot to use a command on line {line_number}."
 
 #, fuzzy
 msgid "Missing Inner Command"
-msgstr "It looks like you forgot to use a command with the {command} statement you used on line {line_number}."
+msgstr "It looks like you forgot to use a command with the `{command}` statement you used on line {line_number}."
 
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}."
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}."
 
 #, fuzzy
 msgid "Missing Variable"
-msgstr "It looks like your {command} is missing a variable at the start of the line."
+msgstr "It looks like your `{command}` is missing a variable at the start of the line."
 
 #, fuzzy
 msgid "Misspelled At Command"
-msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}."
+msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}."
 
 #, fuzzy
 msgid "No Indentation"
@@ -109,11 +109,18 @@ msgstr "At line {line_number}, you might have tried using a number which Hedy do
 
 #, fuzzy
 msgid "Parse"
-msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed {character_found}, but that is not allowed."
+msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed `{character_found}`, but that is not allowed."
 
 #, fuzzy
 msgid "Pressit Missing Else"
-msgstr "You forgot to add what happens when you press a different key, add an {else} to your code"
+msgstr "You forgot to add what happens when you press a different key, add an `{else}` to your code"
+
+#, fuzzy
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -141,11 +148,11 @@ msgstr "Be careful. If you ask or print something, the text should start and fin
 
 #, fuzzy
 msgid "Unsupported Float"
-msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change {value} to an integer."
+msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change `{value}` to an integer."
 
 #, fuzzy
 msgid "Unsupported String Value"
-msgstr "Text values cannot contain {invalid_value}."
+msgstr "Text values cannot contain `{invalid_value}`."
 
 #, fuzzy
 msgid "Unused Variable"
@@ -153,11 +160,11 @@ msgstr "You defined the variable {variable_name} on line {line_number}, but you
 
 #, fuzzy
 msgid "Var Undefined"
-msgstr "You tried to use the variable {name}, but you didn't set it. It is also possible that you were trying to use the word {name} but forgot quotation marks."
+msgstr "You tried to use the variable `{name}`, but you didn't set it. It is also possible that you were trying to use the word `{name}` but forgot quotation marks."
 
 #, fuzzy
 msgid "Wrong Level"
-msgstr "That was correct Hedy code, but not at the right level. You wrote {offending_keyword} for level {working_level}. Tip: {tip}"
+msgstr "That was correct Hedy code, but not at the right level. You wrote `{offending_keyword}` for level {working_level}. Tip: {tip}"
 
 #, fuzzy
 msgid "Wrong Number of Arguments"
@@ -359,15 +366,8 @@ msgid "cant_parse_exception"
 msgstr "Couldn't parse the program"
 
 #, fuzzy
-msgid "catch_index_exception"
-msgstr "You tried to access the list {list_name} but it is either empty or the index is not there."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-#, fuzzy
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "You tried to access the list {name} but it is either empty or the index is not there."
 
 #, fuzzy
 msgid "certificate"
@@ -1022,7 +1022,7 @@ msgstr "Incorrect Indentation"
 
 #, fuzzy
 msgid "input"
-msgstr "input from ask"
+msgstr "input from `{ask}`"
 
 #, fuzzy
 msgid "integer"
@@ -1412,7 +1412,7 @@ msgstr "This user hasn't earned the Hedy Certificate of Completion"
 
 #, fuzzy
 msgid "no_more_flat_if"
-msgstr "Starting in level 8, the code after {if} needs to be placed on the next line and start with 4 spaces."
+msgstr "Starting in level 8, the code after `{if}` needs to be placed on the next line and start with 4 spaces."
 
 #, fuzzy
 msgid "no_programs"
@@ -1809,7 +1809,7 @@ msgstr "Repair program icon"
 
 #, fuzzy
 msgid "repeat_dep"
-msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8."
+msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8."
 
 #, fuzzy
 msgid "repeat_match_password"
@@ -2357,8 +2357,8 @@ msgstr "Tutorial"
 #, fuzzy
 msgid "tutorial_code_snippet"
 msgstr ""
-"print Hello world!\n"
-"print I'm learning Hedy with the tutorial!"
+"{print} Hello world!\n"
+"{print} I'm learning Hedy with the tutorial!"
 
 #, fuzzy
 msgid "tutorial_message_not_found"
diff --git a/translations/vi/LC_MESSAGES/messages.po b/translations/vi/LC_MESSAGES/messages.po
index cb9fa1c5c88..d56e5a1a27e 100644
--- a/translations/vi/LC_MESSAGES/messages.po
+++ b/translations/vi/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2000-01-01 00:00+0000\n"
+"POT-Creation-Date: 2024-03-15 15:32+0200\n"
 "PO-Revision-Date: 2000-01-01 00:00+0000\n"
 "Last-Translator: Someone \n"
 "Language: vi\n"
@@ -24,7 +24,7 @@ msgstr "You tried to use the variable {name} on line {access_line_number}, but y
 
 #, fuzzy
 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."
+msgstr "The name `{variable}` needs to be set before you can use it on the right-hand side of the `{is}` command."
 
 #, fuzzy
 msgid "Function Undefined"
@@ -36,27 +36,27 @@ msgstr "Your code is incomplete. It contains blanks that you have to replace wit
 
 #, fuzzy
 msgid "Incomplete"
-msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind {incomplete_command}."
+msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind `{incomplete_command}`."
 
 #, fuzzy
 msgid "Incomplete Repeat"
-msgstr "It looks like you forgot to use a command with the {repeat} command you used on line {line_number}."
+msgstr "It looks like you forgot to use a `{command}` with the `{repeat}` command you used on line {line_number}."
 
 #, fuzzy
 msgid "Invalid"
-msgstr "{invalid_command} is not a Hedy level {level} command. Did you mean {guessed_command}?"
+msgstr "`{invalid_command}` is not a Hedy level {level} command. Did you mean `{guessed_command}`?"
 
 #, fuzzy
 msgid "Invalid Argument"
-msgstr "You cannot use the command {command} with {invalid_argument}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use the command `{command}` with `{invalid_argument}`. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid Argument Type"
-msgstr "You cannot use {command} with {invalid_argument} because it is {invalid_type}. Try changing {invalid_argument} to {allowed_types}."
+msgstr "You cannot use `{command}` with `{invalid_argument}` because it is {invalid_type}. Try changing `{invalid_argument}` to {allowed_types}."
 
 #, fuzzy
 msgid "Invalid At Command"
-msgstr "The {at} command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
+msgstr "The `{command}` command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`."
 
 #, fuzzy
 msgid "Invalid Space"
@@ -64,7 +64,7 @@ msgstr "Oops! You started a line with a space on line {line_number}. Spaces conf
 
 #, fuzzy
 msgid "Invalid Type Combination"
-msgstr "You cannot use {invalid_argument} and {invalid_argument_2} with {command} because one is {invalid_type} and the other is {invalid_type_2}. Try changing {invalid_argument} to {invalid_type_2} or {invalid_argument_2} to {invalid_type}."
+msgstr "You cannot use `{invalid_argument}` and `{invalid_argument_2}` with `{command}` because one is {invalid_type} and the other is {invalid_type_2}. Try changing `{invalid_argument}` to {invalid_type_2} or `{invalid_argument_2}` to {invalid_type}."
 
 #, fuzzy
 msgid "Locked Language Feature"
@@ -72,7 +72,7 @@ msgstr "You are using {concept}! That is awesome, but {concept} is not unlocked
 
 #, fuzzy
 msgid "Lonely Echo"
-msgstr "You used an {echo} before an {ask}, or an {echo} without an {ask}. Place an {ask} before the {echo}."
+msgstr "You used an `{echo}` before an `{ask}`, or an `{echo}` without an `{ask}`. Place an `{ask}` before the `{echo}`."
 
 #, fuzzy
 msgid "Lonely Text"
@@ -80,7 +80,7 @@ msgstr "It looks like you forgot to use a command with the text you used in line
 
 #, fuzzy
 msgid "Missing Additional Command"
-msgstr "It looks like you forgot to complete writing {command} on line {line_number}."
+msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}."
 
 #, fuzzy
 msgid "Missing Command"
@@ -88,18 +88,18 @@ msgstr "It looks like you forgot to use a command on line {line_number}."
 
 #, fuzzy
 msgid "Missing Inner Command"
-msgstr "It looks like you forgot to use a command with the {command} statement you used on line {line_number}."
+msgstr "It looks like you forgot to use a command with the `{command}` statement you used on line {line_number}."
 
 msgid "Missing Square Brackets"
-msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}."
+msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}."
 
 #, fuzzy
 msgid "Missing Variable"
-msgstr "It looks like your {command} is missing a variable at the start of the line."
+msgstr "It looks like your `{command}` is missing a variable at the start of the line."
 
 #, fuzzy
 msgid "Misspelled At Command"
-msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}."
+msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}."
 
 #, fuzzy
 msgid "No Indentation"
@@ -111,11 +111,18 @@ msgstr "At line {line_number}, you might have tried using a number which Hedy do
 
 #, fuzzy
 msgid "Parse"
-msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed {character_found}, but that is not allowed."
+msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed `{character_found}`, but that is not allowed."
 
 #, fuzzy
 msgid "Pressit Missing Else"
-msgstr "You forgot to add what happens when you press a different key, add an {else} to your code"
+msgstr "You forgot to add what happens when you press a different key, add an `{else}` to your code"
+
+#, fuzzy
+msgid "Runtime Value Error"
+msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}."
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 #, fuzzy
 msgid "Save Microbit code "
@@ -131,7 +138,7 @@ msgstr "You used too many spaces in line {line_number}. You used {leading_spaces
 
 #, fuzzy
 msgid "Unquoted Assignment"
-msgstr "From this level, you need to place texts to the right of the {is} between quotes. You forgot that for the text {text}."
+msgstr "From this level, you need to place texts to the right of the `{is}` between quotes. You forgot that for the text {text}."
 
 #, fuzzy
 msgid "Unquoted Equality Check"
@@ -139,15 +146,15 @@ msgstr "If you want to check if a variable is equal to multiple words, the words
 
 #, fuzzy
 msgid "Unquoted Text"
-msgstr "Be careful. If you {ask} or {print} something, the text should start and finish with a quotation mark. You forgot that for the text {unquotedtext}."
+msgstr "Be careful. If you `{ask}` or `{print}` something, the text should start and finish with a quotation mark. You forgot that for the text {unquotedtext}."
 
 #, fuzzy
 msgid "Unsupported Float"
-msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change {value} to an integer."
+msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change `{value}` to an integer."
 
 #, fuzzy
 msgid "Unsupported String Value"
-msgstr "Text values cannot contain {invalid_value}."
+msgstr "Text values cannot contain `{invalid_value}`."
 
 #, fuzzy
 msgid "Unused Variable"
@@ -155,11 +162,11 @@ msgstr "You defined the variable {variable_name} on line {line_number}, but you
 
 #, fuzzy
 msgid "Var Undefined"
-msgstr "You tried to use the variable {name}, but you didn't set it. It is also possible that you were trying to use the word {name} but forgot quotation marks."
+msgstr "You tried to use the variable `{name}`, but you didn't set it. It is also possible that you were trying to use the word `{name}` but forgot quotation marks."
 
 #, fuzzy
 msgid "Wrong Level"
-msgstr "That was correct Hedy code, but not at the right level. You wrote {offending_keyword} for level {working_level}. Tip: {tip}"
+msgstr "That was correct Hedy code, but not at the right level. You wrote `{offending_keyword}` for level {working_level}. Tip: {tip}"
 
 #, fuzzy
 msgid "Wrong Number of Arguments"
@@ -334,7 +341,7 @@ msgstr "Are you sure? You cannot revert this action."
 
 #, fuzzy
 msgid "ask_needs_var"
-msgstr "Starting in level 2, {ask} needs to be used with a variable. Example: name {is} {ask} What are you called?"
+msgstr "Starting in level 2, `{ask}` needs to be used with a variable. Example: name `{is}` `{ask}` What are you called?"
 
 #, fuzzy
 msgid "become_a_sponsor"
@@ -361,15 +368,8 @@ msgid "cant_parse_exception"
 msgstr "Couldn't parse the program"
 
 #, fuzzy
-msgid "catch_index_exception"
-msgstr "You tried to access the list {list_name} but it is either empty or the index is not there."
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-#, fuzzy
-msgid "catch_value_exception"
-msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}."
+msgid "Runtime Index Error"
+msgstr "You tried to access the list {name} but it is either empty or the index is not there."
 
 #, fuzzy
 msgid "certificate"
@@ -709,7 +709,7 @@ msgstr "Echo and ask mismatch"
 
 #, fuzzy
 msgid "echo_out"
-msgstr "Starting in level 2 {echo} is no longer needed. You can repeat an answer with {ask} and {print} now. Example: name is {ask} What are you called? {print} hello name"
+msgstr "Starting in level 2 `{echo}` is no longer needed. You can repeat an answer with `{ask}` and `{print}` now. Example: name is `{ask}` What are you called? `{print}` hello name"
 
 #, fuzzy
 msgid "edit_adventure"
@@ -1024,7 +1024,7 @@ msgstr "Incorrect Indentation"
 
 #, fuzzy
 msgid "input"
-msgstr "input from {ask}"
+msgstr "input from `{ask}`"
 
 #, fuzzy
 msgid "integer"
@@ -1414,7 +1414,7 @@ msgstr "This user hasn't earned the Hedy Certificate of Completion"
 
 #, fuzzy
 msgid "no_more_flat_if"
-msgstr "Starting in level 8, the code after {if} needs to be placed on the next line and start with 4 spaces."
+msgstr "Starting in level 8, the code after `{if}` needs to be placed on the next line and start with 4 spaces."
 
 #, fuzzy
 msgid "no_programs"
@@ -1808,7 +1808,7 @@ msgstr "Repair program icon"
 
 #, fuzzy
 msgid "repeat_dep"
-msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8."
+msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8."
 
 #, fuzzy
 msgid "repeat_match_password"
diff --git a/translations/zh_Hans/LC_MESSAGES/messages.po b/translations/zh_Hans/LC_MESSAGES/messages.po
index 712fbbcb4eb..660ed9e9b8c 100644
--- a/translations/zh_Hans/LC_MESSAGES/messages.po
+++ b/translations/zh_Hans/LC_MESSAGES/messages.po
@@ -22,7 +22,7 @@ msgid "Access Before Assign"
 msgstr "您尝试在第 {access_line_number} 行使用变量 {name},但在第 {definition_line_number} 行设置了它。要在使用变量之前设置它。"
 
 msgid "Cyclic Var Definition"
-msgstr "需要先设置名称 {variable},然后才能在 {is} 命令的右侧使用它。"
+msgstr "需要先设置名称 `{variable}`,然后才能在 `{is}` 命令的右侧使用它。"
 
 msgid "Function Undefined"
 msgstr "您尝试使用函数 {name},但没有定义它。"
@@ -31,55 +31,55 @@ msgid "Has Blanks"
 msgstr "你的代码还不完整。你需要在空白的地方填上代码。"
 
 msgid "Incomplete"
-msgstr "呀!你漏写了一些代码!在第{line_number}行,你需要在{incomplete_command}后面输 入文字。"
+msgstr "呀!你漏写了一些代码!在第{line_number}行,你需要在`{incomplete_command}`后面输 入文字。"
 
 msgid "Incomplete Repeat"
-msgstr "您似乎忘记使用在第 {line_number} 行使用的 {repeat} 命令。"
+msgstr "您似乎忘记使用在第 {line_number} 行使用的 `{repeat}` 命令。"
 
 msgid "Invalid"
-msgstr "{invalid_command} 不是海蒂第{level}关里的命令。你是不是想写 {guessed_command}?"
+msgstr "`{invalid_command}` 不是海蒂第{level}关里的命令。你是不是想写 `{guessed_command}`?"
 
 msgid "Invalid Argument"
-msgstr "你不能在命令{command}中使用{invalid_argument}。试着把{invalid_argument}改成 {allowed_types}。"
+msgstr "你不能在命令`{command}`中使用`{invalid_argument}`。试着把`{invalid_argument}`改成 {allowed_types}。"
 
 msgid "Invalid Argument Type"
-msgstr "你不能在{command}中使用{invalid_argument},因为它是个{invalid_type}。试着把 {invalid_argument}改成{allowed_types}。"
+msgstr "你不能在`{command}`中使用`{invalid_argument}`,因为它是个{invalid_type}。试着把 `{invalid_argument}`改成{allowed_types}。"
 
 msgid "Invalid At Command"
-msgstr "从 16 级开始,不能使用 {command} 命令。 您可以使用方括号来使用列表中的元素,例如“friends[i]”、“lucky_numbers[{random}]”。"
+msgstr "从 16 级开始,不能使用 `{command}` 命令。 您可以使用方括号来使用列表中的元素,例如“friends[i]”、“lucky_numbers[{random}]”。"
 
 msgid "Invalid Space"
 msgstr "呀!你在第{line_number}开头加了一个空格。空格会让电脑产生困惑,你不能能删除这 个空格?"
 
 msgid "Invalid Type Combination"
-msgstr "你不能在{command}中使用{invalid_argument}和{invalid_argument_2},因为它们一个是{invalid_type},一个是{invalid_type_2}。试着把{invalid_argument}改成{invalid_type_2},或者把{invalid_argument_2}改成{invalid_type}。"
+msgstr "你不能在`{command}`中使用`{invalid_argument}`和`{invalid_argument_2}`,因为它们一个是{invalid_type},一个是{invalid_type_2}。试着把`{invalid_argument}`改成{invalid_type_2},或者把`{invalid_argument_2}`改成{invalid_type}。"
 
 msgid "Locked Language Feature"
 msgstr "你正在使用{concept}!这很棒,但是{concept}还没有解锁!它会在后续关卡中解锁。"
 
 msgid "Lonely Echo"
-msgstr "您在 {ask} 之前使用了 {echo},或者在没有 {ask} 的情况下使用了 {echo}。 在 {echo} 之前要放置一个 {ask}。"
+msgstr "您在 `{ask}` 之前使用了 `{echo}`,或者在没有 `{ask}` 的情况下使用了 `{echo}`。 在 `{echo}` 之前要放置一个 `{ask}`。"
 
 msgid "Lonely Text"
 msgstr "看来你忘记在第{line_number}行的文字里使用指令"
 
 msgid "Missing Additional Command"
-msgstr "似乎忘记在第 {line_number} 行上完成写入 {command}。 尝试将 {missing_command} 添加到你的代码中。"
+msgstr "似乎忘记在第 {line_number} 行上完成写入 `{command}`。 尝试将 `{missing_command}` 添加到你的代码中。"
 
 msgid "Missing Command"
 msgstr "看上去你忘记在第{line_number}行写命令了。"
 
 msgid "Missing Inner Command"
-msgstr "看上去你忘了在第{line_number}行的{command}这一句里加上一个命令。"
+msgstr "看上去你忘了在第{line_number}行的`{command}`这一句里加上一个命令。"
 
 msgid "Missing Square Brackets"
-msgstr "看起来您忘记在{line_number}行上创建的列表两端使用方括号[]。"
+msgstr "看起来您忘记在{line_number}行上创建的列表两端使用方括号`[]`。"
 
 msgid "Missing Variable"
-msgstr "看起来你的 {command} 在行开头缺少变量。"
+msgstr "看起来你的 `{command}` 在行开头缺少变量。"
 
 msgid "Misspelled At Command"
-msgstr "看来您可能拼错了 {command} 命令,而是在第 {line_number} 行中写了 {invalid_argument}。"
+msgstr "看来您可能拼错了 `{command}` 命令,而是在第 {line_number} 行中写了 `{invalid_argument}`。"
 
 msgid "No Indentation"
 msgstr "第{line_number}行的空格太少了。你空了{leading_spaces}格,这样不够。每个新的代码块都要比前一行多{indent_size}个空格。"
@@ -88,10 +88,16 @@ msgid "Non Decimal Variable"
 msgstr "在第 {line_number} 行,您可能尝试使用 海蒂 不太喜欢的号码! 尝试将其更改为十进制数,例如 2。"
 
 msgid "Parse"
-msgstr "你输入的代码不是正确的海蒂代码。错误点在第{location[0]}行,第{location[1]}个字。你输入了一个禁止使用的字符:{character_found}。"
+msgstr "你输入的代码不是正确的海蒂代码。错误点在第{location[0]}行,第{location[1]}个字。你输入了一个禁止使用的字符:`{character_found}`。"
 
 msgid "Pressit Missing Else"
-msgstr "您忘记添加按不同键时会发生的情况,请在代码中添加 {else}"
+msgstr "您忘记添加按不同键时会发生的情况,请在代码中添加 `{else}`"
+
+msgid "Runtime Value Error"
+msgstr "在运行程序时,命令`{command}`收到了不允许的值{value}。{tip}。"
+
+msgid "Runtime Values Error"
+msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}."
 
 msgid "Save Microbit code "
 msgstr "保存 Microbit 代码"
@@ -103,19 +109,19 @@ msgid "Unexpected Indentation"
 msgstr "第{line_number}行的空格太多了。你空了{leading_spaces}格,这样太多。每个新的代码块都要比前一行多{indent_size}个空格。"
 
 msgid "Unquoted Assignment"
-msgstr "从这个级别开始,您需要将文本放置在引号之间的 {is} 右侧。 您忘记了文本 {text} 的内容。"
+msgstr "从这个级别开始,您需要将文本放置在引号之间的 `{is}` 右侧。 您忘记了文本 {text} 的内容。"
 
 msgid "Unquoted Equality Check"
 msgstr "如果你想检查一个变量的内容是否是一些词,那就需要用引号将这些词括起来!"
 
 msgid "Unquoted Text"
-msgstr "当心。 如果您{ask}或{print}某些内容,则文本应以引号开头和结尾。 您忘记了文本 {unquotedtext} 的内容。"
+msgstr "当心。 如果您`{ask}`或`{print}`某些内容,则文本应以引号开头和结尾。 您忘记了文本 {unquotedtext} 的内容。"
 
 msgid "Unsupported Float"
 msgstr "现在暂不支持非整数,但是再过几关就会支持了。当下先把{value}改成整数。"
 
 msgid "Unsupported String Value"
-msgstr "文本值不能包含{invalid_value}。"
+msgstr "文本值不能包含`{invalid_value}`。"
 
 msgid "Unused Variable"
 msgstr "您在第{line_number}行定义了变量{variable_name},但没有使用它。"
@@ -124,7 +130,7 @@ msgid "Var Undefined"
 msgstr "你试图使用变量 {name},但你没设置过这个变量。也有可能是你想输入 {name} 这个词,但是忘记加引号了。"
 
 msgid "Wrong Level"
-msgstr "这是正确的海蒂代码,但不是在正确的关卡。你在第{working_level}关用了{offending_keyword}。提示:{tip}"
+msgstr "这是正确的海蒂代码,但不是在正确的关卡。你在第{working_level}关用了`{offending_keyword}`。提示:{tip}"
 
 msgid "Wrong Number of Arguments"
 msgstr "您的函数使用了错误数量的参数。 您提供了 {used_number} 但函数 {name} 需要 {defined_number}"
@@ -256,7 +262,7 @@ msgid "are_you_sure"
 msgstr "你确定吗? 你无法撤销此操作。"
 
 msgid "ask_needs_var"
-msgstr "从第2关开始,{ask}需要和变量共同使用。例子:名字{is} {ask}你叫什么?"
+msgstr "从第2关开始,`{ask}`需要和变量共同使用。例子:名字`{is}` `{ask}`你叫什么?"
 
 msgid "become_a_sponsor"
 msgstr "成为赞助商"
@@ -276,14 +282,8 @@ msgstr "取消"
 msgid "cant_parse_exception"
 msgstr "无法解析程序"
 
-msgid "catch_index_exception"
-msgstr "你尝试访问列表 {list_name},但它要么是空的,要么索引不存在。"
-
-msgid "catch_multiple_values_exception"
-msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}."
-
-msgid "catch_value_exception"
-msgstr "在运行程序时,命令{command}收到了不允许的值{value}。{suggestion}。"
+msgid "Runtime Index Error"
+msgstr "你尝试访问列表 {name},但它要么是空的,要么索引不存在。"
 
 msgid "certificate"
 msgstr "竣工证书"
@@ -538,7 +538,7 @@ msgid "echo_and_ask_mismatch_exception"
 msgstr "回声和询问不匹配"
 
 msgid "echo_out"
-msgstr "从第二级起,你不再需要{echo}。你可以用{ask}和{print}来复述答案。比如:名字 {is} {ask} 你叫什么?{print} 你好,名字"
+msgstr "从第二级起,你不再需要`{echo}`。你可以用`{ask}`和`{print}`来复述答案。比如:名字 `{is}` `{ask}` 你叫什么?`{print}` 你好,名字"
 
 msgid "edit_adventure"
 msgstr "编辑冒险"
@@ -775,7 +775,7 @@ msgid "indentation_exception"
 msgstr "缩进不正确"
 
 msgid "input"
-msgstr "{ask}中的输入"
+msgstr "`{ask}`中的输入"
 
 msgid "integer"
 msgstr "数字"
@@ -1076,7 +1076,7 @@ msgid "no_certificate"
 msgstr "此用户尚未获得 Hedy 结业证书"
 
 msgid "no_more_flat_if"
-msgstr "从第 8 级开始,{if} 之后的代码需要放在下一行,并以 4 个空格开头。"
+msgstr "从第 8 级开始,`{if}` 之后的代码需要放在下一行,并以 4 个空格开头。"
 
 msgid "no_programs"
 msgstr "还没有程序."
@@ -1376,7 +1376,7 @@ msgid "repair_program_logo_alt"
 msgstr "修复程序图标"
 
 msgid "repeat_dep"
-msgstr "从第 8 级开始,{repeat} 需要与缩进一起使用。 可以在第 8 级的 {repeat} 选项卡上查看示例。"
+msgstr "从第 8 级开始,`{repeat}` 需要与缩进一起使用。 可以在第 8 级的 `{repeat}` 选项卡上查看示例。"
 
 msgid "repeat_match_password"
 msgstr "再次输入的密码和第一次输入的密码不一致。"
@@ -1695,8 +1695,8 @@ msgstr ""
 "\n"
 "但有时我可能想展示一段代码,如下所示:\n"
 "
\n"
-"ask 你叫什么名字?\n"
-"echo 所以你的名字是\n"
+"{ask} 你叫什么名字?\n"
+"{echo} 所以你的名字是\n"
 "
" msgid "this_turns_in_assignment" diff --git a/translations/zh_Hant/LC_MESSAGES/messages.po b/translations/zh_Hant/LC_MESSAGES/messages.po index 7007a6c9d5c..da7120d626d 100644 --- a/translations/zh_Hant/LC_MESSAGES/messages.po +++ b/translations/zh_Hant/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2000-01-01 00:00+0000\n" +"POT-Creation-Date: 2024-03-15 15:32+0200\n" "PO-Revision-Date: 2000-01-01 00:00+0000\n" "Last-Translator: Someone \n" "Language: zh_Hant\n" @@ -24,7 +24,7 @@ msgstr "You tried to use the variable {name} on line {access_line_number}, but y #, fuzzy 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." +msgstr "The name `{variable}` needs to be set before you can use it on the right-hand side of the `{is}` command." #, fuzzy msgid "Function Undefined" @@ -36,27 +36,27 @@ msgstr "Your code is incomplete. It contains blanks that you have to replace wit #, fuzzy msgid "Incomplete" -msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind {incomplete_command}." +msgstr "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind `{incomplete_command}`." #, fuzzy msgid "Incomplete Repeat" -msgstr "It looks like you forgot to use a command with the {repeat} command you used on line {line_number}." +msgstr "It looks like you forgot to use a `{command}` with the `{repeat}` command you used on line {line_number}." #, fuzzy msgid "Invalid" -msgstr "{invalid_command} is not a Hedy level {level} command. Did you mean {guessed_command}?" +msgstr "`{invalid_command}` is not a Hedy level {level} command. Did you mean `{guessed_command}`?" #, fuzzy msgid "Invalid Argument" -msgstr "You cannot use the command {command} with {invalid_argument}. Try changing {invalid_argument} to {allowed_types}." +msgstr "You cannot use the command `{command}` with `{invalid_argument}`. Try changing `{invalid_argument}` to {allowed_types}." #, fuzzy msgid "Invalid Argument Type" -msgstr "You cannot use {command} with {invalid_argument} because it is {invalid_type}. Try changing {invalid_argument} to {allowed_types}." +msgstr "You cannot use `{command}` with `{invalid_argument}` because it is {invalid_type}. Try changing `{invalid_argument}` to {allowed_types}." #, fuzzy msgid "Invalid At Command" -msgstr "The {at} command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`." +msgstr "The `{command}` command may not be used from level 16 onward. You can use square brackets to use an element from a list, for example `friends[i]`, `lucky_numbers[{random}]`." #, fuzzy msgid "Invalid Space" @@ -64,7 +64,7 @@ msgstr "Oops! You started a line with a space on line {line_number}. Spaces conf #, fuzzy msgid "Invalid Type Combination" -msgstr "You cannot use {invalid_argument} and {invalid_argument_2} with {command} because one is {invalid_type} and the other is {invalid_type_2}. Try changing {invalid_argument} to {invalid_type_2} or {invalid_argument_2} to {invalid_type}." +msgstr "You cannot use `{invalid_argument}` and `{invalid_argument_2}` with `{command}` because one is {invalid_type} and the other is {invalid_type_2}. Try changing `{invalid_argument}` to {invalid_type_2} or `{invalid_argument_2}` to {invalid_type}." #, fuzzy msgid "Locked Language Feature" @@ -72,7 +72,7 @@ msgstr "You are using {concept}! That is awesome, but {concept} is not unlocked #, fuzzy msgid "Lonely Echo" -msgstr "You used an {echo} before an {ask}, or an {echo} without an {ask}. Place an {ask} before the {echo}." +msgstr "You used an `{echo}` before an `{ask}`, or an `{echo}` without an `{ask}`. Place an `{ask}` before the `{echo}`." #, fuzzy msgid "Lonely Text" @@ -80,7 +80,7 @@ msgstr "It looks like you forgot to use a command with the text you used in line #, fuzzy msgid "Missing Additional Command" -msgstr "It looks like you forgot to complete writing {command} on line {line_number}." +msgstr "It looks like you forgot to complete writing `{command}` on line {line_number}." #, fuzzy msgid "Missing Command" @@ -88,18 +88,18 @@ msgstr "It looks like you forgot to use a command on line {line_number}." #, fuzzy msgid "Missing Inner Command" -msgstr "It looks like you forgot to use a command with the {command} statement you used on line {line_number}." +msgstr "It looks like you forgot to use a command with the `{command}` statement you used on line {line_number}." msgid "Missing Square Brackets" -msgstr "It looks like you forgot to use square brackets [] around the list you were creating on line {line_number}." +msgstr "It looks like you forgot to use square brackets `[]` around the list you were creating on line {line_number}." #, fuzzy msgid "Missing Variable" -msgstr "It looks like your {command} is missing a variable at the start of the line." +msgstr "It looks like your `{command}` is missing a variable at the start of the line." #, fuzzy msgid "Misspelled At Command" -msgstr "It looks like you might have misspelled the {command} command, instead you wrote {invalid_argument} in line {line_number}." +msgstr "It looks like you might have misspelled the `{command}` command, instead you wrote `{invalid_argument}` in line {line_number}." #, fuzzy msgid "No Indentation" @@ -111,11 +111,18 @@ msgstr "At line {line_number}, you might have tried using a number which Hedy do #, fuzzy msgid "Parse" -msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed {character_found}, but that is not allowed." +msgstr "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed `{character_found}`, but that is not allowed." #, fuzzy msgid "Pressit Missing Else" -msgstr "You forgot to add what happens when you press a different key, add an {else} to your code" +msgstr "You forgot to add what happens when you press a different key, add an `{else}` to your code" + +#, fuzzy +msgid "Runtime Value Error" +msgstr "While running your program the command `{command}` received the value `{value}` which is not allowed. {tip}." + +msgid "Runtime Values Error" +msgstr "While running your program the command `{command}` received the values `{value}` and `{value}` which are not allowed. {tip}." #, fuzzy msgid "Save Microbit code " @@ -131,7 +138,7 @@ msgstr "You used too many spaces in line {line_number}. You used {leading_spaces #, fuzzy msgid "Unquoted Assignment" -msgstr "From this level, you need to place texts to the right of the {is} between quotes. You forgot that for the text {text}." +msgstr "From this level, you need to place texts to the right of the `{is}` between quotes. You forgot that for the text {text}." #, fuzzy msgid "Unquoted Equality Check" @@ -139,15 +146,15 @@ msgstr "If you want to check if a variable is equal to multiple words, the words #, fuzzy msgid "Unquoted Text" -msgstr "Be careful. If you {ask} or {print} something, the text should start and finish with a quotation mark. You forgot that for the text {unquotedtext}." +msgstr "Be careful. If you `{ask}` or `{print}` something, the text should start and finish with a quotation mark. You forgot that for the text {unquotedtext}." #, fuzzy msgid "Unsupported Float" -msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change {value} to an integer." +msgstr "Non-integer numbers are not supported yet but they will be in a few levels. For now change `{value}` to an integer." #, fuzzy msgid "Unsupported String Value" -msgstr "Text values cannot contain {invalid_value}." +msgstr "Text values cannot contain `{invalid_value}`." #, fuzzy msgid "Unused Variable" @@ -155,11 +162,11 @@ msgstr "You defined the variable {variable_name} on line {line_number}, but you #, fuzzy msgid "Var Undefined" -msgstr "You tried to use the variable {name}, but you didn't set it. It is also possible that you were trying to use the word {name} but forgot quotation marks." +msgstr "You tried to use the variable `{name}`, but you didn't set it. It is also possible that you were trying to use the word `{name}` but forgot quotation marks." #, fuzzy msgid "Wrong Level" -msgstr "That was correct Hedy code, but not at the right level. You wrote {offending_keyword} for level {working_level}. Tip: {tip}" +msgstr "That was correct Hedy code, but not at the right level. You wrote `{offending_keyword}` for level {working_level}. Tip: {tip}" #, fuzzy msgid "Wrong Number of Arguments" @@ -334,7 +341,7 @@ msgstr "Are you sure? You cannot revert this action." #, fuzzy msgid "ask_needs_var" -msgstr "Starting in level 2, {ask} needs to be used with a variable. Example: name {is} {ask} What are you called?" +msgstr "Starting in level 2, `{ask}` needs to be used with a variable. Example: name `{is}` `{ask}` What are you called?" #, fuzzy msgid "become_a_sponsor" @@ -361,15 +368,8 @@ msgid "cant_parse_exception" msgstr "Couldn't parse the program" #, fuzzy -msgid "catch_index_exception" -msgstr "You tried to access the list {list_name} but it is either empty or the index is not there." - -msgid "catch_multiple_values_exception" -msgstr "While running your program the command {command} received the values {value} and {value} which are not allowed. {suggestion}." - -#, fuzzy -msgid "catch_value_exception" -msgstr "While running your program the command {command} received the value {value} which is not allowed. {suggestion}." +msgid "Runtime Index Error" +msgstr "You tried to access the list {name} but it is either empty or the index is not there." #, fuzzy msgid "certificate" @@ -709,7 +709,7 @@ msgstr "Echo and ask mismatch" #, fuzzy msgid "echo_out" -msgstr "Starting in level 2 {echo} is no longer needed. You can repeat an answer with {ask} and {print} now. Example: name is {ask} What are you called? {print} hello name" +msgstr "Starting in level 2 `{echo}` is no longer needed. You can repeat an answer with `{ask}` and `{print}` now. Example: name is `{ask}` What are you called? `{print}` hello name" #, fuzzy msgid "edit_adventure" @@ -1024,7 +1024,7 @@ msgstr "Incorrect Indentation" #, fuzzy msgid "input" -msgstr "input from {ask}" +msgstr "input from `{ask}`" #, fuzzy msgid "integer" @@ -1414,7 +1414,7 @@ msgstr "This user hasn't earned the Hedy Certificate of Completion" #, fuzzy msgid "no_more_flat_if" -msgstr "Starting in level 8, the code after {if} needs to be placed on the next line and start with 4 spaces." +msgstr "Starting in level 8, the code after `{if}` needs to be placed on the next line and start with 4 spaces." #, fuzzy msgid "no_programs" @@ -1811,7 +1811,7 @@ msgstr "Repair program icon" #, fuzzy msgid "repeat_dep" -msgstr "Starting in level 8, {repeat} needs to be used with indentation. You can see examples on the {repeat} tab in level 8." +msgstr "Starting in level 8, `{repeat}` needs to be used with indentation. You can see examples on the `{repeat}` tab in level 8." #, fuzzy msgid "repeat_match_password" diff --git a/website/statistics.py b/website/statistics.py index 7e7f3218bed..049514dd899 100644 --- a/website/statistics.py +++ b/website/statistics.py @@ -9,6 +9,7 @@ import exceptions as hedy_exceptions from hedy import check_program_size_is_valid, parse_input, is_program_valid, process_input_string, HEDY_MAX_LEVEL import hedy +from hedy_error import get_error_text import jinja_partials from website.flask_helpers import render_template from website import querylog @@ -697,7 +698,7 @@ def get_student_data(self, student, class_): 'submitted': item.get('submitted'), 'public': item.get('public'), 'number_lines': item['code'].count('\n') + 1, - 'error_message': _translate_error(error_class, item['lang']) if error_class else None, + 'error_message': get_error_text(error_class, item['lang']) if error_class else None, 'error_header': 'Oops' # TODO: get proper header message that gets translated, e.g. Transpile_error } ) @@ -1251,29 +1252,6 @@ def _get_error_info(code, level, lang='en'): return None -def _translate_error(error_class, lang): - """ - Translates the error code to the given language. - This is because the error code needs to be passed through the translation things in order to give more info on the - student details - screen. - - A part of this code is duplicate from app.hedy_error_to_response but importing app.py leads to circular - imports and moving those functions to util.py is cumbersome (but not impossible) given the integration with other - functions in app.py - """ - class_args = error_class.arguments - - error_template = gettext('' + str(error_class.error_code)) - - # Check if argument is substring of error_template, if so replace - for k, v in class_args.items(): - if f'{{{k}}}' in error_template: - error_template = error_template.replace(f'{{{k}}}', str(v)) - - return error_template - - def _build_url_args(**kwargs): """ Builds a string of the url arguments used in the html file for routing.