Copy: England → UK-wide, include Northern Ireland; migrate user-facing copy into Localizable.strings

- Onboarding feature: 'England-wide prices' → 'UK-wide prices — 8,000+ stations, updated twice a day' (key + value unified)
- Stations empty state: 'covers England, Scotland and Wales' → 'covers the whole UK' (dataset includes Northern Ireland)
- Settings Data source footer: source wording updated (CSV mirror or API), OGL attribution retained
- Empty state, browse button and OGL footer now keys in Localizable.strings so the web copy editor covers them
- APPSTORE.md + BACKLOG.md + code comments: England-wide → UK-wide, NI included
This commit is contained in:
FuelBoard Contributor
2026-08-15 16:04:56 +01:00
parent 4797886a1d
commit 24b6ca9bb2
7 changed files with 18 additions and 9 deletions
+1 -1
View File
@@ -108,7 +108,7 @@ struct OnboardingView: View {
.padding(.horizontal, 32)
.padding(.top, 12)
featureRow(icon: "globe.europe.africa.fill", text: "England-wide prices — 8,000+ stations, updated twice a day")
featureRow(icon: "globe.europe.africa.fill", text: "UK-wide prices — 8,000+ stations, updated twice a day")
featureRow(icon: "scope", text: "Cheapest within your chosen radius, or closest station first")
featureRow(icon: "star.fill", text: "Favourites with instant price comparison")
featureRow(icon: "chart.bar.fill", text: "Green/amber/red rating vs the best nearby price")
+1 -1
View File
@@ -229,7 +229,7 @@ struct SettingsView: View {
} header: {
Text("Data source")
} footer: {
Text("Connection shows whether prices come from the official Fuel Finder API or the CSV mirror. Data updated is the latest price change reported by the GOV.UK server itself. Prices use the UK Fuel Finder dataset (Open Government Licence) and refresh up to twice a day.")
Text("Connection shows the source of the current prices (CSV mirror or API). Data updated is the latest price change reported by the GOV.UK server itself. Prices use the UK Fuel Finder dataset (Open Government Licence) and refresh up to twice a day.")
}
Section {
+2 -2
View File
@@ -104,9 +104,9 @@ struct StationsView: View {
let miles = distanceUnit.displayMiles(stationLimit)
let unit = distanceUnit.label(for: Double(miles))
VStack(alignment: .leading, spacing: 6) {
Text("No \(selectedFuel.displayName) stations within \(miles) \(unit).")
Text(String(format: NSLocalizedString("No %@ stations within %lld %@.", comment: "Empty state when the radius finds nothing nearby"), selectedFuel.displayName, miles, unit))
.foregroundStyle(.secondary)
Text("FuelBoard covers England, Scotland and Wales — try Closest to browse every UK station.")
Text("FuelBoard covers the whole UK — try Closest to browse every station.")
.font(.caption)
.foregroundStyle(.secondary)
Button("Browse all UK stations") {
+9 -1
View File
@@ -99,12 +99,20 @@
/* Onboarding */
"Welcome to FuelBoard" = "Welcome to FuelBoard";
"The cheapest petrol, diesel and premium fuel near you — from the official UK Fuel Finder data." = "The cheapest fuel near you";
"England-wide prices — 8,000+ stations, updated twice a day" = "England-wide prices — 8,000+ stations, updated daily";
"UK-wide prices — 8,000+ stations, updated twice a day" = "UK-wide prices — 8,000+ stations, updated twice a day";
"Cheapest within your chosen radius, or closest station first" = "Cheapest within your chosen radius, or closest station";
"Favourites with instant price comparison" = "Favourites with instant price comparison";
"Green/amber/red rating vs the best nearby price" = "Rating vs the best nearby price";
"Home-screen widget showing the cheapest nearby" = "Customisable Home-screen widgets";
"Alerts when you approach the cheapest station" = "Alerts you when you approach the cheapest station";
/* Stations empty state */
"No %@ stations within %lld %@." = "No %@ stations within %lld %@.";
"FuelBoard covers the whole UK — try Closest to browse every station." = "FuelBoard covers the whole UK — try Closest to browse every station.";
"Browse all UK stations" = "Browse all UK stations";
/* Settings → Data source footer */
"Connection shows the source of the current prices (CSV mirror or API). Data updated is the latest price change reported by the GOV.UK server itself. Prices use the UK Fuel Finder dataset (Open Government Licence) and refresh up to twice a day." = "Connection shows the source of the current prices (CSV mirror or API). Data updated is the latest price change reported by the GOV.UK server itself. Prices use the UK Fuel Finder dataset (Open Government Licence) and refresh up to twice a day.";
"Prices near you" = "Prices near you";
"FuelBoard uses your location to show prices around you and rank stations by distance. Your position never leaves the device." = "FuelBoard uses your location to show prices around you and rank stations by distance. Your position never leaves the device.";
"Location was denied. You can still browse all stations, but \"nearest\" sorting needs it." = "Location was denied. You can still browse all stations, but \"nearest\" sorting needs it.";