diff --git a/apps/website/i18n/course-ladder.ru.json b/apps/website/i18n/course-ladder.ru.json index 81b54a0876..24df093478 100644 --- a/apps/website/i18n/course-ladder.ru.json +++ b/apps/website/i18n/course-ladder.ru.json @@ -1,5 +1,5 @@ { - "SAY_LADDER": "Лестница: первые три курса бесплатные, четвёртый и все следующие открываются с клубом. Какие три — выбираете вы.", + "SAY_LADDER": "Лестница: первые три курса бесплатные и без регистрации, четвёртый и все следующие открываются с клубом. Какие три — выбираете вы.", "SAY_RUNG": "Ступень {0} вашей лестницы", "SAY_FREE_TITLE": "Этот курс для вас бесплатный", "SAY_FREE_LINE": "Откройте одним нажатием. Ничего не спрашиваем, из браузера ничего не уходит.", @@ -19,7 +19,7 @@ "SAY_SHARED": "Ваши пройденные уроки видит автор курса.", "SAY_COURSES": "Все курсы", "SAY_CATALOG_TITLE": "Курсы", - "SAY_CATALOG_LEAD": "Каждый курс — 27 коротких уроков в браузере, в каждом живой виджет или спека, которую можно запустить. Любые три — бесплатно, остальные открывает клуб.", + "SAY_CATALOG_LEAD": "Каждый курс — 27 коротких уроков в браузере, в каждом живой виджет или спека, которую можно запустить. Любые три — бесплатно, без регистрации и почты; остальные открывает клуб.", "SAY_FREE_LEFT": "Осталось бесплатных курсов: {0} из 3", "SAY_FREE_NONE": "Три бесплатных курса выбраны. Все остальные открываются с клубом.", "SAY_IN_CLUB": "Вы в клубе: открыты все курсы.", @@ -41,5 +41,11 @@ "SAY_PAY_WAITING": "Ждём подтверждения оплаты...", "SAY_PAY_SLOW": "Оплата ещё не подтверждена. Если вы оплатили, страница продолжает проверять; можно обновить её позже.", "SAY_PAY_DONE": "Оплата получена. Добро пожаловать в клуб.", - "SAY_PAY_OR_BOT": "Или оплатить звёздами Telegram в нашем боте" + "SAY_PAY_OR_BOT": "Или оплатить звёздами Telegram в нашем боте", + "SAY_MORE_TITLE": "Другие курсы", + "SAY_PROMO_TITLE": "Три курса бесплатно, без регистрации", + "SAY_PROMO_LINE": "Каждый урок идёт прямо в браузере, с живым виджетом или спецификацией, которую можно запустить. Любые три курса бесплатно, без регистрации.", + "SAY_PROMO_PRESS": "Смотреть курсы", + "SAY_SIGN_IN": "Уже в клубе? Войти через Telegram", + "SAY_SIGNED_IN": "Вы вошли: ключ клуба сохранён в этом браузере." } diff --git a/apps/website/public/learn/a-bar-detector/index.html b/apps/website/public/learn/a-bar-detector/index.html index 7d21e38238..35b01a1f8a 100644 --- a/apps/website/public/learn/a-bar-detector/index.html +++ b/apps/website/public/learn/a-bar-detector/index.html @@ -123,5 +123,6 @@
Why three, how balanced ternary writes every number without a sign, and what flipping and cutting trits do.
Kleene's three-valued gates, two gates binary has no twin for, and addition as a pair of tables.
The half adder, the full adder and a carry that ripples left, one place at a time.
Copy, drop or flip: a product by one trit, long multiplication, and a MAC that only adds.
Two bits per trit, five trits per byte, and the bits a 27-trit word needs.
The 32-bit word the Trinity emulator decodes: its fields, its 47 opcodes and its 15-bit immediate.
An ALU built from this course's adders, a three-way jump, and a program you can step.
Compare at the highest differing trit, find a number in thirds, sort with three-way compares.
Weights of -1, 0, +1: one neuron, a detector and a small layer, with no multiplier anywhere.