Ru-Board.club
← Вернуться в раздел «Тестирование»

» Перевод программ от Sysinternals+Process Hacker+XYPlorer

Автор: Victor_VG
Дата сообщения: 19.09.2015 15:28
KLASS

В принципе логично - мы выгрузили фрагмент данных используемый кодом, он обращается в никуда и аварийно завершается. Кстати, приём с динамическими данными далеко не нов - в OS/360 было два типа повторно используемого кода (т.е. он один раз загружался в ОЗУ и после использовался группой задач) - реентерабельный и реенфлешный код. Они отличались только одним - реентерабельный (параллельно-входовый) код загружался в ОЗУ, а после получал динамические области памяти куда копировал изменяемые данные и код, НО! основной код при выполнении не менялся и если выполнялся изменяемый например командой EX reg, adress код копировался в эти буферные области что позволяло параллельно во времени использовать одну копию кода несколькими задачами, а реенфлешные программы могли изменять свой код во время исполнения, но после завершения алгоритма восстанавливали исходный код и допускали только последовательное использование группой задач, а обычные программы могли менять свой код и данные произвольно, но после завершения задачи занимаемая ими память освобождалась. Реентерабельный и реенфлешный код позволяли экономить память ЭВМ - в IBM S/360 (S/370) объём ОЗУ в зависимости от модели составлял от 64Кб до 16Мб (больше тогда техника не позволяла) т.к. было всего два промышленно выпускавшихся варианта модулей памяти - на ферритовых сердечниках (стояла в машинах второго поколения класса Минск-22/32) или на микросхемах статической памяти ёмкостью 1Кбит - 4Кбит (машины третьего поколения класса Symens-Nixdorf 4004 она же IBM S/360, IBM S/370, БЭСМ-6 (построены на TTL TI 74xx/F74xx/H74xx/S74xx/LS74xx ободранных как серии 133/К155/130/К530/хМ531/К555 (TTL 133/155 (обычная TTL до 10 - 15 МГц), LS TTL - 555 (малопотребляющая Шотки, до 10 - 15 МГц), Fast TTL - 130/К130 (до 20 - 25 МГц), Шотки TTL - 530/К531 (до 50 -60 МГц)), ЭЛЬБРУС-1/2 (СССР, построены на ECL (Эмиттерно-Связанной, ЭСЛ, до 180 - 200 МГц ) логике серий К200/500, и четвёртого поколения МВС ПС-2000/3000 (разработаны в ИПУ АН СССР и не обдирка с чужих образцов для сложных математических расчётов) ).

В данном случае при выгрузке отображённых в память динамических данных возникнет AV из-за обращения к памяти за пределами адресного пространства текущей задачи как использующей их программе, так и в модуле peview.exe. Посему всё правильно, и тут я бы перевёл как выгрузить данные.
Автор: KLASS
Дата сообщения: 19.09.2015 16:09
Victor_VG

Цитата:
Реентерабельный и реенфлешный код

Это еще куда?

Цитата:
В данном случае при выгрузке отображённых в память динамических данных возникнет AV

ЧАВО такое AV?

Цитата:
и тут я бы перевёл как выгрузить данные.

Прости не понял, куда это вставлять? В какую фразу из описанных выше?
Автор: Victor_VG
Дата сообщения: 19.09.2015 16:57
KLASS

Первое это базовые принципы построения алгоритмов (господа-гении из мелкомягкой конторы в своё время именно из-за этого с IBM по поводу OS/2 v1.16 и разругались - "Если использовать предлагаемый вами эффективный код, то во первых мы не сможем быстро обновить продукт т.к. потребуется время для его тестирования и оптимизации, и будем терять деньги из-за уменьшения объёма продаж и числа обращений за платной техподдержкой, а во вторых кто станет покупать новые более производительные ПК с большим объёмом памяти? Изготовители ПК против такой оптимизации программ!" - скандалешник тогда был не малый, но его искусственно удержали в пределах среды ведущих ИТ-брэндов - ведь это и наши деньги! , а на публику промямлили какую-то ерунду, но нам начальство прямо назвало именно эту причину и велело молчать под страхом увольнения с "волчьим билетом"), второе читай выше свой вопрос и этот ответ и увидишь что это просто объяснение того откуда у явлений ноги растут.

AV (Access Violation) - нарушение защиты доступа при обращении в памяти (попытка чтения/записи/выполнения кода за пределами адресного пространства задачи или из привилегированного блока адресов в памяти задачи кодом работающим в непривилегированном режиме ЦП) ловится аппаратно схемами контроля процессора и вызывает не отключаемое (не маскируемое, NMI) прерывание (исключение), в ЦП с архитектурой Intel с кодом 0х00000005, в других ЦП коды исключения будут иные, но их смысл не изменится.

В сообщении я бы иначе перевёл:

Вопрос: Хотите выгрузить отображённые данные из памяти?

Предупреждение: Это может вызвать аварийное завершение программы и потерю данных!

Кнопки: "Выгрузить данные" "Отмена"

В окне - не "Проекция", а "Отображение" поскольку это точнее объясняет характер этих данных т.к. термин "Проекция" указывает что объект может быть копией исходного объекта находящемся в другой системе координат, а термин "Отображение" однозначно указывает на то, что мы работаем с одним объектом одновременно принадлежащим нескольким независимым системам координат (тут надо смотреть не с позиций литературно-бытового "благозвучия", а с позиций физики и математики, а оные науки как известно дамы суровые и вольностей в толковании явлений и фактов не допускают ).
Автор: KLASS
Дата сообщения: 19.09.2015 17:23
Благодарю за подробное объяснение

Цитата:
(тут надо смотреть не с позиций литературно-бытового "благозвучия", а с позиций физики и математики, а оные науки как известно дамы суровые и вольностей в толковании явлений и фактов не допускают ).

Совершенно согласен, оттого я к тебе и "прицепился", чтобы ты (техник) мне (переводчику) мозг проинсталлировал с позиции указанных наук.
Сейчас буду пытаться монтировать перевод и отпишусь потом, что получилось... или не получилось.

Добавлено:
Хотя... уже вижу, что ни шиша из этого не выйдет, по причине указанной мною во второй части этого сообщения

Добавлено:

Цитата:
Кнопки: "Выгрузить данные" "Отмена"

Извини, совсем забыл сказать, что при переводе строк:
"Do you want to free the memory region?"
"Do you want to unmap the memory region?"
Кнопка может называться только как
free
unmap
и ни как иначе, т.е. при переводе слов free и unmap перевод также летит и на саму кнопку.
По другому никак низя. Вот такие "котята с пирогами"

Добавлено:
Victor_VG
Посмотри, что получилось:




Что скажешь?

Добавлено:
Проблема в одном, получается, что перевод слов FREE и UNMAP ничем не отличается. Это на двух нижних рисунках

Добавлено:
Где указал Отображение:Выделенная там преведено слово UNMAP
Где указал Закрытая:Выделенная там переведено слово FREE

Добавлено:
Не спроста разработчик указал два разных слова FREE и UNMAP, а у нас получилось, что в обоих случаях слово ОСВОБОДИТЬ... не айс как-то...
Автор: Victor_VG
Дата сообщения: 19.09.2015 20:46
KLASS

Да, тут есть над чем думать ибо вроде термин ОСВОБОДИТЬ подходит, но смысл теряется. Ведь в случае Free по отношению к области памяти мы имеем ввиду сообщение ОС что выделенная рабочая область памяти более не требуется и может быть распределена для иных задач, а в случае UNMAP речь и идёт о том, чтобы разорвать связь объекта ФС и его виртуальной копии в ОЗУ.

Ну, разве что использовать понятия ОСВОБОДИТЬ ПАМЯТЬ в случае освобождения рабочей области и РАЗРЫВ ОТОБРАЖЕНИЯ для отображаемых в память объектов. Типа так иначе смысл действий теряем...
Автор: KLASS
Дата сообщения: 19.09.2015 21:02
Victor_VG

Цитата:
Ну, разве что использовать понятия ОСВОБОДИТЬ ПАМЯТЬ в случае освобождения рабочей области и РАЗРЫВ ОТОБРАЖЕНИЯ для отображаемых в память объектов. Типа так иначе смысл действий теряем...

РАЗРЫВ ОТОБРАЖЕНИЯ не подойдет. Смотри еще раз:
У нас две фразы:
"Do you want to free the memory region?"
"Do you want to unmap the memory region?"
В этих двух фразах, в зависимости от типа памяти, изменяется только одно слово, либо FREE, либо UNMAP, все остальное не меняется при любом типе памяти. Если вставить РАЗРЫВ ОТОБРАЖЕНИЯ, то вторая фраза будет нелепо выглядеть:
Вы хотите РАЗОРВАТЬ ОТОБРАЖЕНИЕ область памяти?
Согласись, полная чепуха (.
Автор: Victor_VG
Дата сообщения: 19.09.2015 21:30
KLASS

Н-н-да, тут надо смотреть по алгоритму о чём именно идёт речь. А то получим... курам на смех.
Автор: KLASS
Дата сообщения: 19.09.2015 22:18
Victor_VG
Как перевести:
Image is probably packed (%u imports over %u modules).
Это всплывающая подсказка на упакованных процессах
Автор: DmitryFedorov
Дата сообщения: 20.09.2015 23:00
KLASS
Я смотрю ты вгрызаешься и вгрызаешься.
Имей ввиду я конечно же комменты чудок подчистил, но у них большая история. Т.е. после того как там чего-то было написано мною могло все измениться.
Могло сдвинуться (надеюсь что ты знаешь что это означает. Т.е. это вариант когда есть дубликаты и коммент от одного дубликата перешел к другому. (я за этим следил, но это возможно)
Ну и я не оракул. Все может быть.

Насчет "Image is probably packed (%u imports over %u modules)."
тут probably = вероятно (100% как у Жереновского), а over подтверждает перечисление, которое поясняет почему это вероятно: столько то импортов и свыше стольки-то модулей.

RegWorkshop - этт очень карашо. Попробую потом. Щас занят.
--------
Перевод лучше делать все-таки переводом того что написано.
А если есть что-то поверх в голове - писать в скобочках как и полагается разъяснению. Я так делаю.
Шанс что англ. оригинал настолько плох очень невелик.
(мой опыт говорит такое: ты плюешься на оригинал, что за хрень!!!. Долго думаешь что прав. А потом оказывается что все плевки были результатом недопонимания или вообще неправильного понимания, иногда просто неправильного понимания слов).
Поэтому если сам точно не знаешь - лучше именно переводить. Виктор - он много знает. Но в любой момент его категоричное мнение может качнуться.
(ты же видишь прям здесь - подбросил инфы и мнение покачнулось. И это хорошо. А плохо то что нельзя вот так вот взять как было сказано и написать. Очень жаль. Было бы здорово.)
И потом если ты понял по настоящему, то сможешь и словами перевода выразить тоже самое, что хотел написать от себя.
-----------Добавил-------
Проекция - это тип памяти. (нажимаешь на поиск строк и видишь ее типы: Приватная, Образ и проекция.)
Сам понимаешь что от себя писать при таких раскладах что против ветра плевать.

А область памяти я поменял на регион потому что почитал как щебечут на эту тему мелкософт и программисты. Почему то у них регион обычно. Наверное так удобней. Переменные там всякие и функции так называются. Так чего бы не использовать синоним означающий тоже самое.

Со всем что идет от Map мы уже разбирались. Map - это все таки карта. Я ее вначале перевел для складности карта отображения. Потом "Отображения" - убрал. (заметь Виктор тоже на это напирает). Убрал потому что не увидел такого варианта.
Ты включи фильтр - ¦Map в комментах и всё увидишь прям по всем файлам. Надеюсь наличие оригинала диалогов и жестких строк вместе - ты оценил. И вообще ¦- это признак фильтра у меня.
Автор: KLASS
Дата сообщения: 20.09.2015 23:17
DmitryFedorov
Не ну я же анализирую чего читаю. Не просто тупо прочитал и заучил как таблицу умножения. Вообще спасибо тебе, что время потратил на такие комменты...

Цитата:
Перевод лучше делать все-таки переводом того что написано.

Хех, написано то относительно чего-то... мы же с Виктором уже не раз тут об этом толковали
Вот те пример (а у тя там карта) из глоссариев Мелких:
Cannot unmap file - Не удалось отменить отображение файла
please unmap this drive before attempting to backup - отключите диск перед выполнением архивирования
Cannot unmap file - Не удается отвязать файл
Unmap Network Drive Инструменты-Отключить сетевой диск
Unmap - Отвязать
AWE unmap calls/sec - Вызовов отмен AWE-сопоставлений
и там еще полно такого.
Так что сначала надо понять техническую сторону, а не переводить все, что видишь\написано.

Добавлено:
Проекция и отображение не далеко по смыслу...

Добавлено:
А Regworkshop там на 2 минуты правки . В Winhex засунь Хакера и в поиск regedit.exe (кодировка уникод), там два метса рядом.

Добавлено:

Цитата:
А область памяти я поменял на регион потому что почитал как щебечут на эту тему мелкософт и программисты.

Да, собссно, тоже не суть важно. Важно, что смысл не потерян в обоих случаях )
Автор: DmitryFedorov
Дата сообщения: 20.09.2015 23:31
Дочитай выше я там добавил. Не думал что ты прям сразу.


Добавлено:
По поводу map то что ты написал можно получить лишь одним способом. Не выбрать выше у них из списка "Windows". Ну раз не выбрал - получай.

Кроме того там вне примеров которых 7тысяч у них есть краткая трактовка вариантов употребления этого слова. Оттуда тоже ясно что это карта. Ну и потом если уж сомнения есть ставь на поиск сочетания с тем что о чем речь и примеры будут.
Автор: KLASS
Дата сообщения: 20.09.2015 23:40
Пока не ведаю, потому как не знаю тех.стороны. Но на уме уже и такое крутится
Do you want to unmap the the memory region?
Unmapping a section view may cause the process to crash.

Вы хотите отменить сопоставление области памяти?
Отмена сопоставления области памяти может привести к краху процесса.

Добавлено:
И никакой карты
Автор: DmitryFedorov
Дата сообщения: 20.09.2015 23:42
unmap
Unmapping a section view may cause the process to crash.
Unable to unmap the section view at 0x%Ix
Unable to unmap the section view

Это все что есть про Unmap. Зачем тебе смотреть другое я не понимаю. Т.е. речь все время идет о секции.
И вообще - вруби фильтр. Говорю тебе. Как пелена спадет.

Добавлено:
Только делай это в моей части перевода. Правее будешь видеть свой перевод.
Автор: KLASS
Дата сообщения: 20.09.2015 23:46
А чего мне фильтр даст, только твой перевод. Так я его и так знаю, но не уверен, что перевод верный... не более.
Автор: DmitryFedorov
Дата сообщения: 20.09.2015 23:47
Плюнь ты на их перевод сопоставление. Он относится к сети. Там другая песня. К нашему картированию никакого отношения вообще. Я знаю о каком сопоставлении идет речь там.

Добавлено:
Фильтр тебе даст подборку на тему map. Ты будешь видеть английский, свой вариант и мой. Тут сразу и допетришь. Главное окинуть взглядом.
Фильтр сделать порой не легко. Потому как этот же map может быть частью не map слова. Т.е. фильтр тебе гарантирует подборку только того что тебя интересует.

Добавлено:

Цитата:
А чего мне фильтр даст, только твой перевод

Вот это настораживает. Может ты не прочитал что тебе надо сделать чтобы была колонка под названием Альтернативный оригинал. ? а?
Не верится.

Добавлено:
Мда. Похоже что так.
Автор: KLASS
Дата сообщения: 20.09.2015 23:58
Да видел я тот фильтр

Кстати я закончил двигание диалогов в Пассоло и теперь перенес все в Радиаликс. Я все программы, начинаю преводить с диалогов и делаю это только в Пассоло. Не нравится мне редактор в Радиаликсе, хоть убей. Там даже размеры более 100 не видно. Вот теперь, если что и добавится в диалоги, то это будет малость и уже можно быстро поправить в Радиаликсе.
И перенес не от того, что удобно видеть диалоги (они мне не нужны, когда я уже взялся за перевод жестких строк), а потому, что rdmap-файлы создал 1 раз и работай, а с Пассоло приходилось их создавать всякий раз как сделаешь правку в Пассоло.

Добавлено:
Ничего нового с фильтром или без я не увидел. Не уверен я, что перевод твой верный-не более.
Автор: DmitryFedorov
Дата сообщения: 21.09.2015 00:14
Ну чтож правильно. Чего мучаться то.
В радиаликсе основа правки диалогов это кнопки. Которые насколько я понял в 3 версии сделаны так чтобы было ну очень неудобно.

Выделяешь мышью чего надо через Shift-Клик. (пункты соединены после этого)
А потом два варианта.
Shift-вправо, влево = увеличить уменьшить.
Ctrl-вправо, влево = сдвинуть.
Ну и кнопки тебе в помощь. В общем достаточно быстро и удобно.
Но ни в коем случае не мышью.
Мышью - лишь выделить то что править прямоугольником охвата.

Кроме того есть вкладка Свойства и тут уже можно по всему проекту найти (коль не боишься) нужный размер. Там же в свойствах можешь поменять центровку и прочее.
И там все работает в смысле поиска и фильтров но уже по цифрам.
----------------

Цитата:
Добавлено:
Ничего нового с фильтром или без я не увидел. Не уверен я, что перевод твой верный-не более.

Ну не знаю. Тут сразу видно. Что это за Map такой.

например Mapped - значит откартированный (нет такого русского слова), но понятно откуда появляется слова проекция.
Не забыл надеюсь как делал проекции в школе?
Ну и прочее. Вкупе видней.

-------------
И убери В меню Сервис/Настройки/Таблицы/_группировать ресурсы.
Все равно потом сам допетришь что это мешает.

Добавлено:
А чтобы видеть когда надо только жесткие строки или только диалоги используй фильтр. но не через комментарии а по Текст/ID. Я тебе давал.
Автор: KLASS
Дата сообщения: 21.09.2015 00:19

Цитата:
В радиаликсе основа правки диалогов это кнопки.

Что ты меня лечишь, знаю я эту мутотень... вот потому, что знаю... и юзаю Пассоло, там намного удобней расправляться с диалогами используя все теже клавиши.

Цитата:
И убери В меню Сервис/Настройки/Таблицы/_группировать ресурсы.

И это знаю, иногда отключаю, иногда включаю...
Ты мне лучше поведай, почему ты ссылки не разделял при переводе, а потом на Виктора "наезжал", чтобы он шел к разработчику и выпытывал
Автор: DmitryFedorov
Дата сообщения: 21.09.2015 00:24
Чтобы в диалогах править сложные прикрытые "висяками" вещи. Эти затеняющие части надо просто сдвигать. Благо прога помнит телодвижения. (ну например вместо 0 ставишь 200 по горизонтали и все у тебя навиду)
ну а чтоб добавлять чего надо - есть контекстное меню. Добавил и получил User text.
-------
Присылай чего у тебя получится. Мне нужны изменения твои. Потому как переносить заново - очень и очень муторно.

Добавлено:

Цитата:
И это знаю, иногда отключаю, иногда включаю...
Ты мне лучше поведай, почему ты ссылки не разделял при переводе, а потом на Виктора "наезжал", чтобы он шел к разработчику и выпытывал

--------
Мне это муторно делать. Эти разделенные ссылки при каждом обновлении уходят. Не знаю как с ними бороться.

А к разработчику я посылал Виктора чтобы можно было перевести. В итоге все получилось случайно. Виктор ни хрена не сделал. Но зато появился маленький вопросик с новым плагином. Это дело Виктор донес., честь ему и хвала. И чудо! Когда вопрос решили, ушла и проблема которая мешала этой проге со дня ее появления. Проблема была в файле настроек. Прога стала его правильно читать и перевод стал наконец возможным.
В общем проблема была решаема (в отличие от того что говорил Виктор), но с другой стороны была не там где я думал вначале.
Автор: KLASS
Дата сообщения: 21.09.2015 00:34

Цитата:
Присылай чего у тебя получится.

Ссылка в ПМ. Если какие глюки, то я тока сегодня перенес в Радиаликс и полностью еще не проверял.

Цитата:
Мне это муторно делать. Эти разделенные ссылки при каждом обновлении уходят.

Поэтому мАчи Виктора, он и крайний... У мну ничего не слетало с тех пор как первую строку разбил. Виктор после этого уже раз сорок обновился.

Цитата:
Проблема была в файле настроек.

Про это я тоже, кстати, догадался пока изучал твои комменты. Я же не так давно юзаю Хакера, а из комментов понял, что были большие траблы с этим делом.
Автор: DmitryFedorov
Дата сообщения: 21.09.2015 00:44

Цитата:
У мну ничего не слетало с тех пор как первую строку разбил.

А может это совпадение? бывает так что не трогают это место оно и не уходит.
В других прогах для перевода тоже уходят.
Тут трудно угадать где собака порылась. Может в 3 версии это не так. Но я пока грешу на другое.
Надо проверить.
-----
Да. С этим плагином просто повезло. Как говорится не было бы счастья. Виктор так меня убедил что дело швах, что исправить значит переделать тонны работы, что я почти и не надеялся что проблема уйдет если решат проблему плагина.
Автор: KLASS
Дата сообщения: 21.09.2015 00:51

Цитата:
А может это совпадение?

Хех.. Ты же работаешь в другой версии, тогда понятно... 3 тоже глючная, но я к этим глюкам приноровился и даже! портативную 3 версию Радиаликса юзаю. А твои комменты уже открываю в портативке, но второй версии.

Цитата:
Виктор так меня убедил что дело швах,

Стало-быть иногда его надо "по-пинывать", а то заржавеет от ненависти к Микрософту
Автор: DmitryFedorov
Дата сообщения: 21.09.2015 00:57
Кстати посмотрел на твой рисунок.
Дельта записи в проецируемый файл - это не верно.
Хрень относится к памяти. А там карта именно для секций. Туда и проецируется.
Так что дословно Mapped writes delta - это дельта "закартированных" записей.
А в карту идут только секции - проекции памяти.

Добавлено:

Цитата:
Стало-быть иногда его надо "по-пинывать", а то заржавеет от ненависти к Микрософту

Виктор табу. Его надо оглаживать и давать выпустить пары ненависти к мелкому софту.
Автор: KLASS
Дата сообщения: 21.09.2015 01:01

Цитата:
Дельта записи в проецируемый файл

Тоже на это смотрел с недоверием, можно исправить... оставим как у тя.
Автор: DmitryFedorov
Дата сообщения: 21.09.2015 01:05

Цитата:
А твои комменты уже открываю в портативке, но второй версии.

У меня наоборот. Портативная версия - это 3.
Я тебе писал что ты можешь открыть и в третьей версии. Уйдет только один столбец. Он тебе не нужен. Но для этого надо написать что это проект 3 версии. Я писал как.
Автор: KLASS
Дата сообщения: 21.09.2015 01:18

Цитата:
Я тебе писал что ты можешь открыть и в третьей версии.

Я помню... зачем, если есть портативка 2. Поставил окна рядом от 2 и 3 и глазей скока хошь. Надо второй моник поставить, тогда вобще будет лепота.
Автор: DmitryFedorov
Дата сообщения: 21.09.2015 01:27
У тебя официальный перевод RegWorkshop.
Он типа гладкий, но неточный по терминологии, а в части истории изменений есть важные уже места переведенные с точностью до наоборот.
Автор: KLASS
Дата сообщения: 21.09.2015 01:34

Цитата:
У тебя официальный перевод RegWorkshop.

Наверно, я чего-то не заморачивался на этот счет. Так там особо нечего путать. В свое время делал букмарки по разделам и параметрам реестра, так для меня редактор реестра хоть на арабском, интуитивно все понятно.
Ты RegWorkshop тоже переводил?

Добавлено:
Ага, уже в шапке редактора увидел твой перевод... погляжу.
Автор: DmitryFedorov
Дата сообщения: 21.09.2015 01:41
Если просто смотреть реестр - то по барабану. Разве что забьешь голову неправильными терминами (не как в Regedit), но если работать - то это как раз там. И там можно нарваться потому что наоборот. уже не помню и где.

Ну а сокращения там только в главном меню. По той причине что если панель инструментов в один ряд с меню - то будет мало места.


Добавлено:
Посмотрел - там перевод проги идет через строку состояния.
Автор: KLASS
Дата сообщения: 21.09.2015 01:48
Чего у тя мания все сокращать. Зачем пункты меню испортил в RegWorkshop?

Добавлено:
Да не хай места мало, некрасиво просто, когда обрезано

Добавлено:

Цитата:
Ну а сокращения там только в главном меню.

Ага, а вот это

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556

Предыдущая тема: Лучшая сборка Total Commander (2015)


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.