Английский как нейтральный язык в заданиях + ресинхрон локалей en/es - #373
Merged
Conversation
Файлы решения и теста в CB — общие на все локали, поэтому русская строка внутри них ломает нерусские локали: тест сверял русский оригинал, а задание на es/en велело студенту вывести переведённый текст. Печатаемые и проверяемые строки, а также комментарии-подсказки переведены на английский; в условиях всех трёх локалей код-примеры приведены к тому же тексту. Проза осталась на языке локали. Английские строки совпадают с теми, что уже приняты в exercises-php, чтобы одинаковые уроки не расходились между языками. Проверено: pytest по всем 69 упражнениям зелёный.
Условия в en/es остались от прежней версии курса на мотивах «Игры престолов», тогда как решения и тесты давно переписаны. Из-за этого упражнения были непроходимы вне ru: например, тест ждал вывод `https://github.com/hexlet/exercises-python`, а испанское условие велело вывести `Winter came for the House of Frey.`; в `100-define-function` тест вызывал `say_hello()`, а условие описывало `print_motto()`. Условия переведены заново с текущего ru. Затронуто 18 уроков, определённых по критерию «тест сверяет строку, которая есть в ru-условии и отсутствует в es-условии» — этот критерий, в отличие от сравнения объёма или структуры, не даёт ложных срабатываний на переведённых комментариях внутри код-примеров. Уроки с уже актуальным переводом не тронуты: 30-encoding, 200-default-parameters, 350-modules, 400-packages, 45-logic/25-logical-operators.
У 45-logic/15-bool-strings не было ни en, ни es; у 50-loops/80-for-in-range и
50-loops/90-debug не было es. Без EXERCISE.md и data.yml эти уроки не переносятся
на Хекслет вообще — синхронизатор падает на отсутствующем файле.
Добавлены EXERCISE.md и data.yml. Теория (README.md) этих трёх уроков остаётся
только на ru — это отдельная работа по ресинхрону теории.
Попутно: в en/EXERCISE.md у 45-logic/28-logical-negation перевод утверждал
`is_palindrome('hut') # true` и `is_palindrome('Argument') # true` — буквальный
перевод русских «шалаш» и «Довод», которые палиндромы, тогда как английские слова
ими не являются. Заменено на level/Racecar/radar. Испанская версия там корректна.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Зачем
Файлы решения и теста в CB — общие на все локали. Из-за этого русская строка внутри них ломала нерусские локали: тест сверял русский оригинал, а задание на
es/enвелело студенту вывести переведённый текст. Плюс условия вen/esу части уроков остались от прежней версии курса на мотивах «Игры престолов», тогда как решения и тесты давно переписаны.Оба дефекта делают упражнения непроходимыми вне
ru. Примеры:esвелело25-strings/20-string-concatenationhttps://github.com/hexlet/exercises-pythonWinter came for the House of Frey.40-define-functions/100-define-functionHello, World!изsay_hello()Winter is comingизprint_motto()10-basics/20-comments# TODO: добавить функцию приветствияYou know nothing, Jon Snow!Что сделано
Три коммита, по типу правки:
Английский как нейтральный в заданиях. Печатаемые и проверяемые строки, а также комментарии-подсказки в общем коде переведены на английский; в условиях всех трёх локалей код-примеры приведены к тому же тексту. Проза осталась на языке локали. Строки совпадают с теми, что уже приняты в
exercises-php, чтобы одинаковые уроки не расходились между языками.Ресинхрон устаревших условий с текущего
ru— 18 уроков.Добавлены отсутствующие локали трёх упражнений. У
45-logic/15-bool-stringsне было ниen, ниes; у50-loops/80-for-in-rangeи50-loops/90-debugне былоes. БезEXERCISE.mdиdata.ymlтакой урок не переносится на Хекслет вообще.Как определялся список устаревших
Критерий: тест сверяет строку, которая есть в
ru-условии и отсутствует вes-условии. Сравнение по объёму или по структуре даёт ложные срабатывания в обе стороны — переведённый комментарий внутри код-примера выглядит как расхождение, хотя это правильное поведение, а на текстовых блоках такое сравнение слепо вовсе.Уроки с уже актуальным переводом намеренно не тронуты:
25-strings/30-encoding,40-define-functions/200-default-parameters,350-modules,400-packages,45-logic/25-logical-operators.Попутно
В
en/EXERCISE.mdу45-logic/28-logical-negationперевод утверждалis_palindrome('hut') # trueиis_palindrome('Argument') # true— буквальный перевод русских «шалаш» и «Довод», которые палиндромы, тогда как английские слова ими не являются. Заменено наlevel/Racecar/radar. Испанская версия там корректна.Проверка
pytestпо всем 69 упражнениям зелёный. Кириллицы в файлах кода не осталось (было 20), вes-локали не осталось ни в одном.md. Негативная проверка: на сломанном решении тест падает.Что осталось за рамками
README.md) наesпо-прежнему русская у 67 уроков, и у трёх уроков её нет вовсе — это отдельный ресинхрон теории.en-теории:70-slices,90-multiline-strings,150-return,200-default-parameters.🤖 Generated with Claude Code