From 16a2aa959da4affcf5a3e64d99d843704445dba8 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 21 Apr 2026 20:47:09 +0300 Subject: [PATCH] etcpmon: translate tooltips to English --- tools/etcpmon/etcpmon_gui.c | 144 ++++++++++++++++++------------------ 1 file changed, 72 insertions(+), 72 deletions(-) diff --git a/tools/etcpmon/etcpmon_gui.c b/tools/etcpmon/etcpmon_gui.c index 1da212fb..4f1da4d7 100644 --- a/tools/etcpmon/etcpmon_gui.c +++ b/tools/etcpmon/etcpmon_gui.c @@ -727,175 +727,175 @@ static void CreateTooltips(struct etcpmon_app* app) /* ETCP Metrics */ AddTooltip(app->hToolTip, app->hEditEtcpRttLast, - "etcp.rtt_last / ETCP Connection\r\nВремя приема-передачи последнего пакета (RTT), единицы 0.1 мс"); + "etcp.rtt_last / ETCP Connection\r\nRound-trip time of the last packet (RTT), units 0.1 ms"); AddTooltip(app->hToolTip, app->hEditEtcpRttAvg10, - "etcp.rtt_avg_10 / ETCP Connection\r\nСредний RTT за последние 10 пакетов, единицы 0.1 мс"); + "etcp.rtt_avg_10 / ETCP Connection\r\nAverage RTT over last 10 packets, units 0.1 ms"); AddTooltip(app->hToolTip, app->hEditEtcpRttAvg100, - "etcp.rtt_avg_100 / ETCP Connection\r\nСредний RTT за последние 100 пакетов, единицы 0.1 мс"); + "etcp.rtt_avg_100 / ETCP Connection\r\nAverage RTT over last 100 packets, units 0.1 ms"); AddTooltip(app->hToolTip, app->hEditEtcpJitter, - "etcp.jitter / ETCP Connection\r\nРазброс RTT (макс - мин), единицы 0.1 мс"); + "etcp.jitter / ETCP Connection\r\nRTT spread (max - min), units 0.1 ms"); AddTooltip(app->hToolTip, app->hEditEtcpBytesSent, - "etcp.bytes_sent_total / ETCP Connection\r\nОбщий объем отправленных байт за все время"); + "etcp.bytes_sent_total / ETCP Connection\r\nTotal bytes sent since connection start"); AddTooltip(app->hToolTip, app->hEditEtcpRetrans, - "etcp.retrans_count / ETCP Connection\r\nКоличество ретрансляций (повторных отправок пакетов)"); + "etcp.retrans_count / ETCP Connection\r\nNumber of retransmissions (resent packets)"); AddTooltip(app->hToolTip, app->hEditEtcpAcks, - "etcp.ack_count / ETCP Connection\r\nКоличество полученных ACK-пакетов (подтверждений)"); + "etcp.ack_count / ETCP Connection\r\nNumber of received ACK packets (confirmations)"); AddTooltip(app->hToolTip, app->hEditEtcpInflight, - "etcp.unacked_bytes / ETCP Connection\r\nБайт в полете: отправлено, но еще не подтверждено"); + "etcp.unacked_bytes / ETCP Connection\r\nBytes in flight: sent but not yet acknowledged"); AddTooltip(app->hToolTip, app->hEditEtcpLinks, - "etcp.links_count / ETCP Connection\r\nКоличество активных линков (физических соединений)"); + "etcp.links_count / ETCP Connection\r\nNumber of active links (physical connections)"); /* TUN Metrics */ AddTooltip(app->hToolTip, app->hEditTunReadBytes, - "tun.bytes_read / TUN Interface\r\nВсего байт прочитано из TUN-интерфейса"); + "tun.bytes_read / TUN Interface\r\nTotal bytes read from TUN interface"); AddTooltip(app->hToolTip, app->hEditTunWriteBytes, - "tun.bytes_written / TUN Interface\r\nВсего байт записано в TUN-интерфейс"); + "tun.bytes_written / TUN Interface\r\nTotal bytes written to TUN interface"); AddTooltip(app->hToolTip, app->hEditTunReadPkts, - "tun.packets_read / TUN Interface\r\nВсего пакетов прочитано из TUN-интерфейса"); + "tun.packets_read / TUN Interface\r\nTotal packets read from TUN interface"); AddTooltip(app->hToolTip, app->hEditTunWritePkts, - "tun.packets_written / TUN Interface\r\nВсего пакетов записано в TUN-интерфейс"); + "tun.packets_written / TUN Interface\r\nTotal packets written to TUN interface"); AddTooltip(app->hToolTip, app->hEditTunReadErrs, - "tun.read_errors / TUN Interface\r\nОшибок чтения из TUN-интерфейса"); + "tun.read_errors / TUN Interface\r\nRead errors from TUN interface"); AddTooltip(app->hToolTip, app->hEditTunWriteErrs, - "tun.write_errors / TUN Interface\r\nОшибок записи в TUN-интерфейс"); + "tun.write_errors / TUN Interface\r\nWrite errors to TUN interface"); /* Routing Metrics */ AddTooltip(app->hToolTip, app->hEditRtRouted, - "tun.routed_packets / Routing\r\nКоличество успешно маршрутизированных пакетов"); + "tun.routed_packets / Routing\r\nNumber of successfully routed packets"); AddTooltip(app->hToolTip, app->hEditRtDropped, - "tun.dropped_packets / Routing\r\nКоличество отброшенных (не маршрутизированных) пакетов"); + "tun.dropped_packets / Routing\r\nNumber of dropped (not routed) packets"); AddTooltip(app->hToolTip, app->hEditRtTunInQPkts, - "tun.tun_in_q_packets / Routing\r\nПакетов во входной очереди TUN"); + "tun.tun_in_q_packets / Routing\r\nPackets in TUN input queue"); AddTooltip(app->hToolTip, app->hEditRtTunInQBytes, - "tun.tun_in_q_bytes / Routing\r\nБайт во входной очереди TUN"); + "tun.tun_in_q_bytes / Routing\r\nBytes in TUN input queue"); AddTooltip(app->hToolTip, app->hEditRtTunOutQPkts, - "tun.tun_out_q_packets / Routing\r\nПакетов в выходной очереди TUN"); + "tun.tun_out_q_packets / Routing\r\nPackets in TUN output queue"); AddTooltip(app->hToolTip, app->hEditRtTunOutQBytes, - "tun.tun_out_q_bytes / Routing\r\nБайт в выходной очереди TUN"); + "tun.tun_out_q_bytes / Routing\r\nBytes in TUN output queue"); AddTooltip(app->hToolTip, app->hEditRtCount, - "tun.rt_count / Routing\r\nОбщее количество записей в таблице маршрутизации"); + "tun.rt_count / Routing\r\nTotal entries in routing table"); AddTooltip(app->hToolTip, app->hEditRtLocal, - "tun.rt_local / Routing\r\nЛокальных (статических) маршрутов"); + "tun.rt_local / Routing\r\nLocal (static) routes"); AddTooltip(app->hToolTip, app->hEditRtLearned, - "tun.rt_learned / Routing\r\nИзученных (динамических/BGP) маршрутов"); + "tun.rt_learned / Routing\r\nLearned (dynamic/BGP) routes"); AddTooltip(app->hToolTip, app->hEditRtBgpSenders, - "tun.rt_bgp_senders / Routing BGP\r\nКоличество BGP-отправителей в списке"); + "tun.rt_bgp_senders / Routing BGP\r\nNumber of BGP senders in list"); AddTooltip(app->hToolTip, app->hEditRtBgpNodes, - "tun.rt_bgp_nodes / Routing BGP\r\nКоличество BGP-узлов"); + "tun.rt_bgp_nodes / Routing BGP\r\nNumber of BGP nodes"); /* Queue Metrics */ AddTooltip(app->hToolTip, app->hEditQInQBytes, - "etcp.input_queue_bytes / ETCP Queue\r\nБайт во входной очереди (принято от TUN, ожидает отправки)"); + "etcp.input_queue_bytes / ETCP Queue\r\nBytes in input queue (received from TUN, waiting to send)"); AddTooltip(app->hToolTip, app->hEditQInQPkts, - "etcp.input_queue_packets / ETCP Queue\r\nПакетов во входной очереди"); + "etcp.input_queue_packets / ETCP Queue\r\nPackets in input queue"); AddTooltip(app->hToolTip, app->hEditQInSendBytes, - "etcp.input_send_q_bytes / ETCP Queue\r\nБайт в очереди отправки (готовы к отправке по линкам)"); + "etcp.input_send_q_bytes / ETCP Queue\r\nBytes in send queue (ready to send over links)"); AddTooltip(app->hToolTip, app->hEditQInSendPkts, - "etcp.input_send_q_packets / ETCP Queue\r\nПакетов в очереди отправки"); + "etcp.input_send_q_packets / ETCP Queue\r\nPackets in send queue"); AddTooltip(app->hToolTip, app->hEditQWaitAckBytes, - "etcp.input_wait_ack_bytes / ETCP Queue\r\nБайт в очереди ожидания ACK (отправлено, ждем подтверждения)"); + "etcp.input_wait_ack_bytes / ETCP Queue\r\nBytes waiting for ACK (sent, awaiting confirmation)"); AddTooltip(app->hToolTip, app->hEditQWaitAckPkts, - "etcp.input_wait_ack_packets / ETCP Queue\r\nПакетов в очереди ожидания ACK"); + "etcp.input_wait_ack_packets / ETCP Queue\r\nPackets waiting for ACK"); AddTooltip(app->hToolTip, app->hEditQWaitAckOptInfl, - "etcp.optimal_inflight / ETCP Congestion Control\r\nЦелевое (оптимальное) окно перегрузки в байтах"); + "etcp.optimal_inflight / ETCP Congestion Control\r\nTarget (optimal) congestion window in bytes"); AddTooltip(app->hToolTip, app->hEditQAckBytes, - "etcp.ack_q_bytes / ETCP Queue\r\nБайт в очереди ACK (подтверждения, готовы к отправке)"); + "etcp.ack_q_bytes / ETCP Queue\r\nBytes in ACK queue (acknowledgments ready to send)"); AddTooltip(app->hToolTip, app->hEditQAckPkts, - "etcp.ack_q_packets / ETCP Queue\r\nПакетов в очереди ACK"); + "etcp.ack_q_packets / ETCP Queue\r\nPackets in ACK queue"); AddTooltip(app->hToolTip, app->hEditQRecvBytes, - "etcp.recv_q_bytes / ETCP Queue\r\nБайт в очереди приема (принято, ожидает доставки в TUN)"); + "etcp.recv_q_bytes / ETCP Queue\r\nBytes in receive queue (received, awaiting delivery to TUN)"); AddTooltip(app->hToolTip, app->hEditQRecvPkts, - "etcp.recv_q_packets / ETCP Queue\r\nПакетов в очереди приема"); + "etcp.recv_q_packets / ETCP Queue\r\nPackets in receive queue"); AddTooltip(app->hToolTip, app->hEditQOutBytes, - "etcp.output_queue_bytes / ETCP Queue\r\nБайт в выходной очереди (готовы к записи в TUN)"); + "etcp.output_queue_bytes / ETCP Queue\r\nBytes in output queue (ready to write to TUN)"); AddTooltip(app->hToolTip, app->hEditQOutPkts, - "etcp.output_queue_packets / ETCP Queue\r\nПакетов в выходной очереди"); + "etcp.output_queue_packets / ETCP Queue\r\nPackets in output queue"); /* Error Counters */ AddTooltip(app->hToolTip, app->hEditErrReinit, - "etcp.reinit_count / ETCP Errors\r\nСчетчик реинициализаций соединения"); + "etcp.reinit_count / ETCP Errors\r\nConnection reinitialization counter"); AddTooltip(app->hToolTip, app->hEditErrReset, - "etcp.reset_count / ETCP Errors\r\nСчетчик сбросов (reset) соединения"); + "etcp.reset_count / ETCP Errors\r\nConnection reset counter"); AddTooltip(app->hToolTip, app->hEditErrPktFmt, - "etcp.pkt_format_errors / ETCP Errors\r\nОшибок формата пакета (невалидные заголовки)"); + "etcp.pkt_format_errors / ETCP Errors\r\nPacket format errors (invalid headers)"); /* Timer Flags */ AddTooltip(app->hToolTip, app->hEditTimerRetrans, - "etcp.retrans_timer_active / ETCP Timers\r\nАктивен ли таймер ретрансляции (ON/OFF)"); + "etcp.retrans_timer_active / ETCP Timers\r\nRetransmission timer active (ON/OFF)"); AddTooltip(app->hToolTip, app->hEditTimerAckResp, - "etcp.ack_resp_timer_active / ETCP Timers\r\nАктивен ли таймер отложенных ACK"); + "etcp.ack_resp_timer_active / ETCP Timers\r\nDelayed ACK response timer active"); /* WaitAck queue state */ AddTooltip(app->hToolTip, app->hEditWaitAckSuspend, - "etcp.wait_ack_cb_suspended / ETCP WaitAck\r\nCallback приостановлен (ожидание ACK блокирует передачу)"); + "etcp.wait_ack_cb_suspended / ETCP WaitAck\r\nCallback suspended (waiting for ACK blocks transmission)"); AddTooltip(app->hToolTip, app->hEditWaitAckCb, - "etcp.wait_ack_cb_set / ETCP WaitAck\r\nCallback установлен (есть обработчик ожидания ACK)"); + "etcp.wait_ack_cb_set / ETCP WaitAck\r\nCallback set (waiting-for-ACK handler exists)"); AddTooltip(app->hToolTip, app->hEditWaitAckTimer, - "etcp.wait_ack_resume_timeout / ETCP WaitAck\r\nТаймер возобновления передачи активен"); + "etcp.wait_ack_resume_timeout / ETCP WaitAck\r\nResume transmission timer active"); /* ID Metrics */ AddTooltip(app->hToolTip, app->hEditIdNextTx, - "etcp.next_tx_id / ETCP Sequence\r\nСледующий ID для передачи (Sequence Number TX)"); + "etcp.next_tx_id / ETCP Sequence\r\nNext transmit ID (TX Sequence Number)"); AddTooltip(app->hToolTip, app->hEditIdLastRx, - "etcp.last_rx_id / ETCP Sequence\r\nПоследний принятый ID (Sequence Number RX)"); + "etcp.last_rx_id / ETCP Sequence\r\nLast received ID (RX Sequence Number)"); AddTooltip(app->hToolTip, app->hEditIdLastDel, - "etcp.last_delivered_id / ETCP Sequence\r\nПоследний доставленный ID (в TUN)"); + "etcp.last_delivered_id / ETCP Sequence\r\nLast delivered ID (to TUN)"); AddTooltip(app->hToolTip, app->hEditIdRxAckTill, - "etcp.rx_ack_till / ETCP Sequence\r\nДо какого ID подтвержден прием (ACK от получателя)"); + "etcp.rx_ack_till / ETCP Sequence\r\nUp to which ID reception is confirmed (ACK from peer)"); /* Normalizer */ AddTooltip(app->hToolTip, app->hEditNormInPkts, - "etcp.norm_input_pkts / Packet Normalizer\r\nПакетов на входе нормализатора (текущие)"); + "etcp.norm_input_pkts / Packet Normalizer\r\nPackets at normalizer input (current)"); AddTooltip(app->hToolTip, app->hEditNormInBytes, - "etcp.norm_input_bytes / Packet Normalizer\r\nБайт на входе нормализатора (текущие)"); + "etcp.norm_input_bytes / Packet Normalizer\r\nBytes at normalizer input (current)"); AddTooltip(app->hToolTip, app->hEditNormOutPkts, - "etcp.norm_output_pkts / Packet Normalizer\r\nПакетов на выходе нормализатора (текущие)"); + "etcp.norm_output_pkts / Packet Normalizer\r\nPackets at normalizer output (current)"); AddTooltip(app->hToolTip, app->hEditNormOutBytes, - "etcp.norm_output_bytes / Packet Normalizer\r\nБайт на выходе нормализатора (текущие)"); + "etcp.norm_output_bytes / Packet Normalizer\r\nBytes at normalizer output (current)"); AddTooltip(app->hToolTip, app->hEditNormAllocErr, - "etcp.norm_alloc_errors / Packet Normalizer\r\nОшибок выделения памяти в нормализаторе"); + "etcp.norm_alloc_errors / Packet Normalizer\r\nMemory allocation errors in normalizer"); AddTooltip(app->hToolTip, app->hEditNormLogicErr, - "etcp.norm_logic_errors / Packet Normalizer\r\nЛогических ошибок в нормализаторе"); + "etcp.norm_logic_errors / Packet Normalizer\r\nLogic errors in normalizer"); AddTooltip(app->hToolTip, app->hEditNormFragSize, - "etcp.norm_frag_size / Packet Normalizer\r\nРазмер текущего фрагмента"); + "etcp.norm_frag_size / Packet Normalizer\r\nCurrent fragment size"); AddTooltip(app->hToolTip, app->hEditNormDataPtr, - "etcp.norm_data_ptr / Packet Normalizer\r\nУказатель на данные в буфере"); + "etcp.norm_data_ptr / Packet Normalizer\r\nData pointer in buffer"); AddTooltip(app->hToolTip, app->hEditNormDataSize, - "etcp.norm_data_size / Packet Normalizer\r\nРазмер данных в буфере"); + "etcp.norm_data_size / Packet Normalizer\r\nData size in buffer"); AddTooltip(app->hToolTip, app->hEditNormInTotPkts, - "etcp.norm_in_total_pkts / Packet Normalizer\r\nВсего пакетов обработано на входе (накопительно)"); + "etcp.norm_in_total_pkts / Packet Normalizer\r\nTotal packets processed at input (cumulative)"); AddTooltip(app->hToolTip, app->hEditNormInTotBytes, - "etcp.norm_in_total_bytes / Packet Normalizer\r\nВсего байт обработано на входе (накопительно)"); + "etcp.norm_in_total_bytes / Packet Normalizer\r\nTotal bytes processed at input (cumulative)"); AddTooltip(app->hToolTip, app->hEditNormOutTotPkts, - "etcp.norm_out_total_pkts / Packet Normalizer\r\nВсего пакетов обработано на выходе (накопительно)"); + "etcp.norm_out_total_pkts / Packet Normalizer\r\nTotal packets processed at output (cumulative)"); AddTooltip(app->hToolTip, app->hEditNormOutTotBytes, - "etcp.norm_out_total_bytes / Packet Normalizer\r\nВсего байт обработано на выходе (накопительно)"); + "etcp.norm_out_total_bytes / Packet Normalizer\r\nTotal bytes processed at output (cumulative)"); /* ACK Debug counters */ AddTooltip(app->hToolTip, app->hEditAckHitInf, - "etcp.cnt_ack_hit_inf / ETCP ACK Debug\r\nACK попал в inflight-окно (ожидаемый ACK)"); + "etcp.cnt_ack_hit_inf / ETCP ACK Debug\r\nACK hit inflight window (expected ACK)"); AddTooltip(app->hToolTip, app->hEditAckHitSndq, - "etcp.cnt_ack_hit_sndq / ETCP ACK Debug\r\nACK попал в send-очередь"); + "etcp.cnt_ack_hit_sndq / ETCP ACK Debug\r\nACK hit send queue"); AddTooltip(app->hToolTip, app->hEditAckMiss, - "etcp.cnt_ack_miss / ETCP ACK Debug\r\nACK не найден (неожиданный ACK)"); + "etcp.cnt_ack_miss / ETCP ACK Debug\r\nACK not found (unexpected ACK)"); AddTooltip(app->hToolTip, app->hEditCntLinkWait, - "etcp.cnt_link_wait / ETCP ACK Debug\r\nСчетчик ожидания линка"); + "etcp.cnt_link_wait / ETCP ACK Debug\r\nLink wait counter"); AddTooltip(app->hToolTip, app->hEditTxState, - "etcp.tx_state / ETCP ACK Debug\r\nСостояние передачи (битовая маска)"); + "etcp.tx_state / ETCP ACK Debug\r\nTransmission state (bitmask)"); /* Debug counters */ for (int i = 0; i < 8; i++) { char buf[256]; snprintf(buf, sizeof(buf), - "etcp.debug[%d] / ETCP Debug\r\nОтладочное поле (зависит от версии)", i); + "etcp.debug[%d] / ETCP Debug\r\nDebug field (version dependent)", i); AddTooltip(app->hToolTip, app->hEditDebug[i], buf); } /* System resources */ AddTooltip(app->hToolTip, app->hEditActiveTimeouts, - "etcp.active_timeouts / System Resources\r\nАктивных таймаутов в системе (async)"); + "etcp.active_timeouts / System Resources\r\nActive timeouts in system (async)"); AddTooltip(app->hToolTip, app->hEditBusyMemory, - "etcp.busy_memory_blocks / System Resources\r\nЗанятых блоков памяти (memory pool)"); + "etcp.busy_memory_blocks / System Resources\r\nBusy memory blocks (memory pool)"); } static LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { struct etcpmon_app* app = NULL;