Repository navigation
Conversation
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
Collaborator
Generated by 🚫 Danger |
Contributor
|
| App Name | WordPress | |
| Configuration | Release-Alpha | |
| Build Number | 34846 | |
| Version | PR #26122 | |
| Bundle ID | org.wordpress.alpha | |
| Commit | f252c0a | |
| Installation URL | 6ird3ancrpa18 |
dcalhoun
marked this pull request as ready for review
October 6, 2026 19:05
Contributor
|
| App Name | Jetpack | |
| Configuration | Release-Alpha | |
| Build Number | 34846 | |
| Version | PR #26122 | |
| Bundle ID | com.jetpack.alpha | |
| Commit | f252c0a | |
| Installation URL | 5t9gan5vtfj5g |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


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.
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
…view morerather thanu{2026}view moreAI-generated details
The Reader post header's truncated excerpt shows
u{2026}view moreinstead of…view more.Cause: the source used Swift's
\u{2026}escape.genstringsdoesn't understand that syntax: it warnsinvalid unicode sequenceand copies it verbatim intoen.lproj/Localizable.strings. The.stringsparser then drops the unknown\ubackslash. 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.genstringsnow 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
.stringsfiles still contain the broken value.AppLocalizedStringuses 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, changereader.post.header.viewMoreinWordPress/Resources/en.lproj/Localizable.stringsto"…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