Skip to content

po: update Brazilian Portuguese translation - #860

Merged
mrjimenez merged 1 commit into
masterfrom
po/update-pt-BR-translation
Jun 5, 2026
Merged

po: update Brazilian Portuguese translation#860
mrjimenez merged 1 commit into
masterfrom
po/update-pt-BR-translation

Conversation

@mrjimenez

Copy link
Copy Markdown
Contributor

Summary

  • Removes fuzzy flags from several strings and provides proper translations
  • Translates previously empty strings (connection failed message, ZLIB compression description, server rejection message, symbolic links label)
  • Fixes incorrect/outdated translations: "Connection Type", "Force ZLIB compression", copyright year range and team name
  • Updates PO-Revision-Date

@mrjimenez
mrjimenez merged commit f47f9a3 into master Jun 5, 2026
14 checks passed
@mrjimenez
mrjimenez deleted the po/update-pt-BR-translation branch June 5, 2026 23:05
got3nks added a commit to got3nks/amule that referenced this pull request Jun 7, 2026
…ule-project#912)

Extends existing categories (preferring extensions over new lines):
- Performance/Upload: amule-project#898 SlotAllocation default raised.
- Networking & Discovery: wire-parser hardening list extended with
  amule-project#879/amule-project#882/amule-project#890/amule-project#886; new amuleweb security hardening bullet
  consolidating ngosang's amule-project#869-amule-project#874 triage (all landed in amule-project#875);
  amulegui list extended with amule-project#857; shared-folder watcher extended
  with amule-project#858.
- Packaging: Windows installer i18n line extended with amule-project#899.
- Internals & Refactoring: new docs-polish + code-quality bullets
  covering amule-project#851/amule-project#855/amule-project#862/amule-project#888/amule-project#900/amule-project#866/amule-project#867/amule-project#895 and amule-project#909/amule-project#910/amule-project#912.
- Translations: new pre-release final-wave bullet covering amule-project#847/amule-project#856/
  amule-project#891/amule-project#908/amule-project#860/amule-project#904/amule-project#859/amule-project#863/amule-project#861/amule-project#880/amule-project#911/amule-project#901/amule-project#902/amule-project#889/amule-project#868/amule-project#853.
- Bug Fixes & Stability: amule-project#850/amule-project#854/amule-project#878/amule-project#906.
- CI: ccache wiring (amule-project#892, amule-project#903) + CodeQL binutils-dev (amule-project#907).

Contributors footer gains mifritscher and nguyenhoangminhhieu2004-gif
(both first-time contributors).

PR index extended through amule-project#912.
mrjimenez pushed a commit that referenced this pull request Jun 8, 2026
Extends existing categories (preferring extensions over new lines):
- Performance/Upload: #898 SlotAllocation default raised.
- Networking & Discovery: wire-parser hardening list extended with
  #879/#882/#890/#886; new amuleweb security hardening bullet
  consolidating ngosang's #869-#874 triage (all landed in #875);
  amulegui list extended with #857; shared-folder watcher extended
  with #858.
- Packaging: Windows installer i18n line extended with #899.
- Internals & Refactoring: new docs-polish + code-quality bullets
  covering #851/#855/#862/#888/#900/#866/#867/#895 and #909/#910/#912.
- Translations: new pre-release final-wave bullet covering #847/#856/
  #891/#908/#860/#904/#859/#863/#861/#880/#911/#901/#902/#889/#868/#853.
- Bug Fixes & Stability: #850/#854/#878/#906.
- CI: ccache wiring (#892, #903) + CodeQL binutils-dev (#907).

Contributors footer gains mifritscher and nguyenhoangminhhieu2004-gif
(both first-time contributors).

PR index extended through #912.
got3nks added a commit to got3nks/amule that referenced this pull request Aug 8, 2026
…e-project#860)

Three ways the ported lists threw away the row the user was reading.

SortList() ended in wxDataViewIndexListModel::Reset(), which says the
model was replaced; every backend rebuilds and lands at row 0, both
axes. A sort reorders rows without replacing them and the count is the
same on both sides of the std::sort, so a repaint is all it needs. The
bulk path is the exception: AppendItemData() adds rows without telling
the control -- that is what makes a bulk load cheap -- so Reset() was
doubling as the only notification that the rows existed, and repainting
there drew a list the control still believed was empty. The sort now
splits into SortItems(), which is silent, SortList(), which repaints,
and FinishBulkLoad(), which keeps its Reset(). Affects servers, shared
files, clients, downloads, file details and friends.

The unshifted page and home/end keys on macOS were left to
NSOutlineView, which scrolls without moving the cursor, so the next
arrow key snapped the view straight back and the page key looked inert.
They now run through the handler the shifted keys already used:
unshifted replaces the selection with the row landed on, shifted keeps
extending, and both move the cursor. GTK and MSW get this from their
backends.

The search list answered every arriving result with Cleared(), which
during a search is continuous. Arrivals now batch per idle into
ItemsAdded()/ItemsChanged() on macOS. GTK cannot take them at all --
feeding this model's arrivals in one notification at a time aborts
inside GtkTreeView's red-black tree, first from ItemAdded() under a
newly formed group and again from the batch of top-level additions
after that case was routed away. PR amule-project#796 had already found that neither
ItemChanged() nor a delete-and-re-add made GTK or MSW re-derive
container-ness; two aborts from two different notifications say the
constraint is broader than that, so those platforms keep one Cleared()
per idle and put the view back afterwards instead. The idle branch
already restored the selection and the expanded rows, so the top row
joins them -- which works here and not in the virtual lists because a
CSearchFile pointer still names the same result after a rebuild, where
a row-addressed item names whatever has since moved into it.

Measured against wx 3.3.3 rather than argued: Refresh() and
SetSelections() move no viewport on either backend; SetCurrentItem()
moves it only when the target is off screen, and then onto the cursor;
EnsureVisible() after Cleared() restores exactly on GTK and lands at
the bottom on macOS. So the cursor is restored only while its row is on
screen -- with no row ever clicked GTK's cursor sits at row 0, and
restoring it unconditionally clamped the view to the top. GetScrollPos()
is unusable on this control: wx asserts that the window is not
scrollable and answers 0.

Four things review turned up on the way. The synthetic first child of a
new group is now announced -- AddChild() creates a copy of the parent as
the first child and notified nobody, so a freshly formed group reported
one child where the model had two. Both batches de-duplicate, since
SetDownloadStatus() notifies every child of the parent it updated and a
single arrival into a 50-variant group queued 51 entries. Pending
pointers are dropped through MuleNotify::SearchFileBeingDestroyed, which
CCommentDialogLst already consumes for this purpose, replacing a guard
that checked membership in a list nothing ever unlinks from. And
SortList() restores the cursor by identity alongside the selection,
which Reset() used to invalidate for it.

Builds clean on macOS ARM64, Ubuntu ARM64 and Windows ARM64, with
clang-format and both clang-tidy tiers clean over the diff. Confirmed
interactively on amulegui on all three: sorting holds position in shared
files and clients, the search list holds position while results stream
in, group expansion is intact, and the macOS page keys move the cursor
with the view.
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.

1 participant