{{successNotification}}
{{errorNotification}}
{{ i18n.td('course.exercise_x_of_y', "Exercise %{current} of %{total}", { current: currentExerciseNumber, total: course.exercises.length }) }}
{{ $index + 1 }}

{{ i18n.td('course.bonus', 'Bonus') }}

{{ i18n.t('course.task_locked') }}

{{ i18n.t(promptHeader) }}

{{ i18n.td('course.exerise_complete_msg', 'Great job!') }}

{{ i18n.td('course.next', 'Next') }}
{{ codableObject.configuration.name }}
{{ nextStep() }}
{{ i18n.td('game_builder.cant_edit_warning', "Can't edit code while game is running") }}
{{ i18n.t('game_builder.sprites_section.delete') }}
{{ i18n.t('game_builder.sprites_section.duplicate') }}

{{ i18n.t('game_builder.sprites_section.error_pattern') }}

{{ i18n.t('game_builder.sprites_section.error_required') }}

{{ i18n.t('game_builder.sprites_section.error_unique') }}

{{ i18n.t('game_builder.sprites_section.edit_spritesheet') }}
{{ sprite.configuration.name }}
{{ i18n.t('delete') }}

Widget name must be a valid JS identifier

Widget name can't be empty

Widget name already taken

{{ widget.configuration.name }}
Delete

Name must be a valid JS identifier

Name can't be empty

Name already taken

{{ sound.configuration.name }}
{{ i18n.t('upload') }}
{{ i18n.t('game.settings.title') }}