Add translations
This commit is contained in:
parent
c14d28f430
commit
a7aaf5effa
5 changed files with 4222 additions and 0 deletions
880
frontend/src/i18n/locales/de.ts
Normal file
880
frontend/src/i18n/locales/de.ts
Normal file
|
|
@ -0,0 +1,880 @@
|
|||
import type { Translations } from './en';
|
||||
|
||||
const de: Translations = {
|
||||
// ── Common ──────────────────────────────────────────
|
||||
common: {
|
||||
save: 'Speichern',
|
||||
cancel: 'Abbrechen',
|
||||
close: 'Schlie\u00DFen',
|
||||
delete: 'L\u00F6schen',
|
||||
open: '\u00D6ffnen',
|
||||
share: 'Teilen',
|
||||
copy: 'Kopieren',
|
||||
copied: 'Kopiert!',
|
||||
copiedToClipboard: 'In die Zwischenablage kopiert',
|
||||
loading: 'Wird geladen...',
|
||||
loadMore: 'Mehr laden',
|
||||
remaining: '{{count}} verbleibend',
|
||||
search: 'Suchen',
|
||||
all: 'Alle',
|
||||
none: 'Keine',
|
||||
viewDataSource: 'Datenquelle ansehen',
|
||||
total: 'Gesamt',
|
||||
min: 'Min.',
|
||||
or: 'oder',
|
||||
area: 'Gebiet',
|
||||
properties: 'Immobilien',
|
||||
postcode: 'Postleitzahl',
|
||||
noAreaSelected: 'Kein Gebiet ausgew\u00E4hlt',
|
||||
noAreaSelectedDesc:
|
||||
'Klicke auf ein farbiges Gebiet auf der Karte, um Kriminalit\u00E4t, Schulen, Preise und mehr zu sehen',
|
||||
clickForDetails: 'F\u00FCr Details klicken',
|
||||
property: 'Immobilie',
|
||||
propertiesPlural: 'Immobilien',
|
||||
},
|
||||
|
||||
// ── Header / Nav ───────────────────────────────────
|
||||
header: {
|
||||
appName: 'Perfect Postcode',
|
||||
dashboard: '\u00DCbersicht',
|
||||
learn: 'Infos',
|
||||
pricing: 'Preise',
|
||||
inviteFriends: 'Freunde einladen',
|
||||
saved: 'Gespeichert',
|
||||
logIn: 'Anmelden',
|
||||
createAccount: 'Konto erstellen',
|
||||
sharing: 'Wird geteilt...',
|
||||
exportLabel: 'Exportieren',
|
||||
exporting: 'Wird exportiert...',
|
||||
exportToExcel: 'Als Excel exportieren',
|
||||
openMenu: 'Men\u00FC \u00F6ffnen',
|
||||
closeMenu: 'Men\u00FC schlie\u00DFen',
|
||||
},
|
||||
|
||||
// ── User Menu ──────────────────────────────────────
|
||||
userMenu: {
|
||||
fullAccess: 'Vollzugriff',
|
||||
demo: 'Demo',
|
||||
themeLight: 'Design: Hell',
|
||||
themeDark: 'Design: Dunkel',
|
||||
account: 'Konto',
|
||||
logOut: 'Abmelden',
|
||||
},
|
||||
|
||||
// ── Mobile Menu ────────────────────────────────────
|
||||
mobileMenu: {
|
||||
menu: 'Men\u00FC',
|
||||
home: 'Startseite',
|
||||
},
|
||||
|
||||
// ── Auth Modal ─────────────────────────────────────
|
||||
auth: {
|
||||
logIn: 'Anmelden',
|
||||
createAccount: 'Konto erstellen',
|
||||
resetPassword: 'Passwort zur\u00FCcksetzen',
|
||||
valueProp:
|
||||
'Speichere Suchen, merke dir Immobilien und mach dort weiter, wo du aufgeh\u00F6rt hast.',
|
||||
continueWithGoogle: 'Weiter mit Google',
|
||||
email: 'E-Mail',
|
||||
emailPlaceholder: 'du@beispiel.de',
|
||||
password: 'Passwort',
|
||||
passwordPlaceholderRegister: 'Mind. 8 Zeichen',
|
||||
passwordPlaceholderLogin: 'Dein Passwort',
|
||||
forgotPassword: 'Passwort vergessen?',
|
||||
resetSent: 'Pr\u00FCfe deine E-Mails f\u00FCr einen Link zum Zur\u00FCcksetzen.',
|
||||
pleaseWait: 'Bitte warten...',
|
||||
sendResetLink: 'Link zum Zur\u00FCcksetzen senden',
|
||||
backToLogin: 'Zur\u00FCck zur Anmeldung',
|
||||
},
|
||||
|
||||
// ── Upgrade Modal ──────────────────────────────────
|
||||
upgrade: {
|
||||
title: 'Ganz England entdecken',
|
||||
description:
|
||||
'Du erkundest gerade das Demogebiet. Erhalte lebenslangen Zugang zu jeder Postleitzahl, jedem Filter, jedem Viertel. Eine Zahlung, f\u00FCr immer.',
|
||||
free: 'Kostenlos',
|
||||
once: '/einmalig',
|
||||
freeForEarly: 'Kostenlos f\u00FCr Fr\u00FChnutzer. Keine Kreditkarte erforderlich.',
|
||||
oneTimePayment: 'Einmalzahlung. Lebenslanger Zugang. 30 Tage Geld-zur\u00FCck-Garantie.',
|
||||
redirecting: 'Weiterleitung...',
|
||||
claimFreeAccess: 'Kostenlosen Zugang sichern',
|
||||
upgradeFor: 'Upgrade f\u00FCr {{price}}',
|
||||
registerAndUpgrade: 'Registrieren & Upgraden',
|
||||
alreadyHaveAccount: 'Bereits ein Konto? Anmelden',
|
||||
continueWithDemo: 'Mit Demo fortfahren',
|
||||
checkoutFailed: 'Bezahlvorgang fehlgeschlagen',
|
||||
},
|
||||
|
||||
// ── Save Search Modal ──────────────────────────────
|
||||
saveSearch: {
|
||||
title: 'Suche speichern',
|
||||
saved: 'Suche gespeichert',
|
||||
savedSuccess: 'Deine Suche wurde erfolgreich gespeichert.',
|
||||
viewSavedSearches: 'Gespeicherte Suchen ansehen',
|
||||
name: 'Name',
|
||||
namePlaceholder: 'Meine Suche',
|
||||
saving: 'Wird gespeichert...',
|
||||
},
|
||||
|
||||
// ── License Success ────────────────────────────────
|
||||
licenseSuccess: {
|
||||
title: 'Du bist dabei.',
|
||||
subtitle: 'Dein lebenslanger Zugang ist jetzt aktiv.',
|
||||
description:
|
||||
'Voller Zugang zu allen Funktionen, allen Postleitzahlen, in ganz England.',
|
||||
startExploring: 'Jetzt entdecken',
|
||||
},
|
||||
|
||||
// ── Filters ────────────────────────────────────────
|
||||
filters: {
|
||||
activeFilters: 'Aktive Filter',
|
||||
addFilter: 'Filter hinzuf\u00FCgen',
|
||||
historical: 'Historisch',
|
||||
buy: 'Kaufen',
|
||||
rent: 'Mieten',
|
||||
findingPerfectPostcode: 'Die perfekte Postleitzahl finden',
|
||||
addFiltersHint:
|
||||
'F\u00FCge unten Filter hinzu, um die Karte auf Gebiete einzugrenzen, die deinen Kriterien entsprechen',
|
||||
upgradePrompt:
|
||||
'Sieh Kriminalit\u00E4t, Schulen, L\u00E4rm, Breitband und 50+ weitere Filter f\u00FCr ganz England.',
|
||||
oneTimeLifetime: 'Einmalzahlung, lebenslanger Zugang.',
|
||||
upgradeToFullMap: 'Zur Vollversion upgraden',
|
||||
chooseFilters:
|
||||
'W\u00E4hle die Filter, die dir wichtig sind. Die Karte aktualisiert sich sofort.',
|
||||
searchFeatures: 'Filter durchsuchen...',
|
||||
noMatchingFeatures: 'Keine passenden Filter',
|
||||
tryDifferentSearch: 'Versuche einen anderen Suchbegriff',
|
||||
allFeaturesActive: 'Alle Filter sind aktiv',
|
||||
removeFilterHint: 'Entferne einen Filter, um verf\u00FCgbare Merkmale zu sehen',
|
||||
featureInfo: 'Filterinfo',
|
||||
replayTutorial: 'Interaktives Tutorial erneut abspielen',
|
||||
},
|
||||
|
||||
// ── Philosophy Popup ───────────────────────────────
|
||||
philosophy: {
|
||||
intro:
|
||||
'Beginne mit deinen Muss-Kriterien, dann f\u00FCge Kann-Kriterien hinzu. Die Karte grenzt sich ein, wenn du Filter hinzuf\u00FCgst. Die verbleibenden Gebiete sind deine besten Treffer.',
|
||||
step1Title: 'Budget und Grundlagen',
|
||||
step1Desc: '(Preisrahmen, Wohnfl\u00E4che, Immobilientyp)',
|
||||
step2Title: 'Pendelweg',
|
||||
step2Desc: '(Fahrzeit zum Arbeitsplatz mit Auto, Fahrrad oder \u00D6PNV)',
|
||||
step3Title: 'Sicherheit',
|
||||
step3Desc: '(Kriminalit\u00E4tsraten, L\u00E4rmpegel, Bodenstabilit\u00E4t)',
|
||||
step4Title: 'Schulen',
|
||||
step4Desc: '(nahe gelegene Schulen mit Ofsted-Bewertung Gut oder Hervorragend)',
|
||||
step5Title: 'Lebensstil',
|
||||
step5Desc: '(Restaurants, Parks, Breitbandgeschwindigkeit)',
|
||||
step6Title: 'Energie',
|
||||
step6Desc: '(EPC-Bewertungen, D\u00E4mmung, Heizkosten)',
|
||||
tip: 'Tipp: Wenn nichts passt, lockere eine Bedingung nach der anderen, um zu sehen, welcher Kompromiss die meisten Optionen er\u00F6ffnet.',
|
||||
},
|
||||
|
||||
// ── Travel Time ────────────────────────────────────
|
||||
travel: {
|
||||
travelTime: 'Reisezeit ({{mode}})',
|
||||
maxTime: 'Maximale Zeit',
|
||||
selectDestination: 'Ziel ausw\u00E4hlen...',
|
||||
bestCase: 'Bestfall',
|
||||
bestCaseTitle: 'Bestm\u00F6gliche Reisezeit',
|
||||
bestCaseDesc:
|
||||
'Verwendet die schnellste realistische Reisezeit (bei guter Abfahrtsplanung und guten Anschl\u00FCssen). Standard ist der <strong>Median</strong>, der eine typische Fahrt unabh\u00E4ngig vom Abfahrtszeitpunkt darstellt.',
|
||||
previewOnMap: 'Auf Karte anzeigen',
|
||||
stopPreviewing: 'Vorschau beenden',
|
||||
removeTravelTime: 'Reisezeit entfernen',
|
||||
addTravelTime: '{{mode}}-Reisezeit hinzuf\u00FCgen',
|
||||
clearDestination: 'Ziel l\u00F6schen',
|
||||
typeToFilter: 'Tippen zum Filtern...',
|
||||
noDestinations: 'Keine Ziele gefunden',
|
||||
modeCar: 'Auto',
|
||||
modeBicycle: 'Fahrrad',
|
||||
modeWalking: 'Zu Fu\u00DF',
|
||||
modeTransit: '\u00D6PNV',
|
||||
modeCarDesc: 'Fahrzeit \u00FCber die schnellste Stra\u00DFenroute',
|
||||
modeBicycleDesc: 'Radfahrzeit auf fahrradfreundlichen Strecken',
|
||||
modeWalkingDesc: 'Gehzeit \u00FCber Fu\u00DFwege und B\u00FCrgersteige',
|
||||
modeTransitDesc: 'Reisezeit mit Bahn, U-Bahn und Bus',
|
||||
},
|
||||
|
||||
// ── Travel Time Info Popup ─────────────────────────
|
||||
travelInfo: {
|
||||
transitDesc:
|
||||
' mit \u00F6ffentlichen Verkehrsmitteln (Bus, Bahn, U-Bahn). Die Zeiten werden \u00FCber ein typisches Werktags-Morgenfenster berechnet.',
|
||||
carDesc:
|
||||
' mit dem Auto, basierend auf typischen Stra\u00DFengeschwindigkeiten und dem Stra\u00DFennetz.',
|
||||
bicycleDesc: ' mit dem Fahrrad, auf fahrradfreundlichen Strecken.',
|
||||
walkingDesc: ' zu Fu\u00DF, \u00FCber Fu\u00DFwege und B\u00FCrgersteige.',
|
||||
mainDesc:
|
||||
'Zeigt, wie lange es dauert, das ausgew\u00E4hlte Ziel von jedem Gebiet aus zu erreichen',
|
||||
sliderHint:
|
||||
'Verwende den Schieberegler, um deine maximale Pendelzeit festzulegen.',
|
||||
},
|
||||
|
||||
// ── AI Filter ──────────────────────────────────────
|
||||
aiFilter: {
|
||||
describeIdealArea: 'Beschreibe dein Wunschgebiet mit KI',
|
||||
aiSearch: 'KI-Suche',
|
||||
describeHint: 'beschreibe, wonach du suchst',
|
||||
placeholder: 'z.\u00A0B. ruhige Gegend, unter \u00A3400k, nahe guten Schulen...',
|
||||
example1: 'Sichere Gegend nahe guten Schulen',
|
||||
example2: '30 Min. Pendelweg zu Kings Cross, unter \u00A3500k',
|
||||
example3: 'Ruhiges Dorf, 3 Schlafzimmer, schnelles Breitband',
|
||||
analysing: 'Anfrage wird analysiert...',
|
||||
searchingDestinations: 'Ziele werden gesucht...',
|
||||
generatingFilters: 'Filter werden generiert...',
|
||||
refiningResults: 'Ergebnisse werden verfeinert...',
|
||||
weeklyLimitReached:
|
||||
'Du hast das w\u00F6chentliche KI-Nutzungslimit erreicht. Es wird n\u00E4chste Woche automatisch zur\u00FCckgesetzt.',
|
||||
},
|
||||
|
||||
// ── Map Legend ─────────────────────────────────────
|
||||
mapLegend: {
|
||||
clearColourView: 'Farbansicht zur\u00FCcksetzen',
|
||||
},
|
||||
|
||||
// ── Properties Pane ────────────────────────────────
|
||||
propertyCard: {
|
||||
unknownAddress: 'Unbekannte Adresse',
|
||||
unsaveProperty: 'Immobilie nicht mehr merken',
|
||||
saveProperty: 'Immobilie merken',
|
||||
lastSold: 'Letzter Verkauf: \u00A3{{price}}',
|
||||
estValue: 'Gesch. Wert:',
|
||||
type: 'Typ:',
|
||||
builtForm: 'Bauweise:',
|
||||
tenure: 'Besitzart:',
|
||||
floorArea: 'Wohnfl\u00E4che:',
|
||||
bedrooms: 'Schlafzimmer:',
|
||||
bathrooms: 'Badezimmer:',
|
||||
rooms: 'Zimmer:',
|
||||
built: 'Baujahr:',
|
||||
epcRating: 'EPC-Bewertung:',
|
||||
epcPotential: 'EPC-Potenzial:',
|
||||
listed: 'Inseriert:',
|
||||
keyFeatures: 'Hauptmerkmale',
|
||||
renovations: 'Renovierungen',
|
||||
viewExternalListing: 'Externes Inserat ansehen',
|
||||
perMonth: '/Monat',
|
||||
perSqm: '/m\u00B2',
|
||||
searchPlaceholder: 'Nach Adresse oder Postleitzahl suchen...',
|
||||
propertyData: 'Immobiliendaten',
|
||||
propertyDataDesc:
|
||||
'Preise stammen vom HM Land Registry (was K\u00E4ufer tats\u00E4chlich bezahlt haben). Wohnfl\u00E4che, Energiebewertungen, Baujahr und Besitzart stammen aus offiziellen EPC-Gutachten. Beide Quellen werden nach Adresse innerhalb jeder Postleitzahl abgeglichen.',
|
||||
},
|
||||
|
||||
// ── Area Pane ──────────────────────────────────────
|
||||
areaPane: {
|
||||
areaStatistics: 'Gebietsstatistiken',
|
||||
statsFor: 'Statistiken f\u00FCr alle Immobilien in diesem {{type}}',
|
||||
matchingFilters: ', die allen aktiven Filtern entsprechen',
|
||||
viewProperties: '{{count}} Immobilien ansehen',
|
||||
priceHistory: 'Preisentwicklung',
|
||||
journeysFrom: 'Verbindungen ab {{label}}',
|
||||
to: 'Nach {{destination}}',
|
||||
noJourneyData: 'Keine Verbindungsdaten verf\u00FCgbar',
|
||||
viewOnGoogleMaps: 'Auf Google Maps ansehen',
|
||||
walk: 'Zu Fu\u00DF',
|
||||
cycle: 'Fahrrad',
|
||||
},
|
||||
|
||||
// ── Histogram Legend ───────────────────────────────
|
||||
histogramLegend: {
|
||||
tealBars: 'T\u00FCrkise Balken',
|
||||
tealBarsDesc: 'zeigen die Verteilung im ausgew\u00E4hlten Gebiet',
|
||||
greyBars: 'Graue Balken',
|
||||
greyBarsDesc: 'zeigen die Gesamtverteilung \u00FCber alle Gebiete',
|
||||
dashedLine: 'Gestrichelte Linie',
|
||||
dashedLineDesc: 'zeigt den landesweiten Durchschnitt',
|
||||
},
|
||||
|
||||
// ── Street View ────────────────────────────────────
|
||||
streetView: {
|
||||
title: 'Street View',
|
||||
},
|
||||
|
||||
// ── POI Pane ───────────────────────────────────────
|
||||
poiPane: {
|
||||
pois: 'POIs',
|
||||
pointsOfInterest: 'Sehensw\u00FCrdigkeiten & Einrichtungen',
|
||||
poiDescription:
|
||||
'Daten von OpenStreetMap. Umfasst Haltestellen, Gesch\u00E4fte, Restaurants, Gesundheitseinrichtungen, Freizeit und mehr. Regelm\u00E4\u00DFig aktualisiert mit vollst\u00E4ndiger Kategorieabdeckung.',
|
||||
searchCategories: 'Kategorien durchsuchen...',
|
||||
dataSourceInfo: 'Datenquelleninfo',
|
||||
},
|
||||
|
||||
// ── External Search Links ──────────────────────────
|
||||
externalSearch: {
|
||||
searchOn: '{{radius}} suchen auf',
|
||||
outcodeNotRecognised: 'Postleitzahlenbereich nicht erkannt',
|
||||
},
|
||||
|
||||
// ── Location Search ────────────────────────────────
|
||||
locationSearch: {
|
||||
placeholder: 'Orte oder Postleitzahlen suchen...',
|
||||
postcodeNotFound: 'Postleitzahl nicht gefunden',
|
||||
lookupFailed: 'Suche fehlgeschlagen',
|
||||
searchLabel: 'Orte oder Postleitzahlen suchen',
|
||||
locateMe: 'Zu meinem Standort',
|
||||
geolocationUnsupported: 'Geolokalisierung wird von Ihrem Browser nicht unterstützt',
|
||||
geolocationFailed: 'Standort konnte nicht ermittelt werden',
|
||||
},
|
||||
|
||||
// ── Mobile Drawer ──────────────────────────────────
|
||||
mobileDrawer: {
|
||||
closeDrawer: 'Schublade schlie\u00DFen',
|
||||
},
|
||||
|
||||
// ── Home Page ──────────────────────────────────────
|
||||
home: {
|
||||
heroTitle1: 'Maximaler',
|
||||
heroTitle2: 'Wert',
|
||||
heroTitle3: 'Minimale Kompromisse.',
|
||||
heroSubtitle:
|
||||
'Auf Immobiliensuche? Mach aus deiner gr\u00F6\u00DFten Investition deine kl\u00FCgste Entscheidung.',
|
||||
heroDescription:
|
||||
'So viele M\u00F6glichkeiten \u2014 die richtige Wahl kann \u00FCberw\u00E4ltigend sein. Unsere interaktive Karte macht es einfach: W\u00E4hle deine Muss-Kriterien und sieh sofort die passenden Gebiete.',
|
||||
exploreTheMap: 'Karte entdecken',
|
||||
seeTheDifference: 'Den Unterschied sehen',
|
||||
statProperties: 'Immobilien',
|
||||
statFilters: 'Filter',
|
||||
statEvery: 'Jede',
|
||||
statPostcodeInEngland: 'Postleitzahl in England',
|
||||
ourPhilosophy: 'Unsere Philosophie',
|
||||
philosophyP1:
|
||||
'Auf Rightmove w\u00E4hlt man zuerst ein Gebiet und hofft, dass es gut ist. Am Ende vergleicht man Kriminalit\u00E4tsstatistiken, Schulberichte und Breitband-Checker in einem Dutzend Tabs, eine Postleitzahl nach der anderen.',
|
||||
philosophyP2:
|
||||
'Wir drehen das um. Sag uns, was du brauchst (Budget, Pendelweg, Schulen, Sicherheit), und wir zeigen dir jedes Gebiet in England, das passt. Kein Raten. Keine verschwendeten Besichtigungen.',
|
||||
howToUseIt: 'So funktioniert es',
|
||||
howStep1Title: 'Lege deine Muss-Kriterien fest',
|
||||
howStep1Desc: 'Budget, Pendelweg, Schulen \u2014 die Karte zeigt nur, was passt.',
|
||||
howStep2Title: 'Entdecke Gebiete und versteckte Perlen',
|
||||
howStep2Desc: 'Zoom rein, schau dir Details und Kann-Kriterien an.',
|
||||
howStep3Title: 'Einzelne Postleitzahlen erkunden',
|
||||
howStep3Desc:
|
||||
'Sieh einzelne Immobilien, Verkaufspreise, Wohnfl\u00E4chen und vergleiche.',
|
||||
howStep4Title: 'Engere Auswahl mit Zuversicht',
|
||||
howStep4Desc:
|
||||
'Jedes Gebiet auf deiner Liste erf\u00FCllt deine tats\u00E4chlichen Kriterien \u2014 nicht nur, was diese Woche inseriert war.',
|
||||
othersVs: 'Andere vs',
|
||||
listingPortals: 'Immobilienportale',
|
||||
checkMyPostcode: '\u201EMeine Postleitzahl pr\u00FCfen\u201C',
|
||||
areaGuides: 'Gebietsratgeber',
|
||||
compSearchWithout: 'Suchen, ohne zuerst ein Gebiet auszuw\u00E4hlen',
|
||||
compSearchWithoutSub: '(starte mit Bed\u00FCrfnissen, nicht mit einem Ort)',
|
||||
compAreaData: 'Gebietsdaten',
|
||||
compAreaDataSub: '(Kriminalit\u00E4t, Schulen, L\u00E4rm, Breitband)',
|
||||
compPropertyData: 'Immobilienspezifische Daten',
|
||||
compPropertyDataSub: '(Preis, EPC, Wohnfl\u00E4che)',
|
||||
compFilters: '56 kombinierbare Filter an einem Ort',
|
||||
compFiltersSub: '(alle Einblicke, eine interaktive Karte)',
|
||||
ctaTitle:
|
||||
'Mach aus deiner gr\u00F6\u00DFten Investition deine kl\u00FCgste\u00A0Entscheidung.',
|
||||
ctaDescription:
|
||||
'Das verdient die richtigen Werkzeuge \u2014 \u00FCberlass es nicht dem Zufall.',
|
||||
},
|
||||
|
||||
// ── Pricing Page ───────────────────────────────────
|
||||
pricingPage: {
|
||||
title: 'Fr\u00FChzugangspreis',
|
||||
subtitle:
|
||||
'Einmal zahlen, f\u00FCr immer nutzen. Je fr\u00FCher du dabei bist, desto weniger zahlst du.',
|
||||
costContext:
|
||||
'Ein Hauskauf kostet \u00A310.000+ an Grunderwerbsteuer, \u00A31.500 an Anwaltsgeb\u00FChren, \u00A3500 f\u00FCr ein Gutachten. W\u00E4hlst du das falsche Gebiet, steckst du mit einem langen Pendelweg, schlechten Schulen oder einer Stra\u00DFe fest, von der du nichts wusstest.',
|
||||
lessThanSurvey: 'Weniger als ein Hausgutachten. Deutlich n\u00FCtzlicher.',
|
||||
currentTier: 'Aktuelle Stufe',
|
||||
firstNUsers: 'Erste {{count}} Nutzer',
|
||||
everyoneAfter: 'Alle danach',
|
||||
nextNUsers: 'N\u00E4chste {{count}} Nutzer',
|
||||
lifetime: '/lebenslang',
|
||||
spotsRemaining: '{{count}} Platz verbleibend',
|
||||
spotsRemainingPlural: '{{count}} Pl\u00E4tze verbleibend',
|
||||
filled: 'Vergeben',
|
||||
openDashboard: '\u00DCbersicht \u00F6ffnen',
|
||||
getStarted: 'Jetzt starten',
|
||||
getStartedPrice: 'Jetzt starten \u2014 {{price}}',
|
||||
noCreditCard: 'Keine Kreditkarte erforderlich',
|
||||
moneyBackGuarantee: '30 Tage Geld-zur\u00FCck-Garantie',
|
||||
soldOut: 'Ausverkauft',
|
||||
upcoming: 'Demn\u00E4chst',
|
||||
failedToLoad:
|
||||
'Preise konnten nicht geladen werden. Bitte sp\u00E4ter erneut versuchen.',
|
||||
feat1: '56 Datenebenen f\u00FCr ganz England',
|
||||
feat2: 'Jede Postleitzahl bewertet und filterbar',
|
||||
feat3: 'Unbegrenztes Erkunden der Karte und Exporte',
|
||||
feat4: 'Mehrere Jahrzehnte historischer Preisdaten',
|
||||
feat5: 'Kriminalit\u00E4t, Schulen, Verkehr, Breitband und mehr',
|
||||
feat6: 'Alle zuk\u00FCnftigen Datenaktualisierungen inklusive',
|
||||
},
|
||||
|
||||
// ── Learn Page ─────────────────────────────────────
|
||||
learnPage: {
|
||||
faq: 'H\u00E4ufige Fragen',
|
||||
dataSources: 'Datenquellen',
|
||||
support: 'Support',
|
||||
dataSourcesIntro: 'Diese Anwendung kombiniert {{count}} offene Datens\u00E4tze zu Immobilienpreisen, Energieeffizienz, Verkehr, Demografie, Kriminalit\u00E4t, Umwelt und mehr.',
|
||||
faqIntro: 'Ob Sie kaufen, mieten oder einfach nur st\u00F6bern \u2013 so hilft Ihnen Perfect Postcode, das richtige Gebiet zu finden.',
|
||||
supportIntro: 'Haben Sie eine Frage? Schauen Sie in unsere FAQ oder kontaktieren Sie uns direkt.',
|
||||
source: 'Quelle:',
|
||||
optOut: 'Widerspruch gegen \u00F6ffentliche Offenlegung',
|
||||
attribution: 'Quellenangaben',
|
||||
attrLandRegistry: 'Enth\u00E4lt Daten des HM Land Registry \u00A9 Crown copyright and database right 2025.',
|
||||
attrOgl: 'Enth\u00E4lt \u00F6ffentliche Informationen lizenziert unter der',
|
||||
attrOglLink: 'Open Government Licence v3.0',
|
||||
attrOs: 'Enth\u00E4lt OS-Daten \u00A9 Crown copyright and database rights 2025.',
|
||||
attrTfl: 'Betrieben mit TfL Open Data.',
|
||||
attrOsm: 'Enth\u00E4lt Daten von',
|
||||
attrOsmContrib: '\u00A9 OpenStreetMap contributors',
|
||||
attrOsmLicense: 'verf\u00FCgbar unter der',
|
||||
attrOsmLicenseLink: 'Open Data Commons Open Database License (ODbL)',
|
||||
// Data source names & descriptions
|
||||
dsPricePaidName: 'Price Paid Data',
|
||||
dsPricePaidOrigin: 'HM Land Registry',
|
||||
dsPricePaidUse: 'Vollst\u00E4ndige historische Immobilien-Verkaufspreise f\u00FCr England.',
|
||||
dsEpcName: 'Energy Performance Certificates (EPC)',
|
||||
dsEpcOrigin: 'Ministry of Housing, Communities & Local Government',
|
||||
dsEpcUse: 'Energieausweise f\u00FCr Wohngeb\u00E4ude mit Angaben zu Wohnfl\u00E4che, Zimmeranzahl, Baujahr, Energiebewertungen, Immobilientyp und Bauform. \u00DCber Adresse innerhalb jeder Postleitzahl mit Price-Paid-Daten verkn\u00FCpft. Eigent\u00FCmer k\u00F6nnen der \u00F6ffentlichen Offenlegung widersprechen.',
|
||||
dsNsplName: 'National Statistics Postcode Lookup (NSPL)',
|
||||
dsNsplOrigin: 'ONS / ArcGIS',
|
||||
dsNsplUse: 'Ordnet Postleitzahlen Koordinaten und statistischen Gebietscodes zu, um alle gebietsbezogenen Datens\u00E4tze mit einzelnen Immobilien zu verkn\u00FCpfen.',
|
||||
dsIodName: 'English Indices of Deprivation 2025',
|
||||
dsIodOrigin: 'Ministry of Housing, Communities & Local Government',
|
||||
dsIodUse: 'Relative Benachteiligungswerte f\u00FCr Einkommen, Besch\u00E4ftigung, Bildung, Gesundheit, Kriminalit\u00E4t und Wohnumfeld f\u00FCr jedes Viertel in England.',
|
||||
dsEthnicityName: 'Bev\u00F6lkerung nach Ethnie (Zensus 2021)',
|
||||
dsEthnicityOrigin: 'ONS',
|
||||
dsEthnicityUse: 'Bev\u00F6lkerungsanteile nach ethnischer Gruppe (s\u00FCdasiatisch, ostasiatisch, schwarz, gemischt, wei\u00DF, andere) pro Bezirk.',
|
||||
dsCrimeName: 'Street-level Crime Data',
|
||||
dsCrimeOrigin: 'data.police.uk',
|
||||
dsCrimeUse: 'Kriminalit\u00E4tsdaten auf Stra\u00DFenebene von 2023 bis 2025, aggregiert als Jahresdurchschnitte nach LSOA und Deliktsart (Gewalt, Einbruch, antisoziales Verhalten, Drogen, Fahrzeugkriminalit\u00E4t usw.).',
|
||||
dsOsmName: 'OpenStreetMap POIs',
|
||||
dsOsmOrigin: 'OpenStreetMap contributors / Geofabrik',
|
||||
dsOsmUse: 'Sehensw\u00FCrdigkeiten und Einrichtungen wie Gesch\u00E4fte, Restaurants, Gesundheitseinrichtungen, Freizeit, Tourismus und mehr in ganz Gro\u00DFbritannien.',
|
||||
dsGreenspaceName: 'OS Open Greenspace',
|
||||
dsGreenspaceOrigin: 'Ordnance Survey',
|
||||
dsGreenspaceUse: 'Offizielle Gr\u00FCnfl\u00E4chengrenzen f\u00FCr Gro\u00DFbritannien, einschlie\u00DFlich \u00F6ffentlicher Parks, G\u00E4rten, Sportpl\u00E4tze und Spielpl\u00E4tze. Polygon-Schwerpunkte werden f\u00FCr die Parkn\u00E4hez\u00E4hlung und Entfernungsberechnung zum n\u00E4chsten Park verwendet.',
|
||||
dsNaptanName: 'NaPTAN (Public Transport Stops)',
|
||||
dsNaptanOrigin: 'Department for Transport',
|
||||
dsNaptanUse: 'Standorte von Bahnh\u00F6fen und Haltestellen f\u00FCr Bahn, Bus, U-Bahn/Stra\u00DFenbahn, F\u00E4hre und Flugh\u00E4fen in ganz England.',
|
||||
dsNoiseName: 'Defra Noise Mapping',
|
||||
dsNoiseOrigin: 'Defra / Environment Agency',
|
||||
dsNoiseUse: 'Stra\u00DFenl\u00E4rmpegel (24-Stunden-gewichteter Durchschnitt) aus der strategischen L\u00E4rmkartierung 2022, hochaufl\u00F6send modelliert und an jeder Postleitzahl abgetastet.',
|
||||
dsOfstedName: 'Ofsted School Inspections',
|
||||
dsOfstedOrigin: 'Ofsted',
|
||||
dsOfstedUse: 'Neueste Inspektionsergebnisse f\u00FCr staatlich finanzierte Schulen (Stand April 2025). Pro Postleitzahl gemittelt f\u00FCr einen lokalen Schulqualit\u00E4tswert (1=Hervorragend bis 4=Unzureichend).',
|
||||
dsBroadbandName: 'Ofcom Broadband Performance',
|
||||
dsBroadbandOrigin: 'Ofcom',
|
||||
dsBroadbandUse: 'Festnetz-Breitbandabdeckung und maximale Download-Geschwindigkeiten nach Gebiet aus Ofcom Connected Nations 2025.',
|
||||
dsCouncilTaxName: 'Council Tax Levels 2025-26',
|
||||
dsCouncilTaxOrigin: 'Ministry of Housing, Communities & Local Government',
|
||||
dsCouncilTaxUse: 'J\u00E4hrliche Council-Tax-S\u00E4tze f\u00FCr die Stufen A bis H f\u00FCr alle 296 Abrechnungsbeh\u00F6rden in England, f\u00FCr eine von zwei Erwachsenen bewohnte Immobilie. \u00DCber den Bezirkscode aus dem NSPL-Postleitzahlenverzeichnis mit Immobilien verkn\u00FCpft.',
|
||||
dsRentalName: 'Private Rental Market Statistics',
|
||||
dsRentalOrigin: 'ONS / Valuation Office Agency',
|
||||
dsRentalUse: 'Monatliche Medianmieten des privaten Mietmarkts nach Bezirk und Schlafzimmerkategorie (Okt. 2022 - Sept. 2023). \u00DCber Bezirkscode und gesch\u00E4tzte Schlafzimmeranzahl mit Immobilien verkn\u00FCpft.',
|
||||
// FAQ section titles
|
||||
faqFindingTitle: 'Ihr Gebiet finden',
|
||||
faqCommuteTitle: 'Pendelweg und Reisezeit',
|
||||
faqBudgetTitle: 'Budget und Preis-Leistung',
|
||||
faqSafetyTitle: 'Sicherheit und Nachbarschaft',
|
||||
faqFamiliesTitle: 'Familien und Schulen',
|
||||
faqEnvironmentTitle: 'Umwelt und Lebensqualit\u00E4t',
|
||||
faqWhyTitle: 'Warum Perfect Postcode',
|
||||
faqPricingTitle: 'Preise und Zugang',
|
||||
faqTipsTitle: 'Tipps und Tricks',
|
||||
// FAQ items — Finding Your Area
|
||||
faqFinding1Q: 'Ich wei\u00DF nicht einmal, welche Gebiete ich mir ansehen soll. Kann mir das helfen?',
|
||||
faqFinding1A: 'Genau daf\u00FCr ist es da. Legen Sie Ihre Filter fest (Budget, Pendelzeit, geringe Kriminalit\u00E4t, gute Schulen) und die Karte leuchtet auf, um Ihnen jedes Gebiet zu zeigen, das alle Kriterien erf\u00FCllt. Kein n\u00E4chtliches Googeln nach \u201Ebeste Wohngegenden bei Manchester\u201C mehr.',
|
||||
faqFinding2Q: 'Ich ziehe irgendwohin, wo ich noch nie war. Wie fange ich \u00FCberhaupt an?',
|
||||
faqFinding2A: 'Stellen Sie Ihre Filter f\u00FCr das ein, was Ihnen wichtig ist, und die Karte hebt sofort die passenden Gebiete hervor. Sie gehen von \u201EIch kenne keine einzige Stra\u00DFe\u201C zu einer Auswahlliste in wenigen Minuten.',
|
||||
faqFinding3Q: 'Wie finde ich Gebiete, die alle meine Kriterien gleichzeitig erf\u00FCllen?',
|
||||
faqFinding3A: 'Kombinieren Sie mehrere Filter (Kriminalit\u00E4t unter dem Durchschnitt, gute Schulen, Pendelweg unter 40 Minuten) und f\u00E4rben Sie die Karte nach Preis, um die Gebiete mit dem besten Preis-Leistungs-Verh\u00E4ltnis zu finden. Die Karte aktualisiert sich in Echtzeit, wenn Sie die Regler bewegen.',
|
||||
// FAQ items — Commute and Travel
|
||||
faqCommute1Q: 'Kann ich sehen, wie lange mein Pendelweg aus verschiedenen Gebieten tats\u00E4chlich dauern w\u00FCrde?',
|
||||
faqCommute1A: 'Legen Sie Ihren Arbeitsplatz als Ziel fest und wir f\u00E4rben jede Postleitzahl nach Fahrzeit \u2013 ob mit Auto, Fahrrad oder \u00F6ffentlichen Verkehrsmitteln. Filtern Sie nach Ihrer maximalen Pendelzeit und der Rest verschwindet.',
|
||||
faqCommute2Q: 'Wie ist das besser als Google Maps?',
|
||||
faqCommute2A: 'Google Maps zeigt Ihnen eine Fahrt auf einmal. Wir f\u00E4rben jede Postleitzahl in England nach Pendelzeit in einem Blick, sodass Sie Hunderte von Gebieten nebeneinander vergleichen k\u00F6nnen, anstatt sie einzeln zu suchen.',
|
||||
// FAQ items — Budget and Value
|
||||
faqBudget1Q: 'Wie finde ich Gebiete, in denen ich am meisten Wohnfl\u00E4che f\u00FCr mein Geld bekomme?',
|
||||
faqBudget1A: 'Filtern Sie nach Preis pro m\u00B2 und Sie sehen sofort, welche Postleitzahlen am meisten Fl\u00E4che pro Pfund bieten. Kombinieren Sie es mit dem Energiebewertungsfilter, um Immobilien mit hohen Heizkosten zu vermeiden.',
|
||||
faqBudget2Q: 'Wie stelle ich sicher, dass ein g\u00FCnstiges Gebiet nicht aus gutem Grund g\u00FCnstig ist?',
|
||||
faqBudget2A: 'Legen Sie Benachteiligungswerte, Kriminalit\u00E4tsstatistiken, Schulbewertungen und Breitbandgeschwindigkeiten neben den Preis. Wenn eine Postleitzahl erschwinglich ist und bei allem, was z\u00E4hlt, gut abschneidet, haben Sie echten Wert gefunden \u2013 nicht nur einen niedrigen Preis mit Kompromissen, die Sie noch nicht bemerkt haben.',
|
||||
// FAQ items — Safety and Neighbourhood
|
||||
faqSafety1Q: 'Wie kann ich pr\u00FCfen, ob ein Gebiet sicher ist, bevor ich dorthin ziehe?',
|
||||
faqSafety1A: 'Wir \u00FCberlagern echte polizeilich erfasste Kriminalit\u00E4tsdaten, aufgeschl\u00FCsselt nach Art, \u00FCber jedes Viertel in England. Filtern Sie nach Gewaltkriminalit\u00E4t, Einbruch oder antisozialem Verhalten und sehen Sie sofort, welche Postleitzahlen die niedrigsten Zahlen haben.',
|
||||
faqSafety2Q: 'Ich finde st\u00E4ndig Wohnungen, die online toll aussehen, aber dann stellt sich die Gegend als schwierig heraus.',
|
||||
faqSafety2A: 'Genau daf\u00FCr gibt es dieses Tool. Kombinieren Sie Kriminalit\u00E4tsraten, L\u00E4rmpegel, Benachteiligungswerte, Pubs und Parks in der N\u00E4he sowie Breitbandgeschwindigkeiten auf einer Karte, damit Sie wissen, wie ein Viertel wirklich ist, bevor Sie eine Besichtigung buchen.',
|
||||
// FAQ items — Families and Schools
|
||||
faqFamilies1Q: 'Kann ich Gebiete mit guten Schulen UND geringer Kriminalit\u00E4t in einer Suche finden?',
|
||||
faqFamilies1A: 'Ja. Kombinieren Sie Filter f\u00FCr Ofsted-Bewertungen, Kriminalit\u00E4tsraten, Parks und alles andere, was f\u00FCr Ihre Familie wichtig ist, und die Karte hebt nur die Gebiete hervor, die alles erf\u00FCllen. Kein Abgleich \u00FCber f\u00FCnf verschiedene Websites mehr.',
|
||||
faqFamilies2Q: 'Woher wei\u00DF ich, ob ein Viertel Parks und Spielpl\u00E4tze in der N\u00E4he hat?',
|
||||
faqFamilies2A: 'Schalten Sie die POI-Ebene f\u00FCr Parks und Gr\u00FCnfl\u00E4chen ein, um sie direkt auf der Karte zu sehen. Sie k\u00F6nnen auch nach der Anzahl der fu\u00DFl\u00E4ufig erreichbaren Parks pro Postleitzahl filtern.',
|
||||
// FAQ items — Environment and Quality of Life
|
||||
faqEnv1Q: 'Kann ich energieeffiziente Wohnungen finden, die nicht an einer lauten Stra\u00DFe liegen?',
|
||||
faqEnv1A: 'Filtern Sie nach EPC-Bewertung (A bis C), dann \u00FCberlagern Sie die Stra\u00DFenl\u00E4rmdaten, um alles \u00FCber Ihrem Schwellenwert auszuschlie\u00DFen. F\u00E4rben Sie nach einem der beiden Kriterien, um ruhige, effiziente Stra\u00DFen auf einen Blick zu erkennen.',
|
||||
faqEnv2Q: 'Zeigt es Hochwasser- oder Senkungsrisiken?',
|
||||
faqEnv2A: 'Wir integrieren Bodenstabilit\u00E4tsdaten, damit Sie vor dem Kauf auf Senkungen, Schrumpf-Quell-Tone und andere geologische Risiken pr\u00FCfen k\u00F6nnen. Schlie\u00DFen Sie Risikogebiete fr\u00FChzeitig aus.',
|
||||
faqEnv3Q: 'Kann ich Gebiete mit schnellem Breitband finden, die wirklich ruhig sind?',
|
||||
faqEnv3A: '\u00DCberlagern Sie den Breitbandfilter mit den Stra\u00DFenl\u00E4rmdaten, um Stra\u00DFen mit guter Anbindung und wenig Verkehrsl\u00E4rm zu finden. F\u00E4rben Sie nach einem der beiden Kriterien, um Gebiete auf einen Blick zu vergleichen.',
|
||||
// FAQ items — Why Perfect Postcode
|
||||
faqWhy1Q: 'Ich benutze bereits Rightmove. Was bringt mir das zus\u00E4tzlich?',
|
||||
faqWhy1A: 'Rightmove zeigt Ihnen H\u00E4user. Wir zeigen Ihnen Gebiete. Kriminalit\u00E4tsraten, Schulbewertungen, Breitbandgeschwindigkeiten, L\u00E4rmpegel, Benachteiligungswerte und mehr \u2013 alles filterbar auf einer Karte. Sie k\u00F6nnen ein Viertel beurteilen, bevor Sie sich die Angebote ansehen.',
|
||||
faqWhy2Q: 'Kann ich das nicht alles kostenlos selbst recherchieren?',
|
||||
faqWhy2A: 'Sie k\u00F6nnten Polizeidaten, Ofsted-Berichte, EPC-Register, Land-Registry-Eintr\u00E4ge und ONS-Statistiken eine Postleitzahl nach der anderen abgleichen. Oder Sie haben alles filterbar und farbkodiert auf einer Karte in Sekunden.',
|
||||
faqWhy3Q: 'Woher stammen die Daten tats\u00E4chlich?',
|
||||
faqWhy3A: 'Jeder Datensatz stammt aus offiziellen britischen Regierungsquellen: Land Registry, EPC-Register, ONS, Ofsted, Ofcom, data.police.uk und Defra. Wir scrapen keine Makler und erfinden nichts. Sie k\u00F6nnen jeden Eintrag anhand der Originalquelle \u00FCberpr\u00FCfen.',
|
||||
// FAQ items — Pricing and Access
|
||||
faqPricing1Q: 'Lohnt es sich wirklich, f\u00FCr ein Immobilien-Suchtool zu bezahlen?',
|
||||
faqPricing1A: 'Ein Hauskauf ist wahrscheinlich die gr\u00F6\u00DFte Anschaffung Ihres Lebens. Ein einziges Warnsignal zu erkennen (eine laute Stra\u00DFe, schlechtes Breitband, steigende Kriminalit\u00E4t) bevor Sie sich festlegen, k\u00F6nnte Ihnen Jahre des Bedauerns ersparen. Das kostet weniger als eine Tankf\u00FCllung.',
|
||||
faqPricing2Q: 'Ist das ein Abonnement?',
|
||||
faqPricing2A: 'Nein. Einmalzahlung, Ihres f\u00FCr immer. Nutzen Sie es intensiv w\u00E4hrend Ihrer Suche, kommen Sie zur\u00FCck, wenn Sie neugierig auf ein neues Gebiet sind, und es ist immer noch da, falls Sie erneut umziehen.',
|
||||
faqPricing3Q: 'Was kann ich mit der kostenlosen Version nutzen?',
|
||||
faqPricing3A: 'Kostenlose Nutzer k\u00F6nnen alle Funktionen im Demogebiet erkunden (Innenstadt London, ungef\u00E4hr Zonen 1 bis 2). F\u00FCr den Zugang zu Daten f\u00FCr den Rest Englands ben\u00F6tigen Sie den lebenslangen Zugang.',
|
||||
faqPricing4Q: 'Kann ich eine R\u00FCckerstattung erhalten?',
|
||||
faqPricing4A: 'Selbstverst\u00E4ndlich. Wir bieten eine 30-Tage-Geld-zur\u00FCck-Garantie. Wenn Sie nicht zufrieden sind, schreiben Sie innerhalb von 30 Tagen an support@perfect-postcode.co.uk f\u00FCr eine vollst\u00E4ndige R\u00FCckerstattung.',
|
||||
// FAQ items — Tips and Tricks
|
||||
faqTips1Q: 'Wie nutze ich den KI-Filter, anstatt Filter einzeln hinzuzuf\u00FCgen?',
|
||||
faqTips1A: 'Beschreiben Sie, was Sie suchen, z.\u00A0B. \u201Eruhige Gegend nahe guten Schulen mit schnellem Breitband unter \u00A3400k\u201C, und die KI richtet alle relevanten Filter auf einmal ein. Passen Sie danach manuell an.',
|
||||
faqTips2Q: 'Kann ich eine Suche speichern und sp\u00E4ter darauf zur\u00FCckkommen?',
|
||||
faqTips2A: 'Klicken Sie auf Speichern und alles wird erfasst: Ihre Filter, die Zoomstufe und die angezeigte Datenebene. Machen Sie genau dort weiter, wo Sie aufgeh\u00F6rt haben, oder teilen Sie den Link mit Ihrem Partner.',
|
||||
faqTips3Q: 'Kann ich die angezeigten Daten exportieren?',
|
||||
faqTips3A: 'Nutzen Sie den Export-Button, um die aktuell gefilterten Immobilien als Tabelle herunterzuladen. Der Export ber\u00FCcksichtigt alle aktiven Filter, sodass Sie genau die gew\u00FCnschten Daten erhalten.',
|
||||
},
|
||||
|
||||
// ── Account Page ───────────────────────────────────
|
||||
accountPage: {
|
||||
emailLabel: 'E-Mail',
|
||||
subscriptionLabel: 'Abonnement',
|
||||
upgrade: 'Upgraden',
|
||||
redirecting: 'Weiterleitung\u2026',
|
||||
receiveNewsletter: 'Newsletter-E-Mails erhalten',
|
||||
needHelp: 'Brauchst du Hilfe? Schreib uns an',
|
||||
responseTime: 'Wir antworten in der Regel innerhalb von 24 Stunden.',
|
||||
},
|
||||
|
||||
// ── Saved Page ─────────────────────────────────────
|
||||
savedPage: {
|
||||
searches: 'Suchen',
|
||||
noSavedSearches: 'Noch keine gespeicherten Suchen',
|
||||
noSavedSearchesDesc:
|
||||
'Speichere deine Filter und Kartenansicht, um genau dort weiterzumachen, wo du aufgeh\u00F6rt hast.',
|
||||
noSavedProperties: 'Noch keine gespeicherten Immobilien',
|
||||
noSavedPropertiesDesc:
|
||||
'Merke dir Immobilien w\u00E4hrend du erkundest und erstelle deine Auswahlliste, ohne den \u00DCberblick zu verlieren.',
|
||||
openPostcode: 'Postleitzahl \u00F6ffnen',
|
||||
viewListing: 'Inserat ansehen',
|
||||
clickToRename: 'Klicken zum Umbenennen',
|
||||
notesPlaceholder: 'Notiere deine Gedanken...',
|
||||
deleteSearch: 'Suche l\u00F6schen',
|
||||
deleteSearchConfirm:
|
||||
'M\u00F6chtest du diese gespeicherte Suche wirklich l\u00F6schen? Dies kann nicht r\u00FCckg\u00E4ngig gemacht werden.',
|
||||
deleteProperty: 'Immobilie l\u00F6schen',
|
||||
deletePropertyConfirm:
|
||||
'M\u00F6chtest du diese gespeicherte Immobilie wirklich l\u00F6schen? Dies kann nicht r\u00FCckg\u00E4ngig gemacht werden.',
|
||||
bed: 'Schlafz.',
|
||||
epc: 'EPC',
|
||||
},
|
||||
|
||||
// ── Invites Page ───────────────────────────────────
|
||||
invitesPage: {
|
||||
inviteLinksLicensed:
|
||||
'Einladungslinks sind f\u00FCr lizenzierte Nutzer verf\u00FCgbar.',
|
||||
inviteAdminLabel: 'Freunde einladen (100% Rabatt)',
|
||||
inviteReferralLabel: 'Freunde einladen (30% Rabatt)',
|
||||
generateFreeInvite: 'Kostenlosen Einladungslink erstellen',
|
||||
generateReferralLink: 'Empfehlungslink erstellen',
|
||||
copyInviteLink: 'Einladungslink kopieren',
|
||||
adminInvitesTitle: 'Admin-Einladungen (100% Rabatt)',
|
||||
referralInvitesTitle: 'Empfehlungseinladungen (30% Rabatt)',
|
||||
yourInviteLinks: 'Deine Einladungslinks',
|
||||
noInvitesYet: 'Noch keine Einladungen erstellt',
|
||||
link: 'Link',
|
||||
status: 'Status',
|
||||
created: 'Erstellt',
|
||||
redeemed: 'Eingel\u00F6st',
|
||||
pending: 'Ausstehend',
|
||||
},
|
||||
|
||||
// ── Invite Page ────────────────────────────────────
|
||||
invitePage: {
|
||||
youreInvited: 'Du bist eingeladen!',
|
||||
specialOffer: 'Sonderangebot!',
|
||||
invitedByFree:
|
||||
'{{name}} hat dich eingeladen, kostenlosen lebenslangen Zugang zu erhalten.',
|
||||
invitedByDiscount:
|
||||
'{{name}} hat 30% Rabatt auf lebenslangen Zugang mit dir geteilt.',
|
||||
genericFreeInvite:
|
||||
'Du wurdest eingeladen, kostenlosen lebenslangen Zugang zu erhalten.',
|
||||
genericDiscount:
|
||||
'Ein Freund hat 30% Rabatt auf lebenslangen Zugang mit dir geteilt.',
|
||||
exploreEvery: 'Entdecke jedes Viertel in England',
|
||||
propertyInfo:
|
||||
'Immobilienpreise, Energiebewertungen, Kriminalit\u00E4tsstatistiken, Schulbewertungen und mehr',
|
||||
invalidInvite: 'Ung\u00FCltige Einladung',
|
||||
inviteAlreadyUsed: 'Einladung bereits verwendet',
|
||||
inviteAlreadyUsedDesc:
|
||||
'Dieser Einladungslink wurde bereits eingel\u00F6st.',
|
||||
invalidInviteLink: 'Ung\u00FCltiger Einladungslink',
|
||||
invalidInviteLinkDesc:
|
||||
'Dieser Einladungslink ist ung\u00FCltig oder abgelaufen.',
|
||||
licenseActivated: 'Lizenz aktiviert!',
|
||||
fullAccessGranted:
|
||||
'Du hast jetzt vollen Zugang zu Perfect Postcode.',
|
||||
activating: 'Wird aktiviert...',
|
||||
activateLicense: 'Lizenz aktivieren',
|
||||
claimDiscount: 'Rabatt einl\u00F6sen',
|
||||
registerToClaim: 'Registrieren zum Einl\u00F6sen',
|
||||
youAlreadyHaveLicense: 'Du hast bereits eine Lizenz',
|
||||
accountHasFullAccess: 'Dein Konto hat bereits vollen Zugang.',
|
||||
failedToValidate: 'Einladungslink konnte nicht validiert werden',
|
||||
},
|
||||
|
||||
// ── Map Page ───────────────────────────────────────
|
||||
mapPage: {
|
||||
unsavedProperty: 'Entfernt',
|
||||
savedProperty: 'Gespeichert',
|
||||
},
|
||||
|
||||
// ── Format / Time ──────────────────────────────────
|
||||
format: {
|
||||
justNow: 'gerade eben',
|
||||
minutesAgo: 'vor {{count}} Min.',
|
||||
hoursAgo: 'vor {{count}} Std.',
|
||||
daysAgo: 'vor {{count}} T.',
|
||||
nFilters: '{{count}} Filter',
|
||||
noFilters: 'Keine Filter',
|
||||
poiCategory: '{{count}} POI-Kategorie',
|
||||
poiCategories: '{{count}} POI-Kategorien',
|
||||
travelDestination: '{{count}} Fahrziel',
|
||||
travelDestinations: '{{count}} Fahrziele',
|
||||
propertiesMatch: '{{count}} Immobilien stimmen \u00FCberein',
|
||||
setFilters: '{{count}} Filter setzen: {{list}}',
|
||||
noFiltersSet: 'Keine Filter gesetzt',
|
||||
toDestination: '{{mode}} nach {{label}} {{bounds}}',
|
||||
lessThanMin: '< {{max}} Min.',
|
||||
moreThanMin: '> {{min}} Min.',
|
||||
},
|
||||
|
||||
// ── Tutorial ──────────────────────────────────────
|
||||
tutorial: {
|
||||
step1Title: 'Sagen Sie der Karte, was z\u00E4hlt',
|
||||
step1Content: 'Legen Sie Ihr Budget, maximale Pendelzeit, Schulqualit\u00E4t und Kriminalit\u00E4tsschwelle fest. Was Ihnen wichtig ist. Nur qualifizierende Gebiete bleiben hervorgehoben. Nutzen Sie das Augensymbol, um nach beliebigem Merkmal einzuf\u00E4rben.',
|
||||
step2Title: 'Oder einfach beschreiben',
|
||||
step2Content: 'Tippen Sie auf Deutsch ein, was Sie suchen, z.\u00A0B. \u201Eruhige Gegend nahe guter Schulen unter \u00A3400k\u201C, und wir richten die Filter f\u00FCr Sie ein.',
|
||||
step3Title: 'Erkunden Sie, was es gibt',
|
||||
step3Content: 'Schwenken und zoomen Sie durch England. Klicken Sie auf ein beliebiges farbiges Gebiet, um Kriminalit\u00E4t, Schulen, Preise, Breitband, L\u00E4rm und mehr zu sehen.',
|
||||
step4Title: 'Direkt zu einem Ort springen',
|
||||
step4Content: 'Suchen Sie nach einem Ort oder einer Postleitzahl, um sofort dorthin zu gelangen.',
|
||||
step5Title: 'Ins Detail gehen',
|
||||
step5Content: 'Sehen Sie Gebietsstatistiken, Histogramme und einzelne Immobiliendaten: Preise, Wohnfl\u00E4che, Energiebewertungen und mehr.',
|
||||
step6Title: 'Was ist in der N\u00E4he?',
|
||||
step6Content: 'Blenden Sie Schulen, Gesch\u00E4fte, Bahnh\u00F6fe, Parks und Restaurants auf der Karte ein, um zu sehen, was erreichbar ist.',
|
||||
},
|
||||
|
||||
// ── Server-derived values ──────────────────────────
|
||||
// Keyed by the English server value. ts() looks up translations at display time.
|
||||
// The English keys MUST match exactly what the API returns.
|
||||
server: {
|
||||
// ─ Feature group names ─
|
||||
'Properties': 'Immobilien',
|
||||
'Transport': 'Verkehr',
|
||||
'Education': 'Bildung',
|
||||
'Deprivation': 'Benachteiligung',
|
||||
'Crime': 'Kriminalit\u00E4t',
|
||||
'Demographics': 'Demografie',
|
||||
'Amenities': 'Infrastruktur',
|
||||
|
||||
// ─ Feature names (Properties) ─
|
||||
'Listing status': 'Inseratsstatus',
|
||||
'Property type': 'Immobilientyp',
|
||||
'Leasehold/Freehold': 'Erbbaurecht/Volleigentum',
|
||||
'Last known price': 'Letzter bekannter Preis',
|
||||
'Estimated current price': 'Gesch\u00E4tzter aktueller Preis',
|
||||
'Asking price': 'Angebotspreis',
|
||||
'Price per sqm': 'Preis pro m\u00B2',
|
||||
'Est. price per sqm': 'Gesch. Preis pro m\u00B2',
|
||||
'Asking price per sqm': 'Angebotspreis pro m\u00B2',
|
||||
'Estimated monthly rent': 'Gesch\u00E4tzte Monatsmiete',
|
||||
'Asking rent (monthly)': 'Angebotsmiete (monatlich)',
|
||||
'Total floor area (sqm)': 'Gesamtwohnfl\u00E4che (m\u00B2)',
|
||||
'Number of bedrooms & living rooms': 'Anzahl Schlaf- & Wohnzimmer',
|
||||
'Bedrooms': 'Schlafzimmer',
|
||||
'Bathrooms': 'Badezimmer',
|
||||
'Construction year': 'Baujahr',
|
||||
'Date of last transaction': 'Datum der letzten Transaktion',
|
||||
'Listing date': 'Inseratsdatum',
|
||||
'Former council house': 'Ehemaliger Sozialbau',
|
||||
'Current energy rating': 'Aktuelle Energiebewertung',
|
||||
'Potential energy rating': 'Potenzielle Energiebewertung',
|
||||
'Interior height (m)': 'Raumh\u00F6he (m)',
|
||||
|
||||
// ─ Feature names (Transport) ─
|
||||
'Distance to nearest train or tube station (km)': 'Entfernung zum n\u00E4chsten Bahn- oder U-Bahnhof (km)',
|
||||
'Train or tube stations within 1km': 'Bahn- oder U-Bahnh\u00F6fe im Umkreis von 1 km',
|
||||
|
||||
// ─ Feature names (Education) ─
|
||||
'Good+ primary schools within 2km': 'Gute+ Grundschulen im Umkreis von 2 km',
|
||||
'Good+ secondary schools within 2km': 'Gute+ weiterf\u00FChrende Schulen im Umkreis von 2 km',
|
||||
'Good+ primary schools within 5km': 'Gute+ Grundschulen im Umkreis von 5 km',
|
||||
'Good+ secondary schools within 5km': 'Gute+ weiterf\u00FChrende Schulen im Umkreis von 5 km',
|
||||
'Education, Skills and Training Score': 'Score f\u00FCr Bildung, Kompetenzen und Ausbildung',
|
||||
|
||||
// ─ Feature names (Deprivation) ─
|
||||
'Income Score (rate)': 'Einkommensscore (Rate)',
|
||||
'Employment Score (rate)': 'Besch\u00E4ftigungsscore (Rate)',
|
||||
'Health Deprivation and Disability Score': 'Score f\u00FCr Gesundheit und Behinderung',
|
||||
'Living Environment Score': 'Score der Wohnumgebung',
|
||||
'Indoors Sub-domain Score': 'Score der Wohnqualit\u00E4t (innen)',
|
||||
'Outdoors Sub-domain Score': 'Score der Umgebungsqualit\u00E4t (au\u00DFen)',
|
||||
|
||||
// ─ Feature names (Crime) ─
|
||||
'Serious crime per 1k residents (avg/yr)': 'Schwere Straftaten pro 1k Einwohner (Durchschn./Jahr)',
|
||||
'Minor crime per 1k residents (avg/yr)': 'Leichte Straftaten pro 1k Einwohner (Durchschn./Jahr)',
|
||||
'Serious crime (avg/yr)': 'Schwere Straftaten (Durchschn./Jahr)',
|
||||
'Minor crime (avg/yr)': 'Leichte Straftaten (Durchschn./Jahr)',
|
||||
'Violence and sexual offences (avg/yr)': 'Gewalt- und Sexualdelikte (Durchschn./Jahr)',
|
||||
'Burglary (avg/yr)': 'Einbr\u00FCche (Durchschn./Jahr)',
|
||||
'Robbery (avg/yr)': 'Raub\u00FCberf\u00E4lle (Durchschn./Jahr)',
|
||||
'Vehicle crime (avg/yr)': 'Fahrzeugkriminalit\u00E4t (Durchschn./Jahr)',
|
||||
'Anti-social behaviour (avg/yr)': 'Antisoziales Verhalten (Durchschn./Jahr)',
|
||||
'Criminal damage and arson (avg/yr)': 'Sachbesch\u00E4digung und Brandstiftung (Durchschn./Jahr)',
|
||||
'Other theft (avg/yr)': 'Sonstiger Diebstahl (Durchschn./Jahr)',
|
||||
'Theft from the person (avg/yr)': 'Taschendiebstahl (Durchschn./Jahr)',
|
||||
'Shoplifting (avg/yr)': 'Ladendiebstahl (Durchschn./Jahr)',
|
||||
'Bicycle theft (avg/yr)': 'Fahrraddiebstahl (Durchschn./Jahr)',
|
||||
'Drugs (avg/yr)': 'Drogendelikte (Durchschn./Jahr)',
|
||||
'Possession of weapons (avg/yr)': 'Waffenbesitz (Durchschn./Jahr)',
|
||||
'Public order (avg/yr)': 'St\u00F6rung der \u00F6ffentlichen Ordnung (Durchschn./Jahr)',
|
||||
'Other crime (avg/yr)': 'Sonstige Straftaten (Durchschn./Jahr)',
|
||||
|
||||
// ─ Feature names (Demographics) ─
|
||||
'Median age': 'Medianalter',
|
||||
'% White': '% Wei\u00DF',
|
||||
'% South Asian': '% S\u00FCdasiatisch',
|
||||
'% Black': '% Schwarz',
|
||||
'% East Asian': '% Ostasiatisch',
|
||||
'% Mixed': '% Gemischt',
|
||||
'% Other': '% Sonstige',
|
||||
|
||||
// ─ Feature names (Amenities) ─
|
||||
'Distance to nearest park (km)': 'Entfernung zum n\u00E4chsten Park (km)',
|
||||
'Number of parks within 2km': 'Anzahl Parks im Umkreis von 2 km',
|
||||
'Number of restaurants within 2km': 'Anzahl Restaurants im Umkreis von 2 km',
|
||||
'Number of grocery shops and supermarkets within 2km': 'Anzahl Lebensmittelgesch\u00E4fte und Superm\u00E4rkte im Umkreis von 2 km',
|
||||
'Noise (dB)': 'L\u00E4rm (dB)',
|
||||
'Max available download speed (Mbps)': 'Max. verf\u00FCgbare Downloadgeschwindigkeit (Mbps)',
|
||||
|
||||
|
||||
// ─ Enum values ─
|
||||
'Historical sale': 'Historischer Verkauf',
|
||||
'For sale': 'Zum Verkauf',
|
||||
'For rent': 'Zur Miete',
|
||||
'Detached': 'Freistehend',
|
||||
'Semi-Detached': 'Doppelhaush\u00E4lfte',
|
||||
'Terraced': 'Reihenhaus',
|
||||
'Flats/Maisonettes': 'Wohnungen/Maisonetten',
|
||||
'Other': 'Sonstige',
|
||||
'Freehold': 'Volleigentum',
|
||||
'Leasehold': 'Erbbaurecht',
|
||||
'Yes': 'Ja',
|
||||
'No': 'Nein',
|
||||
|
||||
// ─ Stacked chart labels ─
|
||||
'Serious crime': 'Schwere Straftaten',
|
||||
'Minor crime': 'Leichte Straftaten',
|
||||
'Ethnic composition': 'Ethnische Zusammensetzung',
|
||||
|
||||
// ─ POI group names ─
|
||||
'Public Transport': '\u00D6ffentlicher Nahverkehr',
|
||||
'Leisure': 'Freizeit',
|
||||
'Health': 'Gesundheit',
|
||||
'Emergency Services': 'Rettungsdienste',
|
||||
'Groceries': 'Lebensmittel',
|
||||
'Local Businesses': 'Lokale Gesch\u00E4fte',
|
||||
'Culture': 'Kultur',
|
||||
'Services': 'Dienstleistungen',
|
||||
'Shops': 'Gesch\u00E4fte',
|
||||
|
||||
// ─ POI categories ─
|
||||
'Airport': 'Flughafen',
|
||||
'Ferry': 'F\u00E4hre',
|
||||
'Rail station': 'Bahnhof',
|
||||
'Bus stop': 'Bushaltestelle',
|
||||
'Bus station': 'Busbahnhof',
|
||||
'Taxi rank': 'Taxistand',
|
||||
'Metro or Tram stop': 'U-Bahn- oder Stra\u00DFenbahnhaltestelle',
|
||||
'Caf\u00E9': 'Caf\u00E9',
|
||||
'Restaurant': 'Restaurant',
|
||||
'Pub': 'Pub',
|
||||
'Bar': 'Bar',
|
||||
'Fast Food': 'Fast Food',
|
||||
'Nightclub': 'Nachtclub',
|
||||
'Cinema': 'Kino',
|
||||
'Theatre': 'Theater',
|
||||
'Live Music & Events': 'Live-Musik & Veranstaltungen',
|
||||
'Park': 'Park',
|
||||
'Playground': 'Spielplatz',
|
||||
'Sports Centre': 'Sportzentrum',
|
||||
'Entertainment': 'Unterhaltung',
|
||||
'Supermarket': 'Supermarkt',
|
||||
'Convenience Store': 'Sp\u00E4tkauf',
|
||||
'Bakery': 'B\u00E4ckerei',
|
||||
'Butcher & Fishmonger': 'Metzgerei & Fischh\u00E4ndler',
|
||||
'Greengrocer': 'Gem\u00FCseh\u00E4ndler',
|
||||
'Off-Licence': 'Getr\u00E4nkeladen',
|
||||
'Deli & Specialty': 'Feinkost & Spezialit\u00E4ten',
|
||||
'Fashion & Clothing': 'Mode & Bekleidung',
|
||||
'Electronics': 'Elektronik',
|
||||
'Charity Shop': 'Secondhand-Laden',
|
||||
'DIY & Hardware': 'Baumarkt & Eisenwaren',
|
||||
'Home & Garden': 'Haus & Garten',
|
||||
'Bookshop': 'Buchhandlung',
|
||||
'Pet Shop': 'Tierhandlung',
|
||||
'Sports & Outdoor': 'Sport & Outdoor',
|
||||
'Newsagent': 'Zeitungsh\u00E4ndler',
|
||||
'Department Store': 'Kaufhaus',
|
||||
'Gift & Hobby': 'Geschenke & Hobby',
|
||||
'Specialist Shop': 'Fachgesch\u00E4ft',
|
||||
'Hairdresser & Beauty': 'Friseur & Kosmetik',
|
||||
'Gym & Fitness': 'Fitnessstudio',
|
||||
'Dry Cleaner & Laundry': 'Reinigung & W\u00E4scherei',
|
||||
'Car Services': 'Autoservice',
|
||||
'Post Office': 'Postamt',
|
||||
'Vet & Pet Care': 'Tierarzt & Tierpflege',
|
||||
'Bank': 'Bank',
|
||||
'Travel Agent': 'Reiseb\u00FCro',
|
||||
'Police': 'Polizei',
|
||||
'Fire Station': 'Feuerwache',
|
||||
'Ambulance Station': 'Rettungswache',
|
||||
'GP Surgery': 'Hausarztpraxis',
|
||||
'Dentist': 'Zahnarzt',
|
||||
'Pharmacy': 'Apotheke',
|
||||
'Hospital & Clinic': 'Krankenhaus & Klinik',
|
||||
'Optician': 'Optiker',
|
||||
'Physiotherapy': 'Physiotherapie',
|
||||
'Counselling & Therapy': 'Beratung & Therapie',
|
||||
'Care Home': 'Pflegeheim',
|
||||
'Medical & Mobility': 'Medizintechnik & Mobilit\u00E4t',
|
||||
'Museum': 'Museum',
|
||||
'Gallery': 'Galerie',
|
||||
'Library': 'Bibliothek',
|
||||
'Place of Worship': 'Gebetsst\u00E4tte',
|
||||
'Arts Centre': 'Kunstzentrum',
|
||||
'Zoo': 'Zoo',
|
||||
'Tourist Attraction': 'Touristenattraktion',
|
||||
'School': 'Schule',
|
||||
'Hotel': 'Hotel',
|
||||
'Local Business': 'Lokales Gesch\u00E4ft',
|
||||
'Offices': 'B\u00FCros',
|
||||
'EV Charging': 'E-Ladestation',
|
||||
'Fuel Station': 'Tankstelle',
|
||||
'Community Centre': 'Gemeindezentrum',
|
||||
|
||||
// ─ Suffixes (used in formatters) ─
|
||||
'/mo': '/Monat',
|
||||
'/yr': '/Jahr',
|
||||
' sqm': ' m\u00B2',
|
||||
' km': ' km',
|
||||
' m': ' m',
|
||||
' dB': ' dB',
|
||||
' years': ' Jahre',
|
||||
' rooms': ' Zimmer',
|
||||
},
|
||||
};
|
||||
|
||||
export default de;
|
||||
852
frontend/src/i18n/locales/en.ts
Normal file
852
frontend/src/i18n/locales/en.ts
Normal file
|
|
@ -0,0 +1,852 @@
|
|||
const en = {
|
||||
// ── Common ──────────────────────────────────────────
|
||||
common: {
|
||||
save: 'Save',
|
||||
cancel: 'Cancel',
|
||||
close: 'Close',
|
||||
delete: 'Delete',
|
||||
open: 'Open',
|
||||
share: 'Share',
|
||||
copy: 'Copy',
|
||||
copied: 'Copied!',
|
||||
copiedToClipboard: 'Copied to clipboard',
|
||||
loading: 'Loading...',
|
||||
loadMore: 'Load More',
|
||||
remaining: '{{count}} remaining',
|
||||
search: 'Search',
|
||||
all: 'All',
|
||||
none: 'None',
|
||||
viewDataSource: 'View data source',
|
||||
total: 'Total',
|
||||
min: 'min',
|
||||
or: 'or',
|
||||
area: 'Area',
|
||||
properties: 'Properties',
|
||||
postcode: 'Postcode',
|
||||
noAreaSelected: 'No area selected',
|
||||
noAreaSelectedDesc: 'Click any coloured area on the map to see crime, schools, prices, and more',
|
||||
clickForDetails: 'Click for details',
|
||||
property: 'property',
|
||||
propertiesPlural: 'properties',
|
||||
},
|
||||
|
||||
// ── Header / Nav ───────────────────────────────────
|
||||
header: {
|
||||
appName: 'Perfect Postcode',
|
||||
dashboard: 'Dashboard',
|
||||
learn: 'Learn',
|
||||
pricing: 'Pricing',
|
||||
inviteFriends: 'Invite Friends',
|
||||
saved: 'Saved',
|
||||
logIn: 'Log in',
|
||||
createAccount: 'Create account',
|
||||
sharing: 'Sharing...',
|
||||
exportLabel: 'Export',
|
||||
exporting: 'Exporting...',
|
||||
exportToExcel: 'Export to Excel',
|
||||
openMenu: 'Open menu',
|
||||
closeMenu: 'Close menu',
|
||||
},
|
||||
|
||||
// ── User Menu ──────────────────────────────────────
|
||||
userMenu: {
|
||||
fullAccess: 'Full Access',
|
||||
demo: 'Demo',
|
||||
themeLight: 'Theme: Light',
|
||||
themeDark: 'Theme: Dark',
|
||||
account: 'Account',
|
||||
logOut: 'Log out',
|
||||
},
|
||||
|
||||
// ── Mobile Menu ────────────────────────────────────
|
||||
mobileMenu: {
|
||||
menu: 'Menu',
|
||||
home: 'Home',
|
||||
},
|
||||
|
||||
// ── Auth Modal ─────────────────────────────────────
|
||||
auth: {
|
||||
logIn: 'Log in',
|
||||
createAccount: 'Create account',
|
||||
resetPassword: 'Reset password',
|
||||
valueProp: 'Save searches, bookmark properties, and pick up where you left off.',
|
||||
continueWithGoogle: 'Continue with Google',
|
||||
email: 'Email',
|
||||
emailPlaceholder: 'you@example.com',
|
||||
password: 'Password',
|
||||
passwordPlaceholderRegister: 'Min 8 characters',
|
||||
passwordPlaceholderLogin: 'Your password',
|
||||
forgotPassword: 'Forgot password?',
|
||||
resetSent: 'Check your email for a reset link.',
|
||||
pleaseWait: 'Please wait...',
|
||||
sendResetLink: 'Send reset link',
|
||||
backToLogin: 'Back to login',
|
||||
},
|
||||
|
||||
// ── Upgrade Modal ──────────────────────────────────
|
||||
upgrade: {
|
||||
title: 'See all of England',
|
||||
description: "You're currently exploring the demo area. Get lifetime access to every postcode, every filter, every neighbourhood. One payment, forever.",
|
||||
free: 'Free',
|
||||
once: '/once',
|
||||
freeForEarly: 'Free for early adopters. No credit card required.',
|
||||
oneTimePayment: 'One-time payment. Lifetime access. 30-day money-back guarantee.',
|
||||
redirecting: 'Redirecting...',
|
||||
claimFreeAccess: 'Claim free access',
|
||||
upgradeFor: 'Upgrade for {{price}}',
|
||||
registerAndUpgrade: 'Register & Upgrade',
|
||||
alreadyHaveAccount: 'Already have an account? Log in',
|
||||
continueWithDemo: 'Continue with demo',
|
||||
checkoutFailed: 'Checkout failed',
|
||||
},
|
||||
|
||||
// ── Save Search Modal ──────────────────────────────
|
||||
saveSearch: {
|
||||
title: 'Save Search',
|
||||
saved: 'Search saved',
|
||||
savedSuccess: 'Your search has been saved successfully.',
|
||||
viewSavedSearches: 'View saved searches',
|
||||
name: 'Name',
|
||||
namePlaceholder: 'My search',
|
||||
saving: 'Saving...',
|
||||
},
|
||||
|
||||
// ── License Success ────────────────────────────────
|
||||
licenseSuccess: {
|
||||
title: "You're in.",
|
||||
subtitle: 'Your lifetime access is now active.',
|
||||
description: 'Full access to every feature, every postcode, across all of England.',
|
||||
startExploring: 'Start exploring',
|
||||
},
|
||||
|
||||
// ── Filters ────────────────────────────────────────
|
||||
filters: {
|
||||
activeFilters: 'Active Filters',
|
||||
addFilter: 'Add Filter',
|
||||
historical: 'Historical',
|
||||
buy: 'Buy',
|
||||
rent: 'Rent',
|
||||
findingPerfectPostcode: 'Finding the Perfect Postcode',
|
||||
addFiltersHint: 'Add filters below to narrow the map to areas that match your criteria',
|
||||
upgradePrompt: 'See crime, schools, noise, broadband, and 50+ more filters across all of England.',
|
||||
oneTimeLifetime: 'One-time payment, lifetime access.',
|
||||
upgradeToFullMap: 'Upgrade to full map',
|
||||
chooseFilters: 'Choose the filters that matter to you. The map updates as you go.',
|
||||
searchFeatures: 'Search features...',
|
||||
noMatchingFeatures: 'No matching features',
|
||||
tryDifferentSearch: 'Try a different search term',
|
||||
allFeaturesActive: 'All features are active',
|
||||
removeFilterHint: 'Remove a filter to see available features',
|
||||
featureInfo: 'Feature info',
|
||||
replayTutorial: 'Replay interactive tutorial',
|
||||
},
|
||||
|
||||
// ── Philosophy Popup ───────────────────────────────
|
||||
philosophy: {
|
||||
intro: 'Start with your must-haves, then layer on nice-to-haves. The map narrows as you add filters. The areas left are your best matches.',
|
||||
step1Title: 'Budget and basics',
|
||||
step1Desc: '(price range, floor area, property type)',
|
||||
step2Title: 'Commute',
|
||||
step2Desc: '(travel time to your workplace by car, bike, or transit)',
|
||||
step3Title: 'Safety',
|
||||
step3Desc: '(crime rates, noise levels, ground stability)',
|
||||
step4Title: 'Schools',
|
||||
step4Desc: '(nearby Ofsted-rated Good or Outstanding schools)',
|
||||
step5Title: 'Lifestyle',
|
||||
step5Desc: '(restaurants, parks, broadband speed)',
|
||||
step6Title: 'Energy',
|
||||
step6Desc: '(EPC ratings, insulation, heating costs)',
|
||||
tip: "Tip: if nothing matches, relax one constraint at a time to see which trade-off opens up the most options.",
|
||||
},
|
||||
|
||||
// ── Travel Time ────────────────────────────────────
|
||||
travel: {
|
||||
travelTime: 'Travel Time ({{mode}})',
|
||||
maxTime: 'Max time',
|
||||
selectDestination: 'Select destination...',
|
||||
bestCase: 'Best case',
|
||||
bestCaseTitle: 'Best case travel time',
|
||||
bestCaseDesc: 'Uses the fastest realistic journey time (if you time your departure well and catch good connections). The default uses the <strong>median</strong>, representing a typical journey regardless of when you leave.',
|
||||
previewOnMap: 'Preview on map',
|
||||
stopPreviewing: 'Stop previewing',
|
||||
removeTravelTime: 'Remove travel time',
|
||||
addTravelTime: 'Add {{mode}} travel time',
|
||||
clearDestination: 'Clear destination',
|
||||
typeToFilter: 'Type to filter...',
|
||||
noDestinations: 'No destinations found',
|
||||
modeCar: 'Car',
|
||||
modeBicycle: 'Bicycle',
|
||||
modeWalking: 'Walking',
|
||||
modeTransit: 'Transit',
|
||||
modeCarDesc: 'Drive time via the fastest road route',
|
||||
modeBicycleDesc: 'Cycling time using bike-friendly routes',
|
||||
modeWalkingDesc: 'Walking time along pedestrian paths and pavements',
|
||||
modeTransitDesc: 'Journey time by train, tube, and bus',
|
||||
},
|
||||
|
||||
// ── Travel Time Info Popup ─────────────────────────
|
||||
travelInfo: {
|
||||
transitDesc: ' by public transport (bus, rail, tube). Times are computed across a typical weekday morning window.',
|
||||
carDesc: ' by car, based on typical road speeds and the road network.',
|
||||
bicycleDesc: ' by bicycle, using cycle-friendly routes.',
|
||||
walkingDesc: ' on foot, using pedestrian paths and pavements.',
|
||||
mainDesc: 'Shows how long it takes to reach the selected destination from each area',
|
||||
sliderHint: 'Use the slider to set your maximum commute time.',
|
||||
},
|
||||
|
||||
// ── AI Filter ──────────────────────────────────────
|
||||
aiFilter: {
|
||||
describeIdealArea: 'Describe your ideal area with AI',
|
||||
aiSearch: 'AI Search',
|
||||
describeHint: "describe what you're looking for",
|
||||
placeholder: 'e.g. quiet area, under \u00A3400k, near good schools...',
|
||||
example1: 'Safe area near good schools',
|
||||
example2: '30 min commute to Kings Cross, under \u00A3500k',
|
||||
example3: 'Quiet village, 3 bed, fast broadband',
|
||||
analysing: 'Analysing your query...',
|
||||
searchingDestinations: 'Searching for destinations...',
|
||||
generatingFilters: 'Generating filters...',
|
||||
refiningResults: 'Refining results...',
|
||||
weeklyLimitReached: "You've reached the weekly AI usage limit. It will reset automatically next week.",
|
||||
},
|
||||
|
||||
// ── Map Legend ─────────────────────────────────────
|
||||
mapLegend: {
|
||||
clearColourView: 'Clear colour view',
|
||||
},
|
||||
|
||||
// ── Properties Pane ────────────────────────────────
|
||||
propertyCard: {
|
||||
unknownAddress: 'Unknown Address',
|
||||
unsaveProperty: 'Unsave property',
|
||||
saveProperty: 'Save property',
|
||||
lastSold: 'Last sold: \u00A3{{price}}',
|
||||
estValue: 'Est. value:',
|
||||
type: 'Type:',
|
||||
builtForm: 'Built form:',
|
||||
tenure: 'Tenure:',
|
||||
floorArea: 'Floor area:',
|
||||
bedrooms: 'Bedrooms:',
|
||||
bathrooms: 'Bathrooms:',
|
||||
rooms: 'Rooms:',
|
||||
built: 'Built:',
|
||||
epcRating: 'EPC rating:',
|
||||
epcPotential: 'EPC potential:',
|
||||
listed: 'Listed:',
|
||||
keyFeatures: 'Key features',
|
||||
renovations: 'Renovations',
|
||||
viewExternalListing: 'View external listing',
|
||||
perMonth: '/mo',
|
||||
perSqm: '/m\u00B2',
|
||||
searchPlaceholder: 'Search by address or postcode...',
|
||||
propertyData: 'Property Data',
|
||||
propertyDataDesc: 'Prices come from HM Land Registry (what buyers actually paid). Floor area, energy ratings, construction year, and tenure come from official EPC surveys. Both sources are matched by address within each postcode.',
|
||||
},
|
||||
|
||||
// ── Area Pane ──────────────────────────────────────
|
||||
areaPane: {
|
||||
areaStatistics: 'Area Statistics',
|
||||
statsFor: 'Stats for all properties in this {{type}}',
|
||||
matchingFilters: ' matching all active filters',
|
||||
viewProperties: 'View {{count}} Properties',
|
||||
priceHistory: 'Price History',
|
||||
journeysFrom: 'Journeys from {{label}}',
|
||||
to: 'To {{destination}}',
|
||||
noJourneyData: 'No journey data available',
|
||||
viewOnGoogleMaps: 'View on Google Maps',
|
||||
walk: 'Walk',
|
||||
cycle: 'Cycle',
|
||||
},
|
||||
|
||||
// ── Histogram Legend ───────────────────────────────
|
||||
histogramLegend: {
|
||||
tealBars: 'Teal bars',
|
||||
tealBarsDesc: 'show the distribution in this selected area',
|
||||
greyBars: 'Grey bars',
|
||||
greyBarsDesc: 'show the overall distribution across all areas',
|
||||
dashedLine: 'Dashed line',
|
||||
dashedLineDesc: 'indicates the national average',
|
||||
},
|
||||
|
||||
// ── Street View ────────────────────────────────────
|
||||
streetView: {
|
||||
title: 'Street View',
|
||||
},
|
||||
|
||||
// ── POI Pane ───────────────────────────────────────
|
||||
poiPane: {
|
||||
pois: 'POIs',
|
||||
pointsOfInterest: 'Points of Interest',
|
||||
poiDescription: 'Sourced from OpenStreetMap. Covers public transport stops, shops, restaurants, healthcare, leisure, and more. Updated regularly with complete category coverage.',
|
||||
searchCategories: 'Search categories...',
|
||||
dataSourceInfo: 'Data source info',
|
||||
},
|
||||
|
||||
// ── External Search Links ──────────────────────────
|
||||
externalSearch: {
|
||||
searchOn: 'Search {{radius}} on',
|
||||
outcodeNotRecognised: 'Outcode not recognised',
|
||||
},
|
||||
|
||||
// ── Location Search ────────────────────────────────
|
||||
locationSearch: {
|
||||
placeholder: 'Search places or postcodes...',
|
||||
postcodeNotFound: 'Postcode not found',
|
||||
lookupFailed: 'Lookup failed',
|
||||
searchLabel: 'Search places or postcodes',
|
||||
locateMe: 'Go to my location',
|
||||
geolocationUnsupported: 'Geolocation not supported by your browser',
|
||||
geolocationFailed: 'Could not determine your location',
|
||||
},
|
||||
|
||||
// ── Mobile Drawer ──────────────────────────────────
|
||||
mobileDrawer: {
|
||||
closeDrawer: 'Close drawer',
|
||||
},
|
||||
|
||||
// ── Home Page ──────────────────────────────────────
|
||||
home: {
|
||||
heroTitle1: 'Maximum',
|
||||
heroTitle2: 'Value',
|
||||
heroTitle3: 'Minimum Compromise.',
|
||||
heroSubtitle: 'House hunting? Make your biggest investment your smartest move.',
|
||||
heroDescription: 'So many options - choosing the right one can feel overwhelming. Our interactive map makes it simple: select your must-haves and instantly see the areas that fit.',
|
||||
exploreTheMap: 'Explore the map',
|
||||
seeTheDifference: 'See the difference',
|
||||
statProperties: 'properties',
|
||||
statFilters: 'filters',
|
||||
statEvery: 'Every',
|
||||
statPostcodeInEngland: 'postcode in England',
|
||||
ourPhilosophy: 'Our philosophy',
|
||||
philosophyP1: "On Rightmove, you pick an area first, then hope it's good. You end up cross-referencing crime stats, school reports, and broadband checkers across a dozen tabs, one postcode at a time.",
|
||||
philosophyP2: 'We flip that. Tell us what you need (budget, commute, schools, safety) and we show you every area in England that qualifies. No guesswork. No wasted viewings.',
|
||||
howToUseIt: 'How to use it',
|
||||
howStep1Title: 'Set your must-haves',
|
||||
howStep1Desc: 'Budget, commute, schools \u2014 the map shows only what qualifies.',
|
||||
howStep2Title: 'Explore areas and discover hidden gems',
|
||||
howStep2Desc: 'Zoom in, dig into details and nice to haves.',
|
||||
howStep3Title: 'Drill into postcodes',
|
||||
howStep3Desc: 'See individual properties, sale prices, floor area, and compare.',
|
||||
howStep4Title: 'Shortlist with confidence',
|
||||
howStep4Desc: 'Every area on your list meets your actual criteria \u2014 not just what was listed that week.',
|
||||
othersVs: 'Others vs',
|
||||
listingPortals: 'Listing portals',
|
||||
checkMyPostcode: '\u201CCheck my postcode\u201D',
|
||||
areaGuides: 'Area guides',
|
||||
compSearchWithout: 'Search without choosing an area first',
|
||||
compSearchWithoutSub: '(start with needs, not a location)',
|
||||
compAreaData: 'Area data',
|
||||
compAreaDataSub: '(crime, schools, noise, broadband)',
|
||||
compPropertyData: 'Property-specific data',
|
||||
compPropertyDataSub: '(price, EPC, floor area)',
|
||||
compFilters: '56 combinable filters in one place',
|
||||
compFiltersSub: '(all insights, one interactive map)',
|
||||
ctaTitle: 'Make your biggest investment your smartest\u00A0move.',
|
||||
ctaDescription: "This deserves proper tools behind it, don't leave it to luck.",
|
||||
},
|
||||
|
||||
// ── Pricing Page ───────────────────────────────────
|
||||
pricingPage: {
|
||||
title: 'Early access pricing',
|
||||
subtitle: 'Pay once, access forever. The earlier you join, the less you pay.',
|
||||
costContext: "Buying a home costs \u00A310k+ in stamp duty, \u00A31,500 in solicitor fees, \u00A3500 for a survey. Get the wrong area and you're stuck with a long commute, bad schools, or a road you didn't know about.",
|
||||
lessThanSurvey: 'Less than a home survey. Far more useful.',
|
||||
currentTier: 'Current tier',
|
||||
firstNUsers: 'First {{count}} users',
|
||||
everyoneAfter: 'Everyone after',
|
||||
nextNUsers: 'Next {{count}} users',
|
||||
lifetime: '/lifetime',
|
||||
spotsRemaining: '{{count}} spot remaining',
|
||||
spotsRemainingPlural: '{{count}} spots remaining',
|
||||
filled: 'Filled',
|
||||
openDashboard: 'Open dashboard',
|
||||
getStarted: 'Get started',
|
||||
getStartedPrice: 'Get started - {{price}}',
|
||||
noCreditCard: 'No credit card required',
|
||||
moneyBackGuarantee: '30-day money-back guarantee',
|
||||
soldOut: 'Sold out',
|
||||
upcoming: 'Upcoming',
|
||||
failedToLoad: 'Failed to load pricing. Please try again later.',
|
||||
feat1: '56 data layers across England',
|
||||
feat2: 'Every postcode scored and filterable',
|
||||
feat3: 'Unlimited map exploration and exports',
|
||||
feat4: 'Multiple decades of historical price data',
|
||||
feat5: 'Crime, schools, transport, broadband and more',
|
||||
feat6: 'All future data updates included',
|
||||
},
|
||||
|
||||
// ── Learn Page ─────────────────────────────────────
|
||||
learnPage: {
|
||||
faq: 'FAQ',
|
||||
dataSources: 'Data Sources',
|
||||
support: 'Support',
|
||||
dataSourcesIntro: 'This application combines {{count}} open datasets covering property prices, energy performance, transport, demographics, crime, environment, and more.',
|
||||
faqIntro: "Whether you're buying, renting, or just exploring, here's how Perfect Postcode helps you find the right area.",
|
||||
supportIntro: 'Have a question? Check our FAQ or reach out to us directly.',
|
||||
source: 'Source:',
|
||||
optOut: 'Opt out of public disclosure',
|
||||
attribution: 'Attribution',
|
||||
attrLandRegistry: 'Contains HM Land Registry data \u00A9 Crown copyright and database right 2025.',
|
||||
attrOgl: 'Contains public sector information licensed under the',
|
||||
attrOglLink: 'Open Government Licence v3.0',
|
||||
attrOs: 'Contains OS data \u00A9 Crown copyright and database rights 2025.',
|
||||
attrTfl: 'Powered by TfL Open Data.',
|
||||
attrOsm: 'Contains data from',
|
||||
attrOsmContrib: '\u00A9 OpenStreetMap contributors',
|
||||
attrOsmLicense: 'available under the',
|
||||
attrOsmLicenseLink: 'Open Data Commons Open Database License (ODbL)',
|
||||
// Data source names & descriptions
|
||||
dsPricePaidName: 'Price Paid Data',
|
||||
dsPricePaidOrigin: 'HM Land Registry',
|
||||
dsPricePaidUse: 'Complete historical property sale prices for England.',
|
||||
dsEpcName: 'Energy Performance Certificates (EPC)',
|
||||
dsEpcOrigin: 'Ministry of Housing, Communities & Local Government',
|
||||
dsEpcUse: 'Domestic Energy Performance Certificates providing floor area, number of rooms, construction year, energy ratings, property type, and built form. Matched with Price Paid records by address within each postcode. Property owners can opt out of public disclosure.',
|
||||
dsNsplName: 'National Statistics Postcode Lookup (NSPL)',
|
||||
dsNsplOrigin: 'ONS / ArcGIS',
|
||||
dsNsplUse: 'Maps postcodes to coordinates and statistical area codes, used to link all area-level datasets to individual properties.',
|
||||
dsIodName: 'English Indices of Deprivation 2025',
|
||||
dsIodOrigin: 'Ministry of Housing, Communities & Local Government',
|
||||
dsIodUse: 'Relative deprivation scores across income, employment, education, health, crime, and living environment for every neighbourhood in England.',
|
||||
dsEthnicityName: 'Population by Ethnicity (2021 Census)',
|
||||
dsEthnicityOrigin: 'ONS',
|
||||
dsEthnicityUse: 'Population percentages by ethnic group (South Asian, East Asian, Black, Mixed, White, Other) per local authority.',
|
||||
dsCrimeName: 'Street-level Crime Data',
|
||||
dsCrimeOrigin: 'data.police.uk',
|
||||
dsCrimeUse: 'Street-level crime data from 2023 to 2025, aggregated into yearly averages by LSOA and crime type (violence, burglary, anti-social behaviour, drugs, vehicle crime, etc.).',
|
||||
dsOsmName: 'OpenStreetMap POIs',
|
||||
dsOsmOrigin: 'OpenStreetMap contributors / Geofabrik',
|
||||
dsOsmUse: 'Points of interest covering shops, restaurants, healthcare, leisure, tourism, and more across Great Britain.',
|
||||
dsGreenspaceName: 'OS Open Greenspace',
|
||||
dsGreenspaceOrigin: 'Ordnance Survey',
|
||||
dsGreenspaceUse: 'Authoritative green space boundaries for Great Britain, including public parks, gardens, playing fields, and play spaces. Polygon centroids are used for park proximity counts and distance-to-nearest-park calculations.',
|
||||
dsNaptanName: 'NaPTAN (Public Transport Stops)',
|
||||
dsNaptanOrigin: 'Department for Transport',
|
||||
dsNaptanUse: 'Station and stop locations for rail, bus, metro/tram, ferry, and airports across England.',
|
||||
dsNoiseName: 'Defra Noise Mapping',
|
||||
dsNoiseOrigin: 'Defra / Environment Agency',
|
||||
dsNoiseUse: 'Road noise levels (24-hour weighted average) from the 2022 strategic noise mapping, modelled at high resolution and sampled at each postcode.',
|
||||
dsOfstedName: 'Ofsted School Inspections',
|
||||
dsOfstedOrigin: 'Ofsted',
|
||||
dsOfstedUse: 'Latest inspection outcomes for state-funded schools (as at April 2025). Averaged per postcode to give a local school quality score (1=Outstanding to 4=Inadequate).',
|
||||
dsBroadbandName: 'Ofcom Broadband Performance',
|
||||
dsBroadbandOrigin: 'Ofcom',
|
||||
dsBroadbandUse: 'Fixed broadband coverage and maximum download speeds by area from Ofcom Connected Nations 2025.',
|
||||
dsCouncilTaxName: 'Council Tax Levels 2025-26',
|
||||
dsCouncilTaxOrigin: 'Ministry of Housing, Communities & Local Government',
|
||||
dsCouncilTaxUse: 'Annual council tax rates for Bands A-H for all 296 billing authorities in England, for a dwelling occupied by two adults. Joined to properties via local authority district code from the NSPL postcode lookup.',
|
||||
dsRentalName: 'Private Rental Market Statistics',
|
||||
dsRentalOrigin: 'ONS / Valuation Office Agency',
|
||||
dsRentalUse: 'Median monthly private rental prices by local authority and bedroom category (Oct 2022 - Sep 2023). Joined to properties via local authority district code and estimated bedroom count.',
|
||||
// FAQ section titles
|
||||
faqFindingTitle: 'Finding Your Area',
|
||||
faqCommuteTitle: 'Commute and Travel',
|
||||
faqBudgetTitle: 'Budget and Value',
|
||||
faqSafetyTitle: 'Safety and Neighbourhood',
|
||||
faqFamiliesTitle: 'Families and Schools',
|
||||
faqEnvironmentTitle: 'Environment and Quality of Life',
|
||||
faqWhyTitle: 'Why Perfect Postcode',
|
||||
faqPricingTitle: 'Pricing and Access',
|
||||
faqTipsTitle: 'Tips and Tricks',
|
||||
// FAQ items — Finding Your Area
|
||||
faqFinding1Q: "I don't even know which areas to look at. Can this help?",
|
||||
faqFinding1A: "That's exactly what it's for. Set your filters (budget, commute time, low crime, good schools) and the map lights up to show you every area that ticks every box. No more Googling \"best areas to live near Manchester\" at midnight.",
|
||||
faqFinding2Q: "I'm moving somewhere I've never been. How do I even start?",
|
||||
faqFinding2A: "Set your filters for what matters and the map instantly highlights the areas that qualify. You go from \"I don't know a single street\" to a shortlist in minutes.",
|
||||
faqFinding3Q: 'How do I find areas that tick all my boxes at once?',
|
||||
faqFinding3A: 'Stack multiple filters (crime below average, good schools, commute under 40 minutes) then colour the map by price to spot the best value areas. The map updates live as you drag sliders, so you can see results change in real time.',
|
||||
// FAQ items — Commute and Travel
|
||||
faqCommute1Q: 'Can I see how long my commute would actually be from different areas?',
|
||||
faqCommute1A: "Set your workplace as a destination and we'll colour every postcode by journey time, whether that's by car, bike, or public transport. Filter to your max commute and the rest disappears.",
|
||||
faqCommute2Q: 'How is that better than checking Google Maps?',
|
||||
faqCommute2A: 'Google Maps shows you one journey at a time. We colour every postcode in England by commute time in one go, so you can compare hundreds of areas side by side instead of searching them one by one.',
|
||||
// FAQ items — Budget and Value
|
||||
faqBudget1Q: 'How do I find areas where I get the most space for my money?',
|
||||
faqBudget1A: "Filter by price per sqm and you'll instantly see which postcodes give you the most space per pound. Pair it with the energy rating filter to avoid properties with high heating costs.",
|
||||
faqBudget2Q: "How do I make sure a cheap area isn't cheap for a reason?",
|
||||
faqBudget2A: "Layer deprivation scores, crime stats, school ratings, and broadband speeds alongside price. If a postcode is affordable and scores well on everything that matters, you've found genuine value, not just a low price with trade-offs you haven't spotted yet.",
|
||||
// FAQ items — Safety and Neighbourhood
|
||||
faqSafety1Q: 'How can I check if an area is safe before I move there?',
|
||||
faqSafety1A: 'We overlay real police-recorded crime data, broken down by type, onto every neighbourhood in England. Filter by violent crime, burglary, or antisocial behaviour and instantly see which postcodes have the lowest numbers.',
|
||||
faqSafety2Q: 'I keep finding flats that look great online, then the area turns out to be rough.',
|
||||
faqSafety2A: "That's exactly why this exists. Stack crime rates, noise levels, deprivation scores, nearby pubs and parks, and broadband speeds all on one map so you know what a neighbourhood is actually like before you book a viewing.",
|
||||
// FAQ items — Families and Schools
|
||||
faqFamilies1Q: 'Can I find areas with good schools AND low crime in one search?',
|
||||
faqFamilies1A: "Yes. Stack filters for Ofsted ratings, crime rates, parks, and whatever else matters to your family, and the map highlights only the areas that tick every box. No more cross-referencing five different websites.",
|
||||
faqFamilies2Q: 'How do I know if a neighbourhood has parks and playgrounds nearby?',
|
||||
faqFamilies2A: 'Toggle on the parks and green spaces POI layer to see them right on the map. You can also filter by how many are within walking distance of each postcode.',
|
||||
// FAQ items — Environment and Quality of Life
|
||||
faqEnv1Q: "Can I find energy-efficient homes that aren't on a noisy road?",
|
||||
faqEnv1A: 'Filter by EPC rating (A to C), then layer on road noise data to rule out anything above your threshold. Colour-code by either feature to spot quiet, efficient streets at a glance.',
|
||||
faqEnv2Q: 'Does it show flood or subsidence risk?',
|
||||
faqEnv2A: "We include ground stability data so you can check for subsidence, shrink-swell clay, and other geological hazards before committing to a property. Filter out risky areas early.",
|
||||
faqEnv3Q: 'Can I find areas with fast broadband that are actually quiet?',
|
||||
faqEnv3A: 'Layer the broadband speed filter with road noise data to find streets with great connectivity and low traffic noise. Colour-code by either metric to compare areas at a glance.',
|
||||
// FAQ items — Why Perfect Postcode
|
||||
faqWhy1Q: 'I already use Rightmove. What does this add?',
|
||||
faqWhy1A: "Rightmove shows you houses. We show you areas. Crime rates, school ratings, broadband speeds, noise levels, deprivation scores, and more, all filterable on one map. You can judge a neighbourhood before you even look at listings.",
|
||||
faqWhy2Q: "Can't I just research all this myself for free?",
|
||||
faqWhy2A: 'You could cross-reference police data, Ofsted reports, EPC registers, Land Registry records, and ONS statistics one postcode at a time. Or you could have it all filterable and colour-coded on one map in seconds.',
|
||||
faqWhy3Q: 'Where does the data actually come from?',
|
||||
faqWhy3A: "Every dataset comes from official UK government sources: Land Registry, the EPC register, ONS, Ofsted, Ofcom, data.police.uk, and Defra. We don't scrape estate agents or make anything up. You can verify any record against the original source.",
|
||||
// FAQ items — Pricing and Access
|
||||
faqPricing1Q: 'Is it really worth paying for a property search tool?',
|
||||
faqPricing1A: "Buying a home is likely the biggest purchase you'll make. Spotting one red flag (a noisy road, poor broadband, rising crime) before committing could save you years of regret. This costs less than a tank of petrol.",
|
||||
faqPricing2Q: 'Is this a subscription?',
|
||||
faqPricing2A: "No. One-time payment, yours forever. Use it intensively during your search, come back whenever you're curious about a new area, and it's still there if you ever move again.",
|
||||
faqPricing3Q: 'What can I access on the free tier?',
|
||||
faqPricing3A: 'Free users can explore all features within the demo area (inner London, roughly zones 1 to 2). To access data for the rest of England, you need lifetime access.',
|
||||
faqPricing4Q: 'Can I get a refund?',
|
||||
faqPricing4A: 'Absolutely. We offer a 30-day money-back guarantee. If you\u2019re not satisfied, email support@perfect-postcode.co.uk within 30 days for a full refund.',
|
||||
// FAQ items — Tips and Tricks
|
||||
faqTips1Q: 'How do I use the AI filter instead of adding filters one by one?',
|
||||
faqTips1A: 'Type what you want in plain English, something like "quiet area near good schools with fast broadband under \u00A3400k", and it\'ll set up all the relevant filters in one go. Tweak any of them manually afterwards.',
|
||||
faqTips2Q: 'Can I save a search and come back to it later?',
|
||||
faqTips2A: 'Hit the save button and everything is captured: your filters, zoom level, and which data layer you\u2019re colouring by. Pick up exactly where you left off or share the link with your partner.',
|
||||
faqTips3Q: "Can I export the data I'm looking at?",
|
||||
faqTips3A: 'Use the export button to download the currently filtered properties as a spreadsheet. The export respects all your active filters, so you get exactly the data you want.',
|
||||
},
|
||||
|
||||
// ── Account Page ───────────────────────────────────
|
||||
accountPage: {
|
||||
emailLabel: 'Email',
|
||||
subscriptionLabel: 'Subscription',
|
||||
upgrade: 'Upgrade',
|
||||
redirecting: 'Redirecting\u2026',
|
||||
receiveNewsletter: 'Receive newsletter emails',
|
||||
needHelp: 'Need help? Email us at',
|
||||
responseTime: 'We typically respond within 24 hours.',
|
||||
},
|
||||
|
||||
// ── Saved Page ─────────────────────────────────────
|
||||
savedPage: {
|
||||
searches: 'Searches',
|
||||
noSavedSearches: 'No saved searches yet',
|
||||
noSavedSearchesDesc: 'Save your filters and map view so you can pick up exactly where you left off.',
|
||||
noSavedProperties: 'No saved properties yet',
|
||||
noSavedPropertiesDesc: 'Bookmark properties as you explore and build your shortlist without losing track.',
|
||||
openPostcode: 'Open postcode',
|
||||
viewListing: 'View listing',
|
||||
clickToRename: 'Click to rename',
|
||||
notesPlaceholder: 'Jot down your thoughts...',
|
||||
deleteSearch: 'Delete search',
|
||||
deleteSearchConfirm: 'Are you sure you want to delete this saved search? This cannot be undone.',
|
||||
deleteProperty: 'Delete property',
|
||||
deletePropertyConfirm: 'Are you sure you want to delete this saved property? This cannot be undone.',
|
||||
bed: 'bed',
|
||||
epc: 'EPC',
|
||||
},
|
||||
|
||||
// ── Invites Page ───────────────────────────────────
|
||||
invitesPage: {
|
||||
inviteLinksLicensed: 'Invite links are available for licensed users.',
|
||||
inviteAdminLabel: 'Invite friends (100% off)',
|
||||
inviteReferralLabel: 'Invite friends (30% off)',
|
||||
generateFreeInvite: 'Generate free invite link',
|
||||
generateReferralLink: 'Generate referral link',
|
||||
copyInviteLink: 'Copy invite link',
|
||||
adminInvitesTitle: 'Admin invites (100% off)',
|
||||
referralInvitesTitle: 'Referral invites (30% off)',
|
||||
yourInviteLinks: 'Your invite links',
|
||||
noInvitesYet: 'No invites generated yet',
|
||||
link: 'Link',
|
||||
status: 'Status',
|
||||
created: 'Created',
|
||||
redeemed: 'Redeemed',
|
||||
pending: 'Pending',
|
||||
},
|
||||
|
||||
// ── Invite Page ────────────────────────────────────
|
||||
invitePage: {
|
||||
youreInvited: "You're invited!",
|
||||
specialOffer: 'Special offer!',
|
||||
invitedByFree: '{{name}} has invited you to get free lifetime access.',
|
||||
invitedByDiscount: '{{name}} has shared a 30% discount on lifetime access.',
|
||||
genericFreeInvite: 'You have been invited to get free lifetime access.',
|
||||
genericDiscount: 'A friend has shared a 30% discount on lifetime access.',
|
||||
exploreEvery: 'Explore every neighbourhood in England',
|
||||
propertyInfo: 'Property prices, energy ratings, crime stats, school ratings and more',
|
||||
invalidInvite: 'Invalid invite',
|
||||
inviteAlreadyUsed: 'Invite already used',
|
||||
inviteAlreadyUsedDesc: 'This invite link has already been redeemed.',
|
||||
invalidInviteLink: 'Invalid invite link',
|
||||
invalidInviteLinkDesc: 'This invite link is invalid or has expired.',
|
||||
licenseActivated: 'License activated!',
|
||||
fullAccessGranted: 'You now have full access to Perfect Postcode.',
|
||||
activating: 'Activating...',
|
||||
activateLicense: 'Activate license',
|
||||
claimDiscount: 'Claim discount',
|
||||
registerToClaim: 'Register to claim',
|
||||
youAlreadyHaveLicense: 'You already have a license',
|
||||
accountHasFullAccess: 'Your account already has full access.',
|
||||
failedToValidate: 'Failed to validate invite link',
|
||||
},
|
||||
|
||||
// ── Map Page ───────────────────────────────────────
|
||||
mapPage: {
|
||||
unsavedProperty: 'Unsave',
|
||||
savedProperty: 'Saved',
|
||||
},
|
||||
|
||||
// ── Format / Time ──────────────────────────────────
|
||||
format: {
|
||||
justNow: 'just now',
|
||||
minutesAgo: '{{count}}m ago',
|
||||
hoursAgo: '{{count}}h ago',
|
||||
daysAgo: '{{count}}d ago',
|
||||
nFilters: '{{count}} filters',
|
||||
noFilters: 'No filters',
|
||||
poiCategory: '{{count}} POI category',
|
||||
poiCategories: '{{count}} POI categories',
|
||||
travelDestination: '{{count}} travel time destination',
|
||||
travelDestinations: '{{count}} travel time destinations',
|
||||
propertiesMatch: '{{count}} properties match',
|
||||
setFilters: 'Set {{count}} filter(s): {{list}}',
|
||||
noFiltersSet: 'No filters set',
|
||||
toDestination: '{{mode}} to {{label}} {{bounds}}',
|
||||
lessThanMin: '< {{max}} min',
|
||||
moreThanMin: '> {{min}} min',
|
||||
},
|
||||
|
||||
// ── Tutorial ──────────────────────────────────────
|
||||
tutorial: {
|
||||
step1Title: 'Tell the map what matters',
|
||||
step1Content: 'Set your budget, commute limit, school quality, crime threshold. Whatever matters to you. Only areas that qualify stay lit. Use the eye icon to colour by any feature.',
|
||||
step2Title: 'Or just describe it',
|
||||
step2Content: 'Type what you want in plain English, like "quiet area near good schools under \u00A3400k", and we\u2019ll set up the filters for you.',
|
||||
step3Title: 'Explore what\u2019s out there',
|
||||
step3Content: 'Pan and zoom across England. Click any coloured area to see crime, schools, prices, broadband, noise, and more about that neighbourhood.',
|
||||
step4Title: 'Jump to a location',
|
||||
step4Content: 'Search for any place or postcode to fly straight there.',
|
||||
step5Title: 'Dig into the details',
|
||||
step5Content: 'See area statistics, histograms, and individual property records: prices, floor area, energy ratings, and more.',
|
||||
step6Title: 'What\u2019s nearby?',
|
||||
step6Content: 'Toggle schools, shops, stations, parks, and restaurants on the map to see what\u2019s within reach.',
|
||||
},
|
||||
|
||||
// ── Server-derived values ──────────────────────────
|
||||
// Keyed by the English server value. ts() looks up translations at display time.
|
||||
// The English keys MUST match exactly what the API returns.
|
||||
server: {
|
||||
// ─ Feature group names ─
|
||||
'Properties': 'Properties',
|
||||
'Transport': 'Transport',
|
||||
'Education': 'Education',
|
||||
'Deprivation': 'Deprivation',
|
||||
'Crime': 'Crime',
|
||||
'Demographics': 'Demographics',
|
||||
'Amenities': 'Amenities',
|
||||
|
||||
// ─ Feature names (Properties) ─
|
||||
'Listing status': 'Listing status',
|
||||
'Property type': 'Property type',
|
||||
'Leasehold/Freehold': 'Leasehold/Freehold',
|
||||
'Last known price': 'Last known price',
|
||||
'Estimated current price': 'Estimated current price',
|
||||
'Asking price': 'Asking price',
|
||||
'Price per sqm': 'Price per sqm',
|
||||
'Est. price per sqm': 'Est. price per sqm',
|
||||
'Asking price per sqm': 'Asking price per sqm',
|
||||
'Estimated monthly rent': 'Estimated monthly rent',
|
||||
'Asking rent (monthly)': 'Asking rent (monthly)',
|
||||
'Total floor area (sqm)': 'Total floor area (sqm)',
|
||||
'Number of bedrooms & living rooms': 'Number of bedrooms & living rooms',
|
||||
'Bedrooms': 'Bedrooms',
|
||||
'Bathrooms': 'Bathrooms',
|
||||
'Construction year': 'Construction year',
|
||||
'Date of last transaction': 'Date of last transaction',
|
||||
'Listing date': 'Listing date',
|
||||
'Former council house': 'Former council house',
|
||||
'Current energy rating': 'Current energy rating',
|
||||
'Potential energy rating': 'Potential energy rating',
|
||||
'Interior height (m)': 'Interior height (m)',
|
||||
|
||||
// ─ Feature names (Transport) ─
|
||||
'Distance to nearest train or tube station (km)': 'Distance to nearest train or tube station (km)',
|
||||
'Train or tube stations within 1km': 'Train or tube stations within 1km',
|
||||
|
||||
// ─ Feature names (Education) ─
|
||||
'Good+ primary schools within 2km': 'Good+ primary schools within 2km',
|
||||
'Good+ secondary schools within 2km': 'Good+ secondary schools within 2km',
|
||||
'Good+ primary schools within 5km': 'Good+ primary schools within 5km',
|
||||
'Good+ secondary schools within 5km': 'Good+ secondary schools within 5km',
|
||||
'Education, Skills and Training Score': 'Education, Skills and Training Score',
|
||||
|
||||
// ─ Feature names (Deprivation) ─
|
||||
'Income Score (rate)': 'Income Score (rate)',
|
||||
'Employment Score (rate)': 'Employment Score (rate)',
|
||||
'Health Deprivation and Disability Score': 'Health Deprivation and Disability Score',
|
||||
'Living Environment Score': 'Living Environment Score',
|
||||
'Indoors Sub-domain Score': 'Indoors Sub-domain Score',
|
||||
'Outdoors Sub-domain Score': 'Outdoors Sub-domain Score',
|
||||
|
||||
// ─ Feature names (Crime) ─
|
||||
'Serious crime per 1k residents (avg/yr)': 'Serious crime per 1k residents (avg/yr)',
|
||||
'Minor crime per 1k residents (avg/yr)': 'Minor crime per 1k residents (avg/yr)',
|
||||
'Serious crime (avg/yr)': 'Serious crime (avg/yr)',
|
||||
'Minor crime (avg/yr)': 'Minor crime (avg/yr)',
|
||||
'Violence and sexual offences (avg/yr)': 'Violence and sexual offences (avg/yr)',
|
||||
'Burglary (avg/yr)': 'Burglary (avg/yr)',
|
||||
'Robbery (avg/yr)': 'Robbery (avg/yr)',
|
||||
'Vehicle crime (avg/yr)': 'Vehicle crime (avg/yr)',
|
||||
'Anti-social behaviour (avg/yr)': 'Anti-social behaviour (avg/yr)',
|
||||
'Criminal damage and arson (avg/yr)': 'Criminal damage and arson (avg/yr)',
|
||||
'Other theft (avg/yr)': 'Other theft (avg/yr)',
|
||||
'Theft from the person (avg/yr)': 'Theft from the person (avg/yr)',
|
||||
'Shoplifting (avg/yr)': 'Shoplifting (avg/yr)',
|
||||
'Bicycle theft (avg/yr)': 'Bicycle theft (avg/yr)',
|
||||
'Drugs (avg/yr)': 'Drugs (avg/yr)',
|
||||
'Possession of weapons (avg/yr)': 'Possession of weapons (avg/yr)',
|
||||
'Public order (avg/yr)': 'Public order (avg/yr)',
|
||||
'Other crime (avg/yr)': 'Other crime (avg/yr)',
|
||||
|
||||
// ─ Feature names (Demographics) ─
|
||||
'Median age': 'Median age',
|
||||
'% White': '% White',
|
||||
'% South Asian': '% South Asian',
|
||||
'% Black': '% Black',
|
||||
'% East Asian': '% East Asian',
|
||||
'% Mixed': '% Mixed',
|
||||
'% Other': '% Other',
|
||||
|
||||
// ─ Feature names (Amenities) ─
|
||||
'Distance to nearest park (km)': 'Distance to nearest park (km)',
|
||||
'Number of parks within 2km': 'Number of parks within 2km',
|
||||
'Number of restaurants within 2km': 'Number of restaurants within 2km',
|
||||
'Number of grocery shops and supermarkets within 2km': 'Number of grocery shops and supermarkets within 2km',
|
||||
'Noise (dB)': 'Noise (dB)',
|
||||
'Max available download speed (Mbps)': 'Max available download speed (Mbps)',
|
||||
|
||||
|
||||
// ─ Enum values ─
|
||||
'Historical sale': 'Historical sale',
|
||||
'For sale': 'For sale',
|
||||
'For rent': 'For rent',
|
||||
'Detached': 'Detached',
|
||||
'Semi-Detached': 'Semi-Detached',
|
||||
'Terraced': 'Terraced',
|
||||
'Flats/Maisonettes': 'Flats/Maisonettes',
|
||||
'Other': 'Other',
|
||||
'Freehold': 'Freehold',
|
||||
'Leasehold': 'Leasehold',
|
||||
'Yes': 'Yes',
|
||||
'No': 'No',
|
||||
|
||||
// ─ Stacked chart labels ─
|
||||
'Serious crime': 'Serious crime',
|
||||
'Minor crime': 'Minor crime',
|
||||
'Ethnic composition': 'Ethnic composition',
|
||||
|
||||
// ─ POI group names ─
|
||||
'Public Transport': 'Public Transport',
|
||||
'Leisure': 'Leisure',
|
||||
'Health': 'Health',
|
||||
'Emergency Services': 'Emergency Services',
|
||||
'Groceries': 'Groceries',
|
||||
'Local Businesses': 'Local Businesses',
|
||||
'Culture': 'Culture',
|
||||
'Services': 'Services',
|
||||
'Shops': 'Shops',
|
||||
|
||||
// ─ POI categories ─
|
||||
'Airport': 'Airport',
|
||||
'Ferry': 'Ferry',
|
||||
'Rail station': 'Rail station',
|
||||
'Bus stop': 'Bus stop',
|
||||
'Bus station': 'Bus station',
|
||||
'Taxi rank': 'Taxi rank',
|
||||
'Metro or Tram stop': 'Metro or Tram stop',
|
||||
'Caf\u00E9': 'Caf\u00E9',
|
||||
'Restaurant': 'Restaurant',
|
||||
'Pub': 'Pub',
|
||||
'Bar': 'Bar',
|
||||
'Fast Food': 'Fast Food',
|
||||
'Nightclub': 'Nightclub',
|
||||
'Cinema': 'Cinema',
|
||||
'Theatre': 'Theatre',
|
||||
'Live Music & Events': 'Live Music & Events',
|
||||
'Park': 'Park',
|
||||
'Playground': 'Playground',
|
||||
'Sports Centre': 'Sports Centre',
|
||||
'Entertainment': 'Entertainment',
|
||||
'Supermarket': 'Supermarket',
|
||||
'Convenience Store': 'Convenience Store',
|
||||
'Bakery': 'Bakery',
|
||||
'Butcher & Fishmonger': 'Butcher & Fishmonger',
|
||||
'Greengrocer': 'Greengrocer',
|
||||
'Off-Licence': 'Off-Licence',
|
||||
'Deli & Specialty': 'Deli & Specialty',
|
||||
'Fashion & Clothing': 'Fashion & Clothing',
|
||||
'Electronics': 'Electronics',
|
||||
'Charity Shop': 'Charity Shop',
|
||||
'DIY & Hardware': 'DIY & Hardware',
|
||||
'Home & Garden': 'Home & Garden',
|
||||
'Bookshop': 'Bookshop',
|
||||
'Pet Shop': 'Pet Shop',
|
||||
'Sports & Outdoor': 'Sports & Outdoor',
|
||||
'Newsagent': 'Newsagent',
|
||||
'Department Store': 'Department Store',
|
||||
'Gift & Hobby': 'Gift & Hobby',
|
||||
'Specialist Shop': 'Specialist Shop',
|
||||
'Hairdresser & Beauty': 'Hairdresser & Beauty',
|
||||
'Gym & Fitness': 'Gym & Fitness',
|
||||
'Dry Cleaner & Laundry': 'Dry Cleaner & Laundry',
|
||||
'Car Services': 'Car Services',
|
||||
'Post Office': 'Post Office',
|
||||
'Vet & Pet Care': 'Vet & Pet Care',
|
||||
'Bank': 'Bank',
|
||||
'Travel Agent': 'Travel Agent',
|
||||
'Police': 'Police',
|
||||
'Fire Station': 'Fire Station',
|
||||
'Ambulance Station': 'Ambulance Station',
|
||||
'GP Surgery': 'GP Surgery',
|
||||
'Dentist': 'Dentist',
|
||||
'Pharmacy': 'Pharmacy',
|
||||
'Hospital & Clinic': 'Hospital & Clinic',
|
||||
'Optician': 'Optician',
|
||||
'Physiotherapy': 'Physiotherapy',
|
||||
'Counselling & Therapy': 'Counselling & Therapy',
|
||||
'Care Home': 'Care Home',
|
||||
'Medical & Mobility': 'Medical & Mobility',
|
||||
'Museum': 'Museum',
|
||||
'Gallery': 'Gallery',
|
||||
'Library': 'Library',
|
||||
'Place of Worship': 'Place of Worship',
|
||||
'Arts Centre': 'Arts Centre',
|
||||
'Zoo': 'Zoo',
|
||||
'Tourist Attraction': 'Tourist Attraction',
|
||||
'School': 'School',
|
||||
'Hotel': 'Hotel',
|
||||
'Local Business': 'Local Business',
|
||||
'Offices': 'Offices',
|
||||
'EV Charging': 'EV Charging',
|
||||
'Fuel Station': 'Fuel Station',
|
||||
'Community Centre': 'Community Centre',
|
||||
|
||||
// ─ Suffixes (used in formatters) ─
|
||||
'/mo': '/mo',
|
||||
'/yr': '/yr',
|
||||
' sqm': ' sqm',
|
||||
' km': ' km',
|
||||
' m': ' m',
|
||||
' dB': ' dB',
|
||||
' years': ' years',
|
||||
' rooms': ' rooms',
|
||||
},
|
||||
} as const;
|
||||
|
||||
export default en;
|
||||
|
||||
/**
|
||||
* Recursively maps a translation object's leaf values to `string`,
|
||||
* preserving the nested key structure. Used to type-check non-English
|
||||
* locale files: they must have exactly the same keys as English,
|
||||
* but with their own string values.
|
||||
*
|
||||
* Missing key -> TS error. Extra key -> TS error.
|
||||
*/
|
||||
export type DeepStringify<T> = {
|
||||
[K in keyof T]: T[K] extends Record<string, unknown> ? DeepStringify<T[K]> : string;
|
||||
};
|
||||
|
||||
export type Translations = DeepStringify<typeof en>;
|
||||
882
frontend/src/i18n/locales/fr.ts
Normal file
882
frontend/src/i18n/locales/fr.ts
Normal file
|
|
@ -0,0 +1,882 @@
|
|||
import { Translations } from './en';
|
||||
|
||||
const fr: Translations = {
|
||||
// ── Common ──────────────────────────────────────────
|
||||
common: {
|
||||
save: 'Enregistrer',
|
||||
cancel: 'Annuler',
|
||||
close: 'Fermer',
|
||||
delete: 'Supprimer',
|
||||
open: 'Ouvrir',
|
||||
share: 'Partager',
|
||||
copy: 'Copier',
|
||||
copied: 'Copi\u00E9 !',
|
||||
copiedToClipboard: 'Copi\u00E9 dans le presse-papiers',
|
||||
loading: 'Chargement...',
|
||||
loadMore: 'Charger plus',
|
||||
remaining: '{{count}} restant(s)',
|
||||
search: 'Rechercher',
|
||||
all: 'Tous',
|
||||
none: 'Aucun',
|
||||
viewDataSource: 'Voir la source des donn\u00E9es',
|
||||
total: 'Total',
|
||||
min: 'min',
|
||||
or: 'ou',
|
||||
area: 'Zone',
|
||||
properties: 'Propri\u00E9t\u00E9s',
|
||||
postcode: 'Code postal',
|
||||
noAreaSelected: 'Aucune zone s\u00E9lectionn\u00E9e',
|
||||
noAreaSelectedDesc:
|
||||
'Cliquez sur une zone color\u00E9e de la carte pour voir la criminalit\u00E9, les \u00E9coles, les prix et plus encore',
|
||||
clickForDetails: 'Cliquez pour les d\u00E9tails',
|
||||
property: 'propri\u00E9t\u00E9',
|
||||
propertiesPlural: 'propri\u00E9t\u00E9s',
|
||||
},
|
||||
|
||||
// ── Header / Nav ───────────────────────────────────
|
||||
header: {
|
||||
appName: 'Perfect Postcode',
|
||||
dashboard: 'Tableau de bord',
|
||||
learn: 'En savoir plus',
|
||||
pricing: 'Tarifs',
|
||||
inviteFriends: 'Inviter des amis',
|
||||
saved: 'Enregistr\u00E9s',
|
||||
logIn: 'Se connecter',
|
||||
createAccount: 'Cr\u00E9er un compte',
|
||||
sharing: 'Partage en cours...',
|
||||
exportLabel: 'Exporter',
|
||||
exporting: 'Exportation...',
|
||||
exportToExcel: 'Exporter vers Excel',
|
||||
openMenu: 'Ouvrir le menu',
|
||||
closeMenu: 'Fermer le menu',
|
||||
},
|
||||
|
||||
// ── User Menu ──────────────────────────────────────
|
||||
userMenu: {
|
||||
fullAccess: 'Acc\u00E8s complet',
|
||||
demo: 'D\u00E9mo',
|
||||
themeLight: 'Th\u00E8me : Clair',
|
||||
themeDark: 'Th\u00E8me : Sombre',
|
||||
account: 'Compte',
|
||||
logOut: 'Se d\u00E9connecter',
|
||||
},
|
||||
|
||||
// ── Mobile Menu ────────────────────────────────────
|
||||
mobileMenu: {
|
||||
menu: 'Menu',
|
||||
home: 'Accueil',
|
||||
},
|
||||
|
||||
// ── Auth Modal ─────────────────────────────────────
|
||||
auth: {
|
||||
logIn: 'Se connecter',
|
||||
createAccount: 'Cr\u00E9er un compte',
|
||||
resetPassword: 'R\u00E9initialiser le mot de passe',
|
||||
valueProp:
|
||||
'Enregistrez vos recherches, ajoutez des propri\u00E9t\u00E9s en favoris et reprenez l\u00E0 o\u00F9 vous vous \u00E9tiez arr\u00EAt\u00E9.',
|
||||
continueWithGoogle: 'Continuer avec Google',
|
||||
email: 'E-mail',
|
||||
emailPlaceholder: 'vous@exemple.com',
|
||||
password: 'Mot de passe',
|
||||
passwordPlaceholderRegister: '8 caract\u00E8res minimum',
|
||||
passwordPlaceholderLogin: 'Votre mot de passe',
|
||||
forgotPassword: 'Mot de passe oubli\u00E9 ?',
|
||||
resetSent: 'V\u00E9rifiez votre bo\u00EEte e-mail pour le lien de r\u00E9initialisation.',
|
||||
pleaseWait: 'Veuillez patienter...',
|
||||
sendResetLink: 'Envoyer le lien de r\u00E9initialisation',
|
||||
backToLogin: 'Retour \u00E0 la connexion',
|
||||
},
|
||||
|
||||
// ── Upgrade Modal ──────────────────────────────────
|
||||
upgrade: {
|
||||
title: "D\u00E9couvrez toute l'Angleterre",
|
||||
description:
|
||||
"Vous explorez actuellement la zone de d\u00E9monstration. Obtenez un acc\u00E8s \u00E0 vie \u00E0 chaque code postal, chaque filtre, chaque quartier. Un seul paiement, pour toujours.",
|
||||
free: 'Gratuit',
|
||||
once: '/unique',
|
||||
freeForEarly: 'Gratuit pour les premiers utilisateurs. Aucune carte bancaire requise.',
|
||||
oneTimePayment:
|
||||
'Paiement unique. Acc\u00E8s \u00E0 vie. Garantie satisfait ou rembours\u00E9 sous 30 jours.',
|
||||
redirecting: 'Redirection...',
|
||||
claimFreeAccess: "R\u00E9clamer l'acc\u00E8s gratuit",
|
||||
upgradeFor: 'Passer \u00E0 la version compl\u00E8te pour {{price}}',
|
||||
registerAndUpgrade: "S'inscrire et passer \u00E0 la version compl\u00E8te",
|
||||
alreadyHaveAccount: 'Vous avez d\u00E9j\u00E0 un compte ? Connectez-vous',
|
||||
continueWithDemo: 'Continuer avec la d\u00E9mo',
|
||||
checkoutFailed: '\u00C9chec du paiement',
|
||||
},
|
||||
|
||||
// ── Save Search Modal ──────────────────────────────
|
||||
saveSearch: {
|
||||
title: 'Enregistrer la recherche',
|
||||
saved: 'Recherche enregistr\u00E9e',
|
||||
savedSuccess: 'Votre recherche a \u00E9t\u00E9 enregistr\u00E9e avec succ\u00E8s.',
|
||||
viewSavedSearches: 'Voir les recherches enregistr\u00E9es',
|
||||
name: 'Nom',
|
||||
namePlaceholder: 'Ma recherche',
|
||||
saving: 'Enregistrement...',
|
||||
},
|
||||
|
||||
// ── License Success ────────────────────────────────
|
||||
licenseSuccess: {
|
||||
title: "C'est fait.",
|
||||
subtitle: 'Votre acc\u00E8s \u00E0 vie est maintenant actif.',
|
||||
description:
|
||||
"Acc\u00E8s complet \u00E0 chaque fonctionnalit\u00E9, chaque code postal, dans toute l'Angleterre.",
|
||||
startExploring: 'Commencer \u00E0 explorer',
|
||||
},
|
||||
|
||||
// ── Filters ────────────────────────────────────────
|
||||
filters: {
|
||||
activeFilters: 'Filtres actifs',
|
||||
addFilter: 'Ajouter un filtre',
|
||||
historical: 'Historique',
|
||||
buy: 'Acheter',
|
||||
rent: 'Louer',
|
||||
findingPerfectPostcode: 'Trouver le code postal id\u00E9al',
|
||||
addFiltersHint:
|
||||
'Ajoutez des filtres ci-dessous pour restreindre la carte aux zones correspondant \u00E0 vos crit\u00E8res',
|
||||
upgradePrompt:
|
||||
"Voir la criminalit\u00E9, les \u00E9coles, le bruit, le d\u00E9bit internet et plus de 50 filtres dans toute l'Angleterre.",
|
||||
oneTimeLifetime: 'Paiement unique, acc\u00E8s \u00E0 vie.',
|
||||
upgradeToFullMap: 'Passer \u00E0 la carte compl\u00E8te',
|
||||
chooseFilters:
|
||||
'Choisissez les filtres qui comptent pour vous. La carte se met \u00E0 jour en temps r\u00E9el.',
|
||||
searchFeatures: 'Rechercher des crit\u00E8res...',
|
||||
noMatchingFeatures: 'Aucun crit\u00E8re correspondant',
|
||||
tryDifferentSearch: 'Essayez un autre terme de recherche',
|
||||
allFeaturesActive: 'Tous les crit\u00E8res sont actifs',
|
||||
removeFilterHint: 'Supprimez un filtre pour voir les crit\u00E8res disponibles',
|
||||
featureInfo: 'Informations sur le crit\u00E8re',
|
||||
replayTutorial: 'Rejouer le tutoriel interactif',
|
||||
},
|
||||
|
||||
// ── Philosophy Popup ───────────────────────────────
|
||||
philosophy: {
|
||||
intro:
|
||||
"Commencez par vos crit\u00E8res indispensables, puis ajoutez les crit\u00E8res souhait\u00E9s. La carte se r\u00E9duit au fur et \u00E0 mesure que vous ajoutez des filtres. Les zones restantes sont vos meilleures correspondances.",
|
||||
step1Title: 'Budget et fondamentaux',
|
||||
step1Desc: '(fourchette de prix, surface, type de bien)',
|
||||
step2Title: 'Trajet',
|
||||
step2Desc: '(temps de trajet vers votre lieu de travail en voiture, v\u00E9lo ou transports)',
|
||||
step3Title: 'S\u00E9curit\u00E9',
|
||||
step3Desc: '(taux de criminalit\u00E9, niveaux de bruit, stabilit\u00E9 du sol)',
|
||||
step4Title: '\u00C9coles',
|
||||
step4Desc: '(proximit\u00E9 d\u2019\u00E9coles not\u00E9es Bien ou Excellent par Ofsted)',
|
||||
step5Title: 'Cadre de vie',
|
||||
step5Desc: '(restaurants, parcs, d\u00E9bit internet)',
|
||||
step6Title: '\u00C9nergie',
|
||||
step6Desc: '(classements DPE, isolation, co\u00FBts de chauffage)',
|
||||
tip: "Astuce : si rien ne correspond, assouplissez un crit\u00E8re \u00E0 la fois pour voir quel compromis ouvre le plus d'options.",
|
||||
},
|
||||
|
||||
// ── Travel Time ────────────────────────────────────
|
||||
travel: {
|
||||
travelTime: 'Temps de trajet ({{mode}})',
|
||||
maxTime: 'Temps maximum',
|
||||
selectDestination: 'S\u00E9lectionner une destination...',
|
||||
bestCase: 'Meilleur cas',
|
||||
bestCaseTitle: 'Meilleur temps de trajet',
|
||||
bestCaseDesc:
|
||||
"Utilise le temps de trajet r\u00E9aliste le plus rapide (si vous partez au bon moment et avez de bonnes correspondances). Par d\u00E9faut, la <strong>m\u00E9diane</strong> est utilis\u00E9e, repr\u00E9sentant un trajet typique quelle que soit l'heure de d\u00E9part.",
|
||||
previewOnMap: 'Aper\u00E7u sur la carte',
|
||||
stopPreviewing: "Arr\u00EAter l'aper\u00E7u",
|
||||
removeTravelTime: 'Supprimer le temps de trajet',
|
||||
addTravelTime: 'Ajouter le temps de trajet en {{mode}}',
|
||||
clearDestination: 'Effacer la destination',
|
||||
typeToFilter: 'Tapez pour filtrer...',
|
||||
noDestinations: 'Aucune destination trouv\u00E9e',
|
||||
modeCar: 'Voiture',
|
||||
modeBicycle: 'V\u00E9lo',
|
||||
modeWalking: 'Marche',
|
||||
modeTransit: 'Transports',
|
||||
modeCarDesc: 'Temps de conduite via l\u2019itin\u00E9raire routier le plus rapide',
|
||||
modeBicycleDesc: 'Temps de trajet \u00E0 v\u00E9lo via des itin\u00E9raires cyclables',
|
||||
modeWalkingDesc: 'Temps de marche le long des chemins pi\u00E9tons et trottoirs',
|
||||
modeTransitDesc: 'Temps de trajet en train, m\u00E9tro et bus',
|
||||
},
|
||||
|
||||
// ── Travel Time Info Popup ─────────────────────────
|
||||
travelInfo: {
|
||||
transitDesc:
|
||||
' en transports en commun (bus, train, m\u00E9tro). Les temps sont calcul\u00E9s sur une fen\u00EAtre typique d\u2019un matin de semaine.',
|
||||
carDesc:
|
||||
' en voiture, bas\u00E9 sur les vitesses de circulation habituelles et le r\u00E9seau routier.',
|
||||
bicycleDesc: ' \u00E0 v\u00E9lo, via des itin\u00E9raires adapt\u00E9s aux cyclistes.',
|
||||
walkingDesc: ' \u00E0 pied, via les chemins pi\u00E9tons et trottoirs.',
|
||||
mainDesc:
|
||||
'Affiche le temps n\u00E9cessaire pour atteindre la destination s\u00E9lectionn\u00E9e depuis chaque zone',
|
||||
sliderHint:
|
||||
'Utilisez le curseur pour d\u00E9finir votre temps de trajet maximum.',
|
||||
},
|
||||
|
||||
// ── AI Filter ──────────────────────────────────────
|
||||
aiFilter: {
|
||||
describeIdealArea: 'D\u00E9crivez votre zone id\u00E9ale avec l\u2019IA',
|
||||
aiSearch: 'Recherche IA',
|
||||
describeHint: 'd\u00E9crivez ce que vous recherchez',
|
||||
placeholder:
|
||||
'ex. quartier calme, moins de \u00A3400k, pr\u00E8s de bonnes \u00E9coles...',
|
||||
example1: 'Quartier s\u00FBr pr\u00E8s de bonnes \u00E9coles',
|
||||
example2: '30 min de trajet jusqu\u2019\u00E0 Kings Cross, moins de \u00A3500k',
|
||||
example3: 'Village tranquille, 3 chambres, d\u00E9bit internet rapide',
|
||||
analysing: 'Analyse de votre requ\u00EAte...',
|
||||
searchingDestinations: 'Recherche de destinations...',
|
||||
generatingFilters: 'G\u00E9n\u00E9ration des filtres...',
|
||||
refiningResults: 'Affinage des r\u00E9sultats...',
|
||||
weeklyLimitReached:
|
||||
'Vous avez atteint la limite hebdomadaire d\u2019utilisation de l\u2019IA. Elle se r\u00E9initialisera automatiquement la semaine prochaine.',
|
||||
},
|
||||
|
||||
// ── Map Legend ─────────────────────────────────────
|
||||
mapLegend: {
|
||||
clearColourView: 'Effacer la vue en couleur',
|
||||
},
|
||||
|
||||
// ── Properties Pane ────────────────────────────────
|
||||
propertyCard: {
|
||||
unknownAddress: 'Adresse inconnue',
|
||||
unsaveProperty: 'Retirer des favoris',
|
||||
saveProperty: 'Ajouter aux favoris',
|
||||
lastSold: 'Derni\u00E8re vente : \u00A3{{price}}',
|
||||
estValue: 'Valeur estim\u00E9e :',
|
||||
type: 'Type :',
|
||||
builtForm: 'Forme du b\u00E2ti :',
|
||||
tenure: 'R\u00E9gime foncier :',
|
||||
floorArea: 'Surface :',
|
||||
bedrooms: 'Chambres :',
|
||||
bathrooms: 'Salles de bain :',
|
||||
rooms: 'Pi\u00E8ces :',
|
||||
built: 'Construction :',
|
||||
epcRating: 'Classement DPE :',
|
||||
epcPotential: 'Potentiel DPE :',
|
||||
listed: 'Mise en vente :',
|
||||
keyFeatures: 'Caract\u00E9ristiques cl\u00E9s',
|
||||
renovations: 'R\u00E9novations',
|
||||
viewExternalListing: 'Voir l\u2019annonce externe',
|
||||
perMonth: '/mois',
|
||||
perSqm: '/m\u00B2',
|
||||
searchPlaceholder: 'Rechercher par adresse ou code postal...',
|
||||
propertyData: 'Donn\u00E9es immobili\u00E8res',
|
||||
propertyDataDesc:
|
||||
'Les prix proviennent du HM Land Registry (ce que les acheteurs ont r\u00E9ellement pay\u00E9). La surface, les classements \u00E9nerg\u00E9tiques, l\u2019ann\u00E9e de construction et le r\u00E9gime foncier proviennent des diagnostics DPE officiels. Les deux sources sont reli\u00E9es par adresse au sein de chaque code postal.',
|
||||
},
|
||||
|
||||
// ── Area Pane ──────────────────────────────────────
|
||||
areaPane: {
|
||||
areaStatistics: 'Statistiques de la zone',
|
||||
statsFor: 'Statistiques pour toutes les propri\u00E9t\u00E9s de ce/cette {{type}}',
|
||||
matchingFilters: ' correspondant \u00E0 tous les filtres actifs',
|
||||
viewProperties: 'Voir {{count}} propri\u00E9t\u00E9s',
|
||||
priceHistory: 'Historique des prix',
|
||||
journeysFrom: 'Trajets depuis {{label}}',
|
||||
to: 'Vers {{destination}}',
|
||||
noJourneyData: 'Aucune donn\u00E9e de trajet disponible',
|
||||
viewOnGoogleMaps: 'Voir sur Google Maps',
|
||||
walk: 'Marche',
|
||||
cycle: 'V\u00E9lo',
|
||||
},
|
||||
|
||||
// ── Histogram Legend ───────────────────────────────
|
||||
histogramLegend: {
|
||||
tealBars: 'Barres turquoise',
|
||||
tealBarsDesc: 'montrent la distribution dans cette zone s\u00E9lectionn\u00E9e',
|
||||
greyBars: 'Barres grises',
|
||||
greyBarsDesc: 'montrent la distribution globale dans toutes les zones',
|
||||
dashedLine: 'Ligne pointill\u00E9e',
|
||||
dashedLineDesc: 'indique la moyenne nationale',
|
||||
},
|
||||
|
||||
// ── Street View ────────────────────────────────────
|
||||
streetView: {
|
||||
title: 'Street View',
|
||||
},
|
||||
|
||||
// ── POI Pane ───────────────────────────────────────
|
||||
poiPane: {
|
||||
pois: 'POI',
|
||||
pointsOfInterest: "Points d'int\u00E9r\u00EAt",
|
||||
poiDescription:
|
||||
"Donn\u00E9es issues d'OpenStreetMap. Couvre les arr\u00EAts de transport, commerces, restaurants, \u00E9tablissements de sant\u00E9, loisirs et plus encore. Mise \u00E0 jour r\u00E9guli\u00E8re avec une couverture compl\u00E8te des cat\u00E9gories.",
|
||||
searchCategories: 'Rechercher des cat\u00E9gories...',
|
||||
dataSourceInfo: 'Informations sur la source',
|
||||
},
|
||||
|
||||
// ── External Search Links ──────────────────────────
|
||||
externalSearch: {
|
||||
searchOn: 'Rechercher {{radius}} sur',
|
||||
outcodeNotRecognised: 'Code postal non reconnu',
|
||||
},
|
||||
|
||||
// ── Location Search ────────────────────────────────
|
||||
locationSearch: {
|
||||
placeholder: 'Rechercher des lieux ou codes postaux...',
|
||||
postcodeNotFound: 'Code postal introuvable',
|
||||
lookupFailed: '\u00C9chec de la recherche',
|
||||
searchLabel: 'Rechercher des lieux ou codes postaux',
|
||||
locateMe: 'Aller \u00E0 ma position',
|
||||
geolocationUnsupported: 'La g\u00E9olocalisation n\'est pas prise en charge par votre navigateur',
|
||||
geolocationFailed: 'Impossible de d\u00E9terminer votre position',
|
||||
},
|
||||
|
||||
// ── Mobile Drawer ──────────────────────────────────
|
||||
mobileDrawer: {
|
||||
closeDrawer: 'Fermer le tiroir',
|
||||
},
|
||||
|
||||
// ── Home Page ──────────────────────────────────────
|
||||
home: {
|
||||
heroTitle1: 'Valeur',
|
||||
heroTitle2: 'Maximale',
|
||||
heroTitle3: 'Compromis Minimum.',
|
||||
heroSubtitle:
|
||||
'Vous cherchez un bien ? Faites de votre plus gros investissement votre meilleure d\u00E9cision.',
|
||||
heroDescription:
|
||||
"Tant d'options \u2014 choisir la bonne peut sembler d\u00E9courageant. Notre carte interactive simplifie tout : s\u00E9lectionnez vos crit\u00E8res et voyez instantan\u00E9ment les zones qui correspondent.",
|
||||
exploreTheMap: 'Explorer la carte',
|
||||
seeTheDifference: 'Voir la diff\u00E9rence',
|
||||
statProperties: 'propri\u00E9t\u00E9s',
|
||||
statFilters: 'filtres',
|
||||
statEvery: 'Chaque',
|
||||
statPostcodeInEngland: "code postal d'Angleterre",
|
||||
ourPhilosophy: 'Notre philosophie',
|
||||
philosophyP1:
|
||||
"Sur Rightmove, vous choisissez d'abord une zone, puis vous esp\u00E9rez qu'elle convient. Vous finissez par croiser statistiques de criminalit\u00E9, rapports scolaires et tests de d\u00E9bit sur une dizaine d'onglets, un code postal \u00E0 la fois.",
|
||||
philosophyP2:
|
||||
"Nous inversons la logique. Dites-nous ce qu'il vous faut (budget, trajet, \u00E9coles, s\u00E9curit\u00E9) et nous vous montrons chaque zone d'Angleterre qui correspond. Plus de devinettes. Plus de visites inutiles.",
|
||||
howToUseIt: 'Comment l\u2019utiliser',
|
||||
howStep1Title: 'D\u00E9finissez vos indispensables',
|
||||
howStep1Desc:
|
||||
'Budget, trajet, \u00E9coles \u2014 la carte n\u2019affiche que ce qui correspond.',
|
||||
howStep2Title: 'Explorez les zones et d\u00E9couvrez des p\u00E9pites cach\u00E9es',
|
||||
howStep2Desc: 'Zoomez, examinez les d\u00E9tails et les crit\u00E8res secondaires.',
|
||||
howStep3Title: 'Plongez dans les codes postaux',
|
||||
howStep3Desc:
|
||||
'Consultez les propri\u00E9t\u00E9s individuelles, les prix de vente, la surface et comparez.',
|
||||
howStep4Title: 'Constituez votre s\u00E9lection en toute confiance',
|
||||
howStep4Desc:
|
||||
'Chaque zone de votre liste r\u00E9pond \u00E0 vos vrais crit\u00E8res \u2014 pas seulement \u00E0 ce qui \u00E9tait en vente cette semaine-l\u00E0.',
|
||||
othersVs: 'Les autres vs',
|
||||
listingPortals: "Portails d'annonces",
|
||||
checkMyPostcode: '\u00AB V\u00E9rifier mon code postal \u00BB',
|
||||
areaGuides: 'Guides de quartier',
|
||||
compSearchWithout: "Rechercher sans d'abord choisir une zone",
|
||||
compSearchWithoutSub: "(partir de ses besoins, pas d'un lieu)",
|
||||
compAreaData: 'Donn\u00E9es de la zone',
|
||||
compAreaDataSub: '(criminalit\u00E9, \u00E9coles, bruit, d\u00E9bit internet)',
|
||||
compPropertyData: 'Donn\u00E9es par propri\u00E9t\u00E9',
|
||||
compPropertyDataSub: '(prix, DPE, surface)',
|
||||
compFilters: '56 filtres combinables en un seul endroit',
|
||||
compFiltersSub: '(toutes les informations, une seule carte interactive)',
|
||||
ctaTitle:
|
||||
'Faites de votre plus gros investissement votre meilleure\u00A0d\u00E9cision.',
|
||||
ctaDescription:
|
||||
'Un tel enjeu m\u00E9rite de vrais outils, ne laissez pas la chance d\u00E9cider.',
|
||||
},
|
||||
|
||||
// ── Pricing Page ───────────────────────────────────
|
||||
pricingPage: {
|
||||
title: 'Tarifs early access',
|
||||
subtitle:
|
||||
"Payez une fois, acc\u00E9dez pour toujours. Plus vous rejoignez t\u00F4t, moins vous payez.",
|
||||
costContext:
|
||||
"L'achat d'un bien co\u00FBte plus de \u00A310 000 en droits de mutation, \u00A31 500 en frais de notaire, \u00A3500 pour une expertise. Choisissez le mauvais quartier et vous vous retrouvez avec un long trajet, de mauvaises \u00E9coles ou une route dont vous ignoriez l'existence.",
|
||||
lessThanSurvey: "Moins cher qu'une expertise immobili\u00E8re. Bien plus utile.",
|
||||
currentTier: 'Palier actuel',
|
||||
firstNUsers: '{{count}} premiers utilisateurs',
|
||||
everyoneAfter: 'Tous les suivants',
|
||||
nextNUsers: '{{count}} utilisateurs suivants',
|
||||
lifetime: '/\u00E0 vie',
|
||||
spotsRemaining: '{{count}} place restante',
|
||||
spotsRemainingPlural: '{{count}} places restantes',
|
||||
filled: 'Complet',
|
||||
openDashboard: 'Ouvrir le tableau de bord',
|
||||
getStarted: 'Commencer',
|
||||
getStartedPrice: 'Commencer - {{price}}',
|
||||
noCreditCard: 'Aucune carte bancaire requise',
|
||||
moneyBackGuarantee: 'Garantie satisfait ou rembours\u00E9 sous 30 jours',
|
||||
soldOut: '\u00C9puis\u00E9',
|
||||
upcoming: '\u00C0 venir',
|
||||
failedToLoad:
|
||||
'\u00C9chec du chargement des tarifs. Veuillez r\u00E9essayer plus tard.',
|
||||
feat1: "56 couches de donn\u00E9es \u00E0 travers l'Angleterre",
|
||||
feat2: 'Chaque code postal not\u00E9 et filtrable',
|
||||
feat3: 'Exploration de la carte et exportations illimit\u00E9es',
|
||||
feat4: 'Plusieurs d\u00E9cennies de donn\u00E9es historiques de prix',
|
||||
feat5: 'Criminalit\u00E9, \u00E9coles, transports, d\u00E9bit internet et plus',
|
||||
feat6: 'Toutes les futures mises \u00E0 jour de donn\u00E9es incluses',
|
||||
},
|
||||
|
||||
// ── Learn Page ─────────────────────────────────────
|
||||
learnPage: {
|
||||
faq: 'FAQ',
|
||||
dataSources: 'Sources de donn\u00E9es',
|
||||
support: 'Assistance',
|
||||
dataSourcesIntro: 'Cette application combine {{count}} jeux de donn\u00E9es ouverts couvrant les prix immobiliers, la performance \u00E9nerg\u00E9tique, les transports, la d\u00E9mographie, la criminalit\u00E9, l\u2019environnement et plus encore.',
|
||||
faqIntro: 'Que vous achetiez, louiez ou exploriez simplement, voici comment Perfect Postcode vous aide \u00E0 trouver le bon quartier.',
|
||||
supportIntro: 'Vous avez une question ? Consultez notre FAQ ou contactez-nous directement.',
|
||||
source: 'Source :',
|
||||
optOut: 'Retrait de la divulgation publique',
|
||||
attribution: 'Attribution',
|
||||
attrLandRegistry: 'Contient des donn\u00E9es du HM Land Registry \u00A9 Crown copyright and database right 2025.',
|
||||
attrOgl: 'Contient des informations du secteur public sous licence',
|
||||
attrOglLink: 'Open Government Licence v3.0',
|
||||
attrOs: 'Contient des donn\u00E9es OS \u00A9 Crown copyright and database rights 2025.',
|
||||
attrTfl: 'Propuls\u00E9 par TfL Open Data.',
|
||||
attrOsm: 'Contient des donn\u00E9es de',
|
||||
attrOsmContrib: '\u00A9 OpenStreetMap contributors',
|
||||
attrOsmLicense: 'disponibles sous la',
|
||||
attrOsmLicenseLink: 'Open Data Commons Open Database License (ODbL)',
|
||||
// Data source names & descriptions
|
||||
dsPricePaidName: 'Price Paid Data',
|
||||
dsPricePaidOrigin: 'HM Land Registry',
|
||||
dsPricePaidUse: 'Historique complet des prix de vente immobiliers en Angleterre.',
|
||||
dsEpcName: 'Energy Performance Certificates (EPC)',
|
||||
dsEpcOrigin: 'Ministry of Housing, Communities & Local Government',
|
||||
dsEpcUse: 'Certificats de performance \u00E9nerg\u00E9tique domestiques fournissant la surface, le nombre de pi\u00E8ces, l\u2019ann\u00E9e de construction, les classements \u00E9nerg\u00E9tiques, le type de bien et la forme du b\u00E2ti. Associ\u00E9s aux donn\u00E9es Price Paid par adresse au sein de chaque code postal. Les propri\u00E9taires peuvent demander le retrait de la divulgation publique.',
|
||||
dsNsplName: 'National Statistics Postcode Lookup (NSPL)',
|
||||
dsNsplOrigin: 'ONS / ArcGIS',
|
||||
dsNsplUse: 'Associe les codes postaux aux coordonn\u00E9es et aux codes de zones statistiques, utilis\u00E9 pour relier tous les jeux de donn\u00E9es au niveau de la zone aux propri\u00E9t\u00E9s individuelles.',
|
||||
dsIodName: 'English Indices of Deprivation 2025',
|
||||
dsIodOrigin: 'Ministry of Housing, Communities & Local Government',
|
||||
dsIodUse: 'Scores de d\u00E9faveur relative couvrant le revenu, l\u2019emploi, l\u2019\u00E9ducation, la sant\u00E9, la criminalit\u00E9 et le cadre de vie pour chaque quartier d\u2019Angleterre.',
|
||||
dsEthnicityName: 'Population par ethnie (recensement 2021)',
|
||||
dsEthnicityOrigin: 'ONS',
|
||||
dsEthnicityUse: 'Pourcentages de population par groupe ethnique (sud-asiatique, est-asiatique, noir, mixte, blanc, autre) par autorit\u00E9 locale.',
|
||||
dsCrimeName: 'Street-level Crime Data',
|
||||
dsCrimeOrigin: 'data.police.uk',
|
||||
dsCrimeUse: 'Donn\u00E9es de criminalit\u00E9 de proximit\u00E9 de 2023 \u00E0 2025, agr\u00E9g\u00E9es en moyennes annuelles par LSOA et type d\u2019infraction (violences, cambriolages, troubles \u00E0 l\u2019ordre public, stup\u00E9fiants, vols de v\u00E9hicules, etc.).',
|
||||
dsOsmName: 'OpenStreetMap POIs',
|
||||
dsOsmOrigin: 'OpenStreetMap contributors / Geofabrik',
|
||||
dsOsmUse: 'Points d\u2019int\u00E9r\u00EAt couvrant commerces, restaurants, sant\u00E9, loisirs, tourisme et plus \u00E0 travers la Grande-Bretagne.',
|
||||
dsGreenspaceName: 'OS Open Greenspace',
|
||||
dsGreenspaceOrigin: 'Ordnance Survey',
|
||||
dsGreenspaceUse: 'Limites officielles des espaces verts de Grande-Bretagne, incluant parcs publics, jardins, terrains de sport et aires de jeux. Les centro\u00EFdes des polygones sont utilis\u00E9s pour le comptage de proximit\u00E9 des parcs et le calcul de la distance au parc le plus proche.',
|
||||
dsNaptanName: 'NaPTAN (Public Transport Stops)',
|
||||
dsNaptanOrigin: 'Department for Transport',
|
||||
dsNaptanUse: 'Emplacements des gares et arr\u00EAts pour le rail, le bus, le m\u00E9tro/tramway, le ferry et les a\u00E9roports \u00E0 travers l\u2019Angleterre.',
|
||||
dsNoiseName: 'Defra Noise Mapping',
|
||||
dsNoiseOrigin: 'Defra / Environment Agency',
|
||||
dsNoiseUse: 'Niveaux de bruit routier (moyenne pond\u00E9r\u00E9e sur 24 heures) issus de la cartographie strat\u00E9gique du bruit de 2022, mod\u00E9lis\u00E9s \u00E0 haute r\u00E9solution et \u00E9chantillonn\u00E9s \u00E0 chaque code postal.',
|
||||
dsOfstedName: 'Ofsted School Inspections',
|
||||
dsOfstedOrigin: 'Ofsted',
|
||||
dsOfstedUse: 'Derniers r\u00E9sultats d\u2019inspection des \u00E9coles publiques (avril 2025). Moyenn\u00E9s par code postal pour donner un score de qualit\u00E9 scolaire local (1=Excellent \u00E0 4=Insuffisant).',
|
||||
dsBroadbandName: 'Ofcom Broadband Performance',
|
||||
dsBroadbandOrigin: 'Ofcom',
|
||||
dsBroadbandUse: 'Couverture haut d\u00E9bit fixe et d\u00E9bits de t\u00E9l\u00E9chargement maximum par zone, issus de Ofcom Connected Nations 2025.',
|
||||
dsCouncilTaxName: 'Council Tax Levels 2025-26',
|
||||
dsCouncilTaxOrigin: 'Ministry of Housing, Communities & Local Government',
|
||||
dsCouncilTaxUse: 'Taux annuels de taxe d\u2019habitation pour les tranches A \u00E0 H pour les 296 autorit\u00E9s de facturation d\u2019Angleterre, pour un logement occup\u00E9 par deux adultes. Reli\u00E9s aux propri\u00E9t\u00E9s via le code d\u2019autorit\u00E9 locale du r\u00E9pertoire de codes postaux NSPL.',
|
||||
dsRentalName: 'Private Rental Market Statistics',
|
||||
dsRentalOrigin: 'ONS / Valuation Office Agency',
|
||||
dsRentalUse: 'Loyers mensuels m\u00E9dians du march\u00E9 locatif priv\u00E9 par autorit\u00E9 locale et cat\u00E9gorie de chambres (oct. 2022 - sept. 2023). Reli\u00E9s aux propri\u00E9t\u00E9s via le code d\u2019autorit\u00E9 locale et le nombre estim\u00E9 de chambres.',
|
||||
// FAQ section titles
|
||||
faqFindingTitle: 'Trouver votre quartier',
|
||||
faqCommuteTitle: 'Trajet et d\u00E9placements',
|
||||
faqBudgetTitle: 'Budget et rapport qualit\u00E9-prix',
|
||||
faqSafetyTitle: 'S\u00E9curit\u00E9 et voisinage',
|
||||
faqFamiliesTitle: 'Familles et \u00E9coles',
|
||||
faqEnvironmentTitle: 'Environnement et qualit\u00E9 de vie',
|
||||
faqWhyTitle: 'Pourquoi Perfect Postcode',
|
||||
faqPricingTitle: 'Tarifs et acc\u00E8s',
|
||||
faqTipsTitle: 'Astuces',
|
||||
// FAQ items — Finding Your Area
|
||||
faqFinding1Q: 'Je ne sais m\u00EAme pas quelles zones regarder. Est-ce que \u00E7a peut m\u2019aider ?',
|
||||
faqFinding1A: 'C\u2019est exactement \u00E0 \u00E7a que \u00E7a sert. D\u00E9finissez vos filtres (budget, temps de trajet, faible criminalit\u00E9, bonnes \u00E9coles) et la carte s\u2019illumine pour montrer chaque zone qui coche toutes les cases. Fini de chercher \u00AB meilleures zones pour vivre pr\u00E8s de Manchester \u00BB \u00E0 minuit.',
|
||||
faqFinding2Q: 'Je d\u00E9m\u00E9nage dans un endroit que je ne connais pas du tout. Par o\u00F9 commencer ?',
|
||||
faqFinding2A: 'D\u00E9finissez vos filtres pour ce qui compte et la carte met instantan\u00E9ment en \u00E9vidence les zones qui correspondent. Vous passez de \u00AB je ne connais pas une seule rue \u00BB \u00E0 une s\u00E9lection en quelques minutes.',
|
||||
faqFinding3Q: 'Comment trouver des zones qui cochent toutes mes cases en une seule fois ?',
|
||||
faqFinding3A: 'Empilez plusieurs filtres (criminalit\u00E9 sous la moyenne, bonnes \u00E9coles, trajet de moins de 40 minutes) puis colorez la carte par prix pour rep\u00E9rer les zones au meilleur rapport qualit\u00E9-prix. La carte se met \u00E0 jour en temps r\u00E9el quand vous bougez les curseurs.',
|
||||
// FAQ items — Commute and Travel
|
||||
faqCommute1Q: 'Puis-je voir combien de temps durerait mon trajet depuis diff\u00E9rentes zones ?',
|
||||
faqCommute1A: 'D\u00E9finissez votre lieu de travail comme destination et nous colorons chaque code postal par temps de trajet, que ce soit en voiture, \u00E0 v\u00E9lo ou en transports en commun. Filtrez par votre trajet maximum et le reste dispara\u00EEt.',
|
||||
faqCommute2Q: 'En quoi c\u2019est mieux que Google Maps ?',
|
||||
faqCommute2A: 'Google Maps vous montre un trajet \u00E0 la fois. Nous colorons chaque code postal d\u2019Angleterre par temps de trajet en une seule vue, pour que vous puissiez comparer des centaines de zones c\u00F4te \u00E0 c\u00F4te au lieu de les chercher une par une.',
|
||||
// FAQ items — Budget and Value
|
||||
faqBudget1Q: 'Comment trouver les zones o\u00F9 j\u2019ai le plus d\u2019espace pour mon argent ?',
|
||||
faqBudget1A: 'Filtrez par prix au m\u00B2 et vous verrez instantan\u00E9ment quels codes postaux offrent le plus d\u2019espace par livre. Combinez avec le filtre de classement \u00E9nerg\u00E9tique pour \u00E9viter les biens aux co\u00FBts de chauffage \u00E9lev\u00E9s.',
|
||||
faqBudget2Q: 'Comment m\u2019assurer qu\u2019une zone bon march\u00E9 ne l\u2019est pas pour de mauvaises raisons ?',
|
||||
faqBudget2A: 'Superposez les scores de d\u00E9faveur, les statistiques de criminalit\u00E9, les notes des \u00E9coles et les d\u00E9bits internet \u00E0 c\u00F4t\u00E9 du prix. Si un code postal est abordable et obtient de bons scores sur tout ce qui compte, vous avez trouv\u00E9 une vraie bonne affaire, pas juste un prix bas avec des compromis que vous n\u2019avez pas encore rep\u00E9r\u00E9s.',
|
||||
// FAQ items — Safety and Neighbourhood
|
||||
faqSafety1Q: 'Comment v\u00E9rifier si une zone est s\u00FBre avant d\u2019y d\u00E9m\u00E9nager ?',
|
||||
faqSafety1A: 'Nous superposons les donn\u00E9es r\u00E9elles de criminalit\u00E9 enregistr\u00E9es par la police, ventil\u00E9es par type, sur chaque quartier d\u2019Angleterre. Filtrez par criminalit\u00E9 violente, cambriolages ou troubles \u00E0 l\u2019ordre public et voyez instantan\u00E9ment quels codes postaux ont les chiffres les plus bas.',
|
||||
faqSafety2Q: 'Je trouve sans cesse des appartements superbes en ligne, puis le quartier s\u2019av\u00E8re difficile.',
|
||||
faqSafety2A: 'C\u2019est exactement pour \u00E7a que cet outil existe. Empilez taux de criminalit\u00E9, niveaux de bruit, scores de d\u00E9faveur, pubs et parcs \u00E0 proximit\u00E9, et d\u00E9bits internet, le tout sur une seule carte, pour savoir \u00E0 quoi ressemble vraiment un quartier avant de r\u00E9server une visite.',
|
||||
// FAQ items — Families and Schools
|
||||
faqFamilies1Q: 'Puis-je trouver des zones avec de bonnes \u00E9coles ET peu de criminalit\u00E9 en une seule recherche ?',
|
||||
faqFamilies1A: 'Oui. Empilez les filtres pour les notes Ofsted, les taux de criminalit\u00E9, les parcs et tout ce qui compte pour votre famille, et la carte ne met en \u00E9vidence que les zones qui cochent toutes les cases. Fini de croiser cinq sites diff\u00E9rents.',
|
||||
faqFamilies2Q: 'Comment savoir si un quartier a des parcs et des aires de jeux \u00E0 proximit\u00E9 ?',
|
||||
faqFamilies2A: 'Activez la couche de POI parcs et espaces verts pour les voir directement sur la carte. Vous pouvez aussi filtrer par le nombre de parcs accessibles \u00E0 pied depuis chaque code postal.',
|
||||
// FAQ items — Environment and Quality of Life
|
||||
faqEnv1Q: 'Puis-je trouver des logements \u00E9conomes en \u00E9nergie qui ne sont pas sur une route bruyante ?',
|
||||
faqEnv1A: 'Filtrez par classement EPC (A \u00E0 C), puis superposez les donn\u00E9es de bruit routier pour exclure tout ce qui d\u00E9passe votre seuil. Colorez par l\u2019un ou l\u2019autre crit\u00E8re pour rep\u00E9rer les rues calmes et \u00E9conomes d\u2019un coup d\u2019\u0153il.',
|
||||
faqEnv2Q: 'Est-ce que \u00E7a montre le risque d\u2019inondation ou d\u2019affaissement ?',
|
||||
faqEnv2A: 'Nous incluons des donn\u00E9es de stabilit\u00E9 du sol pour que vous puissiez v\u00E9rifier les risques d\u2019affaissement, de retrait-gonflement des argiles et d\u2019autres al\u00E9as g\u00E9ologiques avant de vous engager. Excluez les zones \u00E0 risque d\u00E8s le d\u00E9part.',
|
||||
faqEnv3Q: 'Puis-je trouver des zones avec un bon d\u00E9bit internet qui soient aussi calmes ?',
|
||||
faqEnv3A: 'Superposez le filtre de d\u00E9bit internet avec les donn\u00E9es de bruit routier pour trouver des rues avec une bonne connectivit\u00E9 et peu de bruit. Colorez par l\u2019un ou l\u2019autre crit\u00E8re pour comparer les zones d\u2019un coup d\u2019\u0153il.',
|
||||
// FAQ items — Why Perfect Postcode
|
||||
faqWhy1Q: 'J\u2019utilise d\u00E9j\u00E0 Rightmove. Qu\u2019est-ce que \u00E7a apporte de plus ?',
|
||||
faqWhy1A: 'Rightmove vous montre des maisons. Nous vous montrons des quartiers. Taux de criminalit\u00E9, notes des \u00E9coles, d\u00E9bits internet, niveaux de bruit, scores de d\u00E9faveur et plus, tout filtrable sur une seule carte. Vous pouvez juger un quartier avant m\u00EAme de regarder les annonces.',
|
||||
faqWhy2Q: 'Je ne peux pas simplement faire ces recherches gratuitement moi-m\u00EAme ?',
|
||||
faqWhy2A: 'Vous pourriez croiser les donn\u00E9es polici\u00E8res, les rapports Ofsted, les registres EPC, les archives du Land Registry et les statistiques ONS un code postal \u00E0 la fois. Ou vous pouvez avoir le tout filtrable et color\u00E9 sur une seule carte en quelques secondes.',
|
||||
faqWhy3Q: 'D\u2019o\u00F9 viennent r\u00E9ellement les donn\u00E9es ?',
|
||||
faqWhy3A: 'Chaque jeu de donn\u00E9es provient de sources officielles du gouvernement britannique : Land Registry, le registre EPC, ONS, Ofsted, Ofcom, data.police.uk et Defra. Nous ne scrapons pas les agents immobiliers et n\u2019inventons rien. Vous pouvez v\u00E9rifier chaque donn\u00E9e aupr\u00E8s de la source originale.',
|
||||
// FAQ items — Pricing and Access
|
||||
faqPricing1Q: 'Est-ce que \u00E7a vaut vraiment le coup de payer pour un outil de recherche immobili\u00E8re ?',
|
||||
faqPricing1A: 'L\u2019achat d\u2019un logement est probablement le plus gros achat de votre vie. Rep\u00E9rer un seul signal d\u2019alerte (une route bruyante, un mauvais d\u00E9bit, une criminalit\u00E9 en hausse) avant de vous engager pourrait vous \u00E9pargner des ann\u00E9es de regrets. \u00C7a co\u00FBte moins qu\u2019un plein d\u2019essence.',
|
||||
faqPricing2Q: 'Est-ce un abonnement ?',
|
||||
faqPricing2A: 'Non. Paiement unique, \u00E0 vous pour toujours. Utilisez-le intensivement pendant votre recherche, revenez quand vous \u00EAtes curieux d\u2019une nouvelle zone, et c\u2019est toujours l\u00E0 si vous d\u00E9m\u00E9nagez \u00E0 nouveau.',
|
||||
faqPricing3Q: 'Que puis-je faire avec la version gratuite ?',
|
||||
faqPricing3A: 'Les utilisateurs gratuits peuvent explorer toutes les fonctionnalit\u00E9s dans la zone de d\u00E9monstration (centre de Londres, approximativement zones 1 \u00E0 2). Pour acc\u00E9der aux donn\u00E9es du reste de l\u2019Angleterre, il faut l\u2019acc\u00E8s \u00E0 vie.',
|
||||
faqPricing4Q: 'Puis-je obtenir un remboursement ?',
|
||||
faqPricing4A: 'Absolument. Nous offrons une garantie satisfait ou rembours\u00E9 sous 30 jours. Si vous n\u2019\u00EAtes pas satisfait, envoyez un e-mail \u00E0 support@perfect-postcode.co.uk dans les 30 jours pour un remboursement int\u00E9gral.',
|
||||
// FAQ items — Tips and Tricks
|
||||
faqTips1Q: 'Comment utiliser le filtre IA au lieu d\u2019ajouter les filtres un par un ?',
|
||||
faqTips1A: 'Tapez ce que vous voulez en langage courant, par exemple \u00AB quartier calme pr\u00E8s de bonnes \u00E9coles avec bon d\u00E9bit internet \u00E0 moins de \u00A3400k \u00BB, et il configurera tous les filtres pertinents d\u2019un coup. Ajustez ensuite manuellement si n\u00E9cessaire.',
|
||||
faqTips2Q: 'Puis-je enregistrer une recherche et y revenir plus tard ?',
|
||||
faqTips2A: 'Cliquez sur le bouton d\u2019enregistrement et tout est captur\u00E9 : vos filtres, le niveau de zoom et la couche de donn\u00E9es affich\u00E9e. Reprenez exactement o\u00F9 vous en \u00E9tiez ou partagez le lien avec votre conjoint.',
|
||||
faqTips3Q: 'Puis-je exporter les donn\u00E9es que je consulte ?',
|
||||
faqTips3A: 'Utilisez le bouton d\u2019exportation pour t\u00E9l\u00E9charger les propri\u00E9t\u00E9s filtr\u00E9es sous forme de tableur. L\u2019export respecte tous vos filtres actifs, vous obtenez donc exactement les donn\u00E9es souhait\u00E9es.',
|
||||
},
|
||||
|
||||
// ── Account Page ───────────────────────────────────
|
||||
accountPage: {
|
||||
emailLabel: 'E-mail',
|
||||
subscriptionLabel: 'Abonnement',
|
||||
upgrade: 'Passer \u00E0 la version compl\u00E8te',
|
||||
redirecting: 'Redirection\u2026',
|
||||
receiveNewsletter: 'Recevoir les e-mails de la newsletter',
|
||||
needHelp: 'Besoin d\u2019aide ? \u00C9crivez-nous \u00E0',
|
||||
responseTime: 'Nous r\u00E9pondons g\u00E9n\u00E9ralement sous 24 heures.',
|
||||
},
|
||||
|
||||
// ── Saved Page ─────────────────────────────────────
|
||||
savedPage: {
|
||||
searches: 'Recherches',
|
||||
noSavedSearches: 'Aucune recherche enregistr\u00E9e',
|
||||
noSavedSearchesDesc:
|
||||
'Enregistrez vos filtres et la vue de la carte pour reprendre exactement l\u00E0 o\u00F9 vous vous \u00E9tiez arr\u00EAt\u00E9.',
|
||||
noSavedProperties: 'Aucune propri\u00E9t\u00E9 enregistr\u00E9e',
|
||||
noSavedPropertiesDesc:
|
||||
'Ajoutez des propri\u00E9t\u00E9s en favoris au fil de votre exploration et constituez votre s\u00E9lection sans rien perdre de vue.',
|
||||
openPostcode: 'Ouvrir le code postal',
|
||||
viewListing: 'Voir l\u2019annonce',
|
||||
clickToRename: 'Cliquez pour renommer',
|
||||
notesPlaceholder: 'Notez vos impressions...',
|
||||
deleteSearch: 'Supprimer la recherche',
|
||||
deleteSearchConfirm:
|
||||
'\u00CAtes-vous s\u00FBr de vouloir supprimer cette recherche enregistr\u00E9e ? Cette action est irr\u00E9versible.',
|
||||
deleteProperty: 'Supprimer la propri\u00E9t\u00E9',
|
||||
deletePropertyConfirm:
|
||||
'\u00CAtes-vous s\u00FBr de vouloir supprimer cette propri\u00E9t\u00E9 enregistr\u00E9e ? Cette action est irr\u00E9versible.',
|
||||
bed: 'ch.',
|
||||
epc: 'DPE',
|
||||
},
|
||||
|
||||
// ── Invites Page ───────────────────────────────────
|
||||
invitesPage: {
|
||||
inviteLinksLicensed:
|
||||
"Les liens d'invitation sont disponibles pour les utilisateurs licenci\u00E9s.",
|
||||
inviteAdminLabel: 'Inviter des amis (100% de r\u00E9duction)',
|
||||
inviteReferralLabel: 'Inviter des amis (30% de r\u00E9duction)',
|
||||
generateFreeInvite: "G\u00E9n\u00E9rer un lien d'invitation gratuit",
|
||||
generateReferralLink: 'G\u00E9n\u00E9rer un lien de parrainage',
|
||||
copyInviteLink: "Copier le lien d'invitation",
|
||||
adminInvitesTitle: 'Invitations admin (100% de r\u00E9duction)',
|
||||
referralInvitesTitle: 'Invitations de parrainage (30% de r\u00E9duction)',
|
||||
yourInviteLinks: "Vos liens d'invitation",
|
||||
noInvitesYet: "Aucune invitation g\u00E9n\u00E9r\u00E9e pour l'instant",
|
||||
link: 'Lien',
|
||||
status: 'Statut',
|
||||
created: 'Cr\u00E9\u00E9',
|
||||
redeemed: 'Utilis\u00E9',
|
||||
pending: 'En attente',
|
||||
},
|
||||
|
||||
// ── Invite Page ────────────────────────────────────
|
||||
invitePage: {
|
||||
youreInvited: 'Vous \u00EAtes invit\u00E9 !',
|
||||
specialOffer: 'Offre sp\u00E9ciale !',
|
||||
invitedByFree:
|
||||
'{{name}} vous invite \u00E0 obtenir un acc\u00E8s \u00E0 vie gratuit.',
|
||||
invitedByDiscount:
|
||||
"{{name}} vous fait b\u00E9n\u00E9ficier d'une r\u00E9duction de 30% sur l'acc\u00E8s \u00E0 vie.",
|
||||
genericFreeInvite:
|
||||
'Vous avez \u00E9t\u00E9 invit\u00E9 \u00E0 obtenir un acc\u00E8s \u00E0 vie gratuit.',
|
||||
genericDiscount:
|
||||
"Un ami vous fait b\u00E9n\u00E9ficier d'une r\u00E9duction de 30% sur l'acc\u00E8s \u00E0 vie.",
|
||||
exploreEvery: "Explorez chaque quartier d'Angleterre",
|
||||
propertyInfo:
|
||||
"Prix immobiliers, classements \u00E9nerg\u00E9tiques, statistiques de criminalit\u00E9, notes des \u00E9coles et plus encore",
|
||||
invalidInvite: 'Invitation invalide',
|
||||
inviteAlreadyUsed: 'Invitation d\u00E9j\u00E0 utilis\u00E9e',
|
||||
inviteAlreadyUsedDesc: "Ce lien d'invitation a d\u00E9j\u00E0 \u00E9t\u00E9 utilis\u00E9.",
|
||||
invalidInviteLink: "Lien d'invitation invalide",
|
||||
invalidInviteLinkDesc:
|
||||
"Ce lien d'invitation est invalide ou a expir\u00E9.",
|
||||
licenseActivated: 'Licence activ\u00E9e !',
|
||||
fullAccessGranted:
|
||||
'Vous avez d\u00E9sormais un acc\u00E8s complet \u00E0 Perfect Postcode.',
|
||||
activating: 'Activation...',
|
||||
activateLicense: 'Activer la licence',
|
||||
claimDiscount: 'R\u00E9clamer la r\u00E9duction',
|
||||
registerToClaim: "S'inscrire pour r\u00E9clamer",
|
||||
youAlreadyHaveLicense: 'Vous avez d\u00E9j\u00E0 une licence',
|
||||
accountHasFullAccess: 'Votre compte dispose d\u00E9j\u00E0 d\u2019un acc\u00E8s complet.',
|
||||
failedToValidate: "\u00C9chec de la validation du lien d'invitation",
|
||||
},
|
||||
|
||||
// ── Map Page ───────────────────────────────────────
|
||||
mapPage: {
|
||||
unsavedProperty: 'Retirer',
|
||||
savedProperty: 'Enregistr\u00E9',
|
||||
},
|
||||
|
||||
// ── Format / Time ──────────────────────────────────
|
||||
format: {
|
||||
justNow: '\u00E0 l\u2019instant',
|
||||
minutesAgo: 'il y a {{count}} min',
|
||||
hoursAgo: 'il y a {{count}} h',
|
||||
daysAgo: 'il y a {{count}} j',
|
||||
nFilters: '{{count}} filtres',
|
||||
noFilters: 'Aucun filtre',
|
||||
poiCategory: '{{count}} cat\u00E9gorie de POI',
|
||||
poiCategories: '{{count}} cat\u00E9gories de POI',
|
||||
travelDestination: '{{count}} destination de temps de trajet',
|
||||
travelDestinations: '{{count}} destinations de temps de trajet',
|
||||
propertiesMatch: '{{count}} propri\u00E9t\u00E9s correspondent',
|
||||
setFilters: 'D\u00E9finir {{count}} filtre(s)\u00A0: {{list}}',
|
||||
noFiltersSet: 'Aucun filtre d\u00E9fini',
|
||||
toDestination: '{{mode}} vers {{label}} {{bounds}}',
|
||||
lessThanMin: '< {{max}} min',
|
||||
moreThanMin: '> {{min}} min',
|
||||
},
|
||||
|
||||
// ── Tutorial ──────────────────────────────────────
|
||||
tutorial: {
|
||||
step1Title: 'Dites \u00E0 la carte ce qui compte',
|
||||
step1Content: 'D\u00E9finissez votre budget, temps de trajet maximum, qualit\u00E9 des \u00E9coles, seuil de criminalit\u00E9. Ce qui compte pour vous. Seules les zones qui correspondent restent \u00E9clair\u00E9es. Utilisez l\u2019ic\u00F4ne \u0153il pour colorier par n\u2019importe quel crit\u00E8re.',
|
||||
step2Title: 'Ou d\u00E9crivez simplement',
|
||||
step2Content: 'Tapez ce que vous voulez en fran\u00E7ais, par exemple \u00AB\u00A0quartier calme pr\u00E8s de bonnes \u00E9coles sous \u00A3400k\u00A0\u00BB, et nous configurerons les filtres pour vous.',
|
||||
step3Title: 'Explorez ce qui existe',
|
||||
step3Content: 'Naviguez et zoomez \u00E0 travers l\u2019Angleterre. Cliquez sur n\u2019importe quelle zone color\u00E9e pour voir la criminalit\u00E9, les \u00E9coles, les prix, le haut d\u00E9bit, le bruit et plus encore.',
|
||||
step4Title: 'Allez directement \u00E0 un lieu',
|
||||
step4Content: 'Recherchez n\u2019importe quel lieu ou code postal pour vous y rendre instantan\u00E9ment.',
|
||||
step5Title: 'Examinez les d\u00E9tails',
|
||||
step5Content: 'Consultez les statistiques de zone, histogrammes et fiches individuelles\u00A0: prix, surface, performances \u00E9nerg\u00E9tiques et plus.',
|
||||
step6Title: 'Qu\u2019y a-t-il \u00E0 proximit\u00E9\u00A0?',
|
||||
step6Content: 'Activez les \u00E9coles, commerces, gares, parcs et restaurants sur la carte pour voir ce qui est \u00E0 port\u00E9e.',
|
||||
},
|
||||
|
||||
// ── Server-derived values ──────────────────────────
|
||||
// Keyed by the English server value. ts() looks up translations at display time.
|
||||
// The English keys MUST match exactly what the API returns.
|
||||
server: {
|
||||
// ─ Feature group names ─
|
||||
'Properties': 'Propri\u00E9t\u00E9s',
|
||||
'Transport': 'Transports',
|
||||
'Education': '\u00C9ducation',
|
||||
'Deprivation': 'Pr\u00E9carit\u00E9',
|
||||
'Crime': 'Criminalit\u00E9',
|
||||
'Demographics': 'D\u00E9mographie',
|
||||
'Amenities': 'Commodit\u00E9s',
|
||||
|
||||
// ─ Feature names (Properties) ─
|
||||
'Listing status': 'Statut de l\u2019annonce',
|
||||
'Property type': 'Type de bien',
|
||||
'Leasehold/Freehold': 'Bail/Pleine propri\u00E9t\u00E9',
|
||||
'Last known price': 'Dernier prix connu',
|
||||
'Estimated current price': 'Prix actuel estim\u00E9',
|
||||
'Asking price': 'Prix demand\u00E9',
|
||||
'Price per sqm': 'Prix au m\u00B2',
|
||||
'Est. price per sqm': 'Prix estim\u00E9 au m\u00B2',
|
||||
'Asking price per sqm': 'Prix demand\u00E9 au m\u00B2',
|
||||
'Estimated monthly rent': 'Loyer mensuel estim\u00E9',
|
||||
'Asking rent (monthly)': 'Loyer demand\u00E9 (mensuel)',
|
||||
'Total floor area (sqm)': 'Surface totale (m\u00B2)',
|
||||
'Number of bedrooms & living rooms': 'Nombre de chambres et s\u00E9jours',
|
||||
'Bedrooms': 'Chambres',
|
||||
'Bathrooms': 'Salles de bain',
|
||||
'Construction year': 'Ann\u00E9e de construction',
|
||||
'Date of last transaction': 'Date de la derni\u00E8re transaction',
|
||||
'Listing date': 'Date de mise en ligne',
|
||||
'Former council house': 'Ancien logement social',
|
||||
'Current energy rating': 'Classement \u00E9nerg\u00E9tique actuel',
|
||||
'Potential energy rating': 'Classement \u00E9nerg\u00E9tique potentiel',
|
||||
'Interior height (m)': 'Hauteur int\u00E9rieure (m)',
|
||||
|
||||
// ─ Feature names (Transport) ─
|
||||
'Distance to nearest train or tube station (km)': 'Distance \u00E0 la gare ou station de m\u00E9tro la plus proche (km)',
|
||||
'Train or tube stations within 1km': 'Gares ou stations de m\u00E9tro \u00E0 moins d\u20191 km',
|
||||
|
||||
// ─ Feature names (Education) ─
|
||||
'Good+ primary schools within 2km': '\u00C9coles primaires Bien+ dans un rayon de 2 km',
|
||||
'Good+ secondary schools within 2km': 'Coll\u00E8ges/lyc\u00E9es Bien+ dans un rayon de 2 km',
|
||||
'Good+ primary schools within 5km': '\u00C9coles primaires Bien+ dans un rayon de 5 km',
|
||||
'Good+ secondary schools within 5km': 'Coll\u00E8ges/lyc\u00E9es Bien+ dans un rayon de 5 km',
|
||||
'Education, Skills and Training Score': 'Score \u00E9ducation, comp\u00E9tences et formation',
|
||||
|
||||
// ─ Feature names (Deprivation) ─
|
||||
'Income Score (rate)': 'Score de revenu (taux)',
|
||||
'Employment Score (rate)': 'Score d\u2019emploi (taux)',
|
||||
'Health Deprivation and Disability Score': 'Score de sant\u00E9 et handicap',
|
||||
'Living Environment Score': 'Score du cadre de vie',
|
||||
'Indoors Sub-domain Score': 'Score du sous-domaine int\u00E9rieur',
|
||||
'Outdoors Sub-domain Score': 'Score du sous-domaine ext\u00E9rieur',
|
||||
|
||||
// ─ Feature names (Crime) ─
|
||||
'Serious crime per 1k residents (avg/yr)': 'Crimes graves pour 1k habitants (moy./an)',
|
||||
'Minor crime per 1k residents (avg/yr)': 'D\u00E9lits mineurs pour 1k habitants (moy./an)',
|
||||
'Serious crime (avg/yr)': 'Crimes graves (moy./an)',
|
||||
'Minor crime (avg/yr)': 'D\u00E9lits mineurs (moy./an)',
|
||||
'Violence and sexual offences (avg/yr)': 'Violences et infractions sexuelles (moy./an)',
|
||||
'Burglary (avg/yr)': 'Cambriolages (moy./an)',
|
||||
'Robbery (avg/yr)': 'Vols avec violence (moy./an)',
|
||||
'Vehicle crime (avg/yr)': 'Crimes li\u00E9s aux v\u00E9hicules (moy./an)',
|
||||
'Anti-social behaviour (avg/yr)': 'Comportements antisociaux (moy./an)',
|
||||
'Criminal damage and arson (avg/yr)': 'D\u00E9gradations et incendies criminels (moy./an)',
|
||||
'Other theft (avg/yr)': 'Autres vols (moy./an)',
|
||||
'Theft from the person (avg/yr)': 'Vols \u00E0 la personne (moy./an)',
|
||||
'Shoplifting (avg/yr)': 'Vols \u00E0 l\u2019\u00E9talage (moy./an)',
|
||||
'Bicycle theft (avg/yr)': 'Vols de v\u00E9los (moy./an)',
|
||||
'Drugs (avg/yr)': 'Infractions li\u00E9es aux stup\u00E9fiants (moy./an)',
|
||||
'Possession of weapons (avg/yr)': 'Possession d\u2019armes (moy./an)',
|
||||
'Public order (avg/yr)': 'Troubles \u00E0 l\u2019ordre public (moy./an)',
|
||||
'Other crime (avg/yr)': 'Autres crimes (moy./an)',
|
||||
|
||||
// ─ Feature names (Demographics) ─
|
||||
'Median age': '\u00C2ge m\u00E9dian',
|
||||
'% White': '% Blancs',
|
||||
'% South Asian': '% Sud-Asiatiques',
|
||||
'% Black': '% Noirs',
|
||||
'% East Asian': '% Est-Asiatiques',
|
||||
'% Mixed': '% M\u00E9tis',
|
||||
'% Other': '% Autres',
|
||||
|
||||
// ─ Feature names (Amenities) ─
|
||||
'Distance to nearest park (km)': 'Distance au parc le plus proche (km)',
|
||||
'Number of parks within 2km': 'Nombre de parcs \u00E0 moins de 2 km',
|
||||
'Number of restaurants within 2km': 'Nombre de restaurants \u00E0 moins de 2 km',
|
||||
'Number of grocery shops and supermarkets within 2km': 'Nombre d\u2019\u00E9piceries et supermarch\u00E9s \u00E0 moins de 2 km',
|
||||
'Noise (dB)': 'Bruit (dB)',
|
||||
'Max available download speed (Mbps)': 'D\u00E9bit descendant max. disponible (Mbps)',
|
||||
|
||||
|
||||
// ─ Enum values ─
|
||||
'Historical sale': 'Vente historique',
|
||||
'For sale': 'En vente',
|
||||
'For rent': 'En location',
|
||||
'Detached': 'Individuelle',
|
||||
'Semi-Detached': 'Jumel\u00E9e',
|
||||
'Terraced': 'Mitoyenne',
|
||||
'Flats/Maisonettes': 'Appartements/Duplex',
|
||||
'Other': 'Autre',
|
||||
'Freehold': 'Pleine propri\u00E9t\u00E9',
|
||||
'Leasehold': 'Bail emphyt\u00E9otique',
|
||||
'Yes': 'Oui',
|
||||
'No': 'Non',
|
||||
|
||||
// ─ Stacked chart labels ─
|
||||
'Serious crime': 'Crimes graves',
|
||||
'Minor crime': 'D\u00E9lits mineurs',
|
||||
'Ethnic composition': 'Composition ethnique',
|
||||
|
||||
// ─ POI group names ─
|
||||
'Public Transport': 'Transports en commun',
|
||||
'Leisure': 'Loisirs',
|
||||
'Health': 'Sant\u00E9',
|
||||
'Emergency Services': 'Services d\u2019urgence',
|
||||
'Groceries': 'Alimentation',
|
||||
'Local Businesses': 'Commerces de proximit\u00E9',
|
||||
'Culture': 'Culture',
|
||||
'Services': 'Services',
|
||||
'Shops': 'Boutiques',
|
||||
|
||||
// ─ POI categories ─
|
||||
'Airport': 'A\u00E9roport',
|
||||
'Ferry': 'Ferry',
|
||||
'Rail station': 'Gare',
|
||||
'Bus stop': 'Arr\u00EAt de bus',
|
||||
'Bus station': 'Gare routi\u00E8re',
|
||||
'Taxi rank': 'Station de taxi',
|
||||
'Metro or Tram stop': 'Station de m\u00E9tro ou tramway',
|
||||
'Caf\u00E9': 'Caf\u00E9',
|
||||
'Restaurant': 'Restaurant',
|
||||
'Pub': 'Pub',
|
||||
'Bar': 'Bar',
|
||||
'Fast Food': 'Restauration rapide',
|
||||
'Nightclub': 'Bo\u00EEte de nuit',
|
||||
'Cinema': 'Cin\u00E9ma',
|
||||
'Theatre': 'Th\u00E9\u00E2tre',
|
||||
'Live Music & Events': 'Musique live et \u00E9v\u00E9nements',
|
||||
'Park': 'Parc',
|
||||
'Playground': 'Aire de jeux',
|
||||
'Sports Centre': 'Centre sportif',
|
||||
'Entertainment': 'Divertissement',
|
||||
'Supermarket': 'Supermarch\u00E9',
|
||||
'Convenience Store': 'Sup\u00E9rette',
|
||||
'Bakery': 'Boulangerie',
|
||||
'Butcher & Fishmonger': 'Boucherie et poissonnerie',
|
||||
'Greengrocer': 'Primeur',
|
||||
'Off-Licence': 'Caviste',
|
||||
'Deli & Specialty': 'Traiteur et \u00E9picerie fine',
|
||||
'Fashion & Clothing': 'Mode et v\u00EAtements',
|
||||
'Electronics': '\u00C9lectronique',
|
||||
'Charity Shop': 'Boutique caritative',
|
||||
'DIY & Hardware': 'Bricolage et quincaillerie',
|
||||
'Home & Garden': 'Maison et jardin',
|
||||
'Bookshop': 'Librairie',
|
||||
'Pet Shop': 'Animalerie',
|
||||
'Sports & Outdoor': 'Sports et plein air',
|
||||
'Newsagent': 'Marchand de journaux',
|
||||
'Department Store': 'Grand magasin',
|
||||
'Gift & Hobby': 'Cadeaux et loisirs cr\u00E9atifs',
|
||||
'Specialist Shop': 'Boutique sp\u00E9cialis\u00E9e',
|
||||
'Hairdresser & Beauty': 'Coiffure et beaut\u00E9',
|
||||
'Gym & Fitness': 'Salle de sport',
|
||||
'Dry Cleaner & Laundry': 'Pressing et laverie',
|
||||
'Car Services': 'Services automobiles',
|
||||
'Post Office': 'Bureau de poste',
|
||||
'Vet & Pet Care': 'V\u00E9t\u00E9rinaire et soins animaliers',
|
||||
'Bank': 'Banque',
|
||||
'Travel Agent': 'Agence de voyage',
|
||||
'Police': 'Police',
|
||||
'Fire Station': 'Caserne de pompiers',
|
||||
'Ambulance Station': 'Centre ambulancier',
|
||||
'GP Surgery': 'Cabinet m\u00E9dical',
|
||||
'Dentist': 'Dentiste',
|
||||
'Pharmacy': 'Pharmacie',
|
||||
'Hospital & Clinic': 'H\u00F4pital et clinique',
|
||||
'Optician': 'Opticien',
|
||||
'Physiotherapy': 'Kin\u00E9sith\u00E9rapie',
|
||||
'Counselling & Therapy': 'Conseil et th\u00E9rapie',
|
||||
'Care Home': 'Maison de retraite',
|
||||
'Medical & Mobility': 'Mat\u00E9riel m\u00E9dical et mobilit\u00E9',
|
||||
'Museum': 'Mus\u00E9e',
|
||||
'Gallery': 'Galerie',
|
||||
'Library': 'Biblioth\u00E8que',
|
||||
'Place of Worship': 'Lieu de culte',
|
||||
'Arts Centre': 'Centre artistique',
|
||||
'Zoo': 'Zoo',
|
||||
'Tourist Attraction': 'Attraction touristique',
|
||||
'School': '\u00C9cole',
|
||||
'Hotel': 'H\u00F4tel',
|
||||
'Local Business': 'Commerce local',
|
||||
'Offices': 'Bureaux',
|
||||
'EV Charging': 'Borne de recharge',
|
||||
'Fuel Station': 'Station-service',
|
||||
'Community Centre': 'Centre communautaire',
|
||||
|
||||
// ─ Suffixes (used in formatters) ─
|
||||
'/mo': '/mois',
|
||||
'/yr': '/an',
|
||||
' sqm': ' m\u00B2',
|
||||
' km': ' km',
|
||||
' m': ' m',
|
||||
' dB': ' dB',
|
||||
' years': ' ans',
|
||||
' rooms': ' pi\u00E8ces',
|
||||
},
|
||||
};
|
||||
|
||||
export default fr;
|
||||
804
frontend/src/i18n/locales/hu.ts
Normal file
804
frontend/src/i18n/locales/hu.ts
Normal file
|
|
@ -0,0 +1,804 @@
|
|||
import type { Translations } from './en';
|
||||
|
||||
const hu: Translations = {
|
||||
// ── Common ──────────────────────────────────────────
|
||||
common: {
|
||||
save: 'Ment\u00E9s',
|
||||
cancel: 'M\u00E9gse',
|
||||
close: 'Bez\u00E1r\u00E1s',
|
||||
delete: 'T\u00F6rl\u00E9s',
|
||||
open: 'Megnyit\u00E1s',
|
||||
share: 'Megoszt\u00E1s',
|
||||
copy: 'M\u00E1sol\u00E1s',
|
||||
copied: 'M\u00E1solva!',
|
||||
copiedToClipboard: 'V\u00E1g\u00F3lapra m\u00E1solva',
|
||||
loading: 'Bet\u00F6lt\u00E9s...',
|
||||
loadMore: 'Tov\u00E1bbiak bet\u00F6lt\u00E9se',
|
||||
remaining: 'm\u00E9g {{count}} h\u00E1tra',
|
||||
search: 'Keres\u00E9s',
|
||||
all: 'Mind',
|
||||
none: 'Egyik sem',
|
||||
viewDataSource: 'Adatforr\u00E1s megtekint\u00E9se',
|
||||
total: '\u00D6sszesen',
|
||||
min: 'perc',
|
||||
or: 'vagy',
|
||||
area: 'Ter\u00FClet',
|
||||
properties: 'Ingatlanok',
|
||||
postcode: 'Ir\u00E1ny\u00EDt\u00F3sz\u00E1m',
|
||||
noAreaSelected: 'Nincs kiv\u00E1lasztott ter\u00FClet',
|
||||
noAreaSelectedDesc:
|
||||
'Kattints b\u00E1rmelyik sz\u00EDnes ter\u00FCletre a t\u00E9rk\u00E9pen a b\u0171n\u00F6z\u00E9s, iskol\u00E1k, \u00E1rak \u00E9s egy\u00E9b adatok megtekint\u00E9s\u00E9hez',
|
||||
clickForDetails: 'Kattints a r\u00E9szletekhez',
|
||||
property: 'ingatlan',
|
||||
propertiesPlural: 'ingatlan',
|
||||
},
|
||||
|
||||
// ── Header / Nav ───────────────────────────────────
|
||||
header: {
|
||||
appName: 'Perfect Postcode',
|
||||
dashboard: 'T\u00E9rk\u00E9p',
|
||||
learn: 'Tudnival\u00F3k',
|
||||
pricing: '\u00C1rak',
|
||||
inviteFriends: 'Bar\u00E1tok megh\u00EDv\u00E1sa',
|
||||
saved: 'Mentett',
|
||||
logIn: 'Bejelentkez\u00E9s',
|
||||
createAccount: 'Regisztr\u00E1ci\u00F3',
|
||||
sharing: 'Megoszt\u00E1s...',
|
||||
exportLabel: 'Export\u00E1l\u00E1s',
|
||||
exporting: 'Export\u00E1l\u00E1s...',
|
||||
exportToExcel: 'Export\u00E1l\u00E1s Excelbe',
|
||||
openMenu: 'Men\u00FC megnyit\u00E1sa',
|
||||
closeMenu: 'Men\u00FC bez\u00E1r\u00E1sa',
|
||||
},
|
||||
|
||||
// ── User Menu ──────────────────────────────────────
|
||||
userMenu: {
|
||||
fullAccess: 'Teljes hozz\u00E1f\u00E9r\u00E9s',
|
||||
demo: 'Dem\u00F3',
|
||||
themeLight: 'T\u00E9ma: Vil\u00E1gos',
|
||||
themeDark: 'T\u00E9ma: S\u00F6t\u00E9t',
|
||||
account: 'Fi\u00F3k',
|
||||
logOut: 'Kijelentkez\u00E9s',
|
||||
},
|
||||
|
||||
// ── Mobile Menu ────────────────────────────────────
|
||||
mobileMenu: {
|
||||
menu: 'Men\u00FC',
|
||||
home: 'F\u0151oldal',
|
||||
},
|
||||
|
||||
// ── Auth Modal ─────────────────────────────────────
|
||||
auth: {
|
||||
logIn: 'Bejelentkez\u00E9s',
|
||||
createAccount: 'Regisztr\u00E1ci\u00F3',
|
||||
resetPassword: 'Jelsz\u00F3 vissza\u00E1ll\u00EDt\u00E1sa',
|
||||
valueProp: 'Mentsd el a keres\u00E9seidet, jel\u00F6ld meg az ingatlanokat, \u00E9s folytasd ott, ahol abbahagytad.',
|
||||
continueWithGoogle: 'Folytat\u00E1s Google-lel',
|
||||
email: 'E-mail',
|
||||
emailPlaceholder: 'te@pelda.hu',
|
||||
password: 'Jelsz\u00F3',
|
||||
passwordPlaceholderRegister: 'Minimum 8 karakter',
|
||||
passwordPlaceholderLogin: 'Jelszavad',
|
||||
forgotPassword: 'Elfelejtetted a jelszavad?',
|
||||
resetSent: 'Ellen\u0151rizd az e-mailjeidet a vissza\u00E1ll\u00EDt\u00F3 linkhez.',
|
||||
pleaseWait: 'K\u00E9rj\u00FCk, v\u00E1rj...',
|
||||
sendResetLink: 'Vissza\u00E1ll\u00EDt\u00F3 link k\u00FCld\u00E9se',
|
||||
backToLogin: 'Vissza a bejelentkez\u00E9shez',
|
||||
},
|
||||
|
||||
// ── Upgrade Modal ──────────────────────────────────
|
||||
upgrade: {
|
||||
title: 'Fedezd fel eg\u00E9sz Angli\u00E1t',
|
||||
description: 'Jelenleg a dem\u00F3 ter\u00FCletet felfedezed. Szerezz \u00E9lethosszig tart\u00F3 hozz\u00E1f\u00E9r\u00E9st minden ir\u00E1ny\u00EDt\u00F3sz\u00E1mhoz, sz\u0171r\u0151h\u00F6z \u00E9s k\u00F6rny\u00E9khez. Egyetlen fizet\u00E9s, \u00F6r\u00F6kre.',
|
||||
free: 'Ingyenes',
|
||||
once: '/egyszeri',
|
||||
freeForEarly: 'Ingyenes a korai felhaszn\u00E1l\u00F3knak. Nem sz\u00FCks\u00E9ges bankkartya.',
|
||||
oneTimePayment: 'Egyszeri fizet\u00E9s. \u00C9lethosszig tart\u00F3 hozz\u00E1f\u00E9r\u00E9s. 30 napos p\u00E9nzvisszat\u00E9r\u00EDt\u00E9si garancia.',
|
||||
redirecting: '\u00C1tir\u00E1ny\u00EDt\u00E1s...',
|
||||
claimFreeAccess: 'Ingyenes hozz\u00E1f\u00E9r\u00E9s ig\u00E9nyl\u00E9se',
|
||||
upgradeFor: 'Friss\u00EDt\u00E9s {{price}} \u00E1ron',
|
||||
registerAndUpgrade: 'Regisztr\u00E1ci\u00F3 \u00E9s friss\u00EDt\u00E9s',
|
||||
alreadyHaveAccount: 'M\u00E1r van fi\u00F3kod? Jelentkezz be',
|
||||
continueWithDemo: 'Folytat\u00E1s dem\u00F3val',
|
||||
checkoutFailed: 'A fizet\u00E9s sikertelen',
|
||||
},
|
||||
|
||||
// ── Save Search Modal ──────────────────────────────
|
||||
saveSearch: {
|
||||
title: 'Keres\u00E9s ment\u00E9se',
|
||||
saved: 'Keres\u00E9s elmentve',
|
||||
savedSuccess: 'A keres\u00E9s sikeresen elmentve.',
|
||||
viewSavedSearches: 'Mentett keres\u00E9sek megtekint\u00E9se',
|
||||
name: 'N\u00E9v',
|
||||
namePlaceholder: 'Keres\u00E9sem',
|
||||
saving: 'Ment\u00E9s...',
|
||||
},
|
||||
|
||||
// ── License Success ────────────────────────────────
|
||||
licenseSuccess: {
|
||||
title: 'Benne vagy.',
|
||||
subtitle: 'Az \u00E9lethosszig tart\u00F3 hozz\u00E1f\u00E9r\u00E9sed most akt\u00EDv.',
|
||||
description: 'Teljes hozz\u00E1f\u00E9r\u00E9s minden funkci\u00F3hoz, minden ir\u00E1ny\u00EDt\u00F3sz\u00E1mhoz, eg\u00E9sz Angli\u00E1ban.',
|
||||
startExploring: 'Felfedez\u00E9s ind\u00EDt\u00E1sa',
|
||||
},
|
||||
|
||||
// ── Filters ────────────────────────────────────────
|
||||
filters: {
|
||||
activeFilters: 'Akt\u00EDv sz\u0171r\u0151k',
|
||||
addFilter: 'Sz\u0171r\u0151 hozz\u00E1ad\u00E1sa',
|
||||
historical: 'T\u00F6rt\u00E9nelmi',
|
||||
buy: 'V\u00E9tel',
|
||||
rent: 'B\u00E9rl\u00E9s',
|
||||
findingPerfectPostcode: 'A t\u00F6k\u00E9letes ir\u00E1ny\u00EDt\u00F3sz\u00E1m megtal\u00E1l\u00E1sa',
|
||||
addFiltersHint: 'Adj hozz\u00E1 sz\u0171r\u0151ket a t\u00E9rk\u00E9p sz\u0171k\u00EDt\u00E9s\u00E9hez a felt\u00E9teleidnek megfelel\u0151en',
|
||||
upgradePrompt: 'B\u0171n\u00F6z\u00E9s, iskol\u00E1k, zaj, sz\u00E9less\u00E1v \u00E9s 50+ tov\u00E1bbi sz\u0171r\u0151 eg\u00E9sz Angli\u00E1ban.',
|
||||
oneTimeLifetime: 'Egyszeri fizet\u00E9s, \u00E9lethosszig tart\u00F3 hozz\u00E1f\u00E9r\u00E9s.',
|
||||
upgradeToFullMap: 'Friss\u00EDt\u00E9s a teljes t\u00E9rk\u00E9pre',
|
||||
chooseFilters: 'V\u00E1laszd ki a sz\u00E1modra fontos sz\u0171r\u0151ket. A t\u00E9rk\u00E9p menet k\u00F6zben friss\u00FCl.',
|
||||
searchFeatures: 'Jellemz\u0151k keres\u00E9se...',
|
||||
noMatchingFeatures: 'Nincs tal\u00E1lat',
|
||||
tryDifferentSearch: 'Pr\u00F3b\u00E1lj m\u00E1s keres\u0151kifejez\u00E9st',
|
||||
allFeaturesActive: 'Minden jellemz\u0151 akt\u00EDv',
|
||||
removeFilterHint: 'T\u00E1vol\u00EDts el egy sz\u0171r\u0151t az el\u00E9rhet\u0151 jellemz\u0151k megtekint\u00E9s\u00E9hez',
|
||||
featureInfo: 'Jellemz\u0151 inform\u00E1ci\u00F3',
|
||||
replayTutorial: 'Interakt\u00EDv bemutat\u00F3 \u00FAjraj\u00E1tsz\u00E1sa',
|
||||
},
|
||||
|
||||
// ── Philosophy Popup ───────────────────────────────
|
||||
philosophy: {
|
||||
intro: 'Kezdd a felt\u00E9tlen\u00FCl sz\u00FCks\u00E9ges felt\u00E9telekkel, majd add hozz\u00E1 a k\u00EDv\u00E1nalmakat. A t\u00E9rk\u00E9p sz\u0171k\u00FCl, ahogy sz\u0171r\u0151ket adsz hozz\u00E1. A megmarad\u00F3 ter\u00FCletek a legjobb tal\u00E1latok.',
|
||||
step1Title: 'K\u00F6lts\u00E9gvet\u00E9s \u00E9s alapok',
|
||||
step1Desc: '(\u00E1rtartom\u00E1ny, alapter\u00FClet, ingatlant\u00EDpus)',
|
||||
step2Title: 'Ingaz\u00E1s',
|
||||
step2Desc: '(utaz\u00E1si id\u0151 a munkahelyre aut\u00F3val, ker\u00E9kp\u00E1rral vagy t\u00F6megk\u00F6zleked\u00E9ssel)',
|
||||
step3Title: 'Biztons\u00E1g',
|
||||
step3Desc: '(b\u0171n\u00F6z\u00E9si ar\u00E1nyok, zajszintek, talajstabilit\u00E1s)',
|
||||
step4Title: 'Iskol\u00E1k',
|
||||
step4Desc: '(k\u00F6zeli Ofsted \u00E1ltal J\u00F3 vagy Kiv\u00E1l\u00F3 min\u0151s\u00EDt\u00E9s\u0171 iskol\u00E1k)',
|
||||
step5Title: '\u00C9letm\u00F3d',
|
||||
step5Desc: '(\u00E9ttermek, parkok, sz\u00E9less\u00E1v\u00FA internet sebess\u00E9g)',
|
||||
step6Title: 'Energia',
|
||||
step6Desc: '(EPC min\u0151s\u00EDt\u00E9sek, szigetel\u00E9s, f\u0171t\u00E9si k\u00F6lts\u00E9gek)',
|
||||
tip: 'Tipp: ha semmi nem egyezik, engedj egy felt\u00E9telb\u0151l, \u00E9s n\u00E9zd meg, melyik kompromisszum nyitja meg a legt\u00F6bb lehet\u0151s\u00E9get.',
|
||||
},
|
||||
|
||||
// ── Travel Time ────────────────────────────────────
|
||||
travel: {
|
||||
travelTime: 'Utaz\u00E1si id\u0151 ({{mode}})',
|
||||
maxTime: 'Max. id\u0151',
|
||||
selectDestination: '\u00DAtic\u00E9l kiv\u00E1laszt\u00E1sa...',
|
||||
bestCase: 'Legjobb eset',
|
||||
bestCaseTitle: 'Legjobb utaz\u00E1si id\u0151',
|
||||
bestCaseDesc: 'A leggyorsabb re\u00E1lis utaz\u00E1si id\u0151t haszn\u00E1lja (ha j\u00F3l id\u0151z\u00EDted az indul\u00E1st \u00E9s j\u00F3 csatlakoz\u00E1sokat \u00E9rsz el). Az alap\u00E9rtelmezett a <strong>medi\u00E1nt</strong> haszn\u00E1lja, ami egy \u00E1tlagos utaz\u00E1st k\u00E9pvisel, f\u00FCggetlen\u00FCl az indul\u00E1s idej\u00E9t\u0151l.',
|
||||
previewOnMap: 'El\u0151n\u00E9zet a t\u00E9rk\u00E9pen',
|
||||
stopPreviewing: 'El\u0151n\u00E9zet le\u00E1ll\u00EDt\u00E1sa',
|
||||
removeTravelTime: 'Utaz\u00E1si id\u0151 elt\u00E1vol\u00EDt\u00E1sa',
|
||||
addTravelTime: '{{mode}} utaz\u00E1si id\u0151 hozz\u00E1ad\u00E1sa',
|
||||
clearDestination: '\u00DAtic\u00E9l t\u00F6rl\u00E9se',
|
||||
typeToFilter: 'G\u00E9pelj a sz\u0171r\u00E9shez...',
|
||||
noDestinations: 'Nem tal\u00E1lhat\u00F3 \u00FAtic\u00E9l',
|
||||
modeCar: 'Aut\u00F3',
|
||||
modeBicycle: 'Ker\u00E9kp\u00E1r',
|
||||
modeWalking: 'Gyalog',
|
||||
modeTransit: 'T\u00F6megk\u00F6zleked\u00E9s',
|
||||
modeCarDesc: 'Aut\u00F3s menetid\u0151 a leggyorsabb \u00FAton',
|
||||
modeBicycleDesc: 'Ker\u00E9kp\u00E1ros menetid\u0151 ker\u00E9kp\u00E1rbar\u00E1t \u00FAtvonalakon',
|
||||
modeWalkingDesc: 'Gyalogos menetid\u0151 s\u00E9t\u00E1l\u00F3utakon \u00E9s j\u00E1rd\u00E1kon',
|
||||
modeTransitDesc: 'Utaz\u00E1si id\u0151 vonattal, metr\u00F3val \u00E9s busszal',
|
||||
},
|
||||
|
||||
// ── Travel Time Info Popup ─────────────────────────
|
||||
travelInfo: {
|
||||
transitDesc: ' t\u00F6megk\u00F6zleked\u00E9ssel (busz, vonat, metr\u00F3). Az id\u0151ket egy \u00E1tlagos h\u00E9tk\u00F6znap d\u00E9lel\u0151tti id\u0151ablakra sz\u00E1m\u00EDtjuk.',
|
||||
carDesc: ' aut\u00F3val, a t\u00EDpikus sebess\u00E9gek \u00E9s az \u00FAth\u00E1l\u00F3zat alapj\u00E1n.',
|
||||
bicycleDesc: ' ker\u00E9kp\u00E1rral, ker\u00E9kp\u00E1rbar\u00E1t \u00FAtvonalakon.',
|
||||
walkingDesc: ' gyalog, s\u00E9t\u00E1l\u00F3utakon \u00E9s j\u00E1rd\u00E1kon.',
|
||||
mainDesc: 'Megmutatja, mennyi id\u0151be telik a kiv\u00E1lasztott \u00FAtic\u00E9l el\u00E9r\u00E9se az egyes ter\u00FCletekr\u0151l',
|
||||
sliderHint: 'Haszn\u00E1ld a cs\u00FAszk\u00E1t a maxim\u00E1lis ingaz\u00E1si id\u0151 be\u00E1ll\u00EDt\u00E1s\u00E1hoz.',
|
||||
},
|
||||
|
||||
// ── AI Filter ──────────────────────────────────────
|
||||
aiFilter: {
|
||||
describeIdealArea: '\u00CDrd le az ide\u00E1lis ter\u00FCleted mesters\u00E9ges intelligenci\u00E1val',
|
||||
aiSearch: 'AI keres\u00E9s',
|
||||
describeHint: '\u00CDrd le, mit keresel',
|
||||
placeholder: 'pl. csendes ter\u00FClet, \u00A3400e alatt, j\u00F3 iskol\u00E1k k\u00F6zel\u00E9ben...',
|
||||
example1: 'Biztons\u00E1gos ter\u00FClet j\u00F3 iskol\u00E1k k\u00F6zel\u00E9ben',
|
||||
example2: '30 perces ingaz\u00E1s Kings Cross-hoz, \u00A3500e alatt',
|
||||
example3: 'Csendes falu, 3 h\u00E1l\u00F3, gyors internet',
|
||||
analysing: 'Lek\u00E9rdez\u00E9s elemz\u00E9se...',
|
||||
searchingDestinations: '\u00DAtic\u00E9lok keres\u00E9se...',
|
||||
generatingFilters: 'Sz\u0171r\u0151k l\u00E9trehoz\u00E1sa...',
|
||||
refiningResults: 'Eredm\u00E9nyek finomhangol\u00E1sa...',
|
||||
weeklyLimitReached: 'El\u00E9rted a heti AI haszn\u00E1lati limitet. Automatikusan vissza\u00E1ll j\u00F6v\u0151 h\u00E9ten.',
|
||||
},
|
||||
|
||||
// ── Map Legend ─────────────────────────────────────
|
||||
mapLegend: {
|
||||
clearColourView: 'Sz\u00EDnez\u00E9s t\u00F6rl\u00E9se',
|
||||
},
|
||||
|
||||
// ── Properties Pane ────────────────────────────────
|
||||
propertyCard: {
|
||||
unknownAddress: 'Ismeretlen c\u00EDm',
|
||||
unsaveProperty: 'Ingatlan ment\u00E9s\u00E9nek visszavon\u00E1sa',
|
||||
saveProperty: 'Ingatlan ment\u00E9se',
|
||||
lastSold: 'Utols\u00F3 elad\u00E1s: \u00A3{{price}}',
|
||||
estValue: 'Becs\u00FClt \u00E9rt\u00E9k:',
|
||||
type: 'T\u00EDpus:',
|
||||
builtForm: '\u00C9p\u00FCletforma:',
|
||||
tenure: 'Tulajdonforma:',
|
||||
floorArea: 'Alapter\u00FClet:',
|
||||
bedrooms: 'H\u00E1l\u00F3szob\u00E1k:',
|
||||
bathrooms: 'F\u00FCrd\u0151szob\u00E1k:',
|
||||
rooms: 'Szob\u00E1k:',
|
||||
built: '\u00C9p\u00EDtve:',
|
||||
epcRating: 'EPC min\u0151s\u00EDt\u00E9s:',
|
||||
epcPotential: 'EPC potenci\u00E1l:',
|
||||
listed: 'Hirdetve:',
|
||||
keyFeatures: 'F\u0151bb jellemz\u0151k',
|
||||
renovations: 'Fel\u00FAj\u00EDt\u00E1sok',
|
||||
viewExternalListing: 'K\u00FCls\u0151 hirdet\u00E9s megtekint\u00E9se',
|
||||
perMonth: '/h\u00F3',
|
||||
perSqm: '/m\u00B2',
|
||||
searchPlaceholder: 'Keres\u00E9s c\u00EDm vagy ir\u00E1ny\u00EDt\u00F3sz\u00E1m alapj\u00E1n...',
|
||||
propertyData: 'Ingatlanadatok',
|
||||
propertyDataDesc: 'Az \u00E1rak a HM Land Registry-b\u0151l sz\u00E1rmaznak (a vev\u0151k \u00E1ltal t\u00E9nylegesen fizetett \u00F6sszeg). Az alapter\u00FClet, energetikai min\u0151s\u00EDt\u00E9sek, \u00E9p\u00EDt\u00E9si \u00E9v \u00E9s tulajdonforma a hivatalos EPC felm\u00E9r\u00E9sekb\u0151l sz\u00E1rmaznak. Mindk\u00E9t forr\u00E1s c\u00EDm alapj\u00E1n van \u00F6sszep\u00E1ros\u00EDtva az egyes ir\u00E1ny\u00EDt\u00F3sz\u00E1mokon bel\u00FCl.',
|
||||
},
|
||||
|
||||
// ── Area Pane ──────────────────────────────────────
|
||||
areaPane: {
|
||||
areaStatistics: 'Ter\u00FCleti statisztik\u00E1k',
|
||||
statsFor: 'Statisztik\u00E1k a(z) {{type}} \u00F6sszes ingatlan\u00E1r\u00F3l',
|
||||
matchingFilters: ' az \u00F6sszes akt\u00EDv sz\u0171r\u0151nek megfelel\u0151en',
|
||||
viewProperties: '{{count}} ingatlan megtekint\u00E9se',
|
||||
priceHistory: '\u00C1rt\u00F6rt\u00E9net',
|
||||
journeysFrom: 'Utaz\u00E1sok innen: {{label}}',
|
||||
to: 'Ide: {{destination}}',
|
||||
noJourneyData: 'Nincs el\u00E9rhet\u0151 utaz\u00E1si adat',
|
||||
viewOnGoogleMaps: 'Megtekint\u00E9s a Google Maps-en',
|
||||
walk: 'Gyalog',
|
||||
cycle: 'Ker\u00E9kp\u00E1r',
|
||||
},
|
||||
|
||||
// ── Histogram Legend ───────────────────────────────
|
||||
histogramLegend: {
|
||||
tealBars: 'Z\u00F6ldeskk\u00E9k oszlopok',
|
||||
tealBarsDesc: 'a kiv\u00E1lasztott ter\u00FClet eloszl\u00E1s\u00E1t mutatj\u00E1k',
|
||||
greyBars: 'Sz\u00FCrke oszlopok',
|
||||
greyBarsDesc: 'az \u00F6sszes ter\u00FClet \u00E1ltal\u00E1nos eloszl\u00E1s\u00E1t mutatj\u00E1k',
|
||||
dashedLine: 'Szaggatott vonal',
|
||||
dashedLineDesc: 'az orsz\u00E1gos \u00E1tlagot jel\u00F6li',
|
||||
},
|
||||
|
||||
// ── Street View ────────────────────────────────────
|
||||
streetView: {
|
||||
title: 'Utcak\u00E9p',
|
||||
},
|
||||
|
||||
// ── POI Pane ───────────────────────────────────────
|
||||
poiPane: {
|
||||
pois: 'POI-k',
|
||||
pointsOfInterest: '\u00C9rdekes pontok',
|
||||
poiDescription: 'Forr\u00E1s: OpenStreetMap. Tartalmazza a t\u00F6megk\u00F6zleked\u00E9si meg\u00E1ll\u00F3kat, \u00FCzleteket, \u00E9ttermeket, eg\u00E9szs\u00E9g\u00FCgyi int\u00E9zm\u00E9nyeket, szabadid\u0151s l\u00E9tes\u00EDtm\u00E9nyeket \u00E9s m\u00E9g sok m\u00E1st. Rendszeresen friss\u00EDtve, teljes kateg\u00F3rialefedetts\u00E9ggel.',
|
||||
searchCategories: 'Kateg\u00F3ri\u00E1k keres\u00E9se...',
|
||||
dataSourceInfo: 'Adatforr\u00E1s inform\u00E1ci\u00F3',
|
||||
},
|
||||
|
||||
// ── External Search Links ──────────────────────────
|
||||
externalSearch: {
|
||||
searchOn: 'Keres\u00E9s {{radius}} sug\u00E1rban ezen:',
|
||||
outcodeNotRecognised: 'Nem felismert k\u00F6rzeti k\u00F3d',
|
||||
},
|
||||
|
||||
// ── Location Search ────────────────────────────────
|
||||
locationSearch: {
|
||||
placeholder: 'Helyek vagy ir\u00E1ny\u00EDt\u00F3sz\u00E1mok keres\u00E9se...',
|
||||
postcodeNotFound: 'Ir\u00E1ny\u00EDt\u00F3sz\u00E1m nem tal\u00E1lhat\u00F3',
|
||||
lookupFailed: 'A keres\u00E9s sikertelen',
|
||||
searchLabel: 'Helyek vagy ir\u00E1ny\u00EDt\u00F3sz\u00E1mok keres\u00E9se',
|
||||
locateMe: 'Ugr\u00E1s a tart\u00F3zkod\u00E1si helyemre',
|
||||
geolocationUnsupported: 'A b\u00F6ng\u00E9sz\u0151d nem t\u00E1mogatja a helymeghat\u00E1roz\u00E1st',
|
||||
geolocationFailed: 'Nem siker\u00FClt meghat\u00E1rozni a tart\u00F3zkod\u00E1si helyed',
|
||||
},
|
||||
|
||||
// ── Mobile Drawer ──────────────────────────────────
|
||||
mobileDrawer: {
|
||||
closeDrawer: 'Fi\u00F3k bez\u00E1r\u00E1sa',
|
||||
},
|
||||
|
||||
// ── Home Page ──────────────────────────────────────
|
||||
home: {
|
||||
heroTitle1: 'Maxim\u00E1lis',
|
||||
heroTitle2: '\u00C9rt\u00E9k',
|
||||
heroTitle3: 'Minim\u00E1lis kompromisszum.',
|
||||
heroSubtitle: 'Ingatlant keresel? Legyen a legnagyobb befektet\u00E9sed a legokosabb d\u00F6nt\u00E9sed.',
|
||||
heroDescription: 'Annyi lehet\u0151s\u00E9g \u2013 a megfelel\u0151 kiv\u00E1laszt\u00E1sa neh\u00E9z lehet. Interakt\u00EDv t\u00E9rk\u00E9p\u00FCnk egyszer\u0171v\u00E9 teszi: v\u00E1laszd ki a felt\u00E9teleidet, \u00E9s azonnal l\u00E1sd a megfelel\u0151 ter\u00FCleteket.',
|
||||
exploreTheMap: 'T\u00E9rk\u00E9p felfedez\u00E9se',
|
||||
seeTheDifference: 'N\u00E9zd meg a k\u00FCl\u00F6nbs\u00E9get',
|
||||
statProperties: 'ingatlan',
|
||||
statFilters: 'sz\u0171r\u0151',
|
||||
statEvery: 'Minden',
|
||||
statPostcodeInEngland: 'ir\u00E1ny\u00EDt\u00F3sz\u00E1m Angli\u00E1ban',
|
||||
ourPhilosophy: 'Filoz\u00F3fi\u00E1nk',
|
||||
philosophyP1: 'A Rightmove-on el\u0151sz\u00F6r ter\u00FCletet v\u00E1lasztasz, \u00E9s rem\u00E9led, hogy j\u00F3. V\u00E9g\u00FCl b\u0171n\u00F6z\u00E9si statisztik\u00E1kat, iskolai jelent\u00E9seket \u00E9s sz\u00E9less\u00E1v-ellen\u0151rz\u0151ket b\u00F6ng\u00E9szel tucat f\u00FCleken, egyszerre egy ir\u00E1ny\u00EDt\u00F3sz\u00E1mmal.',
|
||||
philosophyP2: 'Mi megford\u00EDtjuk. Mondd el, mire van sz\u00FCks\u00E9ged (k\u00F6lts\u00E9gvet\u00E9s, ingaz\u00E1s, iskol\u00E1k, biztons\u00E1g), \u00E9s megmutatjuk Anglia \u00F6sszes megfelel\u0151 ter\u00FClet\u00E9t. Nincs tal\u00E1lgat\u00E1s. Nincs felesleges megtekint\u00E9s.',
|
||||
howToUseIt: 'Hogyan haszn\u00E1ld',
|
||||
howStep1Title: '\u00C1ll\u00EDtsd be a felt\u00E9teleidet',
|
||||
howStep1Desc: 'K\u00F6lts\u00E9gvet\u00E9s, ingaz\u00E1s, iskol\u00E1k \u2014 a t\u00E9rk\u00E9p csak a megfelel\u0151ket mutatja.',
|
||||
howStep2Title: 'Fedezz fel ter\u00FCleteket \u00E9s rejtett kincseket',
|
||||
howStep2Desc: 'Nagy\u00EDts r\u00E1, m\u00E9lyedj el a r\u00E9szletekben \u00E9s a pluszokban.',
|
||||
howStep3Title: 'Vizsg\u00E1ld meg az ir\u00E1ny\u00EDt\u00F3sz\u00E1mokat',
|
||||
howStep3Desc: 'N\u00E9zd meg az egyes ingatlanokat, elad\u00E1si \u00E1rakat, alapter\u00FCletet, \u00E9s hasonl\u00EDtsd \u00F6ssze.',
|
||||
howStep4Title: 'V\u00E1lassz magabiztosan',
|
||||
howStep4Desc: 'A list\u00E1don minden ter\u00FClet megfelel a val\u00F3s felt\u00E9teleidnek \u2014 nem csak annak, amit azon a h\u00E9ten hirdettek.',
|
||||
othersVs: 'M\u00E1sok vs.',
|
||||
listingPortals: 'Hirdet\u00E9si port\u00E1lok',
|
||||
checkMyPostcode: '\u201CIr\u00E1ny\u00EDt\u00F3sz\u00E1m ellen\u0151rz\u00E9se\u201D',
|
||||
areaGuides: 'Ter\u00FCleti \u00FAtmutat\u00F3k',
|
||||
compSearchWithout: 'Keres\u00E9s ter\u00FClet el\u0151zetes kiv\u00E1laszt\u00E1sa n\u00E9lk\u00FCl',
|
||||
compSearchWithoutSub: '(ig\u00E9nyekb\u0151l indulj, nem helysz\u00EDnb\u0151l)',
|
||||
compAreaData: 'Ter\u00FCleti adatok',
|
||||
compAreaDataSub: '(b\u0171n\u00F6z\u00E9s, iskol\u00E1k, zaj, sz\u00E9less\u00E1v)',
|
||||
compPropertyData: 'Ingatlanspecifikus adatok',
|
||||
compPropertyDataSub: '(\u00E1r, EPC, alapter\u00FClet)',
|
||||
compFilters: '56 kombin\u00E1lhat\u00F3 sz\u0171r\u0151 egy helyen',
|
||||
compFiltersSub: '(minden inform\u00E1ci\u00F3, egy interakt\u00EDv t\u00E9rk\u00E9p)',
|
||||
ctaTitle: 'Legyen a legnagyobb befektet\u00E9sed a legokosabb\u00A0d\u00F6nt\u00E9sed.',
|
||||
ctaDescription: 'Ez megfelel\u0151 eszk\u00F6z\u00F6ket \u00E9rdemel, ne b\u00EDzd a szerencs\u00E9re.',
|
||||
},
|
||||
|
||||
// ── Pricing Page ───────────────────────────────────
|
||||
pricingPage: {
|
||||
title: 'Korai hozz\u00E1f\u00E9r\u00E9s \u00E1rak',
|
||||
subtitle: 'Fizess egyszer, haszn\u00E1ld \u00F6r\u00F6kre. Min\u00E9l kor\u00E1bban csatlakozol, ann\u00E1l kevesebbet fizetsz.',
|
||||
costContext: 'Egy lak\u00E1sv\u00E1s\u00E1rl\u00E1s \u00A310 000+ illet\u00E9kbe, \u00A31 500 \u00FCgyv\u00E9di d\u00EDjba, \u00A3500 szak\u00E9rt\u0151i vizsg\u00E1latba ker\u00FCl. Ha rossz ter\u00FCletet v\u00E1lasztasz, r\u00E1ragadsz egy hossz\u00FA ingaz\u00E1sra, rossz iskol\u00E1kra, vagy egy \u00FAtra, amelyr\u0151l nem tudt\u00E1l.',
|
||||
lessThanSurvey: 'Kevesebbe ker\u00FCl, mint egy \u00E9p\u00FCletszak\u00E9rt\u0151i vizsg\u00E1lat. Sokkal hasznosabb.',
|
||||
currentTier: 'Jelenlegi szint',
|
||||
firstNUsers: 'Els\u0151 {{count}} felhaszn\u00E1l\u00F3',
|
||||
everyoneAfter: 'Mindenki m\u00E1s ut\u00E1na',
|
||||
nextNUsers: 'K\u00F6vetkez\u0151 {{count}} felhaszn\u00E1l\u00F3',
|
||||
lifetime: '/\u00E9lethosszig',
|
||||
spotsRemaining: '{{count}} hely maradt',
|
||||
spotsRemainingPlural: '{{count}} hely maradt',
|
||||
filled: 'Betelt',
|
||||
openDashboard: 'T\u00E9rk\u00E9p megnyit\u00E1sa',
|
||||
getStarted: 'Kezdj\u00FCk el',
|
||||
getStartedPrice: 'Kezdj\u00FCk el \u2013 {{price}}',
|
||||
noCreditCard: 'Nem sz\u00FCks\u00E9ges bankkartya',
|
||||
moneyBackGuarantee: '30 napos p\u00E9nzvisszat\u00E9r\u00EDt\u00E9si garancia',
|
||||
soldOut: 'Elfogyott',
|
||||
upcoming: 'K\u00F6vetkez\u0151',
|
||||
failedToLoad: 'Nem siker\u00FClt bet\u00F6lteni az \u00E1rakat. K\u00E9rj\u00FCk, pr\u00F3b\u00E1ld \u00FAjra k\u00E9s\u0151bb.',
|
||||
feat1: '56 adatr\u00E9teg eg\u00E9sz Angli\u00E1ban',
|
||||
feat2: 'Minden ir\u00E1ny\u00EDt\u00F3sz\u00E1m pontozva \u00E9s sz\u0171rhet\u0151',
|
||||
feat3: 'Korl\u00E1tlan t\u00E9rk\u00E9pfelfedez\u00E9s \u00E9s export\u00E1l\u00E1s',
|
||||
feat4: 'T\u00F6bb \u00E9vtizednyi t\u00F6rt\u00E9nelmi \u00E1radat',
|
||||
feat5: 'B\u0171n\u00F6z\u00E9s, iskol\u00E1k, k\u00F6zleked\u00E9s, sz\u00E9less\u00E1v \u00E9s m\u00E9g sok m\u00E1s',
|
||||
feat6: 'Minden j\u00F6v\u0151beli adatfriss\u00EDt\u00E9s benne van',
|
||||
},
|
||||
|
||||
// ── Learn Page ─────────────────────────────────────
|
||||
learnPage: {
|
||||
faq: 'GYIK',
|
||||
dataSources: 'Adatforr\u00E1sok',
|
||||
support: 'T\u00E1mogat\u00E1s',
|
||||
dataSourcesIntro: 'Ez az alkalmaz\u00E1s {{count}} nyilv\u00E1nos adatk\u00E9szletet kombin\u00E1l, amelyek ingatllan\u00E1rakat, energetikai teljes\u00EDtm\u00E9nyt, k\u00F6zleked\u00E9st, demogr\u00E1fi\u00E1t, b\u0171n\u00F6z\u00E9st, k\u00F6rnyezetet \u00E9s m\u00E9g sok m\u00E1st fednek le.',
|
||||
faqIntro: 'Ak\u00E1r v\u00E1s\u00E1rolsz, ak\u00E1r b\u00E9relsz, ak\u00E1r csak felfedezed, \u00EDgy seg\u00EDt a Perfect Postcode megtal\u00E1lni a megfelel\u0151 ter\u00FCletet.',
|
||||
supportIntro: 'K\u00E9rd\u00E9sed van? N\u00E9zd meg a GYIK-et, vagy \u00EDrj nek\u00FCnk k\u00F6zvetlen\u00FCl.',
|
||||
source: 'Forr\u00E1s:',
|
||||
optOut: 'Nyilv\u00E1nos k\u00F6zz\u00E9t\u00E9tel visszautas\u00EDt\u00E1sa',
|
||||
attribution: 'Forr\u00E1smegnevez\u00E9s',
|
||||
attrLandRegistry: 'HM Land Registry adatokat tartalmaz \u00A9 Crown copyright and database right 2025.',
|
||||
attrOgl: 'K\u00F6zszektorbeli inform\u00E1ci\u00F3t tartalmaz a k\u00F6vetkez\u0151 licenc alatt:',
|
||||
attrOglLink: 'Open Government Licence v3.0',
|
||||
attrOs: 'OS adatokat tartalmaz \u00A9 Crown copyright and database rights 2025.',
|
||||
attrTfl: 'A TfL Open Data \u00E1ltal t\u00E1mogatva.',
|
||||
attrOsm: 'Adatokat tartalmaz innen:',
|
||||
attrOsmContrib: '\u00A9 OpenStreetMap contributors',
|
||||
attrOsmLicense: 'el\u00E9rhet\u0151 a k\u00F6vetkez\u0151 alatt:',
|
||||
attrOsmLicenseLink: 'Open Data Commons Open Database License (ODbL)',
|
||||
// Data source names & descriptions
|
||||
dsPricePaidName: '\u00C1rfizetett adatok',
|
||||
dsPricePaidOrigin: 'HM Land Registry',
|
||||
dsPricePaidUse: 'Teljes t\u00F6rt\u00E9nelmi ingatlanalad\u00E1si \u00E1rak Angli\u00E1ban.',
|
||||
dsEpcName: 'Energetikai tan\u00FAs\u00EDtv\u00E1nyok (EPC)',
|
||||
dsEpcOrigin: 'Ministry of Housing, Communities & Local Government',
|
||||
dsEpcUse: 'Lak\u00F3ingatlan energetikai tan\u00FAs\u00EDtv\u00E1nyok, amelyek tartalmazzp\u00E1k az alapter\u00FCletet, szobasz\u00E1mot, \u00E9p\u00EDt\u00E9si \u00E9vet, energetikai min\u0151s\u00EDt\u00E9seket, ingatlant\u00EDpust \u00E9s \u00E9p\u00FCletform\u00E1t. Az \u00C1rfizetett nyilv\u00E1ntart\u00E1sokkal c\u00EDm alapj\u00E1n p\u00E1ros\u00EDtva az egyes ir\u00E1ny\u00EDt\u00F3sz\u00E1mokon bel\u00FCl. Az ingatlantulajdonosok visszautas\u00EDthatj\u00E1k a nyilv\u00E1nos k\u00F6zz\u00E9t\u00E9telt.',
|
||||
dsNsplName: 'Nemzeti Statisztikai Ir\u00E1ny\u00EDt\u00F3sz\u00E1m Keres\u0151 (NSPL)',
|
||||
dsNsplOrigin: 'ONS / ArcGIS',
|
||||
dsNsplUse: 'Ir\u00E1ny\u00EDt\u00F3sz\u00E1mokat koordin\u00E1t\u00E1khoz \u00E9s statisztikai ter\u00FCletk\u00F3dokhoz rendeli, amelyekkel az \u00F6sszes ter\u00FCleti szint\u0171 adatk\u00E9szletet az egyes ingatlanokhoz kapcsoljuk.',
|
||||
dsIodName: 'Angol Depriv\u00E1ci\u00F3s Mutat\u00F3k 2025',
|
||||
dsIodOrigin: 'Ministry of Housing, Communities & Local Government',
|
||||
dsIodUse: 'Relat\u00EDv depriv\u00E1ci\u00F3s pontok j\u00F6vedelem, foglalkoztatotts\u00E1g, oktat\u00E1s, eg\u00E9szs\u00E9g, b\u0171n\u00F6z\u00E9s \u00E9s lak\u00F3k\u00F6rnyezet ter\u00FClet\u00E9n Anglia minden szomsz\u00E9ds\u00E1g\u00E1ra.',
|
||||
dsEthnicityName: 'N\u00E9pess\u00E9g etnikai megoszl\u00E1s szerint (2021-es n\u00E9psz\u00E1ml\u00E1l\u00E1s)',
|
||||
dsEthnicityOrigin: 'ONS',
|
||||
dsEthnicityUse: 'N\u00E9pess\u00E9g sz\u00E1zal\u00E9kos megoszl\u00E1sa etnikai csoportonk\u00E9nt (d\u00E9l-\u00E1zsiai, kelet-\u00E1zsiai, fekete, vegyes, feh\u00E9r, egy\u00E9b) helyi \u00F6nkorm\u00E1nyzatonk\u00E9nt.',
|
||||
dsCrimeName: 'Utcaszint\u0171 b\u0171n\u00F6z\u00E9si adatok',
|
||||
dsCrimeOrigin: 'data.police.uk',
|
||||
dsCrimeUse: 'Utcaszint\u0171 b\u0171n\u00F6z\u00E9si adatok 2023-t\u00F3l 2025-ig, \u00E9ves \u00E1tlagokba \u00F6sszeg\u00E9zve LSOA-nk\u00E9nt \u00E9s b\u0171ncselekm\u00E9nyt\u00EDpusonk\u00E9nt (er\u0151szak, bet\u00F6r\u00E9s, k\u00F6z\u00E9rdek\u0171 rends\u00E9rts\u00E9g, k\u00E1b\u00EDt\u00F3szer, j\u00E1rm\u0171b\u0171n\u00F6z\u00E9s stb.).',
|
||||
dsOsmName: 'OpenStreetMap POI-k',
|
||||
dsOsmOrigin: 'OpenStreetMap contributors / Geofabrik',
|
||||
dsOsmUse: '\u00C9rdekes pontok, bele\u00E9rtve \u00FCzleteket, \u00E9ttermeket, eg\u00E9szs\u00E9g\u00FCgyet, szabadid\u0151t, turizmust \u00E9s m\u00E9g sok m\u00E1st Nagy-Britanni\u00E1ban.',
|
||||
dsGreenspaceName: 'OS Open Greenspace',
|
||||
dsGreenspaceOrigin: 'Ordnance Survey',
|
||||
dsGreenspaceUse: 'Hivatalos z\u00F6ldter\u00FCleti hat\u00E1rok Nagy-Britanni\u00E1ban, bele\u00E9rtve a k\u00F6zparkokat, kerteket, sportter\u00FCleteket \u00E9s j\u00E1tsz\u00F3tereket. A poligon k\u00F6z\u00E9ppontjait haszn\u00E1ljuk a park k\u00F6zels\u00E9gi sz\u00E1ml\u00E1l\u00E1shoz \u00E9s a legk\u00F6zelebbi park t\u00E1vols\u00E1g\u00E1nak sz\u00E1m\u00EDt\u00E1s\u00E1hoz.',
|
||||
dsNaptanName: 'NaPTAN (T\u00F6megk\u00F6zleked\u00E9si meg\u00E1ll\u00F3k)',
|
||||
dsNaptanOrigin: 'Department for Transport',
|
||||
dsNaptanUse: '\u00C1llom\u00E1s- \u00E9s meg\u00E1ll\u00F3helyek vas\u00FAt, busz, metr\u00F3/villamos, komp \u00E9s rep\u00FCl\u0151t\u00E9r sz\u00E1m\u00E1ra Angli\u00E1ban.',
|
||||
dsNoiseName: 'Defra zajt\u00E9rk\u00E9pez\u00E9s',
|
||||
dsNoiseOrigin: 'Defra / Environment Agency',
|
||||
dsNoiseUse: 'K\u00F6z\u00FAti zajszintek (24 \u00F3r\u00E1s s\u00FAlyozott \u00E1tlag) a 2022-es strat\u00E9giai zajt\u00E9rk\u00E9pez\u00E9sb\u0151l, nagy felbont\u00E1sban modellezve \u00E9s minden ir\u00E1ny\u00EDt\u00F3sz\u00E1mn\u00E1l mintav\u00E9telezve.',
|
||||
dsOfstedName: 'Ofsted iskolai vizsg\u00E1latok',
|
||||
dsOfstedOrigin: 'Ofsted',
|
||||
dsOfstedUse: 'Legfrissebb vizsg\u00E1lati eredm\u00E9nyek az \u00E1llami fenntart\u00E1s\u00FA iskol\u00E1kr\u00F3l (2025 \u00E1prilis\u00E1ig). Ir\u00E1ny\u00EDt\u00F3sz\u00E1monk\u00E9nt \u00E1tlagolva a helyi iskolai min\u0151s\u00E9g pontoz\u00E1s\u00E1hoz (1=Kiv\u00E1l\u00F3-t\u00F3l 4=El\u00E9gtelenig).',
|
||||
dsBroadbandName: 'Ofcom sz\u00E9less\u00E1v\u00FA teljes\u00EDtm\u00E9ny',
|
||||
dsBroadbandOrigin: 'Ofcom',
|
||||
dsBroadbandUse: 'Vezet\u00E9kes sz\u00E9less\u00E1v\u00FA lefedetts\u00E9g \u00E9s maxim\u00E1lis let\u00F6lt\u00E9si sebess\u00E9gek ter\u00FCltenk\u00E9nt az Ofcom Connected Nations 2025 jelent\u00E9sb\u0151l.',
|
||||
dsCouncilTaxName: 'Helyi ad\u00F3szintek 2025-26',
|
||||
dsCouncilTaxOrigin: 'Ministry of Housing, Communities & Local Government',
|
||||
dsCouncilTaxUse: '\u00C9ves helyi ad\u00F3 d\u00EDjszab\u00E1sok A-H s\u00E1vokra Anglia mind a 296 sz\u00E1ml\u00E1z\u00F3 hat\u00F3s\u00E1g\u00E1n\u00E1l, k\u00E9t feln\u0151tt \u00E1ltal lakott ingatlanra. Az ingatlanokhoz a helyi \u00F6nkorm\u00E1nyzati ker\u00FCleti k\u00F3don kereszt\u00FCl csatolva az NSPL ir\u00E1ny\u00EDt\u00F3sz\u00E1m keres\u0151b\u0151l.',
|
||||
dsRentalName: 'Mag\u00E1nb\u00E9rleti piaci statisztik\u00E1k',
|
||||
dsRentalOrigin: 'ONS / Valuation Office Agency',
|
||||
dsRentalUse: 'Medi\u00E1n havi mag\u00E1nb\u00E9rleti d\u00EDjak helyi \u00F6nkorm\u00E1nyzatonk\u00E9nt \u00E9s h\u00E1l\u00F3szoba-kateg\u00F3ri\u00E1nk\u00E9nt (2022. okt. \u2013 2023. szept.). Az ingatlanokhoz a helyi \u00F6nkorm\u00E1nyzati ker\u00FCleti k\u00F3don \u00E9s becs\u00FClt h\u00E1l\u00F3szobasz\u00E1mon kereszt\u00FCl csatolva.',
|
||||
// FAQ section titles
|
||||
faqFindingTitle: 'Ter\u00FCleted megtal\u00E1l\u00E1sa',
|
||||
faqCommuteTitle: 'Ingaz\u00E1s \u00E9s utaz\u00E1s',
|
||||
faqBudgetTitle: 'K\u00F6lts\u00E9gvet\u00E9s \u00E9s \u00E9rt\u00E9k',
|
||||
faqSafetyTitle: 'Biztons\u00E1g \u00E9s szomsz\u00E9ds\u00E1g',
|
||||
faqFamiliesTitle: 'Csal\u00E1dok \u00E9s iskol\u00E1k',
|
||||
faqEnvironmentTitle: 'K\u00F6rnyezet \u00E9s \u00E9letmin\u0151s\u00E9g',
|
||||
faqWhyTitle: 'Mi\u00E9rt a Perfect Postcode',
|
||||
faqPricingTitle: '\u00C1rak \u00E9s hozz\u00E1f\u00E9r\u00E9s',
|
||||
faqTipsTitle: 'Tippek \u00E9s tr\u00FCkk\u00F6k',
|
||||
// FAQ items — Finding Your Area
|
||||
faqFinding1Q: 'Fogalmam sincs, hol keressek. Seg\u00EDt ebben?',
|
||||
faqFinding1A: 'Pont erre val\u00F3. \u00C1ll\u00EDtsd be a sz\u0171r\u0151ket (k\u00F6lts\u00E9gvet\u00E9s, ingaz\u00E1si id\u0151, alacsony b\u0171n\u00F6z\u00E9s, j\u00F3 iskol\u00E1k), \u00E9s a t\u00E9rk\u00E9p kivilg\u00EDtja minden ter\u00FCletet, ami megfelel. Nem kell t\u00F6bb\u00E9 \u00E9jf\u00E9lkor guglizni, hogy \u201Chol a legjobb lakni Manchester k\u00F6zel\u00E9ben\u201D.',
|
||||
faqFinding2Q: 'Olyan helyre k\u00F6lt\u00F6z\u00F6m, ahol m\u00E9g soha nem voltam. Hogyan kezdjem?',
|
||||
faqFinding2A: '\u00C1ll\u00EDtsd be a sz\u0171r\u0151ket arra, ami fontos, \u00E9s a t\u00E9rk\u00E9p azonnal kiemeli a megfelel\u0151 ter\u00FCleteket. Az \u201Cegyetlen utc\u00E1t sem ismerek\u201D-b\u0151l percek alatt r\u00F6vid list\u00E1hoz jutsz.',
|
||||
faqFinding3Q: 'Hogyan tal\u00E1lom meg azokat a ter\u00FCleteket, amelyek minden felt\u00E9telemnek megfelelnek?',
|
||||
faqFinding3A: 'Kombin\u00E1lj t\u00F6bb sz\u0171r\u0151t (b\u0171n\u00F6z\u00E9s \u00E1tlag alatt, j\u00F3 iskol\u00E1k, ingaz\u00E1s 40 perc alatt), majd sz\u00EDnezd a t\u00E9rk\u00E9pet \u00E1r szerint a legjobb \u00E9rt\u00E9k\u0171 ter\u00FCletek megtal\u00E1l\u00E1s\u00E1hoz. A t\u00E9rk\u00E9p \u00E9l\u0151ben friss\u00FCl, ahogy a cs\u00FAsz\u00E1kat h\u00FAzod.',
|
||||
// FAQ items — Commute and Travel
|
||||
faqCommute1Q: 'L\u00E1thatom, mennyi lenne az ingaz\u00E1som k\u00FCl\u00F6nb\u00F6z\u0151 ter\u00FCletekr\u0151l?',
|
||||
faqCommute1A: '\u00C1ll\u00EDtsd be a munkahelyed \u00FAtic\u00E9lk\u00E9nt, \u00E9s minden ir\u00E1ny\u00EDt\u00F3sz\u00E1mot kisz\u00EDnez\u00FCnk utaz\u00E1si id\u0151 szerint, legyen az aut\u00F3, ker\u00E9kp\u00E1r vagy t\u00F6megk\u00F6zleked\u00E9s. Sz\u0171rj a maxim\u00E1lis ingaz\u00E1si id\u0151re, \u00E9s a t\u00F6bbi elt\u0171nik.',
|
||||
faqCommute2Q: 'Mi\u00E9rt jobb ez, mint a Google Maps?',
|
||||
faqCommute2A: 'A Google Maps egyszerre egy utaz\u00E1st mutat. Mi Anglia \u00F6sszes ir\u00E1ny\u00EDt\u00F3sz\u00E1m\u00E1t kisz\u00EDnezz\u00FCk ingaz\u00E1si id\u0151 szerint egyszerre, \u00EDgy sz\u00E1zn\u00E1l t\u00F6bb ter\u00FCletet hasonl\u00EDthatsz \u00F6ssze egyetlen pillant\u00E1ssal, ahelyett hogy egyenk\u00E9nt keres-g\u00E9tn\u00E9d \u0151ket.',
|
||||
// FAQ items — Budget and Value
|
||||
faqBudget1Q: 'Hogyan tal\u00E1lom meg, hol kapom a legt\u00F6bb helyet a p\u00E9nzemem\u00E9rt?',
|
||||
faqBudget1A: 'Sz\u0171rj n\u00E9gyzetm\u00E9ter\u00E1r szerint, \u00E9s azonnal l\u00E1tod, mely ir\u00E1ny\u00EDt\u00F3sz\u00E1mok adj\u00E1k a legt\u00F6bb helyet fontonk\u00E9nt. P\u00E1ros\u00EDtsd az energetikai min\u0151s\u00EDt\u00E9s sz\u0171r\u0151vel, hogy elker\u00FCld a magas f\u0171t\u00E9si k\u00F6lts\u00E9g\u0171 ingatlanokat.',
|
||||
faqBudget2Q: 'Hogyan bizonyosodjak meg, hogy egy olcs\u00F3 ter\u00FClet nem ok n\u00E9lk\u00FCl olcs\u00F3?',
|
||||
faqBudget2A: 'R\u00E9tegezd r\u00E1 a depriv\u00E1ci\u00F3s pontokat, b\u0171n\u00F6z\u00E9si statisztik\u00E1kat, iskolai min\u0151s\u00EDt\u00E9seket \u00E9s sz\u00E9less\u00E1v-sebess\u00E9geket az \u00E1r mell\u00E9. Ha egy ir\u00E1ny\u00EDt\u00F3sz\u00E1m megfizethet\u0151 \u00E9s minden fontos szempont szerint j\u00F3l teljes\u00EDt, val\u00F3di \u00E9rt\u00E9ket tal\u00E1lt\u00E1l, nem csak alacsony \u00E1rat \u00E9szrev\u00E9tlen kompromisszumokkal.',
|
||||
// FAQ items — Safety and Neighbourhood
|
||||
faqSafety1Q: 'Hogyan ellen\u0151rizhetem, biztons\u00E1gos-e egy ter\u00FClet, miel\u0151tt odak\u00F6lt\u00F6z\u00F6m?',
|
||||
faqSafety1A: 'Val\u00F3s rend\u0151rs\u00E9gi b\u0171n\u00F6z\u00E9si adatokat vetit\u00FCnk Anglia minden szomsz\u00E9ds\u00E1g\u00E1ra, t\u00EDpusonk\u00E9nt lebontva. Sz\u0171rj er\u0151szakos b\u0171ncselekm\u00E9nyre, bet\u00F6r\u00E9sre vagy k\u00F6z\u00E9rdek\u0171 rends\u00E9rts\u00E9gre, \u00E9s azonnal l\u00E1sd, mely ir\u00E1ny\u00EDt\u00F3sz\u00E1mok a legbiztosabbak.',
|
||||
faqSafety2Q: 'Folyamatosan tal\u00E1lok rem\u00E9knek t\u0171n\u0151 lak\u00E1sokat online, de a k\u00F6rnyezet rossz.',
|
||||
faqSafety2A: 'Pont ez\u00E9rt k\u00E9sz\u00FClt ez. R\u00E9tegezd a b\u0171n\u00F6z\u00E9si ar\u00E1nyokat, zajszinteket, depriv\u00E1ci\u00F3s pontokat, k\u00F6zeli kocsmkat \u00E9s parkokat, valamint a sz\u00E9less\u00E1v-sebess\u00E9geket egyetlen t\u00E9rk\u00E9pre, \u00EDgy tudhatod, milyen val\u00F3j\u00E1ban egy szomsz\u00E9ds\u00E1g, miel\u0151tt megtekint\u00E9st foglalsz.',
|
||||
// FAQ items — Families and Schools
|
||||
faqFamilies1Q: 'Tal\u00E1lhatok ter\u00FCleteket j\u00F3 iskol\u00E1kkal \u00C9S alacsony b\u0171n\u00F6z\u00E9ssel egyetlen keres\u00E9ssel?',
|
||||
faqFamilies1A: 'Igen. Kombin\u00E1ld az Ofsted min\u0151s\u00EDt\u00E9sek, b\u0171n\u00F6z\u00E9si ar\u00E1nyok, parkok \u00E9s b\u00E1rmi m\u00E1s, a csal\u00E1dod sz\u00E1m\u00E1ra fontos szempont sz\u0171r\u0151it, \u00E9s a t\u00E9rk\u00E9p csak a minden felt\u00E9telnek megfelel\u0151 ter\u00FCleteket emeli ki. Nem kell t\u00F6bb\u00E9 \u00F6t k\u00FCl\u00F6nb\u00F6z\u0151 weboldalt \u00F6sszevetni.',
|
||||
faqFamilies2Q: 'Hogyan tudhatom meg, van-e park \u00E9s j\u00E1tsz\u00F3t\u00E9r a k\u00F6zelben?',
|
||||
faqFamilies2A: 'Kapcsold be a parkok \u00E9s z\u00F6ldter\u00FCletek POI r\u00E9teget, hogy k\u00F6zvetlen\u00FCl a t\u00E9rk\u00E9pen l\u00E1sd \u0151ket. Sz\u0171rhetsz aszerint is, h\u00E1ny van s\u00E9tat\u00E1vols\u00E1gon bel\u00FCl az egyes ir\u00E1ny\u00EDt\u00F3sz\u00E1mokt\u00F3l.',
|
||||
// FAQ items — Environment and Quality of Life
|
||||
faqEnv1Q: 'Tal\u00E1lhatok energiahat\u00E9kony otthonokat, amelyek nincsenek zajos \u00FAton?',
|
||||
faqEnv1A: 'Sz\u0171rj EPC min\u0151s\u00EDt\u00E9s szerint (A-C), majd r\u00E9tegezd r\u00E1 a k\u00F6z\u00FAti zajadatokat, hogy kisz\u0171rd a k\u00FCsz\u00F6b\u00E9rt\u00E9ked feletti ter\u00FCleteket. Sz\u00EDnezd b\u00E1rmelyik jellemz\u0151 szerint, hogy egy pillant\u00E1ssal \u00E9szrevedd a csendes, hat\u00E9kony utc\u00E1kat.',
|
||||
faqEnv2Q: 'Mutatja az \u00E1rv\u00EDz- vagy s\u00FCllyedeskock\u00E1zatot?',
|
||||
faqEnv2A: 'Tartalmazunk talajstabilit\u00E1si adatokat, \u00EDgy ellen\u0151rizheted a s\u00FCllyeed\u00E9st, agyagtalan zsugorod\u00E1s-duzzad\u00E1st \u00E9s egy\u00E9b geol\u00F3giai vesz\u00E9lyeket, miel\u0151tt elk\u00F6telezn\u00E9d magad egy ingatlan mellett. Sz\u0171rd ki a kock\u00E1zatos ter\u00FCleteket kor\u00E1n.',
|
||||
faqEnv3Q: 'Tal\u00E1lhatok ter\u00FCleteket gyors internettel, amelyek t\u00E9nyleg csendesek?',
|
||||
faqEnv3A: 'R\u00E9tegezd a sz\u00E9less\u00E1v-sebess\u00E9g sz\u0171r\u0151t a k\u00F6z\u00FAti zajadatokkal, hogy megtal\u00E1ld a kit\u0171n\u0151 kapcsolattal \u00E9s alacsony forgalmi zajjal rendelkez\u0151 utc\u00E1kat. Sz\u00EDnezd b\u00E1rmelyik m\u00E9r\u0151sz\u00E1m szerint a ter\u00FCletek \u00F6sszehasonl\u00EDt\u00E1s\u00E1hoz.',
|
||||
// FAQ items — Why Perfect Postcode
|
||||
faqWhy1Q: 'M\u00E1r haszn\u00E1lom a Rightmove-ot. Mit ad ez hozz\u00E1?',
|
||||
faqWhy1A: 'A Rightmove h\u00E1zakat mutat. Mi ter\u00FCleteket. B\u0171n\u00F6z\u00E9si ar\u00E1nyok, iskolai min\u0151s\u00EDt\u00E9sek, sz\u00E9less\u00E1v-sebess\u00E9gek, zajszintek, depriv\u00E1ci\u00F3s pontok \u00E9s m\u00E9g sok m\u00E1s, minden sz\u0171rhet\u0151 egyetlen t\u00E9rk\u00E9pen. M\u00E9g azel\u0151tt meg\u00EDt\u00E9lheted a szomsz\u00E9ds\u00E1got, hogy akad hirdet\u00E9sekre n\u00E9zn\u00E9l.',
|
||||
faqWhy2Q: 'Nem tudom mindezt ingyen is ut\u00E1nan\u00E9zni?',
|
||||
faqWhy2A: '\u00D6sszevethatn\u00E9d a rend\u0151rs\u00E9gi adatokat, Ofsted jelent\u00E9seket, EPC nyilv\u00E1ntart\u00E1st, Land Registry adatokat \u00E9s ONS statisztik\u00E1kat egyenk\u00E9nt, ir\u00E1ny\u00EDt\u00F3sz\u00E1monk\u00E9nt. Vagy mindezt sz\u0171rhet\u0151en \u00E9s sz\u00EDnk\u00F3doltan egyetlen t\u00E9rk\u00E9pen, m\u00E1sodpercek alatt.',
|
||||
faqWhy3Q: 'Honnan sz\u00E1rmaznak az adatok?',
|
||||
faqWhy3A: 'Minden adatk\u00E9szlet hivatalos brit korm\u00E1nyzati forr\u00E1sokb\u00F3l sz\u00E1rmazik: Land Registry, EPC nyilv\u00E1ntart\u00E1s, ONS, Ofsted, Ofcom, data.police.uk \u00E9s Defra. Nem scrapel\u00FCnk ingatlanirrod\u00E1kat \u00E9s nem tal\u00E1lunk ki semmit. B\u00E1rmely rekordot ellen\u0151rizheted az eredeti forr\u00E1sban.',
|
||||
// FAQ items — Pricing and Access
|
||||
faqPricing1Q: 'T\u00E9nyleg meg\u00E9ri fizetni egy ingatlan-keres\u0151 eszk\u00F6z\u00E9rt?',
|
||||
faqPricing1A: 'Egy lak\u00E1sv\u00E1s\u00E1rl\u00E1s val\u00F3sz\u00EDn\u0171leg a legnagyobb v\u00E1s\u00E1rl\u00E1sod lesz. Egyetlen figyelmeztet\u0151 jel felismer\u00E9se (zajos \u00FAt, gyenge internet, n\u00F6vekv\u0151 b\u0171n\u00F6z\u00E9s) elk\u00F6telez\u0151d\u00E9s el\u0151tt \u00E9vekn\u0171i megb\u00E1n\u00E1st takar\u00EDthat meg. Ez kevesebbe ker\u00FCl, mint egy tank benzin.',
|
||||
faqPricing2Q: 'Ez el\u0151fizet\u00E9s?',
|
||||
faqPricing2A: 'Nem. Egyszeri fizet\u00E9s, \u00F6r\u00F6kre a tied. Haszn\u00E1ld intenz\u00EDven a keres\u00E9s sor\u00E1n, gyere vissza b\u00E1rmikor, ha k\u00EDv\u00E1ncsi vagy egy \u00FAj ter\u00FCletre, \u00E9s m\u00E9g mindig ott van, ha \u00FAjra k\u00F6lt\u00F6z\u00F6l.',
|
||||
faqPricing3Q: 'Mit \u00E9rhetek el az ingyenes szinten?',
|
||||
faqPricing3A: 'Az ingyenes felhaszn\u00E1l\u00F3k a dem\u00F3 ter\u00FCleten (Bels\u0151-London, megk\u00F6zel\u00EDt\u0151leg az 1-2. z\u00F3na) fedezhetik fel az \u00F6sszes funkci\u00F3t. Anglia t\u00F6bbi r\u00E9sz\u00E9nek adataihoz \u00E9lethosszig tart\u00F3 hozz\u00E1f\u00E9r\u00E9s sz\u00FCks\u00E9ges.',
|
||||
faqPricing4Q: 'K\u00E9rhetek visszat\u00E9r\u00EDt\u00E9st?',
|
||||
faqPricing4A: 'Term\u00E9szetesen. 30 napos p\u00E9nzvisszat\u00E9r\u00EDt\u00E9si garanci\u00E1t k\u00EDn\u00E1lunk. Ha nem vagy el\u00E9gedett, \u00EDrj a support@perfect-postcode.co.uk c\u00EDmre 30 napon bel\u00FCl a teljes visszat\u00E9r\u00EDt\u00E9s\u00E9rt.',
|
||||
// FAQ items — Tips and Tricks
|
||||
faqTips1Q: 'Hogyan haszn\u00E1ljam az AI sz\u0171r\u0151t a sz\u0171r\u0151k egyenk\u00E9nti hozz\u00E1ad\u00E1sa helyett?',
|
||||
faqTips1A: '\u00CDrd le egyszer\u0171 angolul, mit szeretn\u00E9l, p\u00E9ld\u00E1ul \u201Ccsendes ter\u00FClet j\u00F3 iskol\u00E1k k\u00F6zel\u00E9ben, gyors internettel, \u00A3400e alatt\u201D, \u00E9s az \u00F6sszes megfelel\u0151 sz\u0171r\u0151t egyszerre be\u00E1ll\u00EDtja. Ut\u00E1na b\u00E1rmelyiket k\u00E9zzel finomhangolhatod.',
|
||||
faqTips2Q: 'Elmenthetem a keres\u00E9st, \u00E9s k\u00E9s\u0151bb visszat\u00E9rhetek hozz\u00E1?',
|
||||
faqTips2A: 'Nyomd meg a ment\u00E9s gombot, \u00E9s mindent r\u00F6gz\u00EDt\u00FCnk: sz\u0171r\u0151id, a nagy\u00EDt\u00E1si szint, \u00E9s melyik adatr\u00E9teg szerint sz\u00EDnezel. Folytasd pontosan ott, ahol abbahagytad, vagy oszd meg a linket a p\u00E1roddal.',
|
||||
faqTips3Q: 'Export\u00E1lhatom az adatokat, amiket l\u00E1tok?',
|
||||
faqTips3A: 'Az export\u00E1l\u00E1s gombbal let\u00F6ltheted a jelenlegi sz\u0171r\u0151knek megfelel\u0151 ingatlanokat t\u00E1bl\u00E1zatk\u00E9nt. Az export figyelembe veszi az \u00F6sszes akt\u00EDv sz\u0171r\u0151t, \u00EDgy pontosan azokat az adatokat kapod, amiket szeretn\u00E9l.',
|
||||
},
|
||||
|
||||
// ── Account Page ───────────────────────────────────
|
||||
accountPage: {
|
||||
emailLabel: 'E-mail',
|
||||
subscriptionLabel: 'El\u0151fizet\u00E9s',
|
||||
upgrade: 'Friss\u00EDt\u00E9s',
|
||||
redirecting: '\u00C1tir\u00E1ny\u00EDt\u00E1s\u2026',
|
||||
receiveNewsletter: 'H\u00EDrlev\u00E9l fogad\u00E1sa',
|
||||
needHelp: 'Seg\u00EDts\u00E9gre van sz\u00FCks\u00E9ged? \u00CDrj nek\u00FCnk:',
|
||||
responseTime: '\u00C1ltal\u00E1ban 24 \u00F3r\u00E1n bel\u00FCl v\u00E1laszolunk.',
|
||||
},
|
||||
|
||||
// ── Saved Page ─────────────────────────────────────
|
||||
savedPage: {
|
||||
searches: 'Keres\u00E9sek',
|
||||
noSavedSearches: 'M\u00E9g nincsenek mentett keres\u00E9sek',
|
||||
noSavedSearchesDesc: 'Mentsd el a sz\u0171r\u0151ket \u00E9s a t\u00E9rk\u00E9pn\u00E9zetet, hogy pontosan ott folytasd, ahol abbahagytad.',
|
||||
noSavedProperties: 'M\u00E9g nincsenek mentett ingatlanok',
|
||||
noSavedPropertiesDesc: 'Jel\u00F6ld meg az ingatlanokat felfedez\u00E9s k\u00F6zben, \u00E9s \u00E9p\u00EDtsd a r\u00F6vid list\u00E1dat elveszt\u00E9s n\u00E9lk\u00FCl.',
|
||||
openPostcode: 'Ir\u00E1ny\u00EDt\u00F3sz\u00E1m megnyit\u00E1sa',
|
||||
viewListing: 'Hirdet\u00E9s megtekint\u00E9se',
|
||||
clickToRename: 'Kattints az \u00E1tnevez\u00E9shez',
|
||||
notesPlaceholder: '\u00CDrd le a gondolataidat...',
|
||||
deleteSearch: 'Keres\u00E9s t\u00F6rl\u00E9se',
|
||||
deleteSearchConfirm: 'Biztosan t\u00F6r\u00F6lni szeretn\u00E9d ezt a mentett keres\u00E9st? Ez nem vonhat\u00F3 vissza.',
|
||||
deleteProperty: 'Ingatlan t\u00F6rl\u00E9se',
|
||||
deletePropertyConfirm: 'Biztosan t\u00F6r\u00F6lni szeretn\u00E9d ezt a mentett ingatlant? Ez nem vonhat\u00F3 vissza.',
|
||||
bed: 'h\u00E1l\u00F3',
|
||||
epc: 'EPC',
|
||||
},
|
||||
|
||||
// ── Invites Page ───────────────────────────────────
|
||||
invitesPage: {
|
||||
inviteLinksLicensed: 'A megh\u00EDv\u00F3 linkek a licencelt felhaszn\u00E1l\u00F3k sz\u00E1m\u00E1ra \u00E9rhet\u0151k el.',
|
||||
inviteAdminLabel: 'Bar\u00E1tok megh\u00EDv\u00E1sa (100% kedvezm\u00E9ny)',
|
||||
inviteReferralLabel: 'Bar\u00E1tok megh\u00EDv\u00E1sa (30% kedvezm\u00E9ny)',
|
||||
generateFreeInvite: 'Ingyenes megh\u00EDv\u00F3 link l\u00E9trehoz\u00E1sa',
|
||||
generateReferralLink: 'Aj\u00E1nl\u00F3 link l\u00E9trehoz\u00E1sa',
|
||||
copyInviteLink: 'Megh\u00EDv\u00F3 link m\u00E1sol\u00E1sa',
|
||||
adminInvitesTitle: 'Adminisztr\u00E1tori megh\u00EDv\u00F3k (100% kedvezm\u00E9ny)',
|
||||
referralInvitesTitle: 'Aj\u00E1nl\u00F3 megh\u00EDv\u00F3k (30% kedvezm\u00E9ny)',
|
||||
yourInviteLinks: 'Megh\u00EDv\u00F3 linkjeid',
|
||||
noInvitesYet: 'M\u00E9g nincsenek l\u00E9trehozott megh\u00EDv\u00F3k',
|
||||
link: 'Link',
|
||||
status: '\u00C1llapot',
|
||||
created: 'L\u00E9trehozva',
|
||||
redeemed: 'Bev\u00E1ltva',
|
||||
pending: 'F\u00FCgg\u0151ben',
|
||||
},
|
||||
|
||||
// ── Invite Page ────────────────────────────────────
|
||||
invitePage: {
|
||||
youreInvited: 'Megh\u00EDv\u00E1st kapt\u00E1l!',
|
||||
specialOffer: 'K\u00FCl\u00F6nleges aj\u00E1nlat!',
|
||||
invitedByFree: '{{name}} megh\u00EDvott, hogy ingyenes \u00E9lethosszig tart\u00F3 hozz\u00E1f\u00E9r\u00E9st kapj.',
|
||||
invitedByDiscount: '{{name}} megoszt veled egy 30%-os kedvezm\u00E9nyt az \u00E9lethosszig tart\u00F3 hozz\u00E1f\u00E9r\u00E9sre.',
|
||||
genericFreeInvite: 'Megh\u00EDv\u00E1st kapt\u00E1l ingyenes \u00E9lethosszig tart\u00F3 hozz\u00E1f\u00E9r\u00E9sre.',
|
||||
genericDiscount: 'Egy bar\u00E1t megoszt veled egy 30%-os kedvezm\u00E9nyt az \u00E9lethosszig tart\u00F3 hozz\u00E1f\u00E9r\u00E9sre.',
|
||||
exploreEvery: 'Fedezd fel Anglia minden szomsz\u00E9ds\u00E1g\u00E1t',
|
||||
propertyInfo: 'Ingatlan\u00E1rak, energetikai min\u0151s\u00EDt\u00E9sek, b\u0171n\u00F6z\u00E9si adatok, iskolai min\u0151s\u00EDt\u00E9sek \u00E9s m\u00E9g sok m\u00E1s',
|
||||
invalidInvite: '\u00C9rv\u00E9nytelen megh\u00EDv\u00F3',
|
||||
inviteAlreadyUsed: 'A megh\u00EDv\u00F3 m\u00E1r felhaszn\u00E1lva',
|
||||
inviteAlreadyUsedDesc: 'Ez a megh\u00EDv\u00F3 link m\u00E1r be lett v\u00E1ltva.',
|
||||
invalidInviteLink: '\u00C9rv\u00E9nytelen megh\u00EDv\u00F3 link',
|
||||
invalidInviteLinkDesc: 'Ez a megh\u00EDv\u00F3 link \u00E9rv\u00E9nytelen vagy lej\u00E1rt.',
|
||||
licenseActivated: 'Licenc aktiv\u00E1lva!',
|
||||
fullAccessGranted: 'Most m\u00E1r teljes hozz\u00E1f\u00E9r\u00E9sed van a Perfect Postcode-hoz.',
|
||||
activating: 'Aktiv\u00E1l\u00E1s...',
|
||||
activateLicense: 'Licenc aktiv\u00E1l\u00E1sa',
|
||||
claimDiscount: 'Kedvezm\u00E9ny ig\u00E9nyl\u00E9se',
|
||||
registerToClaim: 'Regisztr\u00E1lj az ig\u00E9nyl\u00E9shez',
|
||||
youAlreadyHaveLicense: 'M\u00E1r van licenced',
|
||||
accountHasFullAccess: 'A fi\u00F3kod m\u00E1r teljes hozz\u00E1f\u00E9r\u00E9ssel rendelkezik.',
|
||||
failedToValidate: 'Nem siker\u00FClt a megh\u00EDv\u00F3 link \u00E9rv\u00E9nyes\u00EDt\u00E9se',
|
||||
},
|
||||
|
||||
// ── Map Page ───────────────────────────────────────
|
||||
mapPage: {
|
||||
unsavedProperty: 'Elt\u00E1vol\u00EDt\u00E1s',
|
||||
savedProperty: 'Mentve',
|
||||
},
|
||||
|
||||
// ── Server-derived values ──────────────────────────
|
||||
// Keyed by the English server value. ts() looks up translations at display time.
|
||||
// The English keys MUST match exactly what the API returns.
|
||||
server: {
|
||||
// ─ Feature group names ─
|
||||
'Properties': 'Ingatlanok',
|
||||
'Transport': 'K\u00F6zleked\u00E9s',
|
||||
'Education': 'Oktat\u00E1s',
|
||||
'Deprivation': 'Depriv\u00E1ci\u00F3',
|
||||
'Crime': 'B\u0171n\u00F6z\u00E9s',
|
||||
'Demographics': 'Demogr\u00E1fia',
|
||||
'Amenities': 'Szolg\u00E1ltat\u00E1sok',
|
||||
|
||||
// ─ Feature names (Properties) ─
|
||||
'Listing status': 'Hirdet\u00E9s \u00E1llapota',
|
||||
'Property type': 'Ingatlant\u00EDpus',
|
||||
'Leasehold/Freehold': 'B\u00E9rleti/Tulajdonjog',
|
||||
'Last known price': 'Utols\u00F3 ismert \u00E1r',
|
||||
'Estimated current price': 'Becs\u00FClt jelenlegi \u00E1r',
|
||||
'Asking price': 'Hirdet\u00E9si \u00E1r',
|
||||
'Price per sqm': '\u00C1r per nm',
|
||||
'Est. price per sqm': 'Becs\u00FClt \u00E1r per nm',
|
||||
'Asking price per sqm': 'Hirdet\u00E9si \u00E1r per nm',
|
||||
'Estimated monthly rent': 'Becs\u00FClt havi b\u00E9rleti d\u00EDj',
|
||||
'Asking rent (monthly)': 'K\u00E9rt b\u00E9rleti d\u00EDj (havi)',
|
||||
'Total floor area (sqm)': 'Teljes alapter\u00FClet (nm)',
|
||||
'Number of bedrooms & living rooms': 'H\u00E1l\u00F3- \u00E9s nappalik sz\u00E1ma',
|
||||
'Bedrooms': 'H\u00E1l\u00F3szob\u00E1k',
|
||||
'Bathrooms': 'F\u00FCrd\u0151szob\u00E1k',
|
||||
'Construction year': '\u00C9p\u00EDt\u00E9si \u00E9v',
|
||||
'Date of last transaction': 'Utols\u00F3 tranzakci\u00F3 d\u00E1tuma',
|
||||
'Listing date': 'Hirdet\u00E9s d\u00E1tuma',
|
||||
'Former council house': 'Volt \u00F6nkorm\u00E1nyzati lak\u00E1s',
|
||||
'Current energy rating': 'Jelenlegi energetikai min\u0151s\u00EDt\u00E9s',
|
||||
'Potential energy rating': 'Potenci\u00E1lis energetikai min\u0151s\u00EDt\u00E9s',
|
||||
'Interior height (m)': 'Belmagass\u00E1g (m)',
|
||||
|
||||
// ─ Feature names (Transport) ─
|
||||
'Distance to nearest train or tube station (km)': 'T\u00E1vols\u00E1g a legk\u00F6zelebbi vonat- vagy metr\u00F3\u00E1llom\u00E1st\u00F3l (km)',
|
||||
'Train or tube stations within 1km': 'Vonat- vagy metr\u00F3\u00E1llom\u00E1sok 1 km-en bel\u00FCl',
|
||||
|
||||
// ─ Feature names (Education) ─
|
||||
'Good+ primary schools within 2km': 'J\u00F3+ \u00E1ltal\u00E1nos iskol\u00E1k 2 km-en bel\u00FCl',
|
||||
'Good+ secondary schools within 2km': 'J\u00F3+ k\u00F6z\u00E9piskol\u00E1k 2 km-en bel\u00FCl',
|
||||
'Good+ primary schools within 5km': 'J\u00F3+ \u00E1ltal\u00E1nos iskol\u00E1k 5 km-en bel\u00FCl',
|
||||
'Good+ secondary schools within 5km': 'J\u00F3+ k\u00F6z\u00E9piskol\u00E1k 5 km-en bel\u00FCl',
|
||||
'Education, Skills and Training Score': 'Oktat\u00E1s, k\u00E9szs\u00E9gek \u00E9s k\u00E9pz\u00E9s pontsz\u00E1m',
|
||||
|
||||
// ─ Feature names (Deprivation) ─
|
||||
'Income Score (rate)': 'J\u00F6vedelmi pontsz\u00E1m (ar\u00E1ny)',
|
||||
'Employment Score (rate)': 'Foglalkoztatotts\u00E1gi pontsz\u00E1m (ar\u00E1ny)',
|
||||
'Health Deprivation and Disability Score': 'Eg\u00E9szs\u00E9g\u00FCgyi depriv\u00E1ci\u00F3 \u00E9s fogyat\u00E9koss\u00E1g pontsz\u00E1m',
|
||||
'Living Environment Score': 'Lak\u00F3k\u00F6rnyezet pontsz\u00E1m',
|
||||
'Indoors Sub-domain Score': 'Belt\u00E9ri alterulet pontsz\u00E1m',
|
||||
'Outdoors Sub-domain Score': 'K\u00FClt\u00E9ri alterulet pontsz\u00E1m',
|
||||
|
||||
// ─ Feature names (Crime) ─
|
||||
'Serious crime per 1k residents (avg/yr)': 'S\u00FAlyos b\u0171ncselekm\u00E9ny 1000 lakosra (\u00E9ves \u00E1tlag)',
|
||||
'Minor crime per 1k residents (avg/yr)': 'Kisebb b\u0171ncselekm\u00E9ny 1000 lakosra (\u00E9ves \u00E1tlag)',
|
||||
'Serious crime (avg/yr)': 'S\u00FAlyos b\u0171ncselekm\u00E9ny (\u00E9ves \u00E1tlag)',
|
||||
'Minor crime (avg/yr)': 'Kisebb b\u0171ncselekm\u00E9ny (\u00E9ves \u00E1tlag)',
|
||||
'Violence and sexual offences (avg/yr)': 'Er\u0151szak \u00E9s szexu\u00E1lis b\u0171ncselekm\u00E9nyek (\u00E9ves \u00E1tlag)',
|
||||
'Burglary (avg/yr)': 'Bet\u00F6r\u00E9s (\u00E9ves \u00E1tlag)',
|
||||
'Robbery (avg/yr)': 'Rabl\u00E1s (\u00E9ves \u00E1tlag)',
|
||||
'Vehicle crime (avg/yr)': 'J\u00E1rm\u0171b\u0171n\u00F6z\u00E9s (\u00E9ves \u00E1tlag)',
|
||||
'Anti-social behaviour (avg/yr)': 'K\u00F6z\u00E9rdek\u0171 rends\u00E9rts\u00E9g (\u00E9ves \u00E1tlag)',
|
||||
'Criminal damage and arson (avg/yr)': 'Rong\u00E1l\u00E1s \u00E9s gy\u00FAjtogat\u00E1s (\u00E9ves \u00E1tlag)',
|
||||
'Other theft (avg/yr)': 'Egy\u00E9b lop\u00E1s (\u00E9ves \u00E1tlag)',
|
||||
'Theft from the person (avg/yr)': 'Szem\u00E9ly elleni lop\u00E1s (\u00E9ves \u00E1tlag)',
|
||||
'Shoplifting (avg/yr)': 'Bolt\u00ED lop\u00E1s (\u00E9ves \u00E1tlag)',
|
||||
'Bicycle theft (avg/yr)': 'Ker\u00E9kp\u00E1rlop\u00E1s (\u00E9ves \u00E1tlag)',
|
||||
'Drugs (avg/yr)': 'K\u00E1b\u00EDt\u00F3szer (\u00E9ves \u00E1tlag)',
|
||||
'Possession of weapons (avg/yr)': 'Fegyvertart\u00E1s (\u00E9ves \u00E1tlag)',
|
||||
'Public order (avg/yr)': 'K\u00F6zrend (\u00E9ves \u00E1tlag)',
|
||||
'Other crime (avg/yr)': 'Egy\u00E9b b\u0171ncselekm\u00E9ny (\u00E9ves \u00E1tlag)',
|
||||
|
||||
// ─ Feature names (Demographics) ─
|
||||
'Median age': 'Medi\u00E1n \u00E9letkor',
|
||||
'% White': '% feh\u00E9r',
|
||||
'% South Asian': '% d\u00E9l-\u00E1zsiai',
|
||||
'% Black': '% fekete',
|
||||
'% East Asian': '% kelet-\u00E1zsiai',
|
||||
'% Mixed': '% vegyes',
|
||||
'% Other': '% egy\u00E9b',
|
||||
|
||||
// ─ Feature names (Amenities) ─
|
||||
'Distance to nearest park (km)': 'T\u00E1vols\u00E1g a legk\u00F6zelebbi parkt\u00F3l (km)',
|
||||
'Number of parks within 2km': 'Parkok sz\u00E1ma 2 km-en bel\u00FCl',
|
||||
'Number of restaurants within 2km': '\u00C9ttermek sz\u00E1ma 2 km-en bel\u00FCl',
|
||||
'Number of grocery shops and supermarkets within 2km': '\u00C9lelmiszerboltok \u00E9s szupermarketek sz\u00E1ma 2 km-en bel\u00FCl',
|
||||
'Noise (dB)': 'Zaj (dB)',
|
||||
'Max available download speed (Mbps)': 'Max el\u00E9rhet\u0151 let\u00F6lt\u00E9si sebess\u00E9g (Mbps)',
|
||||
|
||||
// ─ Enum values ─
|
||||
'Historical sale': 'T\u00F6rt\u00E9nelmi elad\u00E1s',
|
||||
'For sale': 'Elad\u00F3',
|
||||
'For rent': 'Kiad\u00F3',
|
||||
'Detached': 'K\u00FCl\u00F6n\u00E1ll\u00F3',
|
||||
'Semi-Detached': 'Ikerh\u00E1z',
|
||||
'Terraced': 'Sorh\u00E1z',
|
||||
'Flats/Maisonettes': 'Lak\u00E1sok/Maisonette-ek',
|
||||
'Other': 'Egy\u00E9b',
|
||||
'Freehold': 'Tulajdonjog',
|
||||
'Leasehold': 'B\u00E9rleti jog',
|
||||
'Yes': 'Igen',
|
||||
'No': 'Nem',
|
||||
|
||||
// ─ Stacked chart labels ─
|
||||
'Serious crime': 'S\u00FAlyos b\u0171ncselekm\u00E9ny',
|
||||
'Minor crime': 'Kisebb b\u0171ncselekm\u00E9ny',
|
||||
'Ethnic composition': 'Etnikai \u00F6sszet\u00E9tel',
|
||||
|
||||
// ─ POI group names ─
|
||||
'Public Transport': 'T\u00F6megk\u00F6zleked\u00E9s',
|
||||
'Leisure': 'Szabadid\u0151',
|
||||
'Health': 'Eg\u00E9szs\u00E9g\u00FCgy',
|
||||
'Emergency Services': 'S\u00FCrg\u0151ss\u00E9gi szolg\u00E1latok',
|
||||
'Groceries': '\u00C9lelmiszer',
|
||||
'Local Businesses': 'Helyi v\u00E1llalkoz\u00E1sok',
|
||||
'Culture': 'Kult\u00FAra',
|
||||
'Services': 'Szolg\u00E1ltat\u00E1sok',
|
||||
'Shops': '\u00DCzletek',
|
||||
|
||||
// ─ POI categories ─
|
||||
'Airport': 'Rep\u00FCl\u0151t\u00E9r',
|
||||
'Ferry': 'Komp',
|
||||
'Rail station': 'Vas\u00FAt\u00E1llom\u00E1s',
|
||||
'Bus stop': 'Buszmeg\u00E1ll\u00F3',
|
||||
'Bus station': 'Buszp\u00E1lyaudvar',
|
||||
'Taxi rank': 'Taxi\u00E1llom\u00E1s',
|
||||
'Metro or Tram stop': 'Metr\u00F3- vagy villamosmeg\u00E1ll\u00F3',
|
||||
'Caf\u00E9': 'K\u00E1v\u00E9z\u00F3',
|
||||
'Restaurant': '\u00C9tterem',
|
||||
'Pub': 'Kocsma',
|
||||
'Bar': 'B\u00E1r',
|
||||
'Fast Food': 'Gyors\u00E9tterem',
|
||||
'Nightclub': '\u00C9jszakai klub',
|
||||
'Cinema': 'Mozi',
|
||||
'Theatre': 'Sz\u00EDnh\u00E1z',
|
||||
'Live Music & Events': '\u00C9l\u0151zene \u00E9s rendezv\u00E9nyek',
|
||||
'Park': 'Park',
|
||||
'Playground': 'J\u00E1tsz\u00F3t\u00E9r',
|
||||
'Sports Centre': 'Sportk\u00F6zpont',
|
||||
'Entertainment': 'Sz\u00F3rakoztat\u00E1s',
|
||||
'Supermarket': 'Szupermarket',
|
||||
'Convenience Store': 'K\u00EDsbolt',
|
||||
'Bakery': 'P\u00E9ks\u00E9g',
|
||||
'Butcher & Fishmonger': 'Hentes \u00E9s halas',
|
||||
'Greengrocer': 'Z\u00F6lds\u00E9ges',
|
||||
'Off-Licence': 'Italoz\u00F3',
|
||||
'Deli & Specialty': 'Csemege \u00E9s k\u00FCl\u00F6nleges',
|
||||
'Fashion & Clothing': 'Divat \u00E9s ruh\u00E1zat',
|
||||
'Electronics': 'Elektronika',
|
||||
'Charity Shop': 'J\u00F3t\u00E9konys\u00E1gi bolt',
|
||||
'DIY & Hardware': 'Barkacs \u00E9s vas',
|
||||
'Home & Garden': 'Otthon \u00E9s kert',
|
||||
'Bookshop': 'K\u00F6nyvesbolt',
|
||||
'Pet Shop': '\u00C1llatkeresked\u00E9s',
|
||||
'Sports & Outdoor': 'Sport \u00E9s szabadt\u00E9r',
|
||||
'Newsagent': '\u00DAjs\u00E1g\u00E1rus',
|
||||
'Department Store': '\u00C1ruh\u00E1z',
|
||||
'Gift & Hobby': 'Aj\u00E1nd\u00E9k \u00E9s hobbi',
|
||||
'Specialist Shop': 'Szak\u00FCzlet',
|
||||
'Hairdresser & Beauty': 'Fodr\u00E1sz \u00E9s sz\u00E9ps\u00E9g',
|
||||
'Gym & Fitness': 'Edzterem \u00E9s fitnesz',
|
||||
'Dry Cleaner & Laundry': 'Vegytiszt\u00EDt\u00F3 \u00E9s mosoda',
|
||||
'Car Services': 'Aut\u00F3s szolg\u00E1ltat\u00E1sok',
|
||||
'Post Office': 'Posta',
|
||||
'Vet & Pet Care': '\u00C1llatorvos \u00E9s \u00E1llatgondoz\u00E1s',
|
||||
'Bank': 'Bank',
|
||||
'Travel Agent': 'Utaz\u00E1si iroda',
|
||||
'Police': 'Rend\u0151rs\u00E9g',
|
||||
'Fire Station': 'T\u0171zolt\u00F3s\u00E1g',
|
||||
'Ambulance Station': 'Ment\u0151\u00E1llom\u00E1s',
|
||||
'GP Surgery': 'H\u00E1ziorvosi rendel\u0151',
|
||||
'Dentist': 'Fogorvos',
|
||||
'Pharmacy': 'Gy\u00F3gyszert\u00E1r',
|
||||
'Hospital & Clinic': 'K\u00F3rh\u00E1z \u00E9s klinika',
|
||||
'Optician': 'Optikus',
|
||||
'Physiotherapy': 'Fizioter\u00E1pia',
|
||||
'Counselling & Therapy': 'Tan\u00E1csad\u00E1s \u00E9s ter\u00E1pia',
|
||||
'Care Home': 'Gondoz\u00F3h\u00E1z',
|
||||
'Medical & Mobility': 'Eg\u00E9szs\u00E9g\u00FCgyi \u00E9s mobilit\u00E1si eszk\u00F6z\u00F6k',
|
||||
'Museum': 'M\u00FAzeum',
|
||||
'Gallery': 'Gal\u00E9ria',
|
||||
'Library': 'K\u00F6nyvt\u00E1r',
|
||||
'Place of Worship': 'Istentiszteleti hely',
|
||||
'Arts Centre': 'M\u0171v\u00E9szeti k\u00F6zpont',
|
||||
'Zoo': '\u00C1llatkert',
|
||||
'Tourist Attraction': 'Turisztikai l\u00E1tv\u00E1nyoss\u00E1g',
|
||||
'School': 'Iskola',
|
||||
'Hotel': 'Sz\u00E1lloda',
|
||||
'Local Business': 'Helyi v\u00E1llalkoz\u00E1s',
|
||||
'Offices': 'Irod\u00E1k',
|
||||
'EV Charging': 'Elektromos t\u00F6lt\u0151\u00E1llom\u00E1s',
|
||||
'Fuel Station': 'Benzink\u00FAt',
|
||||
'Community Centre': 'K\u00F6z\u00F6ss\u00E9gi k\u00F6zpont',
|
||||
|
||||
// ─ Suffixes (used in formatters) ─
|
||||
'/mo': '/h\u00F3',
|
||||
'/yr': '/\u00E9v',
|
||||
' sqm': ' nm',
|
||||
' km': ' km',
|
||||
' m': ' m',
|
||||
' dB': ' dB',
|
||||
' years': ' \u00E9v',
|
||||
' rooms': ' szoba',
|
||||
},
|
||||
};
|
||||
|
||||
export default hu;
|
||||
804
frontend/src/i18n/locales/zh.ts
Normal file
804
frontend/src/i18n/locales/zh.ts
Normal file
|
|
@ -0,0 +1,804 @@
|
|||
import type { Translations } from './en';
|
||||
|
||||
const zh: Translations = {
|
||||
// ── Common ──────────────────────────────────────────
|
||||
common: {
|
||||
save: '保存',
|
||||
cancel: '取消',
|
||||
close: '关闭',
|
||||
delete: '删除',
|
||||
open: '打开',
|
||||
share: '分享',
|
||||
copy: '复制',
|
||||
copied: '已复制!',
|
||||
copiedToClipboard: '已复制到剪贴板',
|
||||
loading: '加载中...',
|
||||
loadMore: '加载更多',
|
||||
remaining: '剩余 {{count}} 项',
|
||||
search: '搜索',
|
||||
all: '全部',
|
||||
none: '无',
|
||||
viewDataSource: '查看数据来源',
|
||||
total: '总计',
|
||||
min: '分钟',
|
||||
or: '或',
|
||||
area: '区域',
|
||||
properties: '房产',
|
||||
postcode: '邮编',
|
||||
noAreaSelected: '未选择区域',
|
||||
noAreaSelectedDesc: '点击地图上任意彩色区域,查看犯罪率、学校、房价等信息',
|
||||
clickForDetails: '点击查看详情',
|
||||
property: '处房产',
|
||||
propertiesPlural: '处房产',
|
||||
},
|
||||
|
||||
// ── Header / Nav ───────────────────────────────────
|
||||
header: {
|
||||
appName: 'Perfect Postcode',
|
||||
dashboard: '地图面板',
|
||||
learn: '了解更多',
|
||||
pricing: '价格',
|
||||
inviteFriends: '邀请好友',
|
||||
saved: '已保存',
|
||||
logIn: '登录',
|
||||
createAccount: '注册账户',
|
||||
sharing: '分享中...',
|
||||
exportLabel: '导出',
|
||||
exporting: '导出中...',
|
||||
exportToExcel: '导出为 Excel',
|
||||
openMenu: '打开菜单',
|
||||
closeMenu: '关闭菜单',
|
||||
},
|
||||
|
||||
// ── User Menu ──────────────────────────────────────
|
||||
userMenu: {
|
||||
fullAccess: '完整访问',
|
||||
demo: '演示版',
|
||||
themeLight: '主题:浅色',
|
||||
themeDark: '主题:深色',
|
||||
account: '账户',
|
||||
logOut: '退出登录',
|
||||
},
|
||||
|
||||
// ── Mobile Menu ────────────────────────────────────
|
||||
mobileMenu: {
|
||||
menu: '菜单',
|
||||
home: '首页',
|
||||
},
|
||||
|
||||
// ── Auth Modal ─────────────────────────────────────
|
||||
auth: {
|
||||
logIn: '登录',
|
||||
createAccount: '注册账户',
|
||||
resetPassword: '重置密码',
|
||||
valueProp: '保存搜索、收藏房产,随时继续浏览。',
|
||||
continueWithGoogle: '使用 Google 账号继续',
|
||||
email: '邮箱',
|
||||
emailPlaceholder: 'you@example.com',
|
||||
password: '密码',
|
||||
passwordPlaceholderRegister: '至少 8 个字符',
|
||||
passwordPlaceholderLogin: '您的密码',
|
||||
forgotPassword: '忘记密码?',
|
||||
resetSent: '请查收邮件中的重置链接。',
|
||||
pleaseWait: '请稍候...',
|
||||
sendResetLink: '发送重置链接',
|
||||
backToLogin: '返回登录',
|
||||
},
|
||||
|
||||
// ── Upgrade Modal ──────────────────────────────────
|
||||
upgrade: {
|
||||
title: '查看整个英格兰',
|
||||
description: '您目前正在浏览演示区域。获取终身访问权限,覆盖每个邮编、每项筛选条件、每个社区。一次付款,永久使用。',
|
||||
free: '免费',
|
||||
once: '/一次性',
|
||||
freeForEarly: '早期用户免费。无需信用卡。',
|
||||
oneTimePayment: '一次性付款。终身访问。30天无条件退款。',
|
||||
redirecting: '跳转中...',
|
||||
claimFreeAccess: '领取免费访问权限',
|
||||
upgradeFor: '升级仅需 {{price}}',
|
||||
registerAndUpgrade: '注册并升级',
|
||||
alreadyHaveAccount: '已有账户?请登录',
|
||||
continueWithDemo: '继续使用演示版',
|
||||
checkoutFailed: '结账失败',
|
||||
},
|
||||
|
||||
// ── Save Search Modal ──────────────────────────────
|
||||
saveSearch: {
|
||||
title: '保存搜索',
|
||||
saved: '搜索已保存',
|
||||
savedSuccess: '您的搜索已成功保存。',
|
||||
viewSavedSearches: '查看已保存的搜索',
|
||||
name: '名称',
|
||||
namePlaceholder: '我的搜索',
|
||||
saving: '保存中...',
|
||||
},
|
||||
|
||||
// ── License Success ────────────────────────────────
|
||||
licenseSuccess: {
|
||||
title: '激活成功!',
|
||||
subtitle: '您的终身访问权限已生效。',
|
||||
description: '完整访问所有功能、所有邮编,覆盖整个英格兰。',
|
||||
startExploring: '开始探索',
|
||||
},
|
||||
|
||||
// ── Filters ────────────────────────────────────────
|
||||
filters: {
|
||||
activeFilters: '当前筛选条件',
|
||||
addFilter: '添加筛选条件',
|
||||
historical: '历史交易',
|
||||
buy: '买房',
|
||||
rent: '租房',
|
||||
findingPerfectPostcode: '寻找理想的邮编',
|
||||
addFiltersHint: '添加以下筛选条件,将地图缩小到符合您要求的区域',
|
||||
upgradePrompt: '查看犯罪率、学校、噪音、宽带等 50 多项筛选条件,覆盖整个英格兰。',
|
||||
oneTimeLifetime: '一次性付款,终身访问。',
|
||||
upgradeToFullMap: '升级到完整地图',
|
||||
chooseFilters: '选择您关心的筛选条件,地图会随之实时更新。',
|
||||
searchFeatures: '搜索数据指标...',
|
||||
noMatchingFeatures: '没有匹配的数据指标',
|
||||
tryDifferentSearch: '尝试不同的搜索词',
|
||||
allFeaturesActive: '所有数据指标已启用',
|
||||
removeFilterHint: '移除一个筛选条件以查看可用的数据指标',
|
||||
featureInfo: '数据指标信息',
|
||||
replayTutorial: '重新播放交互教程',
|
||||
},
|
||||
|
||||
// ── Philosophy Popup ───────────────────────────────
|
||||
philosophy: {
|
||||
intro: '从必须满足的条件开始,再逐步添加加分项。每添加一个筛选条件,地图范围就会缩小。剩下的区域就是最适合您的。',
|
||||
step1Title: '预算和基本条件',
|
||||
step1Desc: '(价格范围、建筑面积、房产类型)',
|
||||
step2Title: '通勤',
|
||||
step2Desc: '(驾车、骑行或公共交通到工作地点的时间)',
|
||||
step3Title: '安全',
|
||||
step3Desc: '(犯罪率、噪音水平、地面稳定性)',
|
||||
step4Title: '学校',
|
||||
step4Desc: '(附近 Ofsted 评级为"良好"或"优秀"的学校)',
|
||||
step5Title: '生活方式',
|
||||
step5Desc: '(餐厅、公园、宽带速度)',
|
||||
step6Title: '能源',
|
||||
step6Desc: '(能源性能证书评级、保温、供暖费用)',
|
||||
tip: '提示:如果没有匹配结果,尝试逐个放宽条件,看看哪个让步能带来最多选择。',
|
||||
},
|
||||
|
||||
// ── Travel Time ────────────────────────────────────
|
||||
travel: {
|
||||
travelTime: '通勤时间({{mode}})',
|
||||
maxTime: '最长时间',
|
||||
selectDestination: '选择目的地...',
|
||||
bestCase: '最佳情况',
|
||||
bestCaseTitle: '最佳通勤时间',
|
||||
bestCaseDesc: '使用最快的实际出行时间(如果您把握好出发时间并赶上良好的换乘)。默认使用<strong>中位数</strong>,代表无论何时出发的典型出行时间。',
|
||||
previewOnMap: '在地图上预览',
|
||||
stopPreviewing: '停止预览',
|
||||
removeTravelTime: '移除通勤时间',
|
||||
addTravelTime: '添加{{mode}}通勤时间',
|
||||
clearDestination: '清除目的地',
|
||||
typeToFilter: '输入以筛选...',
|
||||
noDestinations: '未找到目的地',
|
||||
modeCar: '驾车',
|
||||
modeBicycle: '骑行',
|
||||
modeWalking: '步行',
|
||||
modeTransit: '公共交通',
|
||||
modeCarDesc: '经最快道路的驾车时间',
|
||||
modeBicycleDesc: '经自行车友好路线的骑行时间',
|
||||
modeWalkingDesc: '经人行道和步行路线的步行时间',
|
||||
modeTransitDesc: '乘火车、地铁和公交车的出行时间',
|
||||
},
|
||||
|
||||
// ── Travel Time Info Popup ─────────────────────────
|
||||
travelInfo: {
|
||||
transitDesc: '乘坐公共交通(公交车、火车、地铁)。时间根据典型工作日早晨时段计算。',
|
||||
carDesc: '驾车出行,基于典型道路速度和路网计算。',
|
||||
bicycleDesc: '骑自行车出行,使用自行车友好路线。',
|
||||
walkingDesc: '步行出行,使用人行道和步行路线。',
|
||||
mainDesc: '显示从每个区域到达所选目的地所需的时间',
|
||||
sliderHint: '使用滑块设置您的最长通勤时间。',
|
||||
},
|
||||
|
||||
// ── AI Filter ──────────────────────────────────────
|
||||
aiFilter: {
|
||||
describeIdealArea: '用 AI 描述您的理想区域',
|
||||
aiSearch: 'AI 搜索',
|
||||
describeHint: '描述您要找的区域',
|
||||
placeholder: '例如:安静的区域,低于 \u00A340万,靠近好学校...',
|
||||
example1: '安全的区域,靠近好学校',
|
||||
example2: '到国王十字站30分钟通勤,低于 \u00A350万',
|
||||
example3: '安静的村庄,3间卧室,快速宽带',
|
||||
analysing: '正在分析您的需求...',
|
||||
searchingDestinations: '正在搜索目的地...',
|
||||
generatingFilters: '正在生成筛选条件...',
|
||||
refiningResults: '正在优化结果...',
|
||||
weeklyLimitReached: '您已达到每周 AI 使用上限。下周将自动重置。',
|
||||
},
|
||||
|
||||
// ── Map Legend ─────────────────────────────────────
|
||||
mapLegend: {
|
||||
clearColourView: '清除颜色视图',
|
||||
},
|
||||
|
||||
// ── Properties Pane ────────────────────────────────
|
||||
propertyCard: {
|
||||
unknownAddress: '地址未知',
|
||||
unsaveProperty: '取消收藏',
|
||||
saveProperty: '收藏房产',
|
||||
lastSold: '上次成交价:\u00A3{{price}}',
|
||||
estValue: '估计价值:',
|
||||
type: '类型:',
|
||||
builtForm: '建筑形式:',
|
||||
tenure: '产权:',
|
||||
floorArea: '建筑面积:',
|
||||
bedrooms: '卧室:',
|
||||
bathrooms: '浴室:',
|
||||
rooms: '房间:',
|
||||
built: '建造年份:',
|
||||
epcRating: '能源评级:',
|
||||
epcPotential: '潜在能源评级:',
|
||||
listed: '上市日期:',
|
||||
keyFeatures: '主要特点',
|
||||
renovations: '翻新记录',
|
||||
viewExternalListing: '查看外部房源',
|
||||
perMonth: '/月',
|
||||
perSqm: '/m\u00B2',
|
||||
searchPlaceholder: '按地址或邮编搜索...',
|
||||
propertyData: '房产数据',
|
||||
propertyDataDesc: '价格来自英国土地注册局(买家实际支付的金额)。建筑面积、能源评级、建造年份和产权来自官方能源性能证书调查。两个数据源通过每个邮编内的地址进行匹配。',
|
||||
},
|
||||
|
||||
// ── Area Pane ──────────────────────────────────────
|
||||
areaPane: {
|
||||
areaStatistics: '区域统计',
|
||||
statsFor: '该{{type}}内所有房产的统计数据',
|
||||
matchingFilters: ',满足所有当前筛选条件',
|
||||
viewProperties: '查看 {{count}} 处房产',
|
||||
priceHistory: '价格历史',
|
||||
journeysFrom: '从 {{label}} 出发的路线',
|
||||
to: '到 {{destination}}',
|
||||
noJourneyData: '暂无出行数据',
|
||||
viewOnGoogleMaps: '在 Google Maps 上查看',
|
||||
walk: '步行',
|
||||
cycle: '骑行',
|
||||
},
|
||||
|
||||
// ── Histogram Legend ───────────────────────────────
|
||||
histogramLegend: {
|
||||
tealBars: '青色柱状图',
|
||||
tealBarsDesc: '显示所选区域内的分布情况',
|
||||
greyBars: '灰色柱状图',
|
||||
greyBarsDesc: '显示所有区域的整体分布情况',
|
||||
dashedLine: '虚线',
|
||||
dashedLineDesc: '表示全国平均值',
|
||||
},
|
||||
|
||||
// ── Street View ────────────────────────────────────
|
||||
streetView: {
|
||||
title: '街景视图',
|
||||
},
|
||||
|
||||
// ── POI Pane ───────────────────────────────────────
|
||||
poiPane: {
|
||||
pois: '兴趣点',
|
||||
pointsOfInterest: '兴趣点',
|
||||
poiDescription: '数据来自 OpenStreetMap。涵盖公共交通站点、商店、餐厅、医疗机构、休闲场所等。定期更新,类别覆盖完整。',
|
||||
searchCategories: '搜索类别...',
|
||||
dataSourceInfo: '数据来源信息',
|
||||
},
|
||||
|
||||
// ── External Search Links ──────────────────────────
|
||||
externalSearch: {
|
||||
searchOn: '在 {{radius}} 范围内搜索',
|
||||
outcodeNotRecognised: '无法识别该邮编区域',
|
||||
},
|
||||
|
||||
// ── Location Search ────────────────────────────────
|
||||
locationSearch: {
|
||||
placeholder: '搜索地点或邮编...',
|
||||
postcodeNotFound: '未找到该邮编',
|
||||
lookupFailed: '查询失败',
|
||||
searchLabel: '搜索地点或邮编',
|
||||
locateMe: '转到我的位置',
|
||||
geolocationUnsupported: '您的浏览器不支持地理定位',
|
||||
geolocationFailed: '无法确定您的位置',
|
||||
},
|
||||
|
||||
// ── Mobile Drawer ──────────────────────────────────
|
||||
mobileDrawer: {
|
||||
closeDrawer: '关闭抽屉',
|
||||
},
|
||||
|
||||
// ── Home Page ──────────────────────────────────────
|
||||
home: {
|
||||
heroTitle1: '最大',
|
||||
heroTitle2: '价值',
|
||||
heroTitle3: '最小妥协。',
|
||||
heroSubtitle: '正在找房?让您最大的投资成为最明智的决定。',
|
||||
heroDescription: '选择太多,找到合适的可能让人不知所措。我们的交互式地图让一切变得简单:选择您的必要条件,立即看到符合的区域。',
|
||||
exploreTheMap: '探索地图',
|
||||
seeTheDifference: '看看有何不同',
|
||||
statProperties: '处房产',
|
||||
statFilters: '项筛选条件',
|
||||
statEvery: '覆盖',
|
||||
statPostcodeInEngland: '英格兰每个邮编',
|
||||
ourPhilosophy: '我们的理念',
|
||||
philosophyP1: '在 Rightmove 上,您需要先选一个区域,然后期望它足够好。最终您不得不在十几个标签页中交叉对比犯罪数据、学校报告和宽带速度,一个邮编一个邮编地查。',
|
||||
philosophyP2: '我们反其道而行。告诉我们您的需求(预算、通勤、学校、安全),我们为您展示英格兰所有符合条件的区域。不用猜测,不浪费看房时间。',
|
||||
howToUseIt: '使用方法',
|
||||
howStep1Title: '设定必要条件',
|
||||
howStep1Desc: '预算、通勤、学校——地图只显示符合条件的区域。',
|
||||
howStep2Title: '探索区域,发现隐藏的好地方',
|
||||
howStep2Desc: '放大查看,深入了解细节和加分项。',
|
||||
howStep3Title: '深入邮编级别',
|
||||
howStep3Desc: '查看单个房产、成交价、建筑面积,并进行比较。',
|
||||
howStep4Title: '自信地列出候选名单',
|
||||
howStep4Desc: '您名单上的每个区域都满足您的实际需求——而不只是当周恰好有房源。',
|
||||
othersVs: '其他平台 vs',
|
||||
listingPortals: '房源网站',
|
||||
checkMyPostcode: '"查查我的邮编"类网站',
|
||||
areaGuides: '区域指南',
|
||||
compSearchWithout: '无需先选区域即可搜索',
|
||||
compSearchWithoutSub: '(从需求出发,而非地点)',
|
||||
compAreaData: '区域数据',
|
||||
compAreaDataSub: '(犯罪率、学校、噪音、宽带)',
|
||||
compPropertyData: '房产专属数据',
|
||||
compPropertyDataSub: '(价格、能源性能证书、建筑面积)',
|
||||
compFilters: '56 项可组合筛选条件,尽在一处',
|
||||
compFiltersSub: '(所有信息,一张交互式地图)',
|
||||
ctaTitle: '让您最大的投资成为最明智的\u00A0决定。',
|
||||
ctaDescription: '这值得用专业的工具来做,别全靠运气。',
|
||||
},
|
||||
|
||||
// ── Pricing Page ───────────────────────────────────
|
||||
pricingPage: {
|
||||
title: '早期访问价格',
|
||||
subtitle: '一次付款,永久访问。越早加入,价格越优惠。',
|
||||
costContext: '买房需要支付超过 \u00A310,000 的印花税、\u00A31,500 的律师费、\u00A3500 的房屋评估费。选错区域,您可能要忍受漫长的通勤、差劲的学校,或一条您事先不知道的嘈杂马路。',
|
||||
lessThanSurvey: '不到一次房屋评估的费用,却有用得多。',
|
||||
currentTier: '当前档位',
|
||||
firstNUsers: '前 {{count}} 名用户',
|
||||
everyoneAfter: '之后的所有人',
|
||||
nextNUsers: '接下来 {{count}} 名用户',
|
||||
lifetime: '/终身',
|
||||
spotsRemaining: '剩余 {{count}} 个名额',
|
||||
spotsRemainingPlural: '剩余 {{count}} 个名额',
|
||||
filled: '已满',
|
||||
openDashboard: '打开地图面板',
|
||||
getStarted: '立即开始',
|
||||
getStartedPrice: '立即开始 - {{price}}',
|
||||
noCreditCard: '无需信用卡',
|
||||
moneyBackGuarantee: '30天无条件退款保证',
|
||||
soldOut: '已售罄',
|
||||
upcoming: '即将开放',
|
||||
failedToLoad: '加载价格信息失败,请稍后重试。',
|
||||
feat1: '56 个数据图层,覆盖整个英格兰',
|
||||
feat2: '每个邮编均有评分,支持筛选',
|
||||
feat3: '无限制地图浏览和数据导出',
|
||||
feat4: '数十年的历史价格数据',
|
||||
feat5: '犯罪率、学校、交通、宽带等',
|
||||
feat6: '包含所有未来数据更新',
|
||||
},
|
||||
|
||||
// ── Learn Page ─────────────────────────────────────
|
||||
learnPage: {
|
||||
faq: '常见问题',
|
||||
dataSources: '数据来源',
|
||||
support: '支持',
|
||||
dataSourcesIntro: '本应用整合了 {{count}} 个开放数据集,涵盖房产价格、能源性能、交通、人口统计、犯罪、环境等领域。',
|
||||
faqIntro: '无论您是购房、租房还是单纯浏览,以下是 Perfect Postcode 如何帮助您找到理想区域。',
|
||||
supportIntro: '有问题?请查看我们的常见问题或直接联系我们。',
|
||||
source: '来源:',
|
||||
optOut: '退出公开披露',
|
||||
attribution: '数据引用声明',
|
||||
attrLandRegistry: '包含 HM Land Registry 数据 © Crown copyright and database right 2025。',
|
||||
attrOgl: '包含根据以下许可证授权的公共部门信息:',
|
||||
attrOglLink: 'Open Government Licence v3.0',
|
||||
attrOs: '包含 OS 数据 © Crown copyright and database rights 2025。',
|
||||
attrTfl: '由 TfL Open Data 提供支持。',
|
||||
attrOsm: '包含来自',
|
||||
attrOsmContrib: '© OpenStreetMap contributors',
|
||||
attrOsmLicense: '的数据,依据',
|
||||
attrOsmLicenseLink: 'Open Data Commons Open Database License (ODbL)',
|
||||
// Data source names & descriptions
|
||||
dsPricePaidName: 'Price Paid Data',
|
||||
dsPricePaidOrigin: 'HM Land Registry',
|
||||
dsPricePaidUse: '英格兰完整的历史房产成交价格数据。',
|
||||
dsEpcName: 'Energy Performance Certificates (EPC)',
|
||||
dsEpcOrigin: 'Ministry of Housing, Communities & Local Government',
|
||||
dsEpcUse: '住宅能源性能证书,提供建筑面积、房间数量、建造年份、能源评级、房产类型和建筑形式等信息。通过每个邮编内的地址与成交价格数据进行匹配。业主可以退出公开披露。',
|
||||
dsNsplName: 'National Statistics Postcode Lookup (NSPL)',
|
||||
dsNsplOrigin: 'ONS / ArcGIS',
|
||||
dsNsplUse: '将邮编映射到坐标和统计区域代码,用于将所有区域级数据集关联到各个房产。',
|
||||
dsIodName: 'English Indices of Deprivation 2025',
|
||||
dsIodOrigin: 'Ministry of Housing, Communities & Local Government',
|
||||
dsIodUse: '英格兰每个社区在收入、就业、教育、健康、犯罪和居住环境方面的相对贫困指数。',
|
||||
dsEthnicityName: '按族裔划分的人口(2021 年人口普查)',
|
||||
dsEthnicityOrigin: 'ONS',
|
||||
dsEthnicityUse: '按族裔群体(南亚裔、东亚裔、黑人、混血、白人、其他)划分的各地方政府辖区人口百分比。',
|
||||
dsCrimeName: 'Street-level Crime Data',
|
||||
dsCrimeOrigin: 'data.police.uk',
|
||||
dsCrimeUse: '2023 年至 2025 年的街道级犯罪数据,按 LSOA 和犯罪类型(暴力犯罪、入室盗窃、反社会行为、毒品、车辆犯罪等)汇总为年均值。',
|
||||
dsOsmName: 'OpenStreetMap POIs',
|
||||
dsOsmOrigin: 'OpenStreetMap contributors / Geofabrik',
|
||||
dsOsmUse: '涵盖大不列颠地区的商店、餐厅、医疗、休闲、旅游等兴趣点。',
|
||||
dsGreenspaceName: 'OS Open Greenspace',
|
||||
dsGreenspaceOrigin: 'Ordnance Survey',
|
||||
dsGreenspaceUse: '大不列颠地区权威的绿地边界数据,包括公共公园、花园、运动场和游乐场。多边形质心用于公园邻近度计数和最近公园距离计算。',
|
||||
dsNaptanName: 'NaPTAN (Public Transport Stops)',
|
||||
dsNaptanOrigin: 'Department for Transport',
|
||||
dsNaptanUse: '英格兰各地铁路、公交、地铁/有轨电车、渡轮和机场的站点位置。',
|
||||
dsNoiseName: 'Defra Noise Mapping',
|
||||
dsNoiseOrigin: 'Defra / Environment Agency',
|
||||
dsNoiseUse: '来自 2022 年战略噪音测绘的道路噪音水平(24 小时加权平均值),经高分辨率建模并在每个邮编处采样。',
|
||||
dsOfstedName: 'Ofsted School Inspections',
|
||||
dsOfstedOrigin: 'Ofsted',
|
||||
dsOfstedUse: '公立学校最新督察结果(截至 2025 年 4 月)。按邮编取平均值,得出当地学校质量评分(1=优秀至4=不合格)。',
|
||||
dsBroadbandName: 'Ofcom Broadband Performance',
|
||||
dsBroadbandOrigin: 'Ofcom',
|
||||
dsBroadbandUse: '来自 Ofcom Connected Nations 2025 的各区域固定宽带覆盖率和最大下载速度。',
|
||||
dsCouncilTaxName: 'Council Tax Levels 2025-26',
|
||||
dsCouncilTaxOrigin: 'Ministry of Housing, Communities & Local Government',
|
||||
dsCouncilTaxUse: '英格兰所有 296 个计费机构的 A 至 H 等级年度市政税税率,适用于两名成年人居住的住宅。通过 NSPL 邮编查询中的地方政府区域代码关联到房产。',
|
||||
dsRentalName: 'Private Rental Market Statistics',
|
||||
dsRentalOrigin: 'ONS / Valuation Office Agency',
|
||||
dsRentalUse: '按地方政府辖区和卧室类别划分的月度私人租金中位数(2022 年 10 月至 2023 年 9 月)。通过地方政府区域代码和估算卧室数量关联到房产。',
|
||||
// FAQ section titles
|
||||
faqFindingTitle: '寻找理想区域',
|
||||
faqCommuteTitle: '通勤与出行',
|
||||
faqBudgetTitle: '预算与性价比',
|
||||
faqSafetyTitle: '安全与社区环境',
|
||||
faqFamiliesTitle: '家庭与学校',
|
||||
faqEnvironmentTitle: '环境与生活质量',
|
||||
faqWhyTitle: '为什么选择 Perfect Postcode',
|
||||
faqPricingTitle: '价格与访问权限',
|
||||
faqTipsTitle: '使用技巧',
|
||||
// FAQ items — Finding Your Area
|
||||
faqFinding1Q: '我完全不知道该看哪些区域,这个工具能帮到我吗?',
|
||||
faqFinding1A: '这正是它的用途。设置您的筛选条件(预算、通勤时间、低犯罪率、好学校),地图就会亮起来,显示所有符合条件的区域。不用再半夜搜索"曼彻斯特附近最好的居住区"了。',
|
||||
faqFinding2Q: '我要搬到一个从未去过的地方,该从何开始?',
|
||||
faqFinding2A: '设置您关心的筛选条件,地图会立即高亮显示符合条件的区域。从"我一条街都不认识"到得出候选名单,只需几分钟。',
|
||||
faqFinding3Q: '如何找到同时满足我所有要求的区域?',
|
||||
faqFinding3A: '叠加多个筛选条件(犯罪率低于平均水平、好学校、通勤时间少于 40 分钟),然后按价格为地图着色,找出性价比最高的区域。拖动滑块时地图会实时更新,让您即时看到变化。',
|
||||
// FAQ items — Commute and Travel
|
||||
faqCommute1Q: '我能看到从不同区域到公司的实际通勤时间吗?',
|
||||
faqCommute1A: '设置您的工作地点作为目的地,我们会按通勤时间为每个邮编着色——无论是开车、骑车还是公共交通。筛选出您的最大通勤时间,其余区域就会消失。',
|
||||
faqCommute2Q: '这比查 Google Maps 好在哪里?',
|
||||
faqCommute2A: 'Google Maps 一次只能查看一条路线。我们一次性将英格兰每个邮编按通勤时间着色,让您可以同时比较数百个区域,而不是逐个搜索。',
|
||||
// FAQ items — Budget and Value
|
||||
faqBudget1Q: '如何找到单位面积性价比最高的区域?',
|
||||
faqBudget1A: '按每平方米价格筛选,您会立即看到哪些邮编的单位面积价格最低。搭配能源评级筛选,避免取暖费用过高的房产。',
|
||||
faqBudget2Q: '怎么确定一个便宜的区域不是因为有问题才便宜?',
|
||||
faqBudget2A: '将贫困指数、犯罪统计、学校评级和宽带速度叠加在价格旁边查看。如果一个邮编价格实惠且在各项重要指标上表现良好,那您就找到了真正的高性价比——而不是隐藏着您还没发现的问题的低价。',
|
||||
// FAQ items — Safety and Neighbourhood
|
||||
faqSafety1Q: '搬家前如何查看一个区域是否安全?',
|
||||
faqSafety1A: '我们将真实的警方犯罪记录数据按类型细分,叠加到英格兰每个社区上。按暴力犯罪、入室盗窃或反社会行为筛选,立即看到哪些邮编的犯罪数据最低。',
|
||||
faqSafety2Q: '我总是找到网上看起来很好的房子,到了才发现周边环境很差。',
|
||||
faqSafety2A: '这正是这个工具存在的意义。在一张地图上叠加犯罪率、噪音水平、贫困指数、附近的酒吧和公园以及宽带速度,这样您在预约看房之前就能了解一个社区的真实面貌。',
|
||||
// FAQ items — Families and Schools
|
||||
faqFamilies1Q: '我能在一次搜索中找到学校好又犯罪率低的区域吗?',
|
||||
faqFamilies1A: '可以。叠加 Ofsted 评级、犯罪率、公园等对您家庭重要的筛选条件,地图只会高亮显示符合所有条件的区域。不用再在五个不同网站之间交叉比对了。',
|
||||
faqFamilies2Q: '如何知道一个社区附近是否有公园和游乐场?',
|
||||
faqFamilies2A: '打开公园和绿地 POI 图层,直接在地图上查看。您还可以按每个邮编步行范围内的公园数量进行筛选。',
|
||||
// FAQ items — Environment and Quality of Life
|
||||
faqEnv1Q: '能找到不在嘈杂马路旁的节能住宅吗?',
|
||||
faqEnv1A: '按 EPC 评级(A 至 C)筛选,然后叠加道路噪音数据,排除超过您阈值的区域。按任一指标为地图着色,一目了然地找到安静且节能的街道。',
|
||||
faqEnv2Q: '有洪水或地基沉降风险数据吗?',
|
||||
faqEnv2A: '我们包含地基稳定性数据,让您在购房前检查沉降、膨胀收缩黏土和其他地质风险。尽早排除高风险区域。',
|
||||
faqEnv3Q: '能找到宽带速度快又安静的区域吗?',
|
||||
faqEnv3A: '将宽带速度筛选与道路噪音数据叠加,找到连接速度快且交通噪音低的街道。按任一指标着色,一目了然地比较各区域。',
|
||||
// FAQ items — Why Perfect Postcode
|
||||
faqWhy1Q: '我已经在用 Rightmove 了,这个工具有什么额外价值?',
|
||||
faqWhy1A: 'Rightmove 展示房源,我们展示区域。犯罪率、学校评级、宽带速度、噪音水平、贫困指数等等——全部可在一张地图上筛选。您可以在查看房源之前先了解一个社区。',
|
||||
faqWhy2Q: '我不能自己免费查到这些信息吗?',
|
||||
faqWhy2A: '您当然可以逐个邮编地交叉比对警方数据、Ofsted 报告、EPC 登记、Land Registry 记录和 ONS 统计数据。或者,您可以在几秒钟内在一张地图上筛选和查看所有信息。',
|
||||
faqWhy3Q: '数据到底来自哪里?',
|
||||
faqWhy3A: '每个数据集都来自英国官方政府来源:Land Registry、EPC 登记、ONS、Ofsted、Ofcom、data.police.uk 和 Defra。我们不抓取房产中介数据,也不编造任何信息。您可以对照原始来源验证任何记录。',
|
||||
// FAQ items — Pricing and Access
|
||||
faqPricing1Q: '花钱买一个找房工具真的值得吗?',
|
||||
faqPricing1A: '买房可能是您一生中最大的一笔支出。在做决定之前发现一个问题(嘈杂的马路、差劲的宽带、上升的犯罪率)就可能让您避免多年的后悔。而这个工具的费用还不到一箱油钱。',
|
||||
faqPricing2Q: '这是订阅制吗?',
|
||||
faqPricing2A: '不是。一次性付款,永久使用。在找房期间密集使用,对新区域好奇时随时回来看,将来再搬家时它依然在。',
|
||||
faqPricing3Q: '免费版能用哪些功能?',
|
||||
faqPricing3A: '免费用户可以在演示区域(伦敦市中心,大约 1 至 2 区)内探索所有功能。要访问英格兰其他地区的数据,需要获取终身访问权限。',
|
||||
faqPricing4Q: '可以退款吗?',
|
||||
faqPricing4A: '当然可以。我们提供 30 天退款保证。如果您不满意,请在 30 天内发送邮件至 support@perfect-postcode.co.uk 申请全额退款。',
|
||||
// FAQ items — Tips and Tricks
|
||||
faqTips1Q: '如何使用 AI 筛选功能,而不是逐个添加筛选条件?',
|
||||
faqTips1A: '用自然语言描述您的需求,例如"安静的区域、好学校附近、宽带速度快、40 万英镑以下",系统会一次性设置所有相关筛选条件。之后您可以手动微调。',
|
||||
faqTips2Q: '我能保存搜索条件以后再用吗?',
|
||||
faqTips2A: '点击保存按钮,所有内容都会被记录:您的筛选条件、缩放级别以及当前着色的数据图层。下次从上次离开的地方继续,或将链接分享给您的伴侣。',
|
||||
faqTips3Q: '我能导出正在查看的数据吗?',
|
||||
faqTips3A: '使用导出按钮将当前筛选后的房产下载为电子表格。导出结果会遵循您所有的活动筛选条件,确保您获得的正是所需的数据。',
|
||||
},
|
||||
|
||||
// ── Account Page ───────────────────────────────────
|
||||
accountPage: {
|
||||
emailLabel: '邮箱',
|
||||
subscriptionLabel: '订阅',
|
||||
upgrade: '升级',
|
||||
redirecting: '跳转中\u2026',
|
||||
receiveNewsletter: '接收新闻邮件',
|
||||
needHelp: '需要帮助?请发邮件至',
|
||||
responseTime: '我们通常在 24 小时内回复。',
|
||||
},
|
||||
|
||||
// ── Saved Page ─────────────────────────────────────
|
||||
savedPage: {
|
||||
searches: '搜索',
|
||||
noSavedSearches: '暂无保存的搜索',
|
||||
noSavedSearchesDesc: '保存您的筛选条件和地图视图,随时从上次的位置继续浏览。',
|
||||
noSavedProperties: '暂无保存的房产',
|
||||
noSavedPropertiesDesc: '在浏览过程中收藏房产,建立您的候选名单,不会遗漏任何一处。',
|
||||
openPostcode: '打开邮编',
|
||||
viewListing: '查看房源',
|
||||
clickToRename: '点击重命名',
|
||||
notesPlaceholder: '记下您的想法...',
|
||||
deleteSearch: '删除搜索',
|
||||
deleteSearchConfirm: '确定要删除这个保存的搜索吗?此操作无法撤销。',
|
||||
deleteProperty: '删除房产',
|
||||
deletePropertyConfirm: '确定要删除这个保存的房产吗?此操作无法撤销。',
|
||||
bed: '卧室',
|
||||
epc: '能源评级',
|
||||
},
|
||||
|
||||
// ── Invites Page ───────────────────────────────────
|
||||
invitesPage: {
|
||||
inviteLinksLicensed: '邀请链接仅对已授权用户开放。',
|
||||
inviteAdminLabel: '邀请好友(100% 折扣)',
|
||||
inviteReferralLabel: '邀请好友(7折优惠)',
|
||||
generateFreeInvite: '生成免费邀请链接',
|
||||
generateReferralLink: '生成推荐链接',
|
||||
copyInviteLink: '复制邀请链接',
|
||||
adminInvitesTitle: '管理员邀请(100% 折扣)',
|
||||
referralInvitesTitle: '推荐邀请(7折优惠)',
|
||||
yourInviteLinks: '您的邀请链接',
|
||||
noInvitesYet: '暂无已生成的邀请',
|
||||
link: '链接',
|
||||
status: '状态',
|
||||
created: '创建时间',
|
||||
redeemed: '已兑换',
|
||||
pending: '待兑换',
|
||||
},
|
||||
|
||||
// ── Invite Page ────────────────────────────────────
|
||||
invitePage: {
|
||||
youreInvited: '您收到了邀请!',
|
||||
specialOffer: '特别优惠!',
|
||||
invitedByFree: '{{name}} 邀请您获取免费终身访问权限。',
|
||||
invitedByDiscount: '{{name}} 与您分享了终身访问的7折优惠。',
|
||||
genericFreeInvite: '您已被邀请获取免费终身访问权限。',
|
||||
genericDiscount: '一位朋友与您分享了终身访问的7折优惠。',
|
||||
exploreEvery: '探索英格兰的每一个社区',
|
||||
propertyInfo: '房价、能源评级、犯罪数据、学校评级等',
|
||||
invalidInvite: '无效的邀请',
|
||||
inviteAlreadyUsed: '邀请已被使用',
|
||||
inviteAlreadyUsedDesc: '此邀请链接已被兑换。',
|
||||
invalidInviteLink: '无效的邀请链接',
|
||||
invalidInviteLinkDesc: '此邀请链接无效或已过期。',
|
||||
licenseActivated: '授权已激活!',
|
||||
fullAccessGranted: '您现在拥有 Perfect Postcode 的完整访问权限。',
|
||||
activating: '激活中...',
|
||||
activateLicense: '激活授权',
|
||||
claimDiscount: '领取优惠',
|
||||
registerToClaim: '注册以领取',
|
||||
youAlreadyHaveLicense: '您已拥有授权',
|
||||
accountHasFullAccess: '您的账户已拥有完整访问权限。',
|
||||
failedToValidate: '验证邀请链接失败',
|
||||
},
|
||||
|
||||
// ── Map Page ───────────────────────────────────────
|
||||
mapPage: {
|
||||
unsavedProperty: '取消收藏',
|
||||
savedProperty: '已收藏',
|
||||
},
|
||||
|
||||
// ── Server-derived values ──────────────────────────
|
||||
// Keyed by the English server value. ts() looks up translations at display time.
|
||||
// The English keys MUST match exactly what the API returns.
|
||||
server: {
|
||||
// ─ Feature group names ─
|
||||
'Properties': '\u623F\u4EA7',
|
||||
'Transport': '\u4EA4\u901A',
|
||||
'Education': '\u6559\u80B2',
|
||||
'Deprivation': '\u8D2B\u56F0\u6307\u6570',
|
||||
'Crime': '\u72AF\u7F6A',
|
||||
'Demographics': '\u4EBA\u53E3\u7EDF\u8BA1',
|
||||
'Amenities': '\u914D\u5957\u8BBE\u65BD',
|
||||
|
||||
// ─ Feature names (Properties) ─
|
||||
'Listing status': '\u623F\u6E90\u72B6\u6001',
|
||||
'Property type': '\u623F\u4EA7\u7C7B\u578B',
|
||||
'Leasehold/Freehold': '\u79DF\u8D41\u4EA7\u6743/\u6C38\u4E45\u4EA7\u6743',
|
||||
'Last known price': '\u4E0A\u6B21\u6210\u4EA4\u4EF7',
|
||||
'Estimated current price': '\u4F30\u8BA1\u5F53\u524D\u4EF7\u683C',
|
||||
'Asking price': '\u6302\u724C\u4EF7',
|
||||
'Price per sqm': '\u6BCF\u5E73\u65B9\u7C73\u4EF7\u683C',
|
||||
'Est. price per sqm': '\u4F30\u8BA1\u6BCF\u5E73\u65B9\u7C73\u4EF7\u683C',
|
||||
'Asking price per sqm': '\u6302\u724C\u4EF7\u6BCF\u5E73\u65B9\u7C73',
|
||||
'Estimated monthly rent': '\u4F30\u8BA1\u6708\u79DF',
|
||||
'Asking rent (monthly)': '\u6708\u79DF',
|
||||
'Total floor area (sqm)': '\u603B\u5EFA\u7B51\u9762\u79EF\uFF08\u5E73\u65B9\u7C73\uFF09',
|
||||
'Number of bedrooms & living rooms': '\u5367\u5BA4\u548C\u5BA2\u5385\u6570\u91CF',
|
||||
'Bedrooms': '\u5367\u5BA4',
|
||||
'Bathrooms': '\u6D74\u5BA4',
|
||||
'Construction year': '\u5EFA\u9020\u5E74\u4EFD',
|
||||
'Date of last transaction': '\u4E0A\u6B21\u4EA4\u6613\u65E5\u671F',
|
||||
'Listing date': '\u4E0A\u5E02\u65E5\u671F',
|
||||
'Former council house': '\u539F\u516C\u5171\u4F4F\u623F',
|
||||
'Current energy rating': '\u5F53\u524D\u80FD\u6E90\u8BC4\u7EA7',
|
||||
'Potential energy rating': '\u6F5C\u5728\u80FD\u6E90\u8BC4\u7EA7',
|
||||
'Interior height (m)': '\u5BA4\u5185\u5C42\u9AD8\uFF08\u7C73\uFF09',
|
||||
|
||||
// ─ Feature names (Transport) ─
|
||||
'Distance to nearest train or tube station (km)': '\u5230\u6700\u8FD1\u706B\u8F66\u6216\u5730\u94C1\u7AD9\u7684\u8DDD\u79BB\uFF08\u516C\u91CC\uFF09',
|
||||
'Train or tube stations within 1km': '1\u516C\u91CC\u5185\u706B\u8F66\u6216\u5730\u94C1\u7AD9\u6570\u91CF',
|
||||
|
||||
// ─ Feature names (Education) ─
|
||||
'Good+ primary schools within 2km': '2\u516C\u91CC\u5185\u826F\u597D+\u5C0F\u5B66\u6570\u91CF',
|
||||
'Good+ secondary schools within 2km': '2\u516C\u91CC\u5185\u826F\u597D+\u4E2D\u5B66\u6570\u91CF',
|
||||
'Good+ primary schools within 5km': '5\u516C\u91CC\u5185\u826F\u597D+\u5C0F\u5B66\u6570\u91CF',
|
||||
'Good+ secondary schools within 5km': '5\u516C\u91CC\u5185\u826F\u597D+\u4E2D\u5B66\u6570\u91CF',
|
||||
'Education, Skills and Training Score': '\u6559\u80B2\u3001\u6280\u80FD\u548C\u57F9\u8BAD\u5F97\u5206',
|
||||
|
||||
// ─ Feature names (Deprivation) ─
|
||||
'Income Score (rate)': '\u6536\u5165\u5F97\u5206\uFF08\u6BD4\u7387\uFF09',
|
||||
'Employment Score (rate)': '\u5C31\u4E1A\u5F97\u5206\uFF08\u6BD4\u7387\uFF09',
|
||||
'Health Deprivation and Disability Score': '\u5065\u5EB7\u4E0E\u6B8B\u969C\u5F97\u5206',
|
||||
'Living Environment Score': '\u5C45\u4F4F\u73AF\u5883\u5F97\u5206',
|
||||
'Indoors Sub-domain Score': '\u5BA4\u5185\u5B50\u9886\u57DF\u5F97\u5206',
|
||||
'Outdoors Sub-domain Score': '\u5BA4\u5916\u5B50\u9886\u57DF\u5F97\u5206',
|
||||
|
||||
// ─ Feature names (Crime) ─
|
||||
'Serious crime per 1k residents (avg/yr)': '\u6BCF\u5343\u4EBA\u4E25\u91CD\u72AF\u7F6A\uFF08\u5E74\u5747\uFF09',
|
||||
'Minor crime per 1k residents (avg/yr)': '\u6BCF\u5343\u4EBA\u8F7B\u5FAE\u72AF\u7F6A\uFF08\u5E74\u5747\uFF09',
|
||||
'Serious crime (avg/yr)': '\u4E25\u91CD\u72AF\u7F6A\uFF08\u5E74\u5747\uFF09',
|
||||
'Minor crime (avg/yr)': '\u8F7B\u5FAE\u72AF\u7F6A\uFF08\u5E74\u5747\uFF09',
|
||||
'Violence and sexual offences (avg/yr)': '\u66B4\u529B\u548C\u6027\u72AF\u7F6A\uFF08\u5E74\u5747\uFF09',
|
||||
'Burglary (avg/yr)': '\u5165\u5BA4\u76D7\u7A83\uFF08\u5E74\u5747\uFF09',
|
||||
'Robbery (avg/yr)': '\u62A2\u52AB\uFF08\u5E74\u5747\uFF09',
|
||||
'Vehicle crime (avg/yr)': '\u8F66\u8F86\u72AF\u7F6A\uFF08\u5E74\u5747\uFF09',
|
||||
'Anti-social behaviour (avg/yr)': '\u53CD\u793E\u4F1A\u884C\u4E3A\uFF08\u5E74\u5747\uFF09',
|
||||
'Criminal damage and arson (avg/yr)': '\u5211\u4E8B\u6BC1\u574F\u548C\u7EB5\u706B\uFF08\u5E74\u5747\uFF09',
|
||||
'Other theft (avg/yr)': '\u5176\u4ED6\u76D7\u7A83\uFF08\u5E74\u5747\uFF09',
|
||||
'Theft from the person (avg/yr)': '\u4EBA\u8EAB\u76D7\u7A83\uFF08\u5E74\u5747\uFF09',
|
||||
'Shoplifting (avg/yr)': '\u5546\u5E97\u76D7\u7A83\uFF08\u5E74\u5747\uFF09',
|
||||
'Bicycle theft (avg/yr)': '\u81EA\u884C\u8F66\u76D7\u7A83\uFF08\u5E74\u5747\uFF09',
|
||||
'Drugs (avg/yr)': '\u6BD2\u54C1\u72AF\u7F6A\uFF08\u5E74\u5747\uFF09',
|
||||
'Possession of weapons (avg/yr)': '\u975E\u6CD5\u6301\u6709\u6B66\u5668\uFF08\u5E74\u5747\uFF09',
|
||||
'Public order (avg/yr)': '\u6270\u4E71\u516C\u5171\u79E9\u5E8F\uFF08\u5E74\u5747\uFF09',
|
||||
'Other crime (avg/yr)': '\u5176\u4ED6\u72AF\u7F6A\uFF08\u5E74\u5747\uFF09',
|
||||
|
||||
// ─ Feature names (Demographics) ─
|
||||
'Median age': '\u4E2D\u4F4D\u5E74\u9F84',
|
||||
'% White': '% \u767D\u4EBA',
|
||||
'% South Asian': '% \u5357\u4E9A\u88D4',
|
||||
'% Black': '% \u9ED1\u4EBA',
|
||||
'% East Asian': '% \u4E1C\u4E9A\u88D4',
|
||||
'% Mixed': '% \u6DF7\u8840',
|
||||
'% Other': '% \u5176\u4ED6',
|
||||
|
||||
// ─ Feature names (Amenities) ─
|
||||
'Distance to nearest park (km)': '\u5230\u6700\u8FD1\u516C\u56ED\u7684\u8DDD\u79BB\uFF08\u516C\u91CC\uFF09',
|
||||
'Number of parks within 2km': '2\u516C\u91CC\u5185\u516C\u56ED\u6570\u91CF',
|
||||
'Number of restaurants within 2km': '2\u516C\u91CC\u5185\u9910\u5385\u6570\u91CF',
|
||||
'Number of grocery shops and supermarkets within 2km': '2\u516C\u91CC\u5185\u98DF\u54C1\u5E97\u548C\u8D85\u5E02\u6570\u91CF',
|
||||
'Noise (dB)': '\u566A\u97F3\uFF08\u5206\u8D1D\uFF09',
|
||||
'Max available download speed (Mbps)': '\u6700\u5927\u53EF\u7528\u4E0B\u8F7D\u901F\u5EA6\uFF08Mbps\uFF09',
|
||||
|
||||
|
||||
// ─ Enum values ─
|
||||
'Historical sale': '\u5386\u53F2\u4EA4\u6613',
|
||||
'For sale': '\u5728\u552E',
|
||||
'For rent': '\u51FA\u79DF',
|
||||
'Detached': '\u72EC\u7ACB\u5F0F\u4F4F\u5B85',
|
||||
'Semi-Detached': '\u534A\u72EC\u7ACB\u5F0F\u4F4F\u5B85',
|
||||
'Terraced': '\u8054\u6392\u4F4F\u5B85',
|
||||
'Flats/Maisonettes': '\u516C\u5BD3/\u590D\u5F0F\u516C\u5BD3',
|
||||
'Other': '\u5176\u4ED6',
|
||||
'Freehold': '\u6C38\u4E45\u4EA7\u6743',
|
||||
'Leasehold': '\u79DF\u8D41\u4EA7\u6743',
|
||||
'Yes': '\u662F',
|
||||
'No': '\u5426',
|
||||
|
||||
// ─ Stacked chart labels ─
|
||||
'Serious crime': '\u4E25\u91CD\u72AF\u7F6A',
|
||||
'Minor crime': '\u8F7B\u5FAE\u72AF\u7F6A',
|
||||
'Ethnic composition': '\u65CF\u88D4\u7EC4\u6210',
|
||||
|
||||
// ─ POI group names ─
|
||||
'Public Transport': '\u516C\u5171\u4EA4\u901A',
|
||||
'Leisure': '\u4F11\u95F2',
|
||||
'Health': '\u5065\u5EB7',
|
||||
'Emergency Services': '\u7D27\u6025\u670D\u52A1',
|
||||
'Groceries': '\u98DF\u54C1\u6742\u8D27',
|
||||
'Local Businesses': '\u672C\u5730\u5546\u4E1A',
|
||||
'Culture': '\u6587\u5316',
|
||||
'Services': '\u670D\u52A1',
|
||||
'Shops': '\u5546\u5E97',
|
||||
|
||||
// ─ POI categories ─
|
||||
'Airport': '\u673A\u573A',
|
||||
'Ferry': '\u6E21\u8F6E',
|
||||
'Rail station': '\u706B\u8F66\u7AD9',
|
||||
'Bus stop': '\u516C\u4EA4\u7AD9',
|
||||
'Bus station': '\u516C\u4EA4\u67A2\u7EBD',
|
||||
'Taxi rank': '\u51FA\u79DF\u8F66\u7AD9',
|
||||
'Metro or Tram stop': '\u5730\u94C1\u6216\u6709\u8F68\u7535\u8F66\u7AD9',
|
||||
'Caf\u00E9': '\u5496\u5561\u9986',
|
||||
'Restaurant': '\u9910\u5385',
|
||||
'Pub': '\u9152\u5427',
|
||||
'Bar': '\u9152\u5427',
|
||||
'Fast Food': '\u5FEB\u9910',
|
||||
'Nightclub': '\u591C\u5E97',
|
||||
'Cinema': '\u7535\u5F71\u9662',
|
||||
'Theatre': '\u5267\u9662',
|
||||
'Live Music & Events': '\u73B0\u573A\u97F3\u4E50\u4E0E\u6D3B\u52A8',
|
||||
'Park': '\u516C\u56ED',
|
||||
'Playground': '\u6E38\u4E50\u573A',
|
||||
'Sports Centre': '\u4F53\u80B2\u4E2D\u5FC3',
|
||||
'Entertainment': '\u5A31\u4E50',
|
||||
'Supermarket': '\u8D85\u5E02',
|
||||
'Convenience Store': '\u4FBF\u5229\u5E97',
|
||||
'Bakery': '\u9762\u5305\u623A',
|
||||
'Butcher & Fishmonger': '\u8089\u94FA\u4E0E\u9C7C\u94FA',
|
||||
'Greengrocer': '\u679C\u852C\u5E97',
|
||||
'Off-Licence': '\u9152\u7C7B\u5546\u5E97',
|
||||
'Deli & Specialty': '\u719F\u98DF\u4E0E\u7279\u4EA7\u5E97',
|
||||
'Fashion & Clothing': '\u65F6\u88C5\u670D\u9970',
|
||||
'Electronics': '\u7535\u5B50\u4EA7\u54C1',
|
||||
'Charity Shop': '\u6148\u5584\u5546\u5E97',
|
||||
'DIY & Hardware': '\u5EFA\u6750\u4E94\u91D1',
|
||||
'Home & Garden': '\u5BB6\u5C45\u4E0E\u56ED\u827A',
|
||||
'Bookshop': '\u4E66\u5E97',
|
||||
'Pet Shop': '\u5BA0\u7269\u5E97',
|
||||
'Sports & Outdoor': '\u4F53\u80B2\u4E0E\u6237\u5916',
|
||||
'Newsagent': '\u62A5\u520A\u4EAD',
|
||||
'Department Store': '\u767E\u8D27\u5546\u5E97',
|
||||
'Gift & Hobby': '\u793C\u54C1\u4E0E\u7231\u597D',
|
||||
'Specialist Shop': '\u4E13\u4E1A\u5546\u5E97',
|
||||
'Hairdresser & Beauty': '\u7F8E\u53D1\u4E0E\u7F8E\u5BB9',
|
||||
'Gym & Fitness': '\u5065\u8EAB\u623F',
|
||||
'Dry Cleaner & Laundry': '\u5E72\u6D17\u4E0E\u6D17\u8863',
|
||||
'Car Services': '\u6C7D\u8F66\u670D\u52A1',
|
||||
'Post Office': '\u90AE\u5C40',
|
||||
'Vet & Pet Care': '\u5BA0\u7269\u533B\u9662\u4E0E\u62A4\u7406',
|
||||
'Bank': '\u94F6\u884C',
|
||||
'Travel Agent': '\u65C5\u884C\u793E',
|
||||
'Police': '\u8B66\u5BDF',
|
||||
'Fire Station': '\u6D88\u9632\u7AD9',
|
||||
'Ambulance Station': '\u6025\u6551\u7AD9',
|
||||
'GP Surgery': '\u5168\u79D1\u8BCA\u6240',
|
||||
'Dentist': '\u7259\u79D1',
|
||||
'Pharmacy': '\u836F\u623F',
|
||||
'Hospital & Clinic': '\u533B\u9662\u4E0E\u8BCA\u6240',
|
||||
'Optician': '\u773C\u955C\u5E97',
|
||||
'Physiotherapy': '\u7406\u7597',
|
||||
'Counselling & Therapy': '\u5FC3\u7406\u54A8\u8BE2\u4E0E\u6CBB\u7597',
|
||||
'Care Home': '\u517B\u8001\u9662',
|
||||
'Medical & Mobility': '\u533B\u7597\u5668\u68B0\u4E0E\u8F85\u52A9\u8BBE\u5907',
|
||||
'Museum': '\u535A\u7269\u9986',
|
||||
'Gallery': '\u7F8E\u672F\u9986',
|
||||
'Library': '\u56FE\u4E66\u9986',
|
||||
'Place of Worship': '\u5B97\u6559\u573A\u6240',
|
||||
'Arts Centre': '\u827A\u672F\u4E2D\u5FC3',
|
||||
'Zoo': '\u52A8\u7269\u56ED',
|
||||
'Tourist Attraction': '\u65C5\u6E38\u666F\u70B9',
|
||||
'School': '\u5B66\u6821',
|
||||
'Hotel': '\u9152\u5E97',
|
||||
'Local Business': '\u672C\u5730\u5546\u4E1A',
|
||||
'Offices': '\u5199\u5B57\u697C',
|
||||
'EV Charging': '\u7535\u52A8\u8F66\u5145\u7535\u7AD9',
|
||||
'Fuel Station': '\u52A0\u6CB9\u7AD9',
|
||||
'Community Centre': '\u793E\u533A\u4E2D\u5FC3',
|
||||
|
||||
// ─ Suffixes (used in formatters) ─
|
||||
'/mo': '/\u6708',
|
||||
'/yr': '/\u5E74',
|
||||
' sqm': ' \u5E73\u65B9\u7C73',
|
||||
' km': ' \u516C\u91CC',
|
||||
' m': ' \u7C73',
|
||||
' dB': ' \u5206\u8D1D',
|
||||
' years': ' \u5E74',
|
||||
' rooms': ' \u95F4',
|
||||
},
|
||||
};
|
||||
|
||||
export default zh;
|
||||
Loading…
Add table
Add a link
Reference in a new issue