From 5778339141b3d864a75a48343fe45350c2b5fd0c Mon Sep 17 00:00:00 2001 From: Tony Li Date: Thu, 9 Jul 2026 12:06:14 +1200 Subject: [PATCH] Stop shipping widget configuration translations for iOS 17 iOS 18 and later resolve the widget configuration UI's App Intents strings against the app bundle, whose GlotPress-managed Localizable.strings already carries the ios-widget. keys in every locale, so the static copies in the extension bundle only served iOS 17 (verified on 17.5/18.6/26.5 simulators, including that iOS 17 has no fallback to the app bundle). The iOS 17 user base no longer justifies maintaining 34 hand-refreshed translation snapshots, so its widget configuration UI now shows the English defaults. --- .../AppIntents/SelectSiteIntent.swift | 30 ++++++++++++------- .../AppIntents/SiteEntity.swift | 11 +++++-- .../Resources/ar.lproj/Localizable.strings | 12 -------- .../Resources/bg.lproj/Localizable.strings | 12 -------- .../Resources/cs.lproj/Localizable.strings | 12 -------- .../Resources/cy.lproj/Localizable.strings | 9 ------ .../Resources/da.lproj/Localizable.strings | 9 ------ .../Resources/de.lproj/Localizable.strings | 12 -------- .../Resources/en-AU.lproj/Localizable.strings | 12 -------- .../Resources/en-CA.lproj/Localizable.strings | 12 -------- .../Resources/en-GB.lproj/Localizable.strings | 12 -------- .../Resources/en.lproj/Localizable.strings | 12 -------- .../Resources/es.lproj/Localizable.strings | 12 -------- .../Resources/fr.lproj/Localizable.strings | 12 -------- .../Resources/he.lproj/Localizable.strings | 12 -------- .../Resources/hr.lproj/Localizable.strings | 9 ------ .../Resources/hu.lproj/Localizable.strings | 9 ------ .../Resources/id.lproj/Localizable.strings | 12 -------- .../Resources/is.lproj/Localizable.strings | 9 ------ .../Resources/it.lproj/Localizable.strings | 12 -------- .../Resources/ja.lproj/Localizable.strings | 12 -------- .../Resources/ko.lproj/Localizable.strings | 12 -------- .../Resources/nb.lproj/Localizable.strings | 9 ------ .../Resources/nl.lproj/Localizable.strings | 12 -------- .../Resources/pl.lproj/Localizable.strings | 12 -------- .../Resources/pt-BR.lproj/Localizable.strings | 12 -------- .../Resources/pt.lproj/Localizable.strings | 9 ------ .../Resources/ro.lproj/Localizable.strings | 12 -------- .../Resources/ru.lproj/Localizable.strings | 12 -------- .../Resources/sk.lproj/Localizable.strings | 9 ------ .../Resources/sq.lproj/Localizable.strings | 12 -------- .../Resources/sv.lproj/Localizable.strings | 12 -------- .../Resources/th.lproj/Localizable.strings | 9 ------ .../Resources/tr.lproj/Localizable.strings | 12 -------- .../zh-Hans.lproj/Localizable.strings | 12 -------- .../zh-Hant.lproj/Localizable.strings | 12 -------- .../en.lproj/Localizable.strings | 6 ++-- 37 files changed, 31 insertions(+), 397 deletions(-) delete mode 100644 Sources/JetpackStatsWidgets/Resources/ar.lproj/Localizable.strings delete mode 100644 Sources/JetpackStatsWidgets/Resources/bg.lproj/Localizable.strings delete mode 100644 Sources/JetpackStatsWidgets/Resources/cs.lproj/Localizable.strings delete mode 100644 Sources/JetpackStatsWidgets/Resources/cy.lproj/Localizable.strings delete mode 100644 Sources/JetpackStatsWidgets/Resources/da.lproj/Localizable.strings delete mode 100644 Sources/JetpackStatsWidgets/Resources/de.lproj/Localizable.strings delete mode 100644 Sources/JetpackStatsWidgets/Resources/en-AU.lproj/Localizable.strings delete mode 100644 Sources/JetpackStatsWidgets/Resources/en-CA.lproj/Localizable.strings delete mode 100644 Sources/JetpackStatsWidgets/Resources/en-GB.lproj/Localizable.strings delete mode 100644 Sources/JetpackStatsWidgets/Resources/en.lproj/Localizable.strings delete mode 100644 Sources/JetpackStatsWidgets/Resources/es.lproj/Localizable.strings delete mode 100644 Sources/JetpackStatsWidgets/Resources/fr.lproj/Localizable.strings delete mode 100644 Sources/JetpackStatsWidgets/Resources/he.lproj/Localizable.strings delete mode 100644 Sources/JetpackStatsWidgets/Resources/hr.lproj/Localizable.strings delete mode 100644 Sources/JetpackStatsWidgets/Resources/hu.lproj/Localizable.strings delete mode 100644 Sources/JetpackStatsWidgets/Resources/id.lproj/Localizable.strings delete mode 100644 Sources/JetpackStatsWidgets/Resources/is.lproj/Localizable.strings delete mode 100644 Sources/JetpackStatsWidgets/Resources/it.lproj/Localizable.strings delete mode 100644 Sources/JetpackStatsWidgets/Resources/ja.lproj/Localizable.strings delete mode 100644 Sources/JetpackStatsWidgets/Resources/ko.lproj/Localizable.strings delete mode 100644 Sources/JetpackStatsWidgets/Resources/nb.lproj/Localizable.strings delete mode 100644 Sources/JetpackStatsWidgets/Resources/nl.lproj/Localizable.strings delete mode 100644 Sources/JetpackStatsWidgets/Resources/pl.lproj/Localizable.strings delete mode 100644 Sources/JetpackStatsWidgets/Resources/pt-BR.lproj/Localizable.strings delete mode 100644 Sources/JetpackStatsWidgets/Resources/pt.lproj/Localizable.strings delete mode 100644 Sources/JetpackStatsWidgets/Resources/ro.lproj/Localizable.strings delete mode 100644 Sources/JetpackStatsWidgets/Resources/ru.lproj/Localizable.strings delete mode 100644 Sources/JetpackStatsWidgets/Resources/sk.lproj/Localizable.strings delete mode 100644 Sources/JetpackStatsWidgets/Resources/sq.lproj/Localizable.strings delete mode 100644 Sources/JetpackStatsWidgets/Resources/sv.lproj/Localizable.strings delete mode 100644 Sources/JetpackStatsWidgets/Resources/th.lproj/Localizable.strings delete mode 100644 Sources/JetpackStatsWidgets/Resources/tr.lproj/Localizable.strings delete mode 100644 Sources/JetpackStatsWidgets/Resources/zh-Hans.lproj/Localizable.strings delete mode 100644 Sources/JetpackStatsWidgets/Resources/zh-Hant.lproj/Localizable.strings diff --git a/Modules/Sources/JetpackStatsWidgetsCore/AppIntents/SelectSiteIntent.swift b/Modules/Sources/JetpackStatsWidgetsCore/AppIntents/SelectSiteIntent.swift index a2cafa9a4b81..dce1bba79ebf 100644 --- a/Modules/Sources/JetpackStatsWidgetsCore/AppIntents/SelectSiteIntent.swift +++ b/Modules/Sources/JetpackStatsWidgetsCore/AppIntents/SelectSiteIntent.swift @@ -12,24 +12,34 @@ import AppIntents /// `ios-widget.` prefix, and the downloaded translations land in the app's /// `Localizable.strings` under those prefixed keys. /// -/// The keys must resolve in two bundles, because the OS picks a different one depending on -/// version (verified on simulators): iOS 26 resolves the widget configuration UI's strings -/// against the app bundle (whose GlotPress-managed `Localizable.strings` carries the prefixed -/// keys in every locale), while iOS 17 resolves against the widget extension bundle, which -/// ships static copies of the same prefixed keys in -/// `Sources/JetpackStatsWidgets/Resources/.lproj/Localizable.strings`. -/// A nested SPM package resource bundle is never consulted, so the strings cannot live in -/// this package. +/// iOS 18 and later resolve the widget configuration UI's strings against the app bundle, +/// whose GlotPress-managed `Localizable.strings` carries the prefixed keys in every locale +/// (verified on simulators; a nested SPM package resource bundle is never consulted). +/// iOS 17 resolves against the widget extension bundle only, with no fallback to the app +/// bundle, so it shows the English default values; we accept English there rather than +/// shipping per-locale copies in the extension. public struct SelectSiteIntent: WidgetConfigurationIntent, CustomIntentMigratedAppIntent { public static let intentClassName = "SelectSiteIntent" - public static let title = LocalizedStringResource("ios-widget.gpCwrM", defaultValue: "Select Site") + public static let title = LocalizedStringResource( + "ios-widget.gpCwrM", + defaultValue: "Select Site", + table: "Localizable", + comment: "Title shown when choosing a site for a widget." + ) // The legacy intent was ineligible for Siri suggestions; keep this // configuration-only intent out of Shortcuts and Spotlight the same way. public static let isDiscoverable = false - @Parameter(title: LocalizedStringResource("ios-widget.ILcGmf", defaultValue: "Site")) + @Parameter( + title: LocalizedStringResource( + "ios-widget.ILcGmf", + defaultValue: "Site", + table: "Localizable", + comment: "Label for the site picker when configuring a widget." + ) + ) public var site: SiteEntity? public init() {} diff --git a/Modules/Sources/JetpackStatsWidgetsCore/AppIntents/SiteEntity.swift b/Modules/Sources/JetpackStatsWidgetsCore/AppIntents/SiteEntity.swift index cf5dbaf3dd9f..e7c4f2077880 100644 --- a/Modules/Sources/JetpackStatsWidgetsCore/AppIntents/SiteEntity.swift +++ b/Modules/Sources/JetpackStatsWidgetsCore/AppIntents/SiteEntity.swift @@ -7,11 +7,16 @@ import Foundation /// the `identifier` of the legacy SiriKit `Site` object so that widget configurations created /// before the App Intents migration keep resolving to the same site. /// -/// The "ios-widget.ILcGmf" localization key resolves against the app bundle on iOS 26 and -/// the widget extension bundle on iOS 17; see `SelectSiteIntent` for the details. +/// The "ios-widget.ILcGmf" localization key resolves against the app bundle on iOS 18 and +/// later; see `SelectSiteIntent` for the details. public struct SiteEntity: AppEntity { public static let typeDisplayRepresentation = TypeDisplayRepresentation( - name: LocalizedStringResource("ios-widget.ILcGmf", defaultValue: "Site") + name: LocalizedStringResource( + "ios-widget.ILcGmf", + defaultValue: "Site", + table: "Localizable", + comment: "Name of the site entity used by widgets and App Intents." + ) ) public static var defaultQuery: SiteEntityQuery { SiteEntityQuery() } diff --git a/Sources/JetpackStatsWidgets/Resources/ar.lproj/Localizable.strings b/Sources/JetpackStatsWidgets/Resources/ar.lproj/Localizable.strings deleted file mode 100644 index a8f732c074ed..000000000000 --- a/Sources/JetpackStatsWidgets/Resources/ar.lproj/Localizable.strings +++ /dev/null @@ -1,12 +0,0 @@ -/* Static copies of the widget configuration strings, under the same `ios-widget.`-prefixed - keys that GlotPress maintains in the app's Localizable.strings. iOS 17 resolves the widget - configuration UI's App Intents strings against this extension bundle (newer iOS versions - use the app bundle), so these files must ship here. To refresh after translations change, - copy the `ios-widget.gpCwrM` / `ios-widget.ILcGmf` entries from - WordPress/Resources/.lproj/Localizable.strings. */ - -/* This text is used when the user is configuring the iOS widget to suggest them to select the site to configure the widget for */ -"ios-widget.gpCwrM" = "تحديد موقع"; - -/* This text is used when the user is configuring the iOS widget, as a label for the dropdown to select the site to configure it for */ -"ios-widget.ILcGmf" = "الموقع"; diff --git a/Sources/JetpackStatsWidgets/Resources/bg.lproj/Localizable.strings b/Sources/JetpackStatsWidgets/Resources/bg.lproj/Localizable.strings deleted file mode 100644 index 552c82bf3b20..000000000000 --- a/Sources/JetpackStatsWidgets/Resources/bg.lproj/Localizable.strings +++ /dev/null @@ -1,12 +0,0 @@ -/* Static copies of the widget configuration strings, under the same `ios-widget.`-prefixed - keys that GlotPress maintains in the app's Localizable.strings. iOS 17 resolves the widget - configuration UI's App Intents strings against this extension bundle (newer iOS versions - use the app bundle), so these files must ship here. To refresh after translations change, - copy the `ios-widget.gpCwrM` / `ios-widget.ILcGmf` entries from - WordPress/Resources/.lproj/Localizable.strings. */ - -/* This text is used when the user is configuring the iOS widget to suggest them to select the site to configure the widget for */ -"ios-widget.gpCwrM" = "Select Site"; - -/* This text is used when the user is configuring the iOS widget, as a label for the dropdown to select the site to configure it for */ -"ios-widget.ILcGmf" = "Сайт"; diff --git a/Sources/JetpackStatsWidgets/Resources/cs.lproj/Localizable.strings b/Sources/JetpackStatsWidgets/Resources/cs.lproj/Localizable.strings deleted file mode 100644 index 325ea1843745..000000000000 --- a/Sources/JetpackStatsWidgets/Resources/cs.lproj/Localizable.strings +++ /dev/null @@ -1,12 +0,0 @@ -/* Static copies of the widget configuration strings, under the same `ios-widget.`-prefixed - keys that GlotPress maintains in the app's Localizable.strings. iOS 17 resolves the widget - configuration UI's App Intents strings against this extension bundle (newer iOS versions - use the app bundle), so these files must ship here. To refresh after translations change, - copy the `ios-widget.gpCwrM` / `ios-widget.ILcGmf` entries from - WordPress/Resources/.lproj/Localizable.strings. */ - -/* This text is used when the user is configuring the iOS widget to suggest them to select the site to configure the widget for */ -"ios-widget.gpCwrM" = "Vybrat web"; - -/* This text is used when the user is configuring the iOS widget, as a label for the dropdown to select the site to configure it for */ -"ios-widget.ILcGmf" = "Web"; diff --git a/Sources/JetpackStatsWidgets/Resources/cy.lproj/Localizable.strings b/Sources/JetpackStatsWidgets/Resources/cy.lproj/Localizable.strings deleted file mode 100644 index d196ac9d5a8f..000000000000 --- a/Sources/JetpackStatsWidgets/Resources/cy.lproj/Localizable.strings +++ /dev/null @@ -1,9 +0,0 @@ -/* Static copies of the widget configuration strings, under the same `ios-widget.`-prefixed - keys that GlotPress maintains in the app's Localizable.strings. iOS 17 resolves the widget - configuration UI's App Intents strings against this extension bundle (newer iOS versions - use the app bundle), so these files must ship here. To refresh after translations change, - copy the `ios-widget.gpCwrM` / `ios-widget.ILcGmf` entries from - WordPress/Resources/.lproj/Localizable.strings. */ - -/* This text is used when the user is configuring the iOS widget to suggest them to select the site to configure the widget for */ -"ios-widget.gpCwrM" = "Select Site"; diff --git a/Sources/JetpackStatsWidgets/Resources/da.lproj/Localizable.strings b/Sources/JetpackStatsWidgets/Resources/da.lproj/Localizable.strings deleted file mode 100644 index d196ac9d5a8f..000000000000 --- a/Sources/JetpackStatsWidgets/Resources/da.lproj/Localizable.strings +++ /dev/null @@ -1,9 +0,0 @@ -/* Static copies of the widget configuration strings, under the same `ios-widget.`-prefixed - keys that GlotPress maintains in the app's Localizable.strings. iOS 17 resolves the widget - configuration UI's App Intents strings against this extension bundle (newer iOS versions - use the app bundle), so these files must ship here. To refresh after translations change, - copy the `ios-widget.gpCwrM` / `ios-widget.ILcGmf` entries from - WordPress/Resources/.lproj/Localizable.strings. */ - -/* This text is used when the user is configuring the iOS widget to suggest them to select the site to configure the widget for */ -"ios-widget.gpCwrM" = "Select Site"; diff --git a/Sources/JetpackStatsWidgets/Resources/de.lproj/Localizable.strings b/Sources/JetpackStatsWidgets/Resources/de.lproj/Localizable.strings deleted file mode 100644 index c5767a6451cf..000000000000 --- a/Sources/JetpackStatsWidgets/Resources/de.lproj/Localizable.strings +++ /dev/null @@ -1,12 +0,0 @@ -/* Static copies of the widget configuration strings, under the same `ios-widget.`-prefixed - keys that GlotPress maintains in the app's Localizable.strings. iOS 17 resolves the widget - configuration UI's App Intents strings against this extension bundle (newer iOS versions - use the app bundle), so these files must ship here. To refresh after translations change, - copy the `ios-widget.gpCwrM` / `ios-widget.ILcGmf` entries from - WordPress/Resources/.lproj/Localizable.strings. */ - -/* This text is used when the user is configuring the iOS widget to suggest them to select the site to configure the widget for */ -"ios-widget.gpCwrM" = "Website auswählen"; - -/* This text is used when the user is configuring the iOS widget, as a label for the dropdown to select the site to configure it for */ -"ios-widget.ILcGmf" = "Website"; diff --git a/Sources/JetpackStatsWidgets/Resources/en-AU.lproj/Localizable.strings b/Sources/JetpackStatsWidgets/Resources/en-AU.lproj/Localizable.strings deleted file mode 100644 index 6e01cd7104f1..000000000000 --- a/Sources/JetpackStatsWidgets/Resources/en-AU.lproj/Localizable.strings +++ /dev/null @@ -1,12 +0,0 @@ -/* Static copies of the widget configuration strings, under the same `ios-widget.`-prefixed - keys that GlotPress maintains in the app's Localizable.strings. iOS 17 resolves the widget - configuration UI's App Intents strings against this extension bundle (newer iOS versions - use the app bundle), so these files must ship here. To refresh after translations change, - copy the `ios-widget.gpCwrM` / `ios-widget.ILcGmf` entries from - WordPress/Resources/.lproj/Localizable.strings. */ - -/* This text is used when the user is configuring the iOS widget to suggest them to select the site to configure the widget for */ -"ios-widget.gpCwrM" = "Select Site"; - -/* This text is used when the user is configuring the iOS widget, as a label for the dropdown to select the site to configure it for */ -"ios-widget.ILcGmf" = "Site"; diff --git a/Sources/JetpackStatsWidgets/Resources/en-CA.lproj/Localizable.strings b/Sources/JetpackStatsWidgets/Resources/en-CA.lproj/Localizable.strings deleted file mode 100644 index 6e01cd7104f1..000000000000 --- a/Sources/JetpackStatsWidgets/Resources/en-CA.lproj/Localizable.strings +++ /dev/null @@ -1,12 +0,0 @@ -/* Static copies of the widget configuration strings, under the same `ios-widget.`-prefixed - keys that GlotPress maintains in the app's Localizable.strings. iOS 17 resolves the widget - configuration UI's App Intents strings against this extension bundle (newer iOS versions - use the app bundle), so these files must ship here. To refresh after translations change, - copy the `ios-widget.gpCwrM` / `ios-widget.ILcGmf` entries from - WordPress/Resources/.lproj/Localizable.strings. */ - -/* This text is used when the user is configuring the iOS widget to suggest them to select the site to configure the widget for */ -"ios-widget.gpCwrM" = "Select Site"; - -/* This text is used when the user is configuring the iOS widget, as a label for the dropdown to select the site to configure it for */ -"ios-widget.ILcGmf" = "Site"; diff --git a/Sources/JetpackStatsWidgets/Resources/en-GB.lproj/Localizable.strings b/Sources/JetpackStatsWidgets/Resources/en-GB.lproj/Localizable.strings deleted file mode 100644 index 6e01cd7104f1..000000000000 --- a/Sources/JetpackStatsWidgets/Resources/en-GB.lproj/Localizable.strings +++ /dev/null @@ -1,12 +0,0 @@ -/* Static copies of the widget configuration strings, under the same `ios-widget.`-prefixed - keys that GlotPress maintains in the app's Localizable.strings. iOS 17 resolves the widget - configuration UI's App Intents strings against this extension bundle (newer iOS versions - use the app bundle), so these files must ship here. To refresh after translations change, - copy the `ios-widget.gpCwrM` / `ios-widget.ILcGmf` entries from - WordPress/Resources/.lproj/Localizable.strings. */ - -/* This text is used when the user is configuring the iOS widget to suggest them to select the site to configure the widget for */ -"ios-widget.gpCwrM" = "Select Site"; - -/* This text is used when the user is configuring the iOS widget, as a label for the dropdown to select the site to configure it for */ -"ios-widget.ILcGmf" = "Site"; diff --git a/Sources/JetpackStatsWidgets/Resources/en.lproj/Localizable.strings b/Sources/JetpackStatsWidgets/Resources/en.lproj/Localizable.strings deleted file mode 100644 index 6e01cd7104f1..000000000000 --- a/Sources/JetpackStatsWidgets/Resources/en.lproj/Localizable.strings +++ /dev/null @@ -1,12 +0,0 @@ -/* Static copies of the widget configuration strings, under the same `ios-widget.`-prefixed - keys that GlotPress maintains in the app's Localizable.strings. iOS 17 resolves the widget - configuration UI's App Intents strings against this extension bundle (newer iOS versions - use the app bundle), so these files must ship here. To refresh after translations change, - copy the `ios-widget.gpCwrM` / `ios-widget.ILcGmf` entries from - WordPress/Resources/.lproj/Localizable.strings. */ - -/* This text is used when the user is configuring the iOS widget to suggest them to select the site to configure the widget for */ -"ios-widget.gpCwrM" = "Select Site"; - -/* This text is used when the user is configuring the iOS widget, as a label for the dropdown to select the site to configure it for */ -"ios-widget.ILcGmf" = "Site"; diff --git a/Sources/JetpackStatsWidgets/Resources/es.lproj/Localizable.strings b/Sources/JetpackStatsWidgets/Resources/es.lproj/Localizable.strings deleted file mode 100644 index 527eaa94847a..000000000000 --- a/Sources/JetpackStatsWidgets/Resources/es.lproj/Localizable.strings +++ /dev/null @@ -1,12 +0,0 @@ -/* Static copies of the widget configuration strings, under the same `ios-widget.`-prefixed - keys that GlotPress maintains in the app's Localizable.strings. iOS 17 resolves the widget - configuration UI's App Intents strings against this extension bundle (newer iOS versions - use the app bundle), so these files must ship here. To refresh after translations change, - copy the `ios-widget.gpCwrM` / `ios-widget.ILcGmf` entries from - WordPress/Resources/.lproj/Localizable.strings. */ - -/* This text is used when the user is configuring the iOS widget to suggest them to select the site to configure the widget for */ -"ios-widget.gpCwrM" = "Seleccionar sitio"; - -/* This text is used when the user is configuring the iOS widget, as a label for the dropdown to select the site to configure it for */ -"ios-widget.ILcGmf" = "Sitio"; diff --git a/Sources/JetpackStatsWidgets/Resources/fr.lproj/Localizable.strings b/Sources/JetpackStatsWidgets/Resources/fr.lproj/Localizable.strings deleted file mode 100644 index e6080f30a845..000000000000 --- a/Sources/JetpackStatsWidgets/Resources/fr.lproj/Localizable.strings +++ /dev/null @@ -1,12 +0,0 @@ -/* Static copies of the widget configuration strings, under the same `ios-widget.`-prefixed - keys that GlotPress maintains in the app's Localizable.strings. iOS 17 resolves the widget - configuration UI's App Intents strings against this extension bundle (newer iOS versions - use the app bundle), so these files must ship here. To refresh after translations change, - copy the `ios-widget.gpCwrM` / `ios-widget.ILcGmf` entries from - WordPress/Resources/.lproj/Localizable.strings. */ - -/* This text is used when the user is configuring the iOS widget to suggest them to select the site to configure the widget for */ -"ios-widget.gpCwrM" = "Sélectionnez le site"; - -/* This text is used when the user is configuring the iOS widget, as a label for the dropdown to select the site to configure it for */ -"ios-widget.ILcGmf" = "Site"; diff --git a/Sources/JetpackStatsWidgets/Resources/he.lproj/Localizable.strings b/Sources/JetpackStatsWidgets/Resources/he.lproj/Localizable.strings deleted file mode 100644 index ee7bf6f59ebf..000000000000 --- a/Sources/JetpackStatsWidgets/Resources/he.lproj/Localizable.strings +++ /dev/null @@ -1,12 +0,0 @@ -/* Static copies of the widget configuration strings, under the same `ios-widget.`-prefixed - keys that GlotPress maintains in the app's Localizable.strings. iOS 17 resolves the widget - configuration UI's App Intents strings against this extension bundle (newer iOS versions - use the app bundle), so these files must ship here. To refresh after translations change, - copy the `ios-widget.gpCwrM` / `ios-widget.ILcGmf` entries from - WordPress/Resources/.lproj/Localizable.strings. */ - -/* This text is used when the user is configuring the iOS widget to suggest them to select the site to configure the widget for */ -"ios-widget.gpCwrM" = "יש לבחור אתר"; - -/* This text is used when the user is configuring the iOS widget, as a label for the dropdown to select the site to configure it for */ -"ios-widget.ILcGmf" = "אתר"; diff --git a/Sources/JetpackStatsWidgets/Resources/hr.lproj/Localizable.strings b/Sources/JetpackStatsWidgets/Resources/hr.lproj/Localizable.strings deleted file mode 100644 index d196ac9d5a8f..000000000000 --- a/Sources/JetpackStatsWidgets/Resources/hr.lproj/Localizable.strings +++ /dev/null @@ -1,9 +0,0 @@ -/* Static copies of the widget configuration strings, under the same `ios-widget.`-prefixed - keys that GlotPress maintains in the app's Localizable.strings. iOS 17 resolves the widget - configuration UI's App Intents strings against this extension bundle (newer iOS versions - use the app bundle), so these files must ship here. To refresh after translations change, - copy the `ios-widget.gpCwrM` / `ios-widget.ILcGmf` entries from - WordPress/Resources/.lproj/Localizable.strings. */ - -/* This text is used when the user is configuring the iOS widget to suggest them to select the site to configure the widget for */ -"ios-widget.gpCwrM" = "Select Site"; diff --git a/Sources/JetpackStatsWidgets/Resources/hu.lproj/Localizable.strings b/Sources/JetpackStatsWidgets/Resources/hu.lproj/Localizable.strings deleted file mode 100644 index d196ac9d5a8f..000000000000 --- a/Sources/JetpackStatsWidgets/Resources/hu.lproj/Localizable.strings +++ /dev/null @@ -1,9 +0,0 @@ -/* Static copies of the widget configuration strings, under the same `ios-widget.`-prefixed - keys that GlotPress maintains in the app's Localizable.strings. iOS 17 resolves the widget - configuration UI's App Intents strings against this extension bundle (newer iOS versions - use the app bundle), so these files must ship here. To refresh after translations change, - copy the `ios-widget.gpCwrM` / `ios-widget.ILcGmf` entries from - WordPress/Resources/.lproj/Localizable.strings. */ - -/* This text is used when the user is configuring the iOS widget to suggest them to select the site to configure the widget for */ -"ios-widget.gpCwrM" = "Select Site"; diff --git a/Sources/JetpackStatsWidgets/Resources/id.lproj/Localizable.strings b/Sources/JetpackStatsWidgets/Resources/id.lproj/Localizable.strings deleted file mode 100644 index c62842496db1..000000000000 --- a/Sources/JetpackStatsWidgets/Resources/id.lproj/Localizable.strings +++ /dev/null @@ -1,12 +0,0 @@ -/* Static copies of the widget configuration strings, under the same `ios-widget.`-prefixed - keys that GlotPress maintains in the app's Localizable.strings. iOS 17 resolves the widget - configuration UI's App Intents strings against this extension bundle (newer iOS versions - use the app bundle), so these files must ship here. To refresh after translations change, - copy the `ios-widget.gpCwrM` / `ios-widget.ILcGmf` entries from - WordPress/Resources/.lproj/Localizable.strings. */ - -/* This text is used when the user is configuring the iOS widget to suggest them to select the site to configure the widget for */ -"ios-widget.gpCwrM" = "Pilih Situs"; - -/* This text is used when the user is configuring the iOS widget, as a label for the dropdown to select the site to configure it for */ -"ios-widget.ILcGmf" = "Situs"; diff --git a/Sources/JetpackStatsWidgets/Resources/is.lproj/Localizable.strings b/Sources/JetpackStatsWidgets/Resources/is.lproj/Localizable.strings deleted file mode 100644 index d196ac9d5a8f..000000000000 --- a/Sources/JetpackStatsWidgets/Resources/is.lproj/Localizable.strings +++ /dev/null @@ -1,9 +0,0 @@ -/* Static copies of the widget configuration strings, under the same `ios-widget.`-prefixed - keys that GlotPress maintains in the app's Localizable.strings. iOS 17 resolves the widget - configuration UI's App Intents strings against this extension bundle (newer iOS versions - use the app bundle), so these files must ship here. To refresh after translations change, - copy the `ios-widget.gpCwrM` / `ios-widget.ILcGmf` entries from - WordPress/Resources/.lproj/Localizable.strings. */ - -/* This text is used when the user is configuring the iOS widget to suggest them to select the site to configure the widget for */ -"ios-widget.gpCwrM" = "Select Site"; diff --git a/Sources/JetpackStatsWidgets/Resources/it.lproj/Localizable.strings b/Sources/JetpackStatsWidgets/Resources/it.lproj/Localizable.strings deleted file mode 100644 index c5104f566177..000000000000 --- a/Sources/JetpackStatsWidgets/Resources/it.lproj/Localizable.strings +++ /dev/null @@ -1,12 +0,0 @@ -/* Static copies of the widget configuration strings, under the same `ios-widget.`-prefixed - keys that GlotPress maintains in the app's Localizable.strings. iOS 17 resolves the widget - configuration UI's App Intents strings against this extension bundle (newer iOS versions - use the app bundle), so these files must ship here. To refresh after translations change, - copy the `ios-widget.gpCwrM` / `ios-widget.ILcGmf` entries from - WordPress/Resources/.lproj/Localizable.strings. */ - -/* This text is used when the user is configuring the iOS widget to suggest them to select the site to configure the widget for */ -"ios-widget.gpCwrM" = "Seleziona sito"; - -/* This text is used when the user is configuring the iOS widget, as a label for the dropdown to select the site to configure it for */ -"ios-widget.ILcGmf" = "Sito"; diff --git a/Sources/JetpackStatsWidgets/Resources/ja.lproj/Localizable.strings b/Sources/JetpackStatsWidgets/Resources/ja.lproj/Localizable.strings deleted file mode 100644 index 90f0604bfdb2..000000000000 --- a/Sources/JetpackStatsWidgets/Resources/ja.lproj/Localizable.strings +++ /dev/null @@ -1,12 +0,0 @@ -/* Static copies of the widget configuration strings, under the same `ios-widget.`-prefixed - keys that GlotPress maintains in the app's Localizable.strings. iOS 17 resolves the widget - configuration UI's App Intents strings against this extension bundle (newer iOS versions - use the app bundle), so these files must ship here. To refresh after translations change, - copy the `ios-widget.gpCwrM` / `ios-widget.ILcGmf` entries from - WordPress/Resources/.lproj/Localizable.strings. */ - -/* This text is used when the user is configuring the iOS widget to suggest them to select the site to configure the widget for */ -"ios-widget.gpCwrM" = "サイトを選択"; - -/* This text is used when the user is configuring the iOS widget, as a label for the dropdown to select the site to configure it for */ -"ios-widget.ILcGmf" = "サイト"; diff --git a/Sources/JetpackStatsWidgets/Resources/ko.lproj/Localizable.strings b/Sources/JetpackStatsWidgets/Resources/ko.lproj/Localizable.strings deleted file mode 100644 index b81570c41edb..000000000000 --- a/Sources/JetpackStatsWidgets/Resources/ko.lproj/Localizable.strings +++ /dev/null @@ -1,12 +0,0 @@ -/* Static copies of the widget configuration strings, under the same `ios-widget.`-prefixed - keys that GlotPress maintains in the app's Localizable.strings. iOS 17 resolves the widget - configuration UI's App Intents strings against this extension bundle (newer iOS versions - use the app bundle), so these files must ship here. To refresh after translations change, - copy the `ios-widget.gpCwrM` / `ios-widget.ILcGmf` entries from - WordPress/Resources/.lproj/Localizable.strings. */ - -/* This text is used when the user is configuring the iOS widget to suggest them to select the site to configure the widget for */ -"ios-widget.gpCwrM" = "사이트 선택"; - -/* This text is used when the user is configuring the iOS widget, as a label for the dropdown to select the site to configure it for */ -"ios-widget.ILcGmf" = "사이트"; diff --git a/Sources/JetpackStatsWidgets/Resources/nb.lproj/Localizable.strings b/Sources/JetpackStatsWidgets/Resources/nb.lproj/Localizable.strings deleted file mode 100644 index d196ac9d5a8f..000000000000 --- a/Sources/JetpackStatsWidgets/Resources/nb.lproj/Localizable.strings +++ /dev/null @@ -1,9 +0,0 @@ -/* Static copies of the widget configuration strings, under the same `ios-widget.`-prefixed - keys that GlotPress maintains in the app's Localizable.strings. iOS 17 resolves the widget - configuration UI's App Intents strings against this extension bundle (newer iOS versions - use the app bundle), so these files must ship here. To refresh after translations change, - copy the `ios-widget.gpCwrM` / `ios-widget.ILcGmf` entries from - WordPress/Resources/.lproj/Localizable.strings. */ - -/* This text is used when the user is configuring the iOS widget to suggest them to select the site to configure the widget for */ -"ios-widget.gpCwrM" = "Select Site"; diff --git a/Sources/JetpackStatsWidgets/Resources/nl.lproj/Localizable.strings b/Sources/JetpackStatsWidgets/Resources/nl.lproj/Localizable.strings deleted file mode 100644 index 81677301fb0c..000000000000 --- a/Sources/JetpackStatsWidgets/Resources/nl.lproj/Localizable.strings +++ /dev/null @@ -1,12 +0,0 @@ -/* Static copies of the widget configuration strings, under the same `ios-widget.`-prefixed - keys that GlotPress maintains in the app's Localizable.strings. iOS 17 resolves the widget - configuration UI's App Intents strings against this extension bundle (newer iOS versions - use the app bundle), so these files must ship here. To refresh after translations change, - copy the `ios-widget.gpCwrM` / `ios-widget.ILcGmf` entries from - WordPress/Resources/.lproj/Localizable.strings. */ - -/* This text is used when the user is configuring the iOS widget to suggest them to select the site to configure the widget for */ -"ios-widget.gpCwrM" = "Selecteer site"; - -/* This text is used when the user is configuring the iOS widget, as a label for the dropdown to select the site to configure it for */ -"ios-widget.ILcGmf" = "Site"; diff --git a/Sources/JetpackStatsWidgets/Resources/pl.lproj/Localizable.strings b/Sources/JetpackStatsWidgets/Resources/pl.lproj/Localizable.strings deleted file mode 100644 index 5e6e647d8cca..000000000000 --- a/Sources/JetpackStatsWidgets/Resources/pl.lproj/Localizable.strings +++ /dev/null @@ -1,12 +0,0 @@ -/* Static copies of the widget configuration strings, under the same `ios-widget.`-prefixed - keys that GlotPress maintains in the app's Localizable.strings. iOS 17 resolves the widget - configuration UI's App Intents strings against this extension bundle (newer iOS versions - use the app bundle), so these files must ship here. To refresh after translations change, - copy the `ios-widget.gpCwrM` / `ios-widget.ILcGmf` entries from - WordPress/Resources/.lproj/Localizable.strings. */ - -/* This text is used when the user is configuring the iOS widget to suggest them to select the site to configure the widget for */ -"ios-widget.gpCwrM" = "Select Site"; - -/* This text is used when the user is configuring the iOS widget, as a label for the dropdown to select the site to configure it for */ -"ios-widget.ILcGmf" = "Witryna"; diff --git a/Sources/JetpackStatsWidgets/Resources/pt-BR.lproj/Localizable.strings b/Sources/JetpackStatsWidgets/Resources/pt-BR.lproj/Localizable.strings deleted file mode 100644 index b2b742328c8d..000000000000 --- a/Sources/JetpackStatsWidgets/Resources/pt-BR.lproj/Localizable.strings +++ /dev/null @@ -1,12 +0,0 @@ -/* Static copies of the widget configuration strings, under the same `ios-widget.`-prefixed - keys that GlotPress maintains in the app's Localizable.strings. iOS 17 resolves the widget - configuration UI's App Intents strings against this extension bundle (newer iOS versions - use the app bundle), so these files must ship here. To refresh after translations change, - copy the `ios-widget.gpCwrM` / `ios-widget.ILcGmf` entries from - WordPress/Resources/.lproj/Localizable.strings. */ - -/* This text is used when the user is configuring the iOS widget to suggest them to select the site to configure the widget for */ -"ios-widget.gpCwrM" = "Selecionar site"; - -/* This text is used when the user is configuring the iOS widget, as a label for the dropdown to select the site to configure it for */ -"ios-widget.ILcGmf" = "Site"; diff --git a/Sources/JetpackStatsWidgets/Resources/pt.lproj/Localizable.strings b/Sources/JetpackStatsWidgets/Resources/pt.lproj/Localizable.strings deleted file mode 100644 index d196ac9d5a8f..000000000000 --- a/Sources/JetpackStatsWidgets/Resources/pt.lproj/Localizable.strings +++ /dev/null @@ -1,9 +0,0 @@ -/* Static copies of the widget configuration strings, under the same `ios-widget.`-prefixed - keys that GlotPress maintains in the app's Localizable.strings. iOS 17 resolves the widget - configuration UI's App Intents strings against this extension bundle (newer iOS versions - use the app bundle), so these files must ship here. To refresh after translations change, - copy the `ios-widget.gpCwrM` / `ios-widget.ILcGmf` entries from - WordPress/Resources/.lproj/Localizable.strings. */ - -/* This text is used when the user is configuring the iOS widget to suggest them to select the site to configure the widget for */ -"ios-widget.gpCwrM" = "Select Site"; diff --git a/Sources/JetpackStatsWidgets/Resources/ro.lproj/Localizable.strings b/Sources/JetpackStatsWidgets/Resources/ro.lproj/Localizable.strings deleted file mode 100644 index bd59551e5426..000000000000 --- a/Sources/JetpackStatsWidgets/Resources/ro.lproj/Localizable.strings +++ /dev/null @@ -1,12 +0,0 @@ -/* Static copies of the widget configuration strings, under the same `ios-widget.`-prefixed - keys that GlotPress maintains in the app's Localizable.strings. iOS 17 resolves the widget - configuration UI's App Intents strings against this extension bundle (newer iOS versions - use the app bundle), so these files must ship here. To refresh after translations change, - copy the `ios-widget.gpCwrM` / `ios-widget.ILcGmf` entries from - WordPress/Resources/.lproj/Localizable.strings. */ - -/* This text is used when the user is configuring the iOS widget to suggest them to select the site to configure the widget for */ -"ios-widget.gpCwrM" = "Selectează site-ul"; - -/* This text is used when the user is configuring the iOS widget, as a label for the dropdown to select the site to configure it for */ -"ios-widget.ILcGmf" = "Site"; diff --git a/Sources/JetpackStatsWidgets/Resources/ru.lproj/Localizable.strings b/Sources/JetpackStatsWidgets/Resources/ru.lproj/Localizable.strings deleted file mode 100644 index 4be547f037ce..000000000000 --- a/Sources/JetpackStatsWidgets/Resources/ru.lproj/Localizable.strings +++ /dev/null @@ -1,12 +0,0 @@ -/* Static copies of the widget configuration strings, under the same `ios-widget.`-prefixed - keys that GlotPress maintains in the app's Localizable.strings. iOS 17 resolves the widget - configuration UI's App Intents strings against this extension bundle (newer iOS versions - use the app bundle), so these files must ship here. To refresh after translations change, - copy the `ios-widget.gpCwrM` / `ios-widget.ILcGmf` entries from - WordPress/Resources/.lproj/Localizable.strings. */ - -/* This text is used when the user is configuring the iOS widget to suggest them to select the site to configure the widget for */ -"ios-widget.gpCwrM" = "Выбрать сайт"; - -/* This text is used when the user is configuring the iOS widget, as a label for the dropdown to select the site to configure it for */ -"ios-widget.ILcGmf" = "Сайт"; diff --git a/Sources/JetpackStatsWidgets/Resources/sk.lproj/Localizable.strings b/Sources/JetpackStatsWidgets/Resources/sk.lproj/Localizable.strings deleted file mode 100644 index d196ac9d5a8f..000000000000 --- a/Sources/JetpackStatsWidgets/Resources/sk.lproj/Localizable.strings +++ /dev/null @@ -1,9 +0,0 @@ -/* Static copies of the widget configuration strings, under the same `ios-widget.`-prefixed - keys that GlotPress maintains in the app's Localizable.strings. iOS 17 resolves the widget - configuration UI's App Intents strings against this extension bundle (newer iOS versions - use the app bundle), so these files must ship here. To refresh after translations change, - copy the `ios-widget.gpCwrM` / `ios-widget.ILcGmf` entries from - WordPress/Resources/.lproj/Localizable.strings. */ - -/* This text is used when the user is configuring the iOS widget to suggest them to select the site to configure the widget for */ -"ios-widget.gpCwrM" = "Select Site"; diff --git a/Sources/JetpackStatsWidgets/Resources/sq.lproj/Localizable.strings b/Sources/JetpackStatsWidgets/Resources/sq.lproj/Localizable.strings deleted file mode 100644 index 746a1090d5d8..000000000000 --- a/Sources/JetpackStatsWidgets/Resources/sq.lproj/Localizable.strings +++ /dev/null @@ -1,12 +0,0 @@ -/* Static copies of the widget configuration strings, under the same `ios-widget.`-prefixed - keys that GlotPress maintains in the app's Localizable.strings. iOS 17 resolves the widget - configuration UI's App Intents strings against this extension bundle (newer iOS versions - use the app bundle), so these files must ship here. To refresh after translations change, - copy the `ios-widget.gpCwrM` / `ios-widget.ILcGmf` entries from - WordPress/Resources/.lproj/Localizable.strings. */ - -/* This text is used when the user is configuring the iOS widget to suggest them to select the site to configure the widget for */ -"ios-widget.gpCwrM" = "Përzgjidhni Sajt"; - -/* This text is used when the user is configuring the iOS widget, as a label for the dropdown to select the site to configure it for */ -"ios-widget.ILcGmf" = "Sajt"; diff --git a/Sources/JetpackStatsWidgets/Resources/sv.lproj/Localizable.strings b/Sources/JetpackStatsWidgets/Resources/sv.lproj/Localizable.strings deleted file mode 100644 index 6ffe3cc51457..000000000000 --- a/Sources/JetpackStatsWidgets/Resources/sv.lproj/Localizable.strings +++ /dev/null @@ -1,12 +0,0 @@ -/* Static copies of the widget configuration strings, under the same `ios-widget.`-prefixed - keys that GlotPress maintains in the app's Localizable.strings. iOS 17 resolves the widget - configuration UI's App Intents strings against this extension bundle (newer iOS versions - use the app bundle), so these files must ship here. To refresh after translations change, - copy the `ios-widget.gpCwrM` / `ios-widget.ILcGmf` entries from - WordPress/Resources/.lproj/Localizable.strings. */ - -/* This text is used when the user is configuring the iOS widget to suggest them to select the site to configure the widget for */ -"ios-widget.gpCwrM" = "Välj webbplats"; - -/* This text is used when the user is configuring the iOS widget, as a label for the dropdown to select the site to configure it for */ -"ios-widget.ILcGmf" = "Webbplats"; diff --git a/Sources/JetpackStatsWidgets/Resources/th.lproj/Localizable.strings b/Sources/JetpackStatsWidgets/Resources/th.lproj/Localizable.strings deleted file mode 100644 index d196ac9d5a8f..000000000000 --- a/Sources/JetpackStatsWidgets/Resources/th.lproj/Localizable.strings +++ /dev/null @@ -1,9 +0,0 @@ -/* Static copies of the widget configuration strings, under the same `ios-widget.`-prefixed - keys that GlotPress maintains in the app's Localizable.strings. iOS 17 resolves the widget - configuration UI's App Intents strings against this extension bundle (newer iOS versions - use the app bundle), so these files must ship here. To refresh after translations change, - copy the `ios-widget.gpCwrM` / `ios-widget.ILcGmf` entries from - WordPress/Resources/.lproj/Localizable.strings. */ - -/* This text is used when the user is configuring the iOS widget to suggest them to select the site to configure the widget for */ -"ios-widget.gpCwrM" = "Select Site"; diff --git a/Sources/JetpackStatsWidgets/Resources/tr.lproj/Localizable.strings b/Sources/JetpackStatsWidgets/Resources/tr.lproj/Localizable.strings deleted file mode 100644 index 997c8668b402..000000000000 --- a/Sources/JetpackStatsWidgets/Resources/tr.lproj/Localizable.strings +++ /dev/null @@ -1,12 +0,0 @@ -/* Static copies of the widget configuration strings, under the same `ios-widget.`-prefixed - keys that GlotPress maintains in the app's Localizable.strings. iOS 17 resolves the widget - configuration UI's App Intents strings against this extension bundle (newer iOS versions - use the app bundle), so these files must ship here. To refresh after translations change, - copy the `ios-widget.gpCwrM` / `ios-widget.ILcGmf` entries from - WordPress/Resources/.lproj/Localizable.strings. */ - -/* This text is used when the user is configuring the iOS widget to suggest them to select the site to configure the widget for */ -"ios-widget.gpCwrM" = "Site seçin"; - -/* This text is used when the user is configuring the iOS widget, as a label for the dropdown to select the site to configure it for */ -"ios-widget.ILcGmf" = "Site"; diff --git a/Sources/JetpackStatsWidgets/Resources/zh-Hans.lproj/Localizable.strings b/Sources/JetpackStatsWidgets/Resources/zh-Hans.lproj/Localizable.strings deleted file mode 100644 index 1882a074f760..000000000000 --- a/Sources/JetpackStatsWidgets/Resources/zh-Hans.lproj/Localizable.strings +++ /dev/null @@ -1,12 +0,0 @@ -/* Static copies of the widget configuration strings, under the same `ios-widget.`-prefixed - keys that GlotPress maintains in the app's Localizable.strings. iOS 17 resolves the widget - configuration UI's App Intents strings against this extension bundle (newer iOS versions - use the app bundle), so these files must ship here. To refresh after translations change, - copy the `ios-widget.gpCwrM` / `ios-widget.ILcGmf` entries from - WordPress/Resources/.lproj/Localizable.strings. */ - -/* This text is used when the user is configuring the iOS widget to suggest them to select the site to configure the widget for */ -"ios-widget.gpCwrM" = "选择站点"; - -/* This text is used when the user is configuring the iOS widget, as a label for the dropdown to select the site to configure it for */ -"ios-widget.ILcGmf" = "站点"; diff --git a/Sources/JetpackStatsWidgets/Resources/zh-Hant.lproj/Localizable.strings b/Sources/JetpackStatsWidgets/Resources/zh-Hant.lproj/Localizable.strings deleted file mode 100644 index ede8667b35b2..000000000000 --- a/Sources/JetpackStatsWidgets/Resources/zh-Hant.lproj/Localizable.strings +++ /dev/null @@ -1,12 +0,0 @@ -/* Static copies of the widget configuration strings, under the same `ios-widget.`-prefixed - keys that GlotPress maintains in the app's Localizable.strings. iOS 17 resolves the widget - configuration UI's App Intents strings against this extension bundle (newer iOS versions - use the app bundle), so these files must ship here. To refresh after translations change, - copy the `ios-widget.gpCwrM` / `ios-widget.ILcGmf` entries from - WordPress/Resources/.lproj/Localizable.strings. */ - -/* This text is used when the user is configuring the iOS widget to suggest them to select the site to configure the widget for */ -"ios-widget.gpCwrM" = "選取網站"; - -/* This text is used when the user is configuring the iOS widget, as a label for the dropdown to select the site to configure it for */ -"ios-widget.ILcGmf" = "網站"; diff --git a/WordPress/JetpackStatsWidgets/en.lproj/Localizable.strings b/WordPress/JetpackStatsWidgets/en.lproj/Localizable.strings index cc870542d162..a096137630b9 100644 --- a/WordPress/JetpackStatsWidgets/en.lproj/Localizable.strings +++ b/WordPress/JetpackStatsWidgets/en.lproj/Localizable.strings @@ -3,9 +3,9 @@ The keys are the identifiers Xcode generated for the legacy Sites.intentdefinition; they are kept so the existing GlotPress translations keep matching after the migration to App Intents. - This file is not shipped in any bundle. At runtime the prefixed keys are resolved from the - app's Localizable.strings (iOS 26) or from the static copies in - Sources/JetpackStatsWidgets/Resources/.lproj/Localizable.strings (iOS 17). */ + This file is not shipped in any bundle. At runtime, iOS 18 and later resolve the prefixed + keys from the app's Localizable.strings (verified on simulators). iOS 17 only checks the + widget extension bundle, so it uses the English default values. */ /* This text is used when the user is configuring the iOS widget to suggest them to select the site to configure the widget for */ "gpCwrM" = "Select Site";