es: ресинхрон испанской локали с текущим ru (67 уроков) - #374
Merged
Conversation
Испанские файлы были переводами прежних версий уроков: у 10-hello-world 560 байт против 4697 русских, у 50-syntax-errors 1348 против 4368. Переведено заново с текущего ru. Что добавилось: разделы «Значение символов» и «Где практиковаться» с диаграммой интерпретатора у 10-hello-world; «Служебные комментарии» про BEGIN/END у 20-comments; «Порядок имеет значение», «Альтернативная форма записи» и «Зачем это нужно» у 30-instructions; «Моя ошибка или нет?» и формат вывода AssertionError у 40-testing; три раздела про природу и разбор синтаксических ошибок у 50-syntax-errors. Две иллюстрации лежали только в ru/assets и потому были недоступны испанской локали — hello-world.png и errors-python.png скопированы в es/assets. В примерах строка «Хекслет - школа программирования» переведена как «Hexlet - escuela de programación», а пример про регистр «Привет/привет» — как «Hola/hola»: это теория, файл на локаль, поэтому здесь испанский, а не нейтральный английский.
Семь уроков были переводами прежних версий, у большинства испанский составлял 15–60% от русского объёма: у 30-composition 568 байт против 3310, у 27-commutativity 664 против 2508, у 20-basic 2356 против 7636. Что добавилось: таблица арифметических операций, разделы про числа с плавающей точкой и остаток от деления, оформление выражений у 20-basic; унарные операторы и разбор `-3**2` у 25-operator; определение коммутативности с диаграммой у 27-commutativity; разбор выражений по этапам и примеры с унарным минусом у 30-composition; таблица приоритетов и раздел про читаемость у 40-priority; разделы про IEEE 754, накопление погрешности и работу с деньгами у 43-float; PEP8, Ruff и разбор правил у 45-linting. Иллюстрация arithmetics.png лежала только в ru/assets — скопирована в es/assets.
Четыре урока были переводами прежних версий: испанский составлял 57–66% от русского объёма. Что добавилось: раздел про терминологическую ловушку «строка или строчка», разбор экранирования обоих типов кавычек и вывод обратного слэша у 10-quotes; разделы про природу `\n`, влияние позиции и пробелов, вывод самого `\n` и другие управляющие последовательности у 15-escape-characters; диаграмма склейки, раздел про пробел как символ и управляющие последовательности при конкатенации у 20-string-concatenation; история ASCII, несовместимость национальных кодировок, Unicode/UTF-8 и практические выводы для программиста у 30-encoding. Иллюстрация strings.png лежала только в ru/assets — скопирована в es/assets. В 30-encoding пример «кракозябр» адаптирован под локаль: русское «ÐÑивеÑ!» (это «Привет!», прочитанный не той таблицей) заменено на «Â¡Hola, señor!» — то же явление на испанском тексте.
Восемь уроков теории и одно условие. Испанский был переводом прежних версий: у 23-constants 532 байта против 3359 русских, у 18-variable-concatenation 825 против 2782, у 12-change 946 против 4076. Что добавилось: диаграммы присваивания и подстановки, разделы про литералы против идентификаторов, порядок использования и NameError у 10-definition; причины изменения значения и связь с отладкой у 12-change; примеры плохих имён, советы и шутка про кэширование у 13-variables-naming; двухшаговая конвертация валют через промежуточную переменную у 15-variables-expressions; склейка переменных, пробелы и str() для чисел у 18-variable-concatenation; разбор kebab/snake/camel и раздел «как не надо» у 19-naming-style; определение магических чисел и способ их устранения у 20-magic-numbers; UPPER_SNAKE_CASE и назначение констант у 23-constants. Условие 13-variables-naming описывало другое задание: испанский требовал завести переменную с количеством братьев, тогда как урок про максимальное число попыток входа. Тест сверяет только вывод `2`, поэтому упражнение проходилось, но текст расходился и с ru, и с учительским решением. Иллюстрации variable-definition.png и naming.png лежали только в ru/assets — скопированы в es/assets.
Четыре урока, испанский составлял 44–53% от русского объёма. Что добавилось: диаграмма разбора f-строки и раздел «почему это важно» у 25-interpolation; выход за границы строки с IndexError, таблица отрицательных индексов и раздел про спецсимволы у 30-symbols; шаг в срезах, переворот строки, срезы с отрицательным шагом, срезы с переменными и шпаргалка у 70-slices; разделы про пустую строку в конце, преимущества тройных кавычек и интерполяцию внутри многострочной строки у 90-multiline-strings. Иллюстрация symbols.png лежала только в ru/assets — скопирована в es/assets. В примере интерполяции внутри многострочной строки русская считалка «А и Б сидели на трубе» заменена нейтральным двухстрочным примером: `a`/`b` в ru — это кириллическая «А» рядом с латинской «B», что само по себе ловушка.
Все пять уроков модуля были переведены с прежней версии курса и отставали от текущего ru: primitive-data-types, tuples, strong-typing, data-types-immutability, data-types-casting. Иллюстрация number-as-string.png не была перенесена в es. Условие strong-typing потеряло игровую постановку задачи.
Пять уроков модуля отставали от текущего ru; три иллюстрации (function.png, default-parameters.png, deterministic.png) не были перенесены в es. Условия call и variadic-parameters потеряли постановку задачи.
Три урока модуля отставали от текущего ru; иллюстрации upper.png и methods-chain.png не были перенесены в es. Условия objects и method-chain потеряли постановку задачи и блок подсказок.
Все семь уроков модуля отставали от текущего ru; три иллюстрации (sum-python.jpg, editor-hints.png, editor-errors.png) не были перенесены в es. Условия named-arguments и type-annotations расходились с ru: первое переформулировано, второе потеряло постановку и подсказку.
Шесть уроков модуля: у bool-strings es-теории не было вовсе, logical-expressions содержал текст прежней версии урока, остальные отставали. Иллюстрация even-or-odd.jpg не была перенесена в es. Пять условий восстановлены до ru (постановка задачи, палиндромы).
Пять уроков модуля отставали от текущего ru; иллюстрации if-statement.png и ternary.png не были перенесены в es. Три условия восстановлены до ru. В if-else примеры срезов были неверны: 'Invernalia'[:6] помечено как 'Inver', 'Winterfell'[6:] как 'Winter'.
Десять уроков модуля: у for-in-range и debug es-теории не было вовсе, остальные отставали от текущего ru. Три иллюстрации (while.png, conditions-inside-loops.png, iterations.png) не были перенесены в es. Четыре условия восстановлены до ru (постановка задачи, подсказки).
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.
Испанская локаль отставала от текущего
ruпо всему курсу: файлыes/остались от прежней версии уроков и описывали другое содержание. Ветка приводит их к паритету — по коммиту на модуль, 12 модулей, 67 уроков теории.Что сделано
es/README.mdпереведены заново с текущегоru. У пяти уроков испанской теории не было вовсе:45-logic/15-bool-strings,50-loops/80-for-in-range,50-loops/90-debug(созданы с нуля) и45-logic/90-logical-expressions(лежал текст прежней версии урока, заменён).es— README ссылался на несуществующий файл. Скопированы вes/assets/.es/EXERCISE.mdразошлись сru: потеряли постановку задачи, подсказки или алгоритм. Восстановлены.Правило разделения, как в предыдущих PR: проза — по-испански, строки, которые печатаются или проверяются тестом, — английские (файлы решения и теста общие на все локали), пер-локальные примеры теории — переведены.
Что не затронуто
Диффа за пределами
es/нет:solution.py,test_solution.py,data.yml,ru/,en/не менялись. Тесты курса зависят только от общих файлов, так что поведение проверок не меняется.Единственная кириллица, оставленная намеренно, — буква
ив25-strings/30-encoding: это пример несовпадения кодировок, предмет урока.Проверка
По каждому уроку сверено с
ru-близнецом: число код-блоков, число заголовков, набор картинок, разрешимость каждой ссылки./assets/…, отсутствие кириллицы. 0 расхождений по всем 12 модулям.