Skip to content

fix: Use a literal ellipsis in the Reader "view more" string - #26122

Open
dcalhoun wants to merge 2 commits into
trunkfrom
fix/reader-view-more-ellipsis
Open

dcalhoun wants to merge 2 commits into
trunkfrom
fix/reader-view-more-ellipsis

Conversation

@dcalhoun

@dcalhoun dcalhoun commented Oct 6, 2026 •

Copy link
Copy Markdown
Member

Description

Tip

Reviewing each commit individually may be easiest. The first commit in the branch is purely formatting of existing code by the auto-formatter.

Replace raw unicode sequence erroneously displayed in Reader detail view with literal ellipsis.

Before After
before after

Testing instructions

Important

The fix is not visible without temporarily manually modifying the frozen translation strings. These strings are normally updated in the release process.

Example manual translation string change

diff --git a/WordPress/Resources/en.lproj/Localizable.strings b/WordPress/Resources/en.lproj/Localizable.strings
index 442a1336fa..dede056117 100644
--- a/WordPress/Resources/en.lproj/Localizable.strings
+++ b/WordPress/Resources/en.lproj/Localizable.strings
@@ -9214,7 +9214,7 @@ Example: given a notice format "Following %@" and empty site name, this will be
 "reader.post.header.subscribed" = "Subscribed";
 
 /* Appended to the truncated excerpt in the reader post header to indicate more content is available */
-"reader.post.header.viewMore" = "\u{2026}view more";
+"reader.post.header.viewMore" = "…view more";
 
 /* Button accessibility label */
 "reader.post.moreMenu.accessibilityLabel" = "More actions";

  1. Open Reader
  2. Navigate to a post with a long excerpt. E.g., https://automattic.design/2026/10/02/feeding-the-machine-with-chaos/
  3. Verify the excerpt renders …view more rather than u{2026}view more

AI-generated details

The Reader post header's truncated excerpt shows u{2026}view more instead of …view more.

Cause: the source used Swift's \u{2026} escape. genstrings doesn't understand that syntax: it warns invalid unicode sequence and copies it verbatim into en.lproj/Localizable.strings. The .strings parser then drops the unknown \u backslash. Translators copied the broken prefix into GlotPress, so 14 locales have it too. This is the only localized string in the codebase that uses a \u{…} escape.

Fix: use a literal … in the source. genstrings now emits "…view more" with no warning. The key stays the same: xcstringstool extract, which the catalog's immutable-key check reads, already decoded the old escape as …view more, so the English it compares is unchanged.

The first commit only applies swift-format to the file.

Testing: the shipped .strings files still contain the broken value. AppLocalizedString uses the source value only when a key is missing, so the fix appears once the strings are regenerated at code freeze. To check it locally, change reader.post.header.viewMore in WordPress/Resources/en.lproj/Localizable.strings to "…view more" (don't commit the edit). Then open any Reader post whose excerpt is truncated.

🤖 Generated with Claude Code

https://claude.ai/code/session_01R5NVRDoua98jmoS3sv6khR

dcalhoun and others added 2 commits October 6, 2026 13:47
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01R5NVRDoua98jmoS3sv6khR
genstrings doesn't understand Swift's \u{2026} escape and copies it
verbatim into Localizable.strings, where the .strings parser drops the
backslash. The excerpt then showed "u{2026}view more", and translators
copied the broken prefix into every locale.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01R5NVRDoua98jmoS3sv6khR
@dangermattic

Copy link
Copy Markdown
Collaborator
1 Warning
⚠️ View files have been modified, but no screenshot or video is included in the pull request. Consider adding some for clarity.
1 Message
📖 This PR is still a Draft: some checks will be skipped.

Generated by 🚫 Danger

@wpmobilebot

Copy link
Copy Markdown
Contributor
App Icon📲 You can test the changes from this Pull Request in WordPress by scanning the QR code below to install the corresponding build.
App NameWordPress
ConfigurationRelease-Alpha
Build Number34846
VersionPR #26122
Bundle IDorg.wordpress.alpha
Commitf252c0a
Installation URL6ird3ancrpa18
Automatticians: You can use our internal self-serve MC tool to give yourself access to those builds if needed.

@dcalhoun
dcalhoun marked this pull request as ready for review October 6, 2026 19:05
@dcalhoun
dcalhoun requested a review from jkmassel October 6, 2026 19:05
@wpmobilebot

Copy link
Copy Markdown
Contributor
App Icon📲 You can test the changes from this Pull Request in Jetpack by scanning the QR code below to install the corresponding build.
App NameJetpack
ConfigurationRelease-Alpha
Build Number34846
VersionPR #26122
Bundle IDcom.jetpack.alpha
Commitf252c0a
Installation URL5t9gan5vtfj5g
Automatticians: You can use our internal self-serve MC tool to give yourself access to those builds if needed.

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.

3 participants