This commit is contained in:
Andras Schmelczer 2026-07-03 18:47:28 +01:00
parent ab688243d7
commit 463bd4c647
54 changed files with 13239 additions and 625 deletions

View file

@ -12,6 +12,7 @@ const en = {
},
// ── Common ──────────────────────────────────────────
common: {
retry: 'Retry',
save: 'Save',
update: 'Update',
cancel: 'Cancel',
@ -90,7 +91,7 @@ const en = {
modeFiltersHint: 'Export every postcode visible on the map that matches your current filters.',
modeList: 'List of postcodes',
modeListHint:
'Add your own postcodes one by one — we tidy up the spacing and capitalisation for you.',
'Add your own postcodes one by one. We tidy up the spacing and capitalisation for you.',
listLabel: 'Postcodes',
listPlaceholder: 'e.g. SW1A 1AA',
addRow: 'Add postcode',
@ -101,6 +102,7 @@ const en = {
// ── User Menu ──────────────────────────────────────
userMenu: {
accountMenu: 'Account menu',
fullAccess: 'Full Access',
demo: 'Demo',
themeLight: 'Theme: Light',
@ -124,7 +126,7 @@ const en = {
'Each page is built around real shortlisting work: removing impossible places, comparing the remaining postcodes, and deciding what to validate next.',
howToUseIt: 'How to use it',
howToUseItDesc:
'Use these workflows to make the page useful before you open a listing portal or book a viewing.',
'Use these workflows to rank postcodes by value, narrow your shortlist, and decide which areas are worth a closer look.',
methodAndLimitations: 'Method and limitations',
methodAndLimitationsDesc:
'The data is designed for comparison and shortlisting. Important decisions still need current listings, professional checks, and direct local validation.',
@ -596,12 +598,22 @@ const en = {
// ── Auth Modal ─────────────────────────────────────
auth: {
errorRateLimited: 'Too many attempts. Please wait a minute and try again.',
errorNetwork: 'Could not reach the server. Check your connection and try again.',
errorEmailTaken: 'An account with this email already exists.',
errorPasswordWeak: 'Password must be at least 8 characters.',
errorEmailInvalid: 'Please enter a valid email address.',
errorInvalidCredentials: 'Incorrect email or password.',
logInInstead: 'Log in instead',
accountCreatedPleaseLogIn: 'Account created. Please log in to continue.',
accountCreatedRateLimited:
'Account created, but too many attempts just now. Please wait a moment, then log in.',
logIn: 'Log in',
createAccount: 'Create account',
resetPassword: 'Reset password',
valueProp: 'Save searches, bookmark properties, and build a shortlist of areas that fit.',
dashboardActionsValueProp:
'Create a free account to save, share and export your searches — no card needed.',
'Create a free account to save, share and export your searches. No card needed.',
continueWithGoogle: 'Continue with Google',
email: 'Email',
emailPlaceholder: 'you@example.com',
@ -623,19 +635,19 @@ const en = {
// ── Upgrade Modal ──────────────────────────────────
upgrade: {
// Registered (logged-in, non-paying) users the lifetime upsell.
// Registered (logged-in, non-paying) users: the lifetime upsell.
title: 'Stack unlimited filters',
description:
'Youve used all 5 filters on your free account. Get lifetime access to stack unlimited filters across every postcode and neighbourhood in England. One payment, forever.',
// Anonymous users create a free account first.
// Anonymous users: create a free account first.
titleRegister: 'Create a free account',
descriptionRegister:
'Free accounts include up to 5 filters plus save, share and export — no card needed. Want unlimited filters across all of England? Go lifetime.',
'Free accounts include up to 5 filters plus save, share and export. No card needed. Want unlimited filters across all of England? Go lifetime.',
descriptionSharedRegister:
'This is a shared search. Create a free account to build your own with up to 5 filters and save, share & export or go lifetime for unlimited.',
'This is a shared search. Create a free account to build your own with up to 5 filters and save, share & export, or go lifetime for unlimited.',
registerFree: 'Create free account',
lifetimeUpsell: 'Want unlimited filters?',
goLifetime: 'Get lifetime access {{price}}',
goLifetime: 'Get lifetime access for {{price}}',
free: 'Free',
freeForEarly: 'Free for early adopters. No credit card required.',
oneTimePayment: 'One-time payment. Lifetime access.',
@ -686,7 +698,7 @@ const en = {
upgradeToFullMap: 'Upgrade to full map',
registerPrompt:
'Create a free account to combine up to 5 filters and save, share & export your searches.',
registerSubPrompt: 'Free no card needed. Unlimited filters with lifetime access.',
registerSubPrompt: 'Free, no card needed. Unlimited filters with lifetime access.',
registerCta: 'Create free account',
chooseFilters: 'Click Add to filter. The small buttons show data details or colour the map.',
searchFeatures: 'Search features…',
@ -725,6 +737,11 @@ const en = {
crimeType: 'Crime type',
qualificationLevel: 'Qualification level',
tenureType: 'Tenure type',
councilType: 'Council housing type',
councilStatus: 'Type',
councilCurrent: 'Current',
councilEx: 'Ex-council',
councilBoth: 'Both',
crimeWindow: 'Averaging period',
crimeWindow7y: '7-year',
crimeWindow2y: '2-year',
@ -766,15 +783,15 @@ const en = {
noChange: 'No change',
noChangeTitle: 'No-change journeys only',
noChangeDesc:
'Restricts to journeys with <strong>no transfers</strong> walk, board one transit service, then walk to the destination. Useful when you want a single straight-through commute.',
'Restricts to journeys with <strong>no transfers</strong>: walk, board one transit service, then walk to the destination. Useful when you want a single straight-through commute.',
oneChange: 'One change',
oneChangeTitle: 'One-change journeys',
oneChangeDesc:
'Allows journeys with <strong>at most one transfer</strong> — so a single change between two transit services is fine, but no more. A middle ground between no-change and unrestricted journeys.',
'Allows journeys with <strong>at most one transfer</strong>: a single change between two transit services is fine, but no more. A middle ground between no-change and unrestricted journeys.',
noBuses: 'No buses',
noBusesTitle: 'Excluding buses',
noBusesDesc:
'Drops bus services from the allowed transit modes <strong>rail, tube, tram and ferry only</strong>. Helpful for filtering to journeys that avoid traffic delays.',
'Drops bus services from the allowed transit modes: <strong>rail, tube, tram and ferry only</strong>. Helpful for filtering to journeys that avoid traffic delays.',
previewOnMap: 'Preview on map',
stopPreviewing: 'Stop previewing',
removeTravelTime: 'Remove travel time',
@ -849,8 +866,11 @@ const en = {
},
actualListings: {
label: 'Listings',
show: 'Show actual listings',
hide: 'Hide actual listings',
modes: {
new: 'New builds',
nonNew: 'Non-new',
hint: '“New builds” shows new-build developments; “Non-new” shows resale and other listings.',
},
},
poi: {
zoomInToSeeDetails: 'Zoom in to see details',
@ -879,6 +899,7 @@ const en = {
historyTitle: 'History',
historySale: 'Sale',
historyBuilt: 'Built',
historyNewBuild: 'New build',
tenureOwnerOccupied: 'Owner-occupied',
tenureRentedPrivate: 'Privately rented',
tenureRentedSocial: 'Social housing',
@ -995,17 +1016,19 @@ const en = {
heroEyebrow: 'For buyers who refuse to overpay for a postcodes reputation',
heroTitle1: 'Find the',
heroTitle2: 'hidden-gem postcode',
heroTitle3: 'Best £/sqm, schools and commute for the money.',
heroTitle3: 'Same schools, same commute, quietly cheaper.',
heroSubtitle:
'Across England, two streets can share the same schools and commute yet sell for very different money.',
'Two streets can share a school, a station and a build year, then sell tens of thousands apart. One of them is mispriced. We find which.',
heroDescription:
'Set your budget and must-haves. Perfect Postcode ranks every postcode in England on price per square metre, schools, commute and safety, surfacing the underpriced ones with the evidence behind each pick.',
exploreTheMap: 'Find my best-value postcodes',
seeTheDifference: 'See how it works',
'Set your budget and your non-negotiables. Perfect Postcode ranks every postcode in England by what each pound actually buys (floor space, schools, commute and safety), with the evidence behind every pick.',
exploreTheMap: 'Find my hidden-gem postcode',
seeTheDifference: 'See a real hidden gem',
freeToExplore: 'Explore the live map free, no sign-up, no card.',
dataSourcesLabel: 'Built on official records',
dataSources: 'Land Registry · ONS · Ofsted · DfT · Ordnance Survey · Police.uk',
productDemoLabel: 'Perfect Postcode product demo',
playProductDemo: 'Play Perfect Postcode product demo',
scrollToProductDemo: 'Scroll to product demo',
showcaseHeader: 'How it works',
showcaseContext: 'How Perfect Postcode works',
showcaseFeaturePriceShort: 'Price',
showcaseFeatureNoiseShort: 'Noise',
@ -1032,80 +1055,81 @@ const en = {
showcaseStep1Title: 'Turn vague needs into a tight search',
showcaseStep1Body:
'Set what matters and see exactly how many wrong-fit postcodes each requirement keeps out of your search.',
showcaseStep1Chip1: 'Quiet streets',
showcaseStep1Chip2: 'Top-rated primaries',
showcaseStep1Chip3: 'Under £500k',
showcaseStep1VennCenter: 'Postcodes that meet all three',
showcaseStep2Tab: 'Match',
showcaseStep2Title: 'Let the map surface places you wouldnt have typed',
showcaseStep2Title: 'Watch the underpriced postcodes light up',
showcaseStep2Body:
'Rank England by value for money, not by area names you already know. The underpriced pockets — strong on £/sqm, schools and commute — rise to the top.',
'Rank England by value for money, not by area names you already know. The underpriced pockets (strong on £/sqm, schools and commute) rise to the top.',
showcaseStep2Region: 'Greater London',
showcaseStep2Sources: 'Land Registry · ONS · Ofsted · DfT',
showcaseStep2ClustersLabel: 'Matching clusters',
showcaseStep3Tab: 'Inspect',
showcaseStep3Title: 'Inspect why a postcode made the cut',
showcaseStep3Body:
'Open any matching area and check prices, safety, schools, broadband, and trade-offs in one pane before you spend a weekend there.',
showcaseStep3HeaderArea: 'Your perfect postcode',
showcaseStep3HeaderFit: 'Neighbourhood evidence',
showcaseStep3Stat1Label: 'Sold price trend',
showcaseStep3Stat2Label: 'Crime rate',
showcaseStep3Stat2Value: 'Below borough avg.',
showcaseStep3Stat3Label: 'Median age',
showcaseStep3Stat4Label: 'Broadband',
showcaseStep3Stat4Value: '1 Gbps available',
showcaseStep3Stat5Label: 'Primary schools',
showcaseStep3Stat5Value: '3 Outstanding within 1 mile',
showcaseStep4Tab: 'Scout',
showcaseStep4Title: 'Scout it out yourself',
showcaseStep4Body:
'Take your top three postcodes into the real world. Walk the streets, test the commute, and compare viewings with context.',
showcaseStep4FileName: 'areas-to-scout.xlsx',
showcaseStep4ExportLabel: 'Export to Excel',
showcaseStep4ColPostcode: 'Postcode',
showcaseStep4ColScore: 'Fit',
showcaseStep4ColCommute: 'Commute',
showcaseStep4ColPrice: 'Median sold',
showcaseStep4ColPrice: '£/sqm',
showcaseStep4Conclusion: 'Start scouting from here.',
statProperties: 'historical sales',
statFilters: 'combinable filters',
statEvery: 'Every',
statPostcodeInEngland: 'postcode in England',
coverageNote:
'Covers every postcode in England 200+ data fields each. Scotland & Wales are on the roadmap.',
priceStrip: 'Lifetime access, currently {{price}} — the price rises as tiers fill.',
'Covers every postcode in England, with 200+ data fields each. Scotland & Wales are on the roadmap.',
priceStrip: 'Pay once for lifetime access, currently {{price}}, rising as each tier fills.',
priceStripSpots: '{{count}} spot left at this price.',
priceStripSpotsPlural: '{{count}} spots left at this price.',
priceStripCta: 'See pricing',
ourPhilosophy: 'Reputation is priced in. Value isnt yet.',
philosophyP1:
'A postcodes price is partly its fundamentals and partly its reputation. People pay up for names they know, while the postcode one street over — same schools, same commute — sits quietly cheaper because nobody has bid it up. Spotting that gap means cross-checking sold prices, Ofsted, crime, noise and floor areas tab by tab.',
'Part of a postcodes price is its bricks, its catchment and its commute. The rest is just the name. Buyers bid up the postcodes theyve heard of, so the road behind (identical on every measure that moves price) sits quietly cheaper. Finding that gap by hand means a dozen browser tabs: sold prices, Ofsted, crime, noise, floor areas.',
philosophyP2:
'Perfect Postcode ranks by value instead. Tell the map your budget and must-haves, and it surfaces the postcodes with the best £/sqm, schools and commute for the money. Then go test it in person.',
streetTitle: 'Value changes street by street',
'Perfect Postcode does the cross-checking for you. Tell the map your budget and your non-negotiables; it weighs every postcode in England on the things that move price and puts the underpriced ones on top. Then go and walk it.',
streetTitle: 'The gap is street by street',
streetIntro:
'Broad area names hide where the value sits: the cheaper station side, the quieter road, the same school catchment, and what near-identical homes sold for per square metre.',
'Broad area names hide where the bargains sit: the cheaper station side, the quieter road, the same school catchment, and what near-identical homes actually sold for per square metre.',
streetCard1Title: 'Find the cheaper twin',
streetCard1Body:
'Surface the postcodes with the same schools, commute and build as the names everyone pays a premium for — minus the premium, and minus the “up-and-coming” hype.',
'Every famous postcode has a quieter neighbour with the same catchment, the same station and the same era of housing, without the premium and without the “up-and-coming” mark-up. We set the two side by side so the gap is impossible to miss.',
streetCard2Title: 'See what your money actually buys',
streetCard2Body:
'Compare £/sqm, sold prices, space, commute, safety, schools, broadband, noise and energy ratings side by side, before you spend weekends between viewings.',
'Floor space, sold prices, commute, crime, schools, broadband, noise and energy ratings on one screen, not eight tabs and a spreadsheet. Decide whats worth a Saturday before you spend the Saturday.',
othersVs: 'Others vs',
checkMyPostcode: 'Listing portals',
areaGuides: 'Postcode reports',
compSearchWithout: 'Rank postcodes by value, not by reputation',
compSearchWithoutSub: '(best £/sqm for your needs, not the name)',
compSearchWithout: 'Ranked by what you get, not whos heard of it',
compSearchWithoutSub: '(the cheaper twin for your needs, not the name)',
compAreaData: 'Postcode-level neighbourhood evidence',
compAreaDataSub: '(crime, schools, noise, broadband, amenities)',
compPropertyData: 'Property-level history',
compPropertyDataSub: '(sold prices, EPC, floor area, estimated value)',
compFilters: '40+ filters working together',
compFiltersSub: '(not one postcode or one listing at a time)',
compListings: 'Live listings, photos and viewings',
compListingsSub: '(the day-to-day of buying a specific home)',
twinBadge: 'Real example',
twinTitle: 'The same life, one postcode cheaper',
twinIntro:
'Two North London neighbours, 1.3 km apart: flats with comparable primary-school catchments and the same ~30-minute commute, yet priced very differently per square metre.',
twinPriceyLabel: 'The name everyone knows',
twinValueLabel: 'Its quieter neighbour',
twinPerSqm: '{{value}}/sqm',
twinSameSchool: 'Both in Outstanding-rated primary catchments',
twinSameCommute: 'Both ~30 min to central London by transit',
twinDelta: '{{percent}} less per square metre',
twinFootnote:
'A real example from our data: median £/sqm for flats sold since 2021. Explore the live map to find your own.',
twinCta: 'Find a gem like this near me',
ctaTitle: 'Stop overpaying for a name.',
ctaDescription:
'Build a shortlist of the best-value postcodes for your budget, then confirm it in person.',
'Build your shortlist on the live map, free. When youre convinced, unlock every filter for life. Pay once, no subscription.',
guaranteeNote: 'Pay once. No subscription, ever. 30-day money-back guarantee.',
},
// ── Pricing Page ───────────────────────────────────
@ -1132,12 +1156,15 @@ const en = {
},
pricingPage: {
cachedNotice: 'We couldnt refresh live pricing, so these figures may be out of date.',
scrollPrev: 'Show previous plans',
scrollNext: 'Show more plans',
title: 'Buy with a better search area',
subtitle:
'Lifetime access to the map that helps you find where to look before you book viewings.',
costContext:
'Buyers often spend evenings stitching together listings, commute checks, school reports, crime maps, Street View, and sold prices. In London this is relentless, but the same research problem appears across England. Perfect Postcode puts the area research on one map before you commit your weekends, fees, and attention.',
lessThanSurvey: 'Costs less than a tenth of a survey and shapes a far bigger decision.',
lessThanSurvey: 'Costs less than a tenth of a survey, and shapes a far bigger decision.',
currentTier: 'Current tier',
firstNUsers: 'First {{count}} users',
everyoneAfter: 'Everyone after',
@ -1148,7 +1175,7 @@ const en = {
filled: 'Filled',
openDashboard: 'Open dashboard',
getStarted: 'Get started',
getStartedPrice: 'Get started {{price}}',
getStartedPrice: 'Get started for {{price}}',
noCreditCard: 'No credit card required',
moneyBack: '14-day money-back guarantee.',
@ -1179,7 +1206,7 @@ const en = {
videos: 'Videos',
videosTitle: 'Social media videos',
videosIntro:
'Short clips from our social channels each one shows a single search in action, from quiet streets to school catchments and commute times.',
'Short clips from our social channels: each one shows a single search in action, from quiet streets to school catchments and commute times.',
video01Title: 'Find the cheaper twin',
video01Desc:
'Type your whole house brief in one plain sentence and watch every matching postcode in England sort by value, surfacing the cheaper twin everyone overlooked.',
@ -1188,7 +1215,7 @@ const en = {
'Colour London by commute to the centre, prune to a 20-minute ride, and watch identical journeys split into the names everyone knows and quieter postcodes nobody bid up.',
video03Title: 'The postcode evidence file',
video03Desc:
'Tap any postcode and a panel opens with its sold prices, school catchments, crime and Street View so you can tell whether you are paying for value or just a reputation.',
'Tap any postcode and a panel opens with its sold prices, school catchments, crime and Street View, so you can tell whether you are paying for value or just a reputation.',
video04Title: 'The overlooked quiet street',
video04Desc:
'Famous postcodes price in their reputation, but a listing photo stays silent on noise. Filter by decibels to find the genuinely quiet street one over that never paid the premium.',
@ -1197,7 +1224,7 @@ const en = {
'A Leeds family search for a good primary, low crime and a budget under £350k surfaces the quietly cheaper streets that share the very same catchment.',
video06Title: 'The Waitrose effect, priced in',
video06Desc:
'Walking distance to a Waitrose, a tube station and a park is a priced-in premium — find the nearby postcodes with the same amenities for less per square metre.',
'Walking distance to a Waitrose, a tube station and a park is a priced-in premium. Find the nearby postcodes with the same amenities for less per square metre.',
video07Title: 'A value map for renters',
video07Desc:
'Big-name postcodes cost more to rent, too. Set your rent, commute and a quiet street, and see which London postcodes actually fit the money.',
@ -1309,7 +1336,7 @@ const en = {
faqPricingTitle: 'Access',
faqTipsTitle: 'Map Tips',
faqBehindDataTitle: 'Behind the Data',
// FAQ itemsFinding Your Area
// FAQ items:Finding Your Area
faqFinding1Q: 'Where should I look once the obvious areas are too expensive?',
faqFinding1A:
'Start with the things you cant compromise on: budget, home type, space, commute, schools, safety, noise, broadband, parks, and anything else that matters. The map hides places that dont fit, so less obvious areas can surface before you start scrolling listings.',
@ -1319,7 +1346,7 @@ const en = {
faqFinding3Q: 'What should I do when my search returns too many or too few areas?',
faqFinding3A:
'Keep your must-haves in place, then colour the map by one thing you want to compare, such as price per square metre, road noise, school score, or commute time. If almost nothing is left, loosen one slider and see which change opens up more options.',
// FAQ itemsCommute and Travel
// FAQ items:Commute and Travel
faqCommute1Q: 'How are the travel times calculated?',
faqCommute1A:
'Travel times are calculated in advance for each saved destination. We work out which postcodes can reach that destination by car, bike, walking, or public transport, then save those results so the map can respond quickly while you filter.',
@ -1329,28 +1356,28 @@ const en = {
faqCommute3Q: 'When should I use the Best case button?',
faqCommute3A:
'Use the Best case button on public-transport searches when you want to see the journey with a well-timed departure and good connections. Leave it off for the everyday comparison, because the normal setting is closer to what you should expect most days.',
// FAQ itemsBudget and Value
// FAQ items:Budget and Value
faqBudget1Q: 'How do you estimate current property prices?',
faqBudget1A:
'The estimate starts with the homes last recorded sale price from HM Land Registry. We bring that sale up to todays market by looking at how similar homes have changed in value over time, especially homes of the same type nearby. Where there are fewer local sales, the estimate leans more on wider area trends. Its then checked against nearby recent sales and floor area so the result is useful for comparison.',
faqBudget2Q: 'Why use estimated current price instead of last sold price?',
faqBudget2A:
'Last sold price can be years or decades old, while asking prices only cover homes listed today. Estimated current price puts older sales into todays market, so you can compare more homes and spot areas that may offer better value before listings appear. Treat it as a guide for shortlisting, not a bank valuation.',
// FAQ itemsSafety and Neighbourhood
// FAQ items:Safety and Neighbourhood
faqSafety1Q: 'What type of crime is common around this postcode?',
faqSafety1A:
'Crime is broken down by type, including violence, burglary, robbery, vehicle crime, anti-social behaviour, shoplifting, drugs, and public order. You can focus on the risks that matter to you instead of relying on one vague safety score.',
faqSafety2Q: 'What should I check before viewing an unfamiliar street?',
faqSafety2A:
'Check crime, road noise, broadband, parks, food shops, schools, and commute before you book. Listing photos are useful, but they shouldnt be the first time you learn what the street is like.',
// FAQ itemsFamilies and Schools
// FAQ items:Families and Schools
faqFamilies1Q: 'Which areas have the right mix of schools, space, safety, and commute?',
faqFamilies1A:
'Put school ratings, crime, parks, commute, space, home type, and budget on one map. The result is a practical family shortlist instead of a pile of separate school, crime, listing, and transport searches.',
faqFamilies2Q: 'Does this prove Im inside a school catchment?',
faqFamilies2A:
'No. We show nearby school quality and local education data, but admissions areas and priority rules can change. Use Perfect Postcode to shortlist places, then check catchments and admissions with the school or local council.',
// FAQ itemsEnvironment and Quality of Life
// FAQ items:Environment and Quality of Life
faqEnv1Q: 'How do I avoid a noisy road without losing commute or broadband quality?',
faqEnv1A:
'Filter by road noise, then keep your commute, broadband, price, and home filters switched on. You can colour the map by one feature while the others keep the shortlist honest.',
@ -1360,10 +1387,10 @@ const en = {
faqEnv3Q: 'What running-cost checks can I do before viewing?',
faqEnv3A:
'You can check energy rating, floor area, building age, council tax area, broadband, and noise before viewing. It wont predict your exact bills, but it helps you avoid obvious mismatches early.',
// FAQ itemsListing Portals and Due Diligence
// FAQ items:Listing Portals and Due Diligence
faqDueDiligence1Q: 'How is this different from searching on Rightmove?',
faqDueDiligence1A:
'They answer different questions. Rightmove, Zoopla, and OnTheMarket show whats for sale now photos, agents, viewings, and alerts. Perfect Postcode works at the postcode level, weighing sold prices, £/sqm, schools, commute, and crime to show where youd get more home for your money.',
'They answer different questions. Rightmove, Zoopla, and OnTheMarket show whats for sale now: photos, agents, viewings, and alerts. Perfect Postcode works at the postcode level, weighing sold prices, £/sqm, schools, commute, and crime to show where youd get more home for your money.',
faqDueDiligence2Q: 'Why cant I filter by garden, garage, or layout?',
faqDueDiligence2A:
'Those details arent available consistently for every home. Perfect Postcode can filter by things such as floor area, home type, ownership type, energy rating, sold prices, and local area data. Gardens, garages, aspect, room layout, and estate-agent wording still need to be checked in the listing and at the viewing.',
@ -1373,21 +1400,21 @@ const en = {
faqDueDiligence4Q: 'What should I still verify before making an offer?',
faqDueDiligence4A:
'Use Perfect Postcode to check the area and likely value, then confirm the listing details before making an offer. You should still check ownership type, lease details, service charges, planning history, flood risk, legal issues, mortgage requirements, and survey results.',
// FAQ itemsPrivacy and Data Protection
// FAQ items:Privacy and Data Protection
faqPrivacy1Q: 'Do you store personal data about me?',
faqPrivacy1A:
'The property and neighbourhood data doesnt contain your personal details. If you create an account, we store only whats needed to run the service, such as your email address, access status, newsletter choice, saved searches, shared links, and payment records handled by Stripe. We handle account data under UK privacy law.',
// FAQ itemsWhy Perfect Postcode
// FAQ items:Why Perfect Postcode
faqWhy1Q: 'What does this show that listing portals usually dont?',
faqWhy1A:
'Listing sites start from homes that are for sale right now. Perfect Postcode starts from the places that fit your life and budget, using sold prices, space, commute, schools, crime, noise, broadband, energy rating, ownership type, and local amenities before you open the listings.',
'Listing sites start from individual homes for sale right now. Perfect Postcode starts from the postcode: it ranks every postcode in England by value for money (sold prices, £/sqm, space, commute, schools, crime, noise, broadband, energy rating and ownership type), so you find the underpriced areas before you commit to one.',
faqWhy2Q: 'How much manual research does this save?',
faqWhy2A:
'You could do the research yourself, but it means checking sold prices, energy ratings, crime, schools, broadband, local facts, environment details, travel times, and maps one postcode at a time. Perfect Postcode puts those sources in one searchable map for England.',
faqWhy3Q: 'How reliable is the data?',
faqWhy3A:
'The main sources are official or widely used public data, including sold prices, energy ratings, local facts, school ratings, broadband, crime, environment, map, and street data. Theyre useful for shortlisting and comparison, but any purchase decision still needs current checks and expert advice where needed.',
// FAQ itemsPricing and Access
// FAQ items:Pricing and Access
faqPricing1Q: 'Why pay when postcode reports are free?',
faqPricing1A:
'Free postcode tools are useful once you already know what to check. Perfect Postcode is for scanning every postcode in England against your needs, combining filters, comparing options, saving searches, and exporting a shortlist before you spend weekends on viewings.',
@ -1396,9 +1423,9 @@ const en = {
'Lifetime access means one payment gives your account ongoing access to the paid Perfect Postcode map for as long as the service runs. It isnt a monthly or annual subscription, and normal data updates are included. You can use it during this search, come back later, and still have access if you move again.',
faqPricing3Q: 'What can I access on the free tier?',
faqPricing3A:
'Free users get the full Perfect Postcode map across all of England — every postcode and every feature — and can apply up to 3 filters at a time. Lifetime access removes that limit so you can stack unlimited filters.',
'Free users get the full Perfect Postcode map across all of England (every postcode and every feature) and can apply up to 3 filters at a time. Lifetime access removes that limit so you can stack unlimited filters.',
// FAQ itemsTips and Tricks
// FAQ items:Tips and Tricks
faqTips1Q: 'How do I preview a filter on the map?',
faqTips1A:
'Click Colour beside a filter or feature to colour the map by that item. Your active filters stay in place, so this is a quick way to compare one thing, such as price, commute time, schools, crime, or noise, without changing your shortlist.',
@ -1409,20 +1436,20 @@ const en = {
faqTips3A:
'When a feature is colouring the map, use Reset colour scale in the map legend to refresh the colours for the results youre looking at now. This is useful after moving the map, zooming, or changing filters.',
// FAQ itemsBehind The Data
// FAQ items:Behind The Data
faqBehindData1Q: 'Why does an airport sometimes look quieter than the streets around it?',
faqBehindData1A:
'The noise figure shown for a postcode is the loudest of three Defra sources — road, rail, and aircraft — modelled at 4m above ground as a 24-hour weighted average (Lden). On a busy residential street the road component dominates, typically 6575 dB. Inside an airport perimeter there are no major public roads, so the road term drops and only the aircraft average is left. London City Airport has a curfew and limited movements, so its 24-hour aircraft Lden is moderate (around 6066 dB at the runway), and the airfield ends up looking quieter than the A-roads that flank it. The same effect appears at Heathrow. Its a real artefact of measuring transport noise at residential receptor height, not a bug.',
'The noise figure shown for a postcode is the loudest of three Defra sources (road, rail, and aircraft) modelled at 4m above ground as a 24-hour weighted average (Lden). On a busy residential street the road component dominates, typically 6575 dB. Inside an airport perimeter there are no major public roads, so the road term drops and only the aircraft average is left. London City Airport has a curfew and limited movements, so its 24-hour aircraft Lden is moderate (around 6066 dB at the runway), and the airfield ends up looking quieter than the A-roads that flank it. The same effect appears at Heathrow. Its a real artefact of measuring transport noise at residential receptor height, not a bug.',
faqBehindData2Q: 'Why does the airport, motorway or park show up as one big shape?',
faqBehindData2A:
'Postcodes dont officially have boundaries in the UK Royal Mail defines a postcode as a list of delivery addresses, not as an area. Perfect Postcode synthesises the polygons by giving each address its share of the surrounding land. Places with no addresses, such as a runway, motorway carriageway, park or reservoir, get filled in by whichever nearby residential postcode is closest. That is why an airport or open space often appears as a single large polygon rather than many small ones, and the value shown for that polygon comes from the handful of postcodes that happen to sit inside the perimeter.',
'Postcodes dont officially have boundaries in the UK. Royal Mail defines a postcode as a list of delivery addresses, not as an area. Perfect Postcode synthesises the polygons by giving each address its share of the surrounding land. Places with no addresses, such as a runway, motorway carriageway, park or reservoir, get filled in by whichever nearby residential postcode is closest. That is why an airport or open space often appears as a single large polygon rather than many small ones, and the value shown for that polygon comes from the handful of postcodes that happen to sit inside the perimeter.',
faqBehindData3Q: 'Why do nearby postcodes share the same crime numbers?',
faqBehindData3A:
'Police-recorded street-level crime is published at LSOA level small neighbourhood areas of about 1,500 residents. Every postcode inside the same LSOA inherits the same yearly totals, so a quiet residential street and a high street one block over can show identical figures if they fall on the same side of the boundary. Per-capita rates can also look unusually high in postcodes covering hospitals, university campuses or industrial estates, because those areas record incidents normally but have very few residents on paper to divide the count across.',
'Police-recorded street-level crime is published at LSOA level (small neighbourhood areas of about 1,500 residents). Every postcode inside the same LSOA inherits the same yearly totals, so a quiet residential street and a high street one block over can show identical figures if they fall on the same side of the boundary. Per-capita rates can also look unusually high in postcodes covering hospitals, university campuses or industrial estates, because those areas record incidents normally but have very few residents on paper to divide the count across.',
faqBehindData4Q:
'What does a “school catchments” count mean can my child attend those schools?',
'What does a “school catchments” count mean, and can my child attend those schools?',
faqBehindData4A:
'Each count is the number of Good or Outstanding state schools whose modelled historical catchment area covers the postcode. We simulate how Englands distance-based admissions allocate places: children (Census 2021) apply to nearby schools, trading distance against Ofsted rating, and an oversubscribed school admits its closest applicants until full — its catchment radius is the distance of the last child admitted, the same “last distance offered” councils publish, and the model is calibrated against hundreds of those published figures. It estimates where pupils plausibly get a place; it is not an official admission area. Faith and selective admissions, sibling priority and yearly boundary changes are not modelled, so always confirm catchments and admission rules with the school or local authority before relying on them for a decision.',
'Each count is the number of Good or Outstanding state schools whose modelled historical catchment area covers the postcode. We simulate how Englands distance-based admissions allocate places: children (Census 2021) apply to nearby schools, trading distance against Ofsted rating, and an oversubscribed school admits its closest applicants until full. Its catchment radius is the distance of the last child admitted, the same “last distance offered” councils publish, and the model is calibrated against hundreds of those published figures. It estimates where pupils plausibly get a place; it is not an official admission area. Faith and selective admissions, sibling priority and yearly boundary changes are not modelled, so always confirm catchments and admission rules with the school or local authority before relying on them for a decision.',
faqBehindData5Q: 'Why does a postcode show “Gigabit” when not every home has fibre?',
faqBehindData5A:
'Broadband coverage from Ofcom Connected Nations is reported per postcode as the percentage of premises that can get each speed tier. We display the highest tier with any availability, so a postcode where even one home can reach Gigabit reads “Gigabit available”. It is the right answer for “is full-fibre on this street at all?”, but does not guarantee every flat in a block can be ordered today. Always verify with the providers for your specific address before signing.',
@ -1490,6 +1517,7 @@ const en = {
// ── Invite Page ────────────────────────────────────
invitePage: {
couldNotValidateTitle: 'Couldnt validate invite',
youreInvited: 'Youre invited!',
specialOffer: 'Special offer!',
invitedByFree: '{{name}} has invited you to get free lifetime access.',
@ -1553,17 +1581,17 @@ const en = {
treesOutsideWoodlands: {
label: 'Trees & woodland',
detail:
'Forest Research Trees Outside Woodland (TOW) v1 canopy polygons — lone trees and groups of trees — combined with National Forest Inventory (NFI) woodland blocks (≥0.5 ha) that TOW deliberately excludes. Together they cover both street trees and actual woods. Polygon opacity scales with canopy area.',
'Forest Research Trees Outside Woodland (TOW) v1 canopy polygons (lone trees and groups of trees) combined with National Forest Inventory (NFI) woodland blocks (≥0.5 ha) that TOW deliberately excludes. Together they cover both street trees and actual woods. Polygon opacity scales with canopy area.',
},
propertyBorders: {
label: 'Property borders',
detail:
'HM Land Registry INSPIRE Index Polygons the position and indicative extent of freehold registered property in England & Wales, drawn as outlines at street level. These are “general boundaries” for guidance only, not the precise legal boundary of a property, and they exclude leasehold-only interests and unregistered land (roughly 8590% of freehold land is covered). This information is subject to Crown copyright and database rights 2026 and is reproduced with the permission of HM Land Registry. The polygons (including the associated geometry, namely x, y co-ordinates) are subject to Crown copyright and database rights 2026 Ordnance Survey AC0000851063. Licensed under the Open Government Licence v3.0.',
'HM Land Registry INSPIRE Index Polygons: the position and indicative extent of freehold registered property in England & Wales, drawn as outlines at street level. These are “general boundaries” for guidance only, not the precise legal boundary of a property, and they exclude leasehold-only interests and unregistered land (roughly 8590% of freehold land is covered). This information is subject to Crown copyright and database rights 2026 and is reproduced with the permission of HM Land Registry. The polygons (including the associated geometry, namely x, y co-ordinates) are subject to Crown copyright and database rights 2026 Ordnance Survey AC0000851063. Licensed under the Open Government Licence v3.0.',
},
newDevelopments: {
label: 'New developments',
detail:
'A pipeline of new housing. Blue markers show sites on the statutory MHCLG Brownfield Land registers — each carrying an estimated net-dwelling capacity and planning-permission status — together with Homes England Land Hub disposal sites. These show where new homes are planned, often years before they appear in EPC or sale records. Dwelling figures are capacity estimates, not commitments, and a site on a register is an opportunity rather than a guarantee of construction. Licensed under the Open Government Licence v3.0.',
'A pipeline of new housing. Blue markers show sites on the statutory MHCLG Brownfield Land registers (each carrying an estimated net-dwelling capacity and planning-permission status) together with Homes England Land Hub disposal sites. These show where new homes are planned, often years before they appear in EPC or sale records. Dwelling figures are capacity estimates, not commitments, and a site on a register is an opportunity rather than a guarantee of construction. Licensed under the Open Government Licence v3.0.',
},
},
@ -1712,7 +1740,7 @@ const en = {
'Housing Conditions Score': 'Housing Conditions Score',
'Air Quality and Road Safety Score': 'Air Quality and Road Safety Score',
// ─ Feature names (Crime) population-normalised rate, 7-year & 2-year ─
// ─ Feature names (Crime): population-normalised rate, 7-year & 2-year ─
'Serious crime (/yr, 7y)': 'Serious crime (per year, 7yr)',
'Serious crime (/yr, 2y)': 'Serious crime (per year, 2yr)',
'Minor crime (/yr, 7y)': 'Minor crime (per year, 7yr)',
@ -1773,6 +1801,8 @@ const en = {
'% Owner occupied': '% Owner occupied',
'% Social rent': '% Social rent',
'% Private rent': '% Private rent',
'% Council housing': '% Council housing',
'% Ex-council': '% Ex-council',
'% White': '% White',
'% South Asian': '% South Asian',
'% Black': '% Black',