Skip to content

Update simplified Chinese translation - #348

Merged
sc0w merged 1 commit into
amule-project:masterfrom
mike2718:master
Dec 15, 2024
Merged

Update simplified Chinese translation#348
sc0w merged 1 commit into
amule-project:masterfrom
mike2718:master

Conversation

@mike2718

Copy link
Copy Markdown

Updated simplified Chinese translation to latest pot file.

@sc0w
sc0w self-requested a review November 4, 2024 10:25

@sc0w sc0w left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please can you remove the comments?

I mean # 不用管 and # OK in some places

Comment thread po/zh_CN.po
Comment on lines 6164 to +6172
#. TRANSLATORS:
#. 'help search' is a command to the program, do not translate it.
#: src/TextClient.cpp:536
#, fuzzy
msgid ""
"No search type defined.\n"
"Type 'help search' to get more help.\n"
msgstr "输入 '%s' 显示更多帮助信息。\n"
msgstr ""
"未定义搜索类型。\n"
"输入“帮助搜索”以获得更多帮助。\n"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

'help search' is a command to the program, do not translate it.

@sc0w
sc0w merged commit 248a7ab into amule-project:master Dec 15, 2024
@sc0w

sc0w commented Dec 15, 2024

Copy link
Copy Markdown
Member

merged, and I added the commits: 5875191 and d2d301b

got3nks added a commit to got3nks/amule that referenced this pull request Jul 8, 2026
…wx 3.3.3 (amule-project#348)

wxWidgets 3.3.3 made wxScrollHelperBase::HandleOnScroll a private member, so
the vendored wxListMainWindow::OnScroll no longer compiles there -- this
breaks the macOS CI builds once the runner picks up wx 3.3.3.

wxListMainWindow derives from wxScrolledWindow and binds EVT_SCROLLWIN, so
its OnScroll overrides the base scroll handling and must drive the scroll
itself. Instead of calling the now-private HandleOnScroll(), hand the event
back to the base with event.Skip(): wxScrolledWindow then performs the
scroll through its own handler, while we keep the list-specific bookkeeping
(visible-line range + header refresh). event.Skip() is public on every
supported version (min wx 3.2.0), so this needs no version guards and does
not change behaviour. Verified with a clean build and manual scroll testing
on both wx 3.2.x and 3.3.3.
got3nks added a commit to got3nks/amule that referenced this pull request Jul 13, 2026
…t#478)

amule-project#348 replaced the vendored wxListMainWindow::OnScroll's synchronous
HandleOnScroll(event) with event.Skip() (HandleOnScroll became private in wx
3.3.3). On wxMSW the deferred scroll path (wxScrollHelperBase::HandleOnScroll
-> ScrollWindow) blits the retained rows and only invalidates the newly
exposed strip, which is then left unpainted -- rows go blank on mouse/scrollbar
scroll until a redraw is forced (select, CTRL+A, scroll back). Verified in the
wx 3.2.10 and 3.3.x sources that the scroll/repaint mechanism is identical, so
this is a wxMSW platform behavior, not a wx-version one: event.Skip() blanks on
Windows regardless of wx version.

Force a full Refresh() after the scroll on __WXMSW__ only. macOS/GTK repaint the
exposed region correctly on their own and are untouched; the repaint is
flicker-free because wxListMainWindow::OnPaint uses a wxBufferedPaintDC. Scoped
by platform rather than wx version so it stays correct if the Windows build
ever moves to wx 3.3.x, and it avoids the now-private HandleOnScroll entirely.

Does not address the pre-existing keyboard (HOME/END/PgUp/PgDn) blanking, which
is a separate, older path.

Refs amule-project#478
got3nks added a commit to got3nks/amule that referenced this pull request Jul 14, 2026
…mule-project#478)

amule-project#348 replaced the vendored wxListMainWindow::OnScroll's synchronous
HandleOnScroll(event) with event.Skip() -- HandleOnScroll became a private
member in wx 3.3.3, so the macOS/Linux CI (on wx 3.3.x) stopped compiling. On
wxMSW the resulting deferred-scroll path (wxScrollHelperBase::HandleOnScroll ->
ScrollWindow) blits the retained rows and only invalidates the newly exposed
strip, which is then left unpainted: rows go blank on mouse-wheel, scrollbar and
pagination scrolling until a redraw is forced (select, CTRL+A, scroll back). It
also forced a smoother/laggier scroll feel. Verified in the wx 3.2.10 and 3.3.x
sources that the scroll+repaint mechanism is identical, so this is a wxMSW
platform behavior, not a wx-version one.

Rather than gate on platform or wx version (both fragile -- the former would need
the now-private HandleOnScroll, the latter breaks once Windows ships wx 3.3.3),
reimplement the synchronous scroll inline using only the public wxScrollHelper
API (GetViewStart / GetScrollLines / GetScrollPageSize / Scroll), mirroring
HandleOnScroll()/CalcScrollInc(): translate the scroll event into a target
position in scroll units and Scroll() to it (which clamps and does the actual
ScrollWindow + repaint). A pre-scroll Update() flushes pending repaints so the
blit starts from valid content, exactly as HandleOnScroll did. Not skipping the
event means the base scroll helper won't also scroll, so no double-scroll.

Works on every supported wx (>= 3.2.0) and every platform with no version or
platform guard; compiles against wx 3.3.3. Does not address the pre-existing
keyboard (HOME/END/PgUp/PgDn) blanking, which is a separate, older path.

Refs amule-project#478
got3nks added a commit to got3nks/amule that referenced this pull request Jul 14, 2026
amule-project#478)

amule-project#348 replaced the vendored wxListMainWindow::OnScroll's synchronous
HandleOnScroll(event) with event.Skip() -- HandleOnScroll became a private
member in wx 3.3.3, so the macOS/Linux CI (on wx 3.3.x) stopped compiling. On
wxMSW the resulting deferred-scroll path (wxScrollHelperBase::HandleOnScroll ->
ScrollWindow) blits the retained rows and only invalidates the newly exposed
strip, which is then left unpainted: rows go blank on mouse-wheel, scrollbar and
pagination scrolling until a redraw is forced. Verified in the wx 3.2.10 and
3.3.x sources that the scroll+repaint mechanism is identical, so this is a wxMSW
platform behavior, not a wx-version one.

Rather than gate on platform or wx version (both fragile -- the former needs the
now-private HandleOnScroll, the latter breaks once Windows ships wx 3.3.3),
reimplement the synchronous scroll using only the public wxScrollHelper API
(GetViewStart / GetScrollLines / GetScrollPageSize / Scroll), mirroring
HandleOnScroll()/CalcScrollInc(): translate the scroll event into a target
position in scroll units and scroll to it.

Factor the "scroll + repaint" sequence into a shared ScrollListTo(x, y) helper
(Update() to flush pending paints so the blit is clean, Scroll(), then
ResetVisibleLinesRange() so the exposed rows repaint) and route both OnScroll
(scrollbar/wheel) and MoveToItem (keyboard nav) through it. This also fixes the
keyboard HOME/END/PgUp/PgDn blanking, which was the same bug from a different
path: MoveToItem only reset the visible-line range after Scroll() under
__WXMAC__, so on Windows the range stayed stale and keyboard scrolls came up
blank. The reset now runs on every platform via the shared helper, and the old
__WXMAC__-only workaround is gone.

Not skipping the event means the base scroll helper won't also scroll, so no
double-scroll. Works on every supported wx (>= 3.2.0) and every platform with no
version or platform guard; compiles against wx 3.3.3.

Refs amule-project#478
mrjimenez pushed a commit to mrjimenez/amule that referenced this pull request Jul 15, 2026
…ject#445) + list rows blanking on scroll/keyboard (amule-project#478) (amule-project#477)

* fix(remote-gui): stop the log view blanking on Windows by dropping Freeze/Thaw (amule-project#445)

amule-project#471 tried to fix the "log view goes blank on every new line" Windows
regression by thawing before scrolling, but it made no difference: the
AppendText still ran while the control was frozen. Appending to a frozen
wxTE_RICH2 (RichEdit) on Windows leaves its line/scroll metrics stale, so on
Thaw the view renders blank with the newest line pinned to the top until a
manual scroll forces a recompute. The Freeze()/Thaw() that amule-project#451 wrapped the
per-poll appends in is the actual culprit, not the scroll order.

Drop the Freeze()/Thaw() and append on a live control (as the pre-amule-project#451 code
did). Keep the two real wins from amule-project#451: the daemon's 5000-lines-per-poll cap
and the conditional SetDefaultStyle, plus one coalesced ShowPosition per poll
instead of per line (m_logBatching still suppresses the per-line scroll). The
per-line SetDefaultStyle was the dominant first-sync cost, so responsiveness is
retained without the frozen-append rendering corruption.

macOS/GTK recompute metrics regardless and were unaffected either way.

* fix(remote-gui): repaint list rows on scroll & keyboard nav on Windows (amule-project#478)

amule-project#348 replaced the vendored wxListMainWindow::OnScroll's synchronous
HandleOnScroll(event) with event.Skip() -- HandleOnScroll became a private
member in wx 3.3.3, so the macOS/Linux CI (on wx 3.3.x) stopped compiling. On
wxMSW the resulting deferred-scroll path (wxScrollHelperBase::HandleOnScroll ->
ScrollWindow) blits the retained rows and only invalidates the newly exposed
strip, which is then left unpainted: rows go blank on mouse-wheel, scrollbar and
pagination scrolling until a redraw is forced. Verified in the wx 3.2.10 and
3.3.x sources that the scroll+repaint mechanism is identical, so this is a wxMSW
platform behavior, not a wx-version one.

Rather than gate on platform or wx version (both fragile -- the former needs the
now-private HandleOnScroll, the latter breaks once Windows ships wx 3.3.3),
reimplement the synchronous scroll using only the public wxScrollHelper API
(GetViewStart / GetScrollLines / GetScrollPageSize / Scroll), mirroring
HandleOnScroll()/CalcScrollInc(): translate the scroll event into a target
position in scroll units and scroll to it.

Factor the "scroll + repaint" sequence into a shared ScrollListTo(x, y) helper
(Update() to flush pending paints so the blit is clean, Scroll(), then
ResetVisibleLinesRange() so the exposed rows repaint) and route both OnScroll
(scrollbar/wheel) and MoveToItem (keyboard nav) through it. This also fixes the
keyboard HOME/END/PgUp/PgDn blanking, which was the same bug from a different
path: MoveToItem only reset the visible-line range after Scroll() under
__WXMAC__, so on Windows the range stayed stale and keyboard scrolls came up
blank. The reset now runs on every platform via the shared helper, and the old
__WXMAC__-only workaround is gone.

Not skipping the event means the base scroll helper won't also scroll, so no
double-scroll. Works on every supported wx (>= 3.2.0) and every platform with no
version or platform guard; compiles against wx 3.3.3.

Refs amule-project#478
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants