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

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

Автор: VictorVG4
Дата сообщения: 16.08.2016 19:56
KLASS

Ну, тут возможны два равноправных по смыслу варианта, так что выбирай любой ибо они оба правильные. Мне понятие счёт привычнее ещё со времён Минск-32 и IBM OS/360, а кому-то понравится выполнение и хотя смысл одинаков но одёжки разные.
Автор: KLASS
Дата сообщения: 16.08.2016 20:14

Цитата:
Мне понятие счёт

Согласен, что процессор "счетовод", но перевод таки делаем для юзера, потому ВЫПОЛНЕНИЕ не будет так резать ухо.
Еще тут вылезло пару строк:
Unable to retrieve the affinity
Unable to set the affinity
Перевод у меня был такой:
Не удалось извлечь соответствие
Не удалось задать соответствие
Щаз, в связи с обсуждением, как по грамотней?

Добавлено:
Еще нашел
Process affinity mask
и про тетю "маску", но у меня не переведено, т.к. не ведаю где в фейсе находится, а переводить без этого стремно
Автор: VictorVG4
Дата сообщения: 16.08.2016 20:26
KLASS

Разумнее:

Unable to retrieve the affinity - Неизвестно распределение ЦП

Unable to set the affinity - Не могу распределить ЦП


ибо в первом случае причин может быть и несколько, от нехватки прав для чтения системных таблиц, до внутреннего сбоя в ОС, а результат будет одинаков. А во втором исключаются любые недомолвки.
Автор: KLASS
Дата сообщения: 16.08.2016 20:28
Да, забыл сказать, что две верхних строки вылазят, когда начинаем галки снимать\ставить на процессах к которым нет доступа, т.е. если в столбце "Elevation" стоит н\д

Добавлено:

Цитата:
Не могу распределить ЦП

Может лучше
"Невозможно распределить ЦП"?

Добавлено:
Или "Не удалось..." вот так

Добавлено:

Цитата:
Process affinity mask

С этим наврал, тут оказывается в х86 перевел как:
"Маска соответствия процесса процессору"
и находится тут
Процессы\Модули\2-ой щелчок\Загруженная конфигурация\Заполнение столбца Имя
а в х64 там просто не влазит вся фраза и обрезается, надо буков не более 21.

Добавлено:
Вот
"Маска соответствия ЦП" как раз имеет 21 буковку
С чего начал, туда и завернул

Добавлено:
Сдается мне, что если VictorVG4 запустит русскую версию, то нам тут всем кранты
Я тебя прошу, если запустишь... сильно не бей
Автор: VictorVG4
Дата сообщения: 16.08.2016 23:42
KLASS

Лады, не буду. Сейчас к NVIDIA обнова пришла - гляну поведение NvGpuPlugin.
Автор: KLASS
Дата сообщения: 20.08.2016 01:00
VictorVG4
Появилась проблема, потому вынес сюда из ПМ, может кто чего придумает

Цитата:
у тебя добавятся пункты в меню РН, в т.ч. в контекстном меню Affinity

Добавлены две новые строки в плагин UserNotes:
Affinity
Set affinity
Т.к. ранее был сделан перевод строки Affinity как Выполнение на ЦП, то такой же перевод должен быть и здесь, иначе подпунктов меню не будет видно

но такой возможности в UserNotes нет. Разработчик не сделал ссылку, удлинить строку низя, получается, либо без перевода везде (что удручает), либо перевод Affinity должен иметь не более 8 символов, т.е. = оригиналу.
To All
Какие у кого будут мысли?
Должно быть типа этого:
Affinity=Сродство
В общем бяда (

Добавлено:


Добавлено:
На строку Set affinity тоже ссылку в x64 не сделали, кроме как "Задать" не перевести (
Автор: VictorVG4
Дата сообщения: 20.08.2016 01:40
KLASS

Тогда так - Affinity = Считать [на ALU | CPU | computer...] - термин стандартный, впервые появился ещё в IBM OS/360 как "Считать задачу на машине № ... вычислительного комплекса" в русском переводе документации к ОС совместно подготовленном специалистами IBM и НИИ ЦВТ (НИИ Центр Вычислительной Техники) в 1976 году, после использовался в документации СЭВ по терминологии многопроцессорных (кластерных) вычислительных комплексов систем СМ/ЕС ЭВМ.

P.S.

Для желающих прославится "И мы пахали!" - предупреждаю на этом берегу:

- ссылки на доморощенных "академиков" а-ля три класса ЦПШ с коридором и самомнением до Ригеля и кубоквадратно-прямоугольно-замысловатые корни равно как и прочие домыслы не приводить под страхом стать всеобщим посмешищем во веки вечные
.
Автор: KLASS
Дата сообщения: 20.08.2016 01:49
VictorVG4
Круто
Смотри, что получается:
Пункт меню Считать > Задать > Далее заголовок окна "Выполнение на ЦП"
В принципе непоняток быть не должно.

Цитата:
не приводить под страхом стать всеобщим посмешищем во веки вечные.

Автор: VictorVG4
Дата сообщения: 20.08.2016 02:31
KLASS

Вполне. Главное чтобы детсад с указаниями не вмешался.
Автор: 11 druc 11
Дата сообщения: 20.08.2016 08:03
VictorVG4
KLASS
Все предельно по смыслу и главное понятнее для пользователя...
Автор: KLASS
Дата сообщения: 21.08.2016 04:31
Застопорился и боюсь чего неверно перевести, помогайте, плиз:
Assigns the process to a job object and terminates the job
Назначить процесс в объект задание и завершить задание

Modifies the process' threads with contexts which terminate the process
Изменение контекста потоков процесса, которые завершают процесс

WARNING WARNING WARNING
You can be banned by anti-cheat software for using this plugin. Are you absolutely sure you want to continue?
Предупреждение
А далее...


Добавлено:
Это все строки по Терминатору. Две верхних метод завершения процесса, а нижнее Предупреждение вылазит, когда запускаем Терминатор, через контекстное меню процесса => Разное=>Терминатор
Автор: maK
Дата сообщения: 21.08.2016 05:29
KLASS
Плагин может классифицироваться, как античитерское ПО.
Автор: 11 druc 11
Дата сообщения: 21.08.2016 11:02
KLASS
Хоть Терминатор как плагин включен, но такой строки подменю у меня не появилось...
Тем не менее, возможно, такой перевод чем то поможет:
Assigns the process to a job object and terminates the job
Задает процесс в задание исключения и завершает задание

Modifies the process' threads with contexts which terminate the process
Изменяет потоки процесса с помощью контекстов (окружения), что завершает процесс

You can be banned by anti-cheat software for using this plugin. Are you absolutely sure you want to continue?
Встроенным анти-отладчиком Вам может быть запрещено использование этого плагина. Вы хотите продолжить?
Автор: KLASS
Дата сообщения: 21.08.2016 12:44
maK
11 druc 11
Спасибо за помощь.
По-поводу подстроки я в основной теме сказал, что не заметил "вернувшегося"
Терминатора и потому выложил без перевода этого плагина. А в каждом плагине,
который запускается из контекстного меню процесса "Miscellaneous-Разное",
тоже есть строка "Miscellaneous", если она не переведена, то строки подменю,
запускающего плагин, нет, ну а коль мы ее переведем, то появится...
теперь при следующем выкладывании. Также подстроку всегда можно глянуть в английской версии.

По переводу, пока остановился на этом:
Assigns the process to a job object and terminates the job
Связывает процесс с объектом задание и завершает его

Modifies the process' threads with contexts which terminate the process
Изменяет контексты потоков, завершающих процесс

You can be banned by anti-cheat software for using this plugin.
Выполнение этого расширения может быть запрещено античитерским программным обеспечением.

Добавлено:
ПКМ на процессе => Miscellaneous => Terminator => Yes и получаем окно:


Добавлено:
Если возражений нет, то выкладываю новый перевод. Ну, а если появятся возражения, поправим... делов-то
Автор: VictorVG4
Дата сообщения: 21.08.2016 14:48
KLASS
maK
11 druc 11

Это меню теста методов завершения процесса которое находится в ./plugins-extra/TerminatorPlugin/termator.c::683:

Цитата:
TEST_ITEM PhTerminatorTests[16] =
{
{ L"TP1", L"Terminates the process using NtTerminateProcess", TerminatorTP1 },
{ L"TP2", L"Creates a remote thread in the process which terminates the process", TerminatorTP2 },
{ L"TT1", L"Terminates the process' threads", TerminatorTT1 },
{ L"TT2", L"Modifies the process' threads with contexts which terminate the process", TerminatorTT2 },
{ L"TP1a", L"Terminates the process using NtTerminateProcess (alternative method)", TerminatorTP1a },
{ L"TT1a", L"Terminates the process' threads (alternative method)", TerminatorTT1a },
{ L"CH1", L"Closes the process' handles", TerminatorCH1 },
{ L"W1", L"Sends the WM_DESTROY message to the process' windows", TerminatorW1 },
{ L"W2", L"Sends the WM_QUIT message to the process' windows", TerminatorW2 },
{ L"W3", L"Sends the WM_CLOSE message to the process' windows", TerminatorW3 },
{ L"TJ1", L"Assigns the process to a job object and terminates the job", TerminatorTJ1 },
{ L"TD1", L"Debugs the process and closes the debug object", TerminatorTD1 },
{ L"TP3", L"Terminates the process in kernel-mode", TerminatorTP3 },
{ L"TT3", L"Terminates the process' threads in kernel-mode", TerminatorTT3 },
{ L"M1", L"Writes garbage to the process' memory regions", TerminatorM1 },
{ L"M2", L"Sets the page protection of the process' memory regions to PAGE_NOACCESS", TerminatorM2 }
};

По строкам:

TJ1 :: Assigns the process to a job object and terminates the job
TJ1 :: Сопоставляет процесс с заданием и завершает его

TT2 :: Modifies the process' threads with contexts which terminate the process
TT2 :: Изменить нити процесса в контексте его аварийного завершения

You can be banned by anti-cheat software for using this plugin.

Тут проще там же в dialog.c::32 выводится предупреждение о возможной блокировке мухобойками:

Цитата:
MB_ICONWARNING | MB_YESNO,
L"WARNING WARNING WARNING\r\nYou can be banned by anti-cheat software for using this plugin. "
L"Are you absolutely sure you want to continue?"

Ну и переводим оное в пределах приличий ибо тут пока диалог только спрашивает и возвращает в код YES|NO:

MB_ICONWARNING | MB_YESNO,
L"ВНИМАНИЕ!\r\nАнтивирусные программы могут блокировать работу плагина."
L"Вы всё равно хотите продолжить?"


и я думаю что в данном случае мы и смысл предупреждения сохраним и в длину литералов влезем.
Автор: KLASS
Дата сообщения: 21.08.2016 14:55

Цитата:
TT2 :: Modifies the process' threads with contexts which terminate the process
TT2 :: Изменить нити процесса в контексте его аварийного завершения

Не... ну так тока ты можешь

Цитата:
и в длину литералов влезем

Там по барабану, это окно вылазит после запуска Терминатора и хоть войну и мр вставляй.
Сенкс, щаз поправлю.

Добавлено:
Проверь, пожалуйста, остальное:
Closes the process' handles
Закрывает указатели процесса

Creates a remote thread in the process which terminates the process
Создает удаленный поток в процессе, который его завершает

Debugs the process and closes the debug object
Отлаживает процесс и закрывает объект отладки

Sends the WM_CLOSE message to the process' windows
Посылает сообщение WM_CLOSE окнам процесса

Sends the WM_DESTROY message to the process' windows
Посылает сообщение WM_DESTROY окнам процесса

Sends the WM_QUIT message to the process' windows
Посылает сообщение WM_QUIT окнам процесса

Sets the page protection of the process' memory regions to PAGE_NOACCESS
Устанавливает защиту страницы PAGE_NOACCESS в областях памяти процесса

Terminates the process in kernel-mode
Завершает процесс в режиме ядра

Terminates the process using NtTerminateProcess
Завершает процесс через NtTerminateProcess

Terminates the process using NtTerminateProcess (alternative method)
Завершает процесс через NtTerminateProcess (альтернативный метод)

Terminates the process' threads
Завершает потоки процесса

Terminates the process' threads (alternative method)
Завершает потоки процесса (альтернативный метод)

Terminates the process' threads in kernel-mode
Завершает потоки процесса в режиме ядра

Writes garbage to the process' memory regions
Записывает мусор в области памяти процесса
Автор: VictorVG4
Дата сообщения: 21.08.2016 16:35
KLASS

Добро, давай смотреть построчно т.к. нам так проще (мы видим место то место кода где выводится этот список):

Closes the process' handles = Закрывает указатели процесса

годится

Creates a remote thread in the process which terminates the process - Создаёт внешний поток который аварийно завершает процесс

тут небольшая неточность т.к. смысл операций Terminate Process и Close Process (равносильно Exit Process) принципиально разный

- Terminate Process - аварийно завершить процесс без сохранения его данных и освободить занимаемые им ресурсы: процесс просто удаляется из списков активных в планировщике задач и все занятые им ресурсы ЭВМ (ОЗУ и В/В) освобождаются самым простым способом - из системных таблиц ОС удаляет все упоминания о процессе вызовом WinAPI TerminateProcess() (ХР/2003 и выше);
- а при нормальном завершении вызывается функция ExitProcess() (ХР/2003 и выше) которая зовёт для каждой его нити ExitThreads() и после в ExitProcess() ОС анализирует код возврата каждой из его нитей и если он равен "0" то ошибок не было и код возврата задачи в целом ставится в 0, не нулевое значение кода возврата указывает на ошибку (коды 603 - 611 имеют предопределённые в коде ntdll.dll значения:

603 Process was not currently running
604 Unable to identify system type
605 Unsupported OS
606 Unable to load NTDLL.DLL
607 Unable to get procedure address from NTDLL.DLL
608 NtQuerySystemInformation failed
609 Unable to load KERNEL32.DLL
610 Unable to get procedure address from KERNEL32.DLL
611 CreateToolhelp32Snapshot failed


и не могут произвольно трактоваться прикладной программой);

Debugs the process and closes the debug object - Отлаживает процесс и закрывает объект отладки

годится

Sends the WM_CLOSE message to the process' windows = Посылает окнам процесса сообщение WM_CLOSE окнам процесса

Sends the WM_DESTROY message to the process' windows - Посылает окнам процесса сообщение WM_DESTROY

Sends the WM_QUIT message to the process' windows - Посылает окнам процесса сообщение WM_QUIT

слова местами поменять

Sets the page protection of the process' memory regions to PAGE_NOACCESS -
Устанавливает атрибут защиты страницы памяти процесса в PAGE_NOACCESS

- смысл СТРАНИЦА НЕ ДОСТУПНА например если сейчас идёт её чтение/запись в/из области подкачки на внешней памяти ЭВМ (внешняя память много больше по ёмкости и и стоимость хранения данных у неё значительно дешевле ОЗУ, но задержки между командой обращения к данным и их получением ЦП больше на несколько порядков, да и скорость канала ВНЕШНЯЯ ПАМЯТЬ - ЦП много ниже скорости канала ЦП - ОЗУ).

Terminates the process in kernel-mode - Завершить процесс в режиме ядра

поправка по мелочи

Terminates the process using NtTerminateProcess - Аварийно завершить процесс через NtTerminateProcess

- а это уже вызов API ядра (Native API) NtTerminateProcess (префикс Nt в первых двух символах имени функции, и только в такой форме записи!).

Terminates the process using NtTerminateProcess (alternative method) - Аварийно завершить процесс через NtTerminateProcess (альтернативный метод)

Terminates the process' threads - Аварийно завершить потоки процесса

Terminates the process' threads (alternative method) - Аварийно завершить потоки процесса (альтернативный метод)

Terminates the process' threads in kernel-mode - Аварийно завершить потоки процесса в режиме ядра

Writes garbage to the process' memory regions - Затирает области памяти процесса

обычно просто пишет нули в критические блоки памяти задачи и та сама падает.

ну гдей-то так, но это по смыслу, кое-где можно чуток стилистику пригладить, но с учётом того, что Terminate нить/процесс/задача это АВАРИЙНОЕ ЗАВЕРШЕНИЕ, а нормальное это Exit|Close когда завершаемое задание сохраняет данные чистит свои хвосты и докладывает в ОС что оно завершилось без ошибок.

P.S.

Кстати, в языке управления задачами (IBM OS/360 JCL (разработка 1964г) так же было два способа завершения задач - ABTERM (abnormally terminate, аварийное завершение) и нормальное завершение задания. Так что М$ как обычно выдаёт чужие разработки за собственные открытия.
Автор: 11 druc 11
Дата сообщения: 21.08.2016 16:41
VictorVG4
Очередное спасибо...
Очень даже необходимый подход обсуждения с подробными объяснениями, так что тема выполняет и дополнительные функции вместо FAQ...
Автор: KLASS
Дата сообщения: 21.08.2016 17:05
VictorVG4

Смотри, например, почему
Terminates the process in kernel-mode перевел как:
Завершает процесс..., а не
Завершить процесс...
Все эти записи находятся в колонке\столбце "Описание", т.е. "описывают"
действие до того, как то действие было применено. Т.е. пользователь еще
ничего не нажал, а лишь читает описание.
Хотя с другой стороны, если жамкнуть грызуном, то действие будет выполнено
немедленно, тогда также подходит "Завершить процесс..."
11 druc 11

Цитата:
так что тема выполняет и дополнительные функции вместо FAQ.

Помните я вам сказал, а не забросить ли нам PE и начать переводить PH.
Я сразу тогда присёк, что тут можно поживиться знаниями.
Сюда буду отправлять школоту, когда сам не смогу убедить при очередных "разборках".
Действительно FAQ!

Добавлено:
VictorVG4
А может Description перевести как Действие?
Тогда "Завершить процесс..." подходит со всех сторон
Собссно еще раз все проглядел, не фиг голову ломать, оставлю "Завершить процесс..." и так понятно.
Автор: 11 druc 11
Дата сообщения: 21.08.2016 17:27
KLASS

Цитата:
Помните я вам сказал, а не забросить ли нам PE и начать переводить PH.

Конечно


Цитата:
Я сразу тогда присёк, что тут можно поживиться знаниями.

Никаких сомнений для меня в этом плане не было. Все из Вас завсегдатаев темы обладаете и опытом и знаниями, полезными для других. Особенно VictorVG4
Автор: KLASS
Дата сообщения: 21.08.2016 18:26
VictorVG4

Цитата:
но с учётом того, что Terminate нить/процесс/задача это АВАРИЙНОЕ ЗАВЕРШЕНИЕ

Если так, смотрю у Терминатора почти все подпадает под аварийное завершение:
Например,
Assigns the process to a job object and terminates the job уже переводим как:
Сопоставить процесс с заданием и аварийно завершить его
или

Цитата:
Terminates the process in kernel-mode - НЕ Завершить процесс в режиме ядра
, но
Аварийно завершить процесс в режиме ядра
Все так?

Добавлено:
Вот так получилось в итоге:
Автор: VictorVG4
Дата сообщения: 21.08.2016 19:23
KLASS

Да, согласно исходникам этот плагин в итоге последовательно вызывает (см. ./plugins-extra/TerminatorPlugin/phapi.c) функции Native API NtTerminateThread(ThreadHandle, ExitStatus) и NtTerminateProcess(ProcessHandle, ExitStatus) и кроме аварийного иных способов завершения процесса и его нитей не предусматривает. Он написан для решения задачи аварийного завершения процессов и их нитей в тех случаях когда корректно завершить их не получилось (например процессов которые используют вспомогательный сторожевой процесс следящий за тем, чтобы основной процесс был запущен и автоматически запускающие его в случае завершения), либо если процесс для своей защиты выставляет в ОС атрибут CRITICAL что означает что любое внешнее завершение такого процесса приводит к немедленной панике ядра и перезапуску ОС в целом. Такие механизмы часто использует вредоносное и антивирусное ПО.

Перевод этого фрагмента годится. У меня замечаний нет.
Автор: KLASS
Дата сообщения: 21.08.2016 19:33
Ушел в набор
Автор: wvxwxvw
Дата сообщения: 29.08.2016 17:36


Это что бы ни кто не догадался?
Автор: VictorVG4
Дата сообщения: 29.08.2016 18:53
wvxwxvw

Да, тут есть над чем подумать. Согласен что вышло неудачно.
Автор: KLASS
Дата сообщения: 30.08.2016 13:18
wvxwxvw
Ваше предложение, с учетом вышесказанного!? Поменять не долго.
Автор: 11 druc 11
Дата сообщения: 31.08.2016 09:30
VictorVG4
KLASS

Цитата:
Да, тут есть над чем подумать. Согласен что вышло неудачно.

Перелапатил значение слова "Set", а также ранее приведенные разъяснения VictorVG4 в части значения слова "Affinity". C учетом этого, то место на картинках приведенных wvxwxvw предлагаю такой вариант перевода указанной части "Affinity-Set Affinity" - "Считать-С настройкой (установкой или на(вы)бором)"...

Автор: wvxwxvw
Дата сообщения: 04.09.2016 01:22
KLASS
Я не пойму, вы для людей или слепо точности перевода добиваетесь? Если для людей, то "задать соответствие" (привычно) или "назначить процессор", "назначить ядра", "сопоставить ядра" (понятно). А если второе, то тут я не советчик. Но то, что сейчас, мне вообще не нравится. Так же можно написать - "какая то хрень, догадаешься сам" и ведь правда догадаются.
Автор: VictorVG4
Дата сообщения: 04.09.2016 01:40
wvxwxvw

Самое простое - Выбор ядра | Выбор ЦП , а там по коду ProcessHacker грепом смотреть где вылезет L"Affinity", и править с учётом.
Автор: KLASS
Дата сообщения: 04.09.2016 01:43
wvxwxvw

Цитата:
Ваше предложение, с учетом вышесказанного!?

Не читали видно!?
VictorVG4
Видел?

Добавлено:
"Считать => Выбор ЦП", годится и лучше, нежели "Считать => Задать".
"Считать => Выбор ядра" вроде точнее, у многих один процессор с несколькими ядрами
Не, первое оставить, там одни ЦП, ЦП, ЦП...

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556

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


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