Skip to content

Add Terms of Use and Privacy Policy links to AppStoreStrings.po - #4931

Draft
mokagio wants to merge 1 commit into
trunkfrom
mokagio/regen-appstorestrings-po
Draft

Add Terms of Use and Privacy Policy links to AppStoreStrings.po#4931
mokagio wants to merge 1 commit into
trunkfrom
mokagio/regen-appstorestrings-po

Conversation

@mokagio

@mokagio mokagio commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

No description provided.

@mokagio
mokagio requested a review from a team as a code owner August 10, 2026 06:36
Copilot AI lite review requested due to automatic review settings August 10, 2026 06:36
@mokagio mokagio self-assigned this Aug 10, 2026
@claude

claude Bot commented Aug 10, 2026

Copy link
Copy Markdown

Claude finished @mokagio's task in 2m 49s —— View job


Review: AppStoreStrings.po regeneration

  • Read the PR diff against origin/trunk
  • Verify the escaping change against the metadata source files
  • Check the whats-new context bump against the app version and release notes
  • Check description length against Apple's 4000-char limit
  • Check the tvOS counterpart for consistency
  • Post inline comments + summary

No code changes made — this was a review.


Summary

The diff is a faithful regeneration of fastlane/AppStoreStrings.po from the committed metadata sources, and the two substantive content changes both check out:

  • Terms/Privacy links already exist in fastlane/metadata/default/description.txt (added in ccefc50), so the .po was simply out of sync with its source. ✅
  • \\\"\" is a real bug fix from the toolkit bump (14.11.0 → 14.11.2). description.txt:4-5 has plain quotes; the old double-escaping would have rendered literal backslashes (\"Pocket Casts Is…\") in the live App Store description. ✅

Three things worth resolving before this reaches GlotPress. Details are in the inline comments:

# Issue Severity
1 v8.18-whats-new carries the stale 8.17 "PULL TO REFRESH" text, not the actual 8.18 changelog that's in podcasts/Resources/release_notes.txt. Translators would translate outdated copy under the 8.18 key. 🔴 Should fix
2 description.txt is now 3946 / 4000 characters — ~54 chars of headroom. Expanding locales (de-DE) will likely exceed max_size: 4000 and fall back to English for the entire description. Also no translator note to leave the two URLs untranslated. 🟡 Worth considering
3 fastlane/AppStoreStringsTVOS.po was not regenerated — still X-Generator: 14.11.0 and still v8.17-whats-new, while its metadata-tvos/default/description.txt already has the Terms/Privacy links. The two GlotPress projects are now on different generator versions and different release keys. 🟡 Worth considering

Security / performance: nothing to flag. Both URLs are HTTPS and point at support.pocketcasts.com; this is release-metadata tooling with no runtime code path.

Nits: the PO-Revision-Date timezone shift (+0100+1000) is just the generating machine's locale — harmless. The missing #. translators: comment on the whats-new entry is pre-existing toolkit behaviour, not introduced here.

Also worth expanding the PR description: the title only mentions the links, but the diff additionally fixes the quote escaping and rolls the what's-new key to 8.18 — both of which invalidate existing GlotPress translations for app_store_desc.

Fix this →

--- • Branch: mokagio/regen-appstorestrings-po

msgstr ""

msgctxt "v8.17-whats-new"
msgctxt "v8.18-whats-new"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

The context key moved to v8.18-whats-new (matching VERSION_SHORT = 8.18 in config/Version.xcconfig, which is what app_store_metadata_source_files/app_store_metadata_target_files key off), but the msgid body is byte-for-byte the old 8.17 copy — the "PULL TO REFRESH" blurb that's still sitting in fastlane/metadata/default/release_notes.txt.

The real 8.18 changelog is in podcasts/Resources/release_notes.txt (Bookmarks multi-select fixes, Smart Bookmarks, tvOS waveform, Up Next nav bar…). As it stands, translators will be asked to translate outdated release notes under the 8.18 key, and download_localized_app_store_metadata will pull them back into release_notes.txt for the 8.18 submission.

Suggest updating fastlane/metadata/default/release_notes.txt (and fastlane/metadata-tvos/default/release_notes.txt, which has the same stale text) with the actual 8.18 notes and re-running update_app_store_strings before this lands on GlotPress.

Comment on lines +20 to +21
" • Wired: \"Pocket Casts Is the Podcast App Every iPhone User Needs\"\n"
" • iMore: \"Pocket Casts is the best podcast app for iPhone\"\n"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

This unescaping is a genuine fix, not a regression — worth calling out in the PR description since it isn't in the title.

fastlane/metadata/default/description.txt:4-5 contains plain double quotes:

 • Wired: "Pocket Casts Is the Podcast App Every iPhone User Needs"

In PO syntax a quote inside a msgid is escaped as \", so the new form round-trips to "…". The old \\\" decoded to a literal backslash plus a quote, i.e. the App Store description would have rendered \"Pocket Casts Is…\". The toolkit bump (14.11.0 → 14.11.2) fixed the double-escaping.

One consequence: this changes the app_store_desc msgid, so GlotPress will treat it as a new string and existing localized descriptions will be dropped until re-translated. Unavoidable given the source change (the appended links do it too), just worth expecting English fallback for a while.

Comment on lines +92 to +94
"\n"
"Terms of Use: https://support.pocketcasts.com/article/terms-of-use\n"
"Privacy Policy: https://support.pocketcasts.com/article/privacy-policy"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Heads-up on headroom rather than a problem with this diff: fastlane/metadata/default/description.txt is now 3946 characters (wc -m), and both app_store_desc entries in app_store_metadata_target_files declare max_size: 4000. That leaves ~54 characters.

Languages that expand relative to English (de-DE in particular) will very likely blow past 4000 once the ~135 characters of Terms/Privacy lines are added, and oversized strings get rejected by the download step — those locales would silently fall back to English for the whole description. Might be worth trimming a paragraph from the source description to buy back some room.

Also, the two URLs are inside the translatable app_store_desc blob with no note telling translators to leave them alone. The #. translators: comment for this entry is generic ("Multi-paragraph text used to display in the Apple App Store."); adding "do not translate the URLs" to the comment in app_store_metadata_source_files (fastlane/Fastfile:1449) would be cheap insurance against a localized link that 404s.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Good call-out. Follow-up in #4932

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Updates the iOS App Store metadata translation source (fastlane/AppStoreStrings.po) to include required legal links in the store description and refresh associated metadata/version keys used by the Fastlane metadata pipeline.

Changes:

  • Appends Terms of Use and Privacy Policy URLs to the App Store description text.
  • Updates PO header metadata (revision date, generator version).
  • Bumps the “What’s New” message context key from v8.17-whats-new to v8.18-whats-new.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +20 to +21
" • Wired: \"Pocket Casts Is the Podcast App Every iPhone User Needs\"\n"
" • iMore: \"Pocket Casts is the best podcast app for iPhone\"\n"
@mokagio
mokagio marked this pull request as draft August 10, 2026 06:47
@kean

kean commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

@mokagio that would be nice to add back because it looks like this commit f543679 made directly by bot in one of the pipelines removed the privacy policy links, so 8.18 submissions ended up without them. I fixed it manually on App Store for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants