Fix crime & add actual listings
Some checks failed
CI / Check (push) Failing after 4m1s
Build and publish Docker image / build-and-push (push) Failing after 4m10s

This commit is contained in:
Andras Schmelczer 2026-05-17 11:12:25 +01:00
parent 017902b8e6
commit ebe7bbb51d
34 changed files with 2014 additions and 172754 deletions

View file

@ -126,9 +126,6 @@ function ProductDemoVideo() {
ref={sectionRef}
className={`${HOME_SECTION_CONTAINER_CLASS} pt-8 md:pt-12 pb-2`}
>
<h2 className={`${HOME_SECTION_HEADING_CLASS} mb-5 text-center`}>
{t('home.productDemoLabel')}
</h2>
<div
className={`relative overflow-hidden rounded-lg border border-warm-200 bg-navy-950 shadow-sm dark:border-warm-700 ${
isMobile ? 'mx-auto max-w-sm' : ''

View file

@ -15,6 +15,7 @@ import type {
FeatureMeta,
Bounds,
MapFlyToOptions,
ActualListing,
} from '../../types';
import {
@ -41,6 +42,7 @@ interface MapProps {
postcodeData: PostcodeFeature[];
usePostcodeView: boolean;
pois: POI[];
actualListings?: ActualListing[];
onViewChange: (params: ViewChangeParams) => void;
viewFeature: string | null;
colorRange: [number, number] | null;
@ -77,6 +79,20 @@ interface MapProps {
}
const EMPTY_TRAVEL_ENTRIES: TravelTimeEntry[] = [];
const EMPTY_ACTUAL_LISTINGS: ActualListing[] = [];
function formatListingPrice(price: number): string {
return `£${price.toLocaleString()}`;
}
function formatListingHeadline(listing: ActualListing): string | null {
const parts: string[] = [];
if (listing.bedrooms != null) parts.push(`${listing.bedrooms} bed`);
if (listing.bathrooms != null) parts.push(`${listing.bathrooms} bath`);
if (listing.property_sub_type) parts.push(listing.property_sub_type);
else if (listing.property_type) parts.push(listing.property_type);
return parts.length > 0 ? parts.join(' · ') : null;
}
interface Dimensions {
width: number;
@ -263,6 +279,7 @@ export default memo(function Map({
postcodeData,
usePostcodeView,
pois,
actualListings = EMPTY_ACTUAL_LISTINGS,
onViewChange,
viewFeature,
colorRange,
@ -442,6 +459,8 @@ export default memo(function Map({
layers,
popupInfo,
clearPopupInfo,
listingPopup,
clearListingPopup,
hoverPosition,
countRange,
postcodeCountRange,
@ -453,6 +472,7 @@ export default memo(function Map({
usePostcodeView,
zoom: viewState.zoom,
pois,
actualListings,
viewFeature,
colorRange,
filterRange,
@ -677,6 +697,77 @@ export default memo(function Map({
)}
</div>
)}
{listingPopup && (
<div
className="pointer-events-auto absolute bg-white dark:bg-warm-800 rounded-lg shadow-lg text-sm dark:text-white max-w-[280px]"
style={{
left: listingPopup.x,
top: listingPopup.y - 12,
transform: 'translate(-50%, -100%)',
zIndex: 9999,
}}
onMouseLeave={clearListingPopup}
>
<button
className="pointer-events-auto absolute -top-2 -right-2 w-5 h-5 flex items-center justify-center rounded-full bg-warm-200 dark:bg-warm-700 text-warm-500 dark:text-warm-400 hover:text-warm-700 dark:hover:text-warm-300 shadow-sm"
onClick={clearListingPopup}
>
<CloseIcon className="w-3 h-3" />
</button>
<a
href={listingPopup.listing.listing_url}
target="_blank"
rel="noopener noreferrer"
className="block px-3 py-2"
>
{listingPopup.listing.asking_price != null && (
<div className="text-base font-bold text-teal-600 dark:text-teal-400">
{formatListingPrice(listingPopup.listing.asking_price)}
{listingPopup.listing.price_qualifier ? (
<span className="ml-1 text-xs font-medium text-warm-500 dark:text-warm-400">
{listingPopup.listing.price_qualifier}
</span>
) : null}
</div>
)}
{formatListingHeadline(listingPopup.listing) && (
<div className="text-xs text-warm-700 dark:text-warm-200 mt-0.5">
{formatListingHeadline(listingPopup.listing)}
</div>
)}
{listingPopup.listing.address && (
<div className="text-xs text-warm-500 dark:text-warm-400 mt-0.5 line-clamp-2">
{listingPopup.listing.address}
</div>
)}
{listingPopup.listing.postcode && (
<div className="text-[11px] text-warm-400 dark:text-warm-500 mt-0.5">
{listingPopup.listing.postcode}
</div>
)}
{listingPopup.listing.floor_area_sqm != null && (
<div className="text-[11px] text-warm-500 dark:text-warm-400 mt-0.5">
{Math.round(listingPopup.listing.floor_area_sqm)} sqm
{listingPopup.listing.asking_price_per_sqm != null
? ` · £${Math.round(listingPopup.listing.asking_price_per_sqm).toLocaleString()}/sqm`
: ''}
</div>
)}
{listingPopup.listing.features.length > 0 && (
<ul className="mt-1.5 text-[11px] text-warm-600 dark:text-warm-300 list-disc pl-4 space-y-0.5">
{listingPopup.listing.features.slice(0, 3).map((feature, idx) => (
<li key={idx} className="line-clamp-1">
{feature}
</li>
))}
</ul>
)}
<div className="mt-1.5 text-[11px] text-teal-600 dark:text-teal-400 font-medium">
Open listing
</div>
</a>
</div>
)}
{hoverPosition && hoveredHexagonId && hoveredHexagonId !== selectedHexagonId && (
<HoverCard
x={hoverPosition.x}

View file

@ -5,6 +5,7 @@ import type { MapFlyToOptions, PostcodeGeometry } from '../../types';
import type { SearchedLocation } from './LocationSearch';
import { useMapData } from '../../hooks/useMapData';
import { usePOIData } from '../../hooks/usePOIData';
import { useActualListings } from '../../hooks/useActualListings';
import { useFilters } from '../../hooks/useFilters';
import { useHexagonSelection } from '../../hooks/useHexagonSelection';
import { usePaneResize } from '../../hooks/usePaneResize';
@ -407,6 +408,10 @@ export default function MapPage({
}, []);
const pois = usePOIData(mapData.bounds, selectedPOICategories);
const { listings: actualListings } = useActualListings(
mapData.bounds,
mapData.currentView?.zoom ?? 0
);
const [isAreaGroupExpanded, toggleAreaGroup] = useCollapsibleGroups(true);
useUrlSync(
@ -728,6 +733,7 @@ export default function MapPage({
onLocationSearched={handleLocationSearchResult}
onCurrentLocationFound={handleCurrentLocationFound}
currentLocation={currentLocation}
actualListings={actualListings}
travelTimeEntries={entries}
bottomScreenInset={mobileBottomSheetHeight}
onBottomSheetCoveredHeightChange={setMobileBottomSheetHeight}
@ -791,6 +797,7 @@ export default function MapPage({
onLocationSearched={handleLocationSearchResult}
onCurrentLocationFound={handleCurrentLocationFound}
currentLocation={currentLocation}
actualListings={actualListings}
travelTimeEntries={entries}
densityLabel={densityLabel}
totalCount={hasActiveFilters ? filterCounts.total : undefined}

View file

@ -110,7 +110,7 @@ export function ActiveFiltersPanel({
>
<button
onClick={onToggleCollapsed}
className="shrink-0 flex items-center justify-between border-b border-l-4 border-teal-200 border-l-teal-600 bg-teal-50 px-3 py-2.5 cursor-pointer shadow-md ring-1 ring-inset ring-teal-100 hover:bg-teal-100 dark:border-teal-900/50 dark:border-l-teal-300 dark:bg-teal-950/30 dark:ring-teal-800/60 dark:hover:bg-teal-900/40"
className="shrink-0 flex items-center justify-between border-y border-l-4 border-teal-300 border-l-teal-600 bg-teal-100 px-3 py-3 cursor-pointer hover:bg-teal-200 dark:border-teal-800 dark:border-l-teal-300 dark:bg-teal-900/50 dark:hover:bg-teal-900/70"
>
<div className="flex items-center gap-2">
<span className="text-sm font-bold text-navy-950 dark:text-warm-100">

View file

@ -110,7 +110,7 @@ export function AddFilterPanel({
>
<button
onClick={onToggleCollapsed}
className="shrink-0 flex items-center justify-between border-b border-l-4 border-teal-200 border-l-teal-600 bg-teal-50 px-3 py-2.5 cursor-pointer shadow-md ring-1 ring-inset ring-teal-100 hover:bg-teal-100 dark:border-teal-900/50 dark:border-l-teal-300 dark:bg-teal-950/30 dark:ring-teal-800/60 dark:hover:bg-teal-900/40"
className="shrink-0 flex items-center justify-between border-y border-l-4 border-teal-300 border-l-teal-600 bg-teal-100 px-3 py-3 cursor-pointer hover:bg-teal-200 dark:border-teal-800 dark:border-l-teal-300 dark:bg-teal-900/50 dark:hover:bg-teal-900/70"
>
<span className="text-sm font-bold text-navy-950 dark:text-warm-100">
{t('filters.addFilter')}

View file

@ -1,7 +1,14 @@
import { Suspense, type MutableRefObject, type ReactNode } from 'react';
import { useTranslation } from 'react-i18next';
import type { FeatureFilters, FeatureMeta, POI, PostcodeGeometry, ViewState } from '../../../types';
import type {
ActualListing,
FeatureFilters,
FeatureMeta,
POI,
PostcodeGeometry,
ViewState,
} from '../../../types';
import type { useMapData } from '../../../hooks/useMapData';
import type { useTutorial } from '../../../hooks/useTutorial';
import type { TravelTimeEntry } from '../../../hooks/useTravelTime';
@ -45,6 +52,7 @@ interface DesktopMapPageProps {
onLocationSearched: (location: SearchedLocation | null) => void;
onCurrentLocationFound: (lat: number, lng: number) => void;
currentLocation: { lat: number; lng: number } | null;
actualListings: ActualListing[];
travelTimeEntries: TravelTimeEntry[];
densityLabel: string;
totalCount?: number;
@ -90,6 +98,7 @@ export function DesktopMapPage({
onLocationSearched,
onCurrentLocationFound,
currentLocation,
actualListings,
travelTimeEntries,
densityLabel,
totalCount,
@ -180,6 +189,7 @@ export function DesktopMapPage({
onLocationSearched={onLocationSearched}
onCurrentLocationFound={onCurrentLocationFound}
currentLocation={currentLocation}
actualListings={actualListings}
bounds={mapData.bounds}
hideTopCardsWhenNarrow
travelTimeEntries={travelTimeEntries}

View file

@ -1,6 +1,13 @@
import { Suspense, type MutableRefObject, type ReactNode } from 'react';
import type { FeatureFilters, FeatureMeta, POI, PostcodeGeometry, ViewState } from '../../../types';
import type {
ActualListing,
FeatureFilters,
FeatureMeta,
POI,
PostcodeGeometry,
ViewState,
} from '../../../types';
import type { useMapData } from '../../../hooks/useMapData';
import type { TravelTimeEntry } from '../../../hooks/useTravelTime';
import type { SearchedLocation } from '../LocationSearch';
@ -36,6 +43,7 @@ interface MobileMapPageProps {
onLocationSearched: (location: SearchedLocation | null) => void;
onCurrentLocationFound: (lat: number, lng: number) => void;
currentLocation: { lat: number; lng: number } | null;
actualListings: ActualListing[];
travelTimeEntries: TravelTimeEntry[];
bottomScreenInset: number;
onBottomSheetCoveredHeightChange: (height: number) => void;
@ -78,6 +86,7 @@ export function MobileMapPage({
onLocationSearched,
onCurrentLocationFound,
currentLocation,
actualListings,
travelTimeEntries,
bottomScreenInset,
onBottomSheetCoveredHeightChange,
@ -131,6 +140,7 @@ export function MobileMapPage({
onLocationSearched={onLocationSearched}
onCurrentLocationFound={onCurrentLocationFound}
currentLocation={currentLocation}
actualListings={actualListings}
bounds={mapData.bounds}
hideLegend
hideLocationSearch={mobileDrawerOpen && !!selectedHexagonId}

View file

@ -0,0 +1,56 @@
import { useEffect, useRef, useState } from 'react';
import type { ActualListing, ActualListingsResponse, Bounds } from '../types';
import { apiUrl, authHeaders, logNonAbortError } from '../lib/api';
const DEBOUNCE_MS = 200;
export function useActualListings(bounds: Bounds | null) {
const [listings, setListings] = useState<ActualListing[]>([]);
const [truncated, setTruncated] = useState(false);
const debounceRef = useRef<ReturnType<typeof setTimeout> | null>(null);
const abortControllerRef = useRef<AbortController | null>(null);
const requestIdRef = useRef(0);
useEffect(() => {
requestIdRef.current += 1;
const requestId = requestIdRef.current;
if (!bounds) {
abortControllerRef.current?.abort();
if (listings.length !== 0) setListings([]);
if (truncated) setTruncated(false);
return;
}
if (debounceRef.current) clearTimeout(debounceRef.current);
debounceRef.current = setTimeout(async () => {
abortControllerRef.current?.abort();
abortControllerRef.current = new AbortController();
try {
const boundsStr = `${bounds.south},${bounds.west},${bounds.north},${bounds.east}`;
const params = new URLSearchParams({ bounds: boundsStr });
const res = await fetch(
apiUrl('actual-listings', params),
authHeaders({ signal: abortControllerRef.current.signal })
);
if (!res.ok) throw new Error(`Actual listings fetch failed: HTTP ${res.status}`);
const json: ActualListingsResponse = await res.json();
if (requestIdRef.current !== requestId) return;
setListings(json.listings || []);
setTruncated(Boolean(json.truncated));
} catch (err) {
logNonAbortError('Failed to fetch actual listings', err);
}
}, DEBOUNCE_MS);
return () => {
if (debounceRef.current) clearTimeout(debounceRef.current);
abortControllerRef.current?.abort();
};
// listings/truncated intentionally excluded — they're internal state, not inputs.
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [bounds]);
return { listings, truncated };
}

View file

@ -11,6 +11,7 @@ import type {
POI,
FeatureMeta,
Bounds,
ActualListing,
} from '../types';
import {
DENSITY_GRADIENT,
@ -21,6 +22,7 @@ import {
import { getFeatureFillColor } from '../lib/map-utils';
import type { TravelTimeEntry } from './useTravelTime';
import { usePoiLayers } from './usePoiLayers';
import { useListingLayers } from './useListingLayers';
import { MarchingAntsExtension } from '../lib/MarchingAntsExtension';
import { PieHexExtension } from '../lib/PieHexExtension';
@ -30,6 +32,7 @@ interface UseDeckLayersProps {
usePostcodeView: boolean;
zoom: number;
pois: POI[];
actualListings: ActualListing[];
viewFeature: string | null;
colorRange: [number, number] | null;
filterRange: [number, number] | null;
@ -71,6 +74,7 @@ export function useDeckLayers({
usePostcodeView,
zoom,
pois,
actualListings,
viewFeature,
colorRange,
filterRange,
@ -101,6 +105,15 @@ export function useDeckLayers({
const isDark = theme === 'dark';
const densityGradient = isDark ? DENSITY_GRADIENT_DARK : DENSITY_GRADIENT;
const { poiLayers, popupInfo, clearPopupInfo } = usePoiLayers({ pois, zoom, isDark });
const { listingLayers, listingPopup, clearListingPopup } = useListingLayers({
listings: actualListings,
zoom,
isDark,
hexagonData: data,
postcodeData,
resolution: usePostcodeView ? 0 : Math.round(zoom),
usePostcodeView,
});
// --- Refs for deck.gl accessors ---
const viewFeatureRef = useRef(viewFeature);
@ -606,6 +619,7 @@ export function useDeckLayers({
}
if (marchingAntsLayer) baseLayers.push(marchingAntsLayer);
if (currentLocationLayer) baseLayers.push(currentLocationLayer);
if (listingLayers.length > 0) baseLayers.push(...listingLayers);
return baseLayers;
}, [
usePostcodeView,
@ -616,19 +630,23 @@ export function useDeckLayers({
poiLayers,
marchingAntsLayer,
currentLocationLayer,
listingLayers,
]);
const handleMouseLeave = useCallback(() => {
setHoverPosition(null);
setHoveredPostcode(null);
clearPopupInfo();
clearListingPopup();
onHexagonHoverRef.current(null);
}, [clearPopupInfo]);
}, [clearPopupInfo, clearListingPopup]);
return {
layers,
popupInfo,
clearPopupInfo,
listingPopup,
clearListingPopup,
hoverPosition,
countRange,
postcodeCountRange,

View file

@ -0,0 +1,205 @@
import { useCallback, useMemo, useRef, useState } from 'react';
import type { Layer, PickingInfo } from '@deck.gl/core';
import { ScatterplotLayer, TextLayer } from '@deck.gl/layers';
import { getResolution, latLngToCell } from 'h3-js';
import type { ActualListing, HexagonData, PostcodeFeature } from '../types';
import { trackEvent } from '../lib/analytics';
const PRICE_LABEL_MIN_ZOOM = 14;
const ADDRESS_LABEL_MIN_ZOOM = 16;
export interface ListingPopupInfo {
x: number;
y: number;
listing: ActualListing;
}
interface UseListingLayersProps {
listings: ActualListing[];
zoom: number;
isDark: boolean;
hexagonData: HexagonData[];
postcodeData: PostcodeFeature[];
usePostcodeView: boolean;
}
function normalizePostcode(value: string | undefined | null): string {
if (!value) return '';
return value.replace(/\s+/g, '').toUpperCase();
}
function formatShortPrice(price: number): string {
if (price >= 1_000_000) return `£${(price / 1_000_000).toFixed(price >= 10_000_000 ? 0 : 1)}M`;
if (price >= 1_000) return `£${Math.round(price / 1_000)}k`;
return `£${price}`;
}
export function useListingLayers({
listings,
zoom,
isDark,
hexagonData,
postcodeData,
usePostcodeView,
}: UseListingLayersProps) {
const [popupInfo, setPopupInfo] = useState<ListingPopupInfo | null>(null);
const visibleListings = useMemo(() => {
if (listings.length === 0) return listings;
if (usePostcodeView) {
const allowed = new Set<string>();
for (const feature of postcodeData) {
if (feature.properties.count > 0) {
allowed.add(normalizePostcode(feature.properties.postcode));
}
}
if (allowed.size === 0) return [];
return listings.filter((listing) => allowed.has(normalizePostcode(listing.postcode)));
}
const allowed = new Set<string>();
for (const cell of hexagonData) {
if (cell.count > 0) allowed.add(cell.h3);
}
if (allowed.size === 0) return [];
return listings.filter((listing) => {
try {
return allowed.has(latLngToCell(listing.lat, listing.lon, resolution));
} catch {
return false;
}
});
}, [listings, hexagonData, postcodeData, resolution, usePostcodeView]);
const handleHover = useCallback((info: PickingInfo<ActualListing>) => {
if (info.object && info.x !== undefined && info.y !== undefined) {
setPopupInfo({ x: info.x, y: info.y, listing: info.object });
} else {
setPopupInfo(null);
}
}, []);
const handleClick = useCallback((info: PickingInfo<ActualListing>) => {
const url = info.object?.listing_url;
if (!url) return;
trackEvent('Actual Listing Click', { url });
window.open(url, '_blank', 'noopener,noreferrer');
}, []);
const handleHoverRef = useRef(handleHover);
handleHoverRef.current = handleHover;
const stableHover = useCallback(
(info: PickingInfo<ActualListing>) => handleHoverRef.current(info),
[]
);
const handleClickRef = useRef(handleClick);
handleClickRef.current = handleClick;
const stableClick = useCallback(
(info: PickingInfo<ActualListing>) => handleClickRef.current(info),
[]
);
const pinShadowLayer = useMemo(
() =>
new ScatterplotLayer<ActualListing>({
id: 'actual-listing-shadow',
data: visibleListings,
getPosition: (d) => [d.lon, d.lat],
getRadius: 8,
radiusUnits: 'pixels',
getFillColor: isDark ? [0, 0, 0, 80] : [0, 0, 0, 40],
pickable: false,
}),
[visibleListings, isDark]
);
const pinLayer = useMemo(
() =>
new ScatterplotLayer<ActualListing>({
id: 'actual-listing-pin',
data: visibleListings,
getPosition: (d) => [d.lon, d.lat],
getRadius: 7,
radiusUnits: 'pixels',
getFillColor: [231, 76, 60, 240],
getLineColor: [255, 255, 255, 255],
getLineWidth: 1.5,
lineWidthUnits: 'pixels',
stroked: true,
pickable: true,
autoHighlight: true,
highlightColor: [29, 228, 195, 220],
onHover: stableHover,
onClick: stableClick,
}),
[visibleListings, stableHover, stableClick]
);
const priceLabelLayer = useMemo(() => {
if (zoom < PRICE_LABEL_MIN_ZOOM) return null;
const labeled = visibleListings.filter((l) => l.asking_price && l.asking_price > 0);
return new TextLayer<ActualListing>({
id: 'actual-listing-price',
data: labeled,
getPosition: (d) => [d.lon, d.lat],
getText: (d) => formatShortPrice(d.asking_price ?? 0),
getSize: 12,
getPixelOffset: [0, -16],
getColor: isDark ? [255, 255, 255, 240] : [30, 30, 30, 240],
fontFamily: 'Inter, system-ui, sans-serif',
fontWeight: 700,
getTextAnchor: 'middle',
getAlignmentBaseline: 'bottom',
outlineWidth: 3,
outlineColor: isDark ? [10, 10, 10, 220] : [255, 255, 255, 230],
fontSettings: { sdf: true },
sizeUnits: 'pixels',
sizeMinPixels: 10,
sizeMaxPixels: 14,
pickable: false,
});
}, [visibleListings, zoom, isDark]);
const detailLabelLayer = useMemo(() => {
if (zoom < ADDRESS_LABEL_MIN_ZOOM) return null;
const labeled = visibleListings.filter((l) => l.address || l.bedrooms != null);
return new TextLayer<ActualListing>({
id: 'actual-listing-detail',
data: labeled,
getPosition: (d) => [d.lon, d.lat],
getText: (d) => {
const parts: string[] = [];
if (d.bedrooms != null) parts.push(`${d.bedrooms} bed`);
if (d.property_sub_type) parts.push(d.property_sub_type);
else if (d.property_type) parts.push(d.property_type);
return parts.join(' · ');
},
getSize: 10,
getPixelOffset: [0, 14],
getColor: isDark ? [220, 220, 220, 230] : [60, 60, 60, 230],
fontFamily: 'Inter, system-ui, sans-serif',
fontWeight: 500,
getTextAnchor: 'middle',
getAlignmentBaseline: 'top',
outlineWidth: 3,
outlineColor: isDark ? [10, 10, 10, 220] : [255, 255, 255, 230],
fontSettings: { sdf: true },
sizeUnits: 'pixels',
sizeMinPixels: 9,
sizeMaxPixels: 12,
pickable: false,
});
}, [visibleListings, zoom, isDark]);
const listingLayers = useMemo(() => {
const layers: Layer[] = [pinShadowLayer, pinLayer];
if (priceLabelLayer) layers.push(priceLabelLayer);
if (detailLabelLayer) layers.push(detailLabelLayer);
return layers;
}, [pinShadowLayer, pinLayer, priceLabelLayer, detailLabelLayer]);
const clearListingPopup = useCallback(() => setPopupInfo(null), []);
return { listingLayers, listingPopup: popupInfo, clearListingPopup };
}

View file

@ -170,7 +170,7 @@ export const details: Record<string, Record<string, string>> = {
'Number of bedrooms & living rooms':
'Gesamtanzahl der Wohnräume (Schlaf- und Wohnzimmer), wie im Energieausweis-Zertifikat erfasst. Küchen und Badezimmer sind in der Regel ausgeschlossen, sofern sie nicht groß genug sind, um als Wohnräume zu gelten.',
'Construction year':
'Abgeleitet aus dem Baualtersband im EPC (z. B. „19301949") durch Verwendung des Mittelpunkts. Bei älteren Gebäuden, bei denen das Altersband mehrere Jahrzehnte umfasst, weniger präzise.',
'Abgeleitet aus dem Baualtersband im EPC (z. B. „19301949) durch Verwendung des Mittelpunkts. Bei älteren Gebäuden, bei denen das Altersband mehrere Jahrzehnte umfasst, weniger präzise.',
'Date of last transaction':
'Das Datum des zuletzt erfassten Verkaufs dieser Immobilie aus den HM Land Registry Price Paid-Daten. In den Daten als Datum-/Uhrzeitangabe gespeichert; für Filterung und Diagramme in ein Dezimaljahr umgerechnet.',
'Former council house':
@ -232,7 +232,7 @@ export const details: Record<string, Record<string, string>> = {
'Criminal damage and arson (avg/yr)':
'Durchschnittliche Anzahl von Sachbeschädigungs- und Brandstiftungsvorfällen pro Jahr im LSOA, aus police.uk-Kriminalitätsdaten auf Straßenebene.',
'Other theft (avg/yr)':
'Durchschnittliche Anzahl von „sonstigen Diebstählen" pro Jahr im LSOA, aus police.uk-Kriminalitätsdaten auf Straßenebene. Umfasst Diebstähle, die nicht unter Einbruch, Fahrzeugkriminalität, Ladendiebstahl oder Fahrraddiebstahl eingestuft sind.',
'Durchschnittliche Anzahl von „sonstigen Diebstählen pro Jahr im LSOA, aus police.uk-Kriminalitätsdaten auf Straßenebene. Umfasst Diebstähle, die nicht unter Einbruch, Fahrzeugkriminalität, Ladendiebstahl oder Fahrraddiebstahl eingestuft sind.',
'Theft from the person (avg/yr)':
'Durchschnittliche Anzahl von Taschendiebstählen und ähnlichen Delikten pro Jahr im LSOA, aus police.uk-Kriminalitätsdaten auf Straßenebene. Umfasst Taschendiebstahl und Handtaschenraub ohne Gewaltanwendung.',
'Shoplifting (avg/yr)':
@ -316,7 +316,7 @@ export const details: Record<string, Record<string, string>> = {
'Number of bedrooms & living rooms':
'EPC中记录的可居住房间总数卧室加客厅。厨房和浴室通常不计入除非面积足够大可算作可居住房间。',
'Construction year':
'根据EPC中的建造年代段例如"1930-1949")取中间值推算。对于年代段跨越数十年的老建筑,精度较低。',
'根据EPC中的建造年代段例如“1930-1949”)取中间值推算。对于年代段跨越数十年的老建筑,精度较低。',
'Date of last transaction':
'来自英国土地注册局价格数据中该房产最近一次成交的记录日期。数据中以日期时间格式存储;在筛选和图表中转换为小数年份。',
'Former council house':
@ -378,7 +378,7 @@ export const details: Record<string, Record<string, string>> = {
'Criminal damage and arson (avg/yr)':
'LSOA内每年刑事损毁和纵火事件的平均数量来自police.uk街道级犯罪数据。',
'Other theft (avg/yr)':
'LSOA内每年"其他盗窃"案的平均数量来自police.uk街道级犯罪数据。包括未被归类为入室盗窃、车辆犯罪、商店行窃或自行车盗窃的盗窃行为。',
'LSOA内每年“其他盗窃”案的平均数量来自police.uk街道级犯罪数据。包括未被归类为入室盗窃、车辆犯罪、商店行窃或自行车盗窃的盗窃行为。',
'Theft from the person (avg/yr)':
'LSOA内每年针对人身盗窃案的平均数量来自police.uk街道级犯罪数据。包括扒窃和未使用暴力的抢包行为。',
'Shoplifting (avg/yr)': 'LSOA内每年商店行窃案的平均数量来自police.uk街道级犯罪数据。',
@ -466,7 +466,7 @@ export const details: Record<string, Record<string, string>> = {
'Interior height (m)':
'EPC आकलन के दौरान दर्ज औसत अंदरूनी फर्श-से-छत ऊंचाई, मीटर में. कुल आंतरिक आयतन को कुल फर्श क्षेत्र से भाग देकर निकाली जाती है.',
'Street tree density percentile':
'Forest Research के 2025 Trees Outside Woodland नक्शे से निकाला गया पोस्टकोड केंद्र के आसपास का अनुमानित वृक्ष आच्छादन. अकेले पेड़ों और पेड़ों के समूहों के canopy polygons को हर पोस्टकोड केंद्र से 50m के भीतर गिना जाता है, फिर इंग्लैंड के पोस्टकोडों के मुकाबले प्रतिशतक में बदला जाता है. यह पोस्टकोड-केंद्र proxy है, किसी संपत्ति या सड़क-खंड की सटीक माप नहीं.',
'Forest Research के 2025 Trees Outside Woodland नक्शे से निकाला गया पोस्टकोड केंद्र के आसपास का अनुमानित वृक्ष आच्छादन. अकेले पेड़ों और पेड़ों के समूहों के वृक्ष-शिखर बहुभुजों को हर पोस्टकोड केंद्र से 50m के भीतर गिना जाता है, फिर इंग्लैंड के पोस्टकोडों के मुकाबले प्रतिशतक में बदला जाता है. यह पोस्टकोड-केंद्र पर आधारित अनुमानक है, किसी संपत्ति या सड़क-खंड की सटीक माप नहीं.',
'Good+ primary schools within 2km':
'2 km के भीतर सरकारी वित्तपोषित प्राइमरी स्कूल जिनकी मौजूदा Ofsted रेटिंग अच्छी या उत्कृष्ट है. जिन स्कूलों का अभी निरीक्षण नहीं हुआ है, उन्हें शामिल नहीं किया गया है.',
'Good+ secondary schools within 2km':
@ -714,7 +714,7 @@ export const details: Record<string, Record<string, string>> = {
Schools:
'A közeli állami finanszírozású általános vagy középiskolákat szűri a kiválasztott Ofsted minősítés és távolság alapján. Az elérhető küszöbök általában a 2 km-en vagy 5 km-en belüli Jó vagy Kiemelkedő, illetve csak Kiemelkedő iskolákat fedik le.',
'Specific crimes':
'Egyszerre egy utcai bűncselekmény-kategóriát szűr az LSOA éves átlagos esetszámai alapján. Az értékek a-ös police.uk adatokból származnak, és segítenek külön vizsgálni például a betörést, járműbűnözést vagy antiszociális viselkedést.',
'Egyszerre egy utcai bűncselekmény-kategóriát szűr az LSOA éves átlagos esetszámai alapján. Az értékek a police.uk adataiból származnak, és segítenek külön vizsgálni például a betörést, járműbűnözést vagy antiszociális viselkedést.',
Ethnicities:
'A kiválasztott etnikai csoport népességi arányát szűri a 2021-es népszámlálás alapján. Egyszerre egy kategória alkalmazható, hogy a helyi összetétel összehasonlítható legyen a területek között.',
'Amenity distance':

View file

@ -123,27 +123,29 @@ const de: Translations = {
'Start with a maximum price and property type, then colour the map by price per square metre or estimated current price. This helps reveal areas where similar homes have historically traded within reach, even when there are no live listings today.':
'Beginnen Sie mit einem Höchstpreis und einem Immobilientyp und färben Sie die Karte dann nach dem Preis pro Quadratmeter oder dem geschätzten aktuellen Preis ein. Dies hilft dabei, Bereiche aufzudecken, in denen in der Vergangenheit ähnliche Häuser in Reichweite gehandelt wurden, auch wenn es heute keine Live-Einträge gibt.',
'Filter by last known sale price, estimated current value, property type, tenure, and floor area.':
'Filtern Sie nach dem letzten bekannten Verkaufspreis, dem geschätzten aktuellen Wert, der Art der Immobilie, der Nutzungsdauer und der Grundfläche.',
'Filtern Sie nach dem letzten bekannten Verkaufspreis, dem geschätzten aktuellen Wert, der Immobilienart, der Eigentumsform und der Wohnfläche.',
'Compare nearby postcodes using the same criteria instead of relying on area reputation.':
'Vergleichen Sie nahegelegene Postleitzahlen anhand derselben Kriterien, anstatt sich auf die Reputation der Region zu verlassen.',
'Use the results as a shortlist for listing alerts, local research, and viewings.':
'Verwenden Sie die Ergebnisse als Auswahlliste für die Auflistung von Benachrichtigungen, lokale Recherchen und Besichtigungen.',
'Separate cheap from good value': 'Trennen Sie günstig vom guten Preis-Leistungs-Verhältnis',
'Verwenden Sie die Ergebnisse als Auswahlliste für Angebotsbenachrichtigungen, lokale Recherchen und Besichtigungen.',
'Separate cheap from good value':
'Unterscheiden Sie günstig von gutem Preis-Leistungs-Verhältnis',
'A lower price can reflect smaller homes, weaker transport, more noise, or fewer local services. The map keeps those trade-offs visible so the cheapest postcode isnt automatically treated as the best option.':
'Ein niedrigerer Preis kann auf kleinere Häuser, schwächere Transportmöglichkeiten, mehr Lärm oder weniger lokale Dienstleistungen zurückzuführen sein. Die Karte macht diese Kompromisse sichtbar, sodass die günstigste Postleitzahl nicht automatisch als beste Option behandelt wird.',
'Start from area value, not listing availability':
'Beginnen Sie mit dem Flächenwert und geben Sie nicht die Verfügbarkeit an',
'Beginnen Sie mit dem Wert eines Gebiets, nicht mit der Verfügbarkeit von Angeboten',
'Listing portals only show homes for sale today. A postcode-level property price map lets you compare wider areas, understand local price patterns, and avoid missing places where the next suitable listing might appear.':
'Auf Immobilienportalen werden heute ausschließlich Häuser zum Verkauf angeboten. Mit einer Immobilienpreiskarte auf Postleitzahlenebene können Sie größere Gebiete vergleichen, lokale Preismuster verstehen und vermeiden, Orte zu verpassen, an denen das nächste passende Angebot erscheinen könnte.',
'Use prices alongside real constraints': 'Nutzen Sie Preise neben realen Zwängen',
'Immobilienportale zeigen nur Häuser, die heute zum Verkauf stehen. Eine Immobilienpreiskarte auf Postleitzahlenebene ermöglicht es Ihnen, größere Gebiete zu vergleichen, lokale Preismuster zu verstehen und keine Orte zu verpassen, an denen das nächste passende Angebot erscheinen könnte.',
'Use prices alongside real constraints':
'Nutzen Sie Preise zusammen mit realen Anforderungen',
'Budget rarely matters on its own. Perfect Postcode combines price filters with travel time, school quality, property size, energy performance, local environment, and services so your shortlist reflects how you actually want to live.':
'Das Budget allein spielt selten eine Rolle. Perfect Postcode kombiniert Preisfilter mit Reisezeit, Schulqualität, Grundstücksgröße, Energieleistung, lokaler Umgebung und Dienstleistungen, sodass Ihre Auswahlliste widerspiegelt, wie Sie tatsächlich leben möchten.',
'Das Budget allein zählt selten. Perfect Postcode kombiniert Preisfilter mit Reisezeit, Schulqualität, Wohnfläche, Energieeffizienz, lokaler Umgebung und Dienstleistungen, sodass Ihre Auswahlliste widerspiegelt, wie Sie tatsächlich leben möchten.',
'What the price data is for': 'Wozu dienen die Preisdaten?',
'Use the map to compare areas and spot search candidates. It isnt a valuation, mortgage decision, survey, legal search, or live listing feed.':
'Nutzen Sie die Karte, um Gebiete zu vergleichen und Suchkandidaten zu erkennen. Es handelt sich nicht um eine Bewertung, eine Hypothekenentscheidung, eine Umfrage, eine rechtliche Suche oder einen Live-Eintrags-Feed.',
'How to validate a promising area': 'So validieren Sie einen vielversprechenden Bereich',
'Nutzen Sie die Karte, um Gebiete zu vergleichen und Suchkandidaten zu erkennen. Es handelt sich nicht um eine Wertermittlung, eine Hypothekenentscheidung, ein Gutachten, eine rechtliche Prüfung oder einen Live-Angebots-Feed.',
'How to validate a promising area': 'So validieren Sie ein vielversprechendes Gebiet',
'Once a postcode looks promising, check current listings, sold-price comparables, agent details, flood searches, legal packs, surveys, and local authority information before making a decision.':
'Sobald eine Postleitzahl vielversprechend aussieht, prüfen Sie aktuelle Angebote, Vergleichswerte zu Verkaufspreisen, Maklerdetails, Überschwemmungssuchen, Rechtsbeilagen, Umfragen und Informationen der örtlichen Behörden, bevor Sie eine Entscheidung treffen.',
'Sobald eine Postleitzahl vielversprechend aussieht, prüfen Sie aktuelle Angebote, Vergleichswerte zu Verkaufspreisen, Maklerdetails, Hochwasser-Recherchen, rechtliche Unterlagen, Gutachten und Informationen der örtlichen Behörden, bevor Sie eine Entscheidung treffen.',
'Is this a replacement for Rightmove or Zoopla?':
'Ist dies ein Ersatz für Rightmove oder Zoopla?',
'No. Use it before and alongside listing portals. Perfect Postcode helps decide where to look; listing portals show whats currently for sale.':
@ -154,7 +156,7 @@ const de: Translations = {
'Ja. Preisfilter können mit Reisezeit-, Schul-, Kriminalitäts-, Breitband-, Straßenlärm-, Ausstattungs- und Umgebungsfiltern kombiniert werden.',
'Does the map cover all of the UK?': 'Deckt die Karte ganz Großbritannien ab?',
'The current product focuses on England because several core property and postcode datasets are England-specific.':
'Das aktuelle Produkt konzentriert sich auf England, da mehrere Kerndatensätze zu Grundstücken und Postleitzahlen spezifisch für England sind.',
'Das aktuelle Produkt konzentriert sich auf England, da mehrere zentrale Datensätze zu Immobilien und Postleitzahlen spezifisch für England sind.',
'Birmingham property search guide': 'Leitfaden für die Immobiliensuche in Birmingham',
'A worked example for balancing price, commute, and family trade-offs.':
'Ein praktisches Beispiel für den Ausgleich von Preis-, Pendel- und Familienkompromissen.',
@ -174,19 +176,19 @@ const de: Translations = {
'Postcode property search - Find areas that match your criteria':
'Immobiliensuche nach Postleitzahlen Finden Sie Gebiete, die Ihren Kriterien entsprechen',
'Search every postcode by budget, property type, floor area, tenure, commute, schools, crime, broadband, noise, parks and local amenities.':
'Durchsuchen Sie jede Postleitzahl nach Budget, Immobilientyp, Grundfläche, Besitz, Pendelverkehr, Schulen, Kriminalität, Breitband, Lärm, Parks und lokalen Annehmlichkeiten.',
'Durchsuchen Sie jede Postleitzahl nach Budget, Immobilientyp, Wohnfläche, Eigentumsform, Pendelweg, Schulen, Kriminalität, Breitband, Lärm, Parks und örtlichen Annehmlichkeiten.',
'Search every postcode by budget, property type, size, tenure, commute, schools, crime, broadband, noise, parks, and local amenities instead of checking areas one at a time.':
'Durchsuchen Sie jede Postleitzahl nach Budget, Immobilientyp, Größe, Nutzungsdauer, Pendelverkehr, Schulen, Kriminalität, Breitband, Lärm, Parks und lokalen Annehmlichkeiten, anstatt die Gebiete einzeln zu überprüfen.',
'Durchsuchen Sie jede Postleitzahl nach Budget, Immobilientyp, Größe, Eigentumsform, Pendelweg, Schulen, Kriminalität, Breitband, Lärm, Parks und örtlichen Annehmlichkeiten, anstatt die Gebiete einzeln zu überprüfen.',
'Filter England-wide postcode data from one map.':
'Filtern Sie englandweite Postleitzahlendaten aus einer Karte.',
'Shortlist unfamiliar areas with comparable evidence.':
'Nehmen Sie unbekannte Gebiete mit vergleichbaren Beweisen in die engere Auswahl.',
'Nehmen Sie unbekannte Gebiete mit vergleichbaren Belegen in die engere Auswahl.',
'Save and share search areas before booking viewings.':
'Speichern und teilen Sie Suchbereiche, bevor Sie Besichtigungen buchen.',
'Turn a broad brief into postcode candidates':
'Verwandeln Sie einen umfassenden Auftrag in Postleitzahlenkandidaten',
'Enter the practical constraints first: budget, property size, tenure, travel time, school needs, broadband, and tolerance for road noise or crime levels. The map removes places that fail those constraints and keeps the remaining options comparable.':
'Geben Sie zunächst die praktischen Einschränkungen ein: Budget, Grundstücksgröße, Besitzdauer, Reisezeit, Schulbedarf, Breitbandanschluss und Toleranz gegenüber Straßenlärm oder Kriminalität. Die Karte entfernt Orte, die diese Einschränkungen nicht erfüllen, und sorgt dafür, dass die verbleibenden Optionen vergleichbar bleiben.',
'Geben Sie zunächst die praktischen Einschränkungen ein: Budget, Wohnfläche, Eigentumsform, Reisezeit, Schulbedarf, Breitbandanschluss und Toleranz gegenüber Straßenlärm oder Kriminalität. Die Karte entfernt Orte, die diese Einschränkungen nicht erfüllen, und sorgt dafür, dass die verbleibenden Optionen vergleichbar bleiben.',
'Relax one constraint at a time': 'Lockern Sie eine Einschränkung nach der anderen',
'When the search becomes too narrow, loosen a single filter and watch which postcodes reappear. This makes compromise explicit instead of relying on guesswork.':
'Wenn die Suche zu eng wird, lockern Sie einen einzelnen Filter und beobachten Sie, welche Postleitzahlen wieder auftauchen. Dies macht Kompromisse explizit, anstatt sich auf Vermutungen zu verlassen.',
@ -232,18 +234,18 @@ const de: Translations = {
'Search by destination first, then filter for property and neighbourhood fit.':
'Suchen Sie zuerst nach Reiseziel und filtern Sie dann nach der passenden Immobilie und Nachbarschaft.',
'Avoid areas that look close on a map but fail the daily journey.':
'Vermeiden Sie Gebiete, die auf einer Karte zwar nah anmutend aussehen, auf der täglichen Reise aber scheitern.',
'Vermeiden Sie Gebiete, die auf einer Karte nah aussehen, aber bei der täglichen Fahrt durchfallen.',
'Start with the destination that matters': 'Beginnen Sie mit dem Ziel, das zählt',
'Choose a commute destination, transport mode, and time range, then add the property filters. This prevents a cheap-looking area from reaching the shortlist if the daily journey doesnt work.':
'Wählen Sie ein Pendelziel, ein Transportmittel und einen Zeitraum aus und fügen Sie dann die Eigenschaftsfilter hinzu. Dadurch wird verhindert, dass ein günstig erscheinendes Gebiet in die engere Wahl kommt, wenn die tägliche Anreise nicht klappt.',
'Wählen Sie ein Pendelziel, ein Verkehrsmittel und einen Zeitrahmen aus und fügen Sie dann die Immobilienfilter hinzu. Dadurch wird verhindert, dass ein günstig wirkendes Gebiet in die engere Wahl kommt, wenn die tägliche Anreise nicht klappt.',
'Compare the commute against the rest of daily life':
'Vergleichen Sie den Weg zur Arbeit mit dem Rest des täglichen Lebens',
'A fast commute isnt enough if the property size, school context, safety threshold, broadband, or road-noise exposure dont fit. The map keeps those signals side by side.':
'Ein schnelles Pendeln reicht nicht aus, wenn die Grundstücksgröße, der Schulkontext, die Sicherheitsschwelle, das Breitbandnetz oder die Straßenlärmbelastung nicht passen. Die Karte hält diese Signale nebeneinander.',
'Ein schnelles Pendeln reicht nicht aus, wenn Wohnfläche, Schulkontext, Sicherheitsschwelle, Breitband oder Straßenlärm nicht passen. Die Karte zeigt diese Signale nebeneinander an.',
'Commute from postcodes, not just place names':
'Pendeln Sie über Postleitzahlen, nicht nur über Ortsnamen',
'Two streets in the same town can have very different station access, road routes, and public transport options. Postcode-level travel-time filtering keeps that difference visible.':
'Zwei Straßen in derselben Stadt können sehr unterschiedliche Bahnhofszufahrten, Straßenrouten und öffentliche Verkehrsmittel haben. Durch die Reisezeitfilterung auf Postleitzahlenebene bleibt dieser Unterschied sichtbar.',
'Zwei Straßen in derselben Stadt können sehr unterschiedliche Bahnanbindungen, Straßenrouten und ÖPNV-Optionen haben. Durch die Reisezeitfilterung auf Postleitzahlenebene bleibt dieser Unterschied sichtbar.',
'Balance journey time with the rest of the move':
'Gleichen Sie die Reisezeit mit dem Rest des Umzugs aus',
'A fast commute only helps if the area also fits your budget, housing needs, school preferences, safety threshold, broadband requirement, and tolerance for road noise.':
@ -251,37 +253,37 @@ const de: Translations = {
'How travel-time filters should be interpreted':
'Wie Reisezeitfilter interpretiert werden sollten',
'Travel-time modelling is useful for comparing areas consistently. Before committing, check current timetables, disruption patterns, parking, cycling conditions, and walking routes.':
'Die Reisezeitmodellierung ist nützlich, um Gebiete konsistent zu vergleichen. Bevor Sie sich verpflichten, prüfen Sie die aktuellen Fahrpläne, Störungsmuster, Parkmöglichkeiten, Fahrradbedingungen und Wanderrouten.',
'Die Reisezeitmodellierung ist nützlich, um Gebiete konsistent zu vergleichen. Bevor Sie sich festlegen, prüfen Sie aktuelle Fahrpläne, Störungsmuster, Parkmöglichkeiten, Radfahrbedingungen und Fußwege.',
'Why commute filters are combined with property data':
'Warum Pendelfilter mit Immobiliendaten kombiniert werden',
'Commute search is most useful when it removes impossible areas while still showing whether the remaining options are affordable and liveable.':
'Die Pendelsuche ist am nützlichsten, wenn sie unmögliche Bereiche entfernt und gleichzeitig anzeigt, ob die verbleibenden Optionen erschwinglich und lebenswert sind.',
'Can I compare car, cycling, walking, and public transport?':
'Kann ich Auto, Radfahren, Wandern und öffentliche Verkehrsmittel vergleichen?',
'Kann ich Auto, Fahrrad, Zu-Fuß-Gehen und öffentliche Verkehrsmittel vergleichen?',
'The product supports multiple travel modes where precomputed destination data is available.':
'Das Produkt unterstützt mehrere Reisemodi, bei denen vorberechnete Zieldaten verfügbar sind.',
'Are travel times exact?': 'Sind die Reisezeiten genau?',
'No. Treat them as a consistent comparison model, then verify the real route before making viewing or purchase decisions.':
'Nein. Behandeln Sie sie als konsistentes Vergleichsmodell und überprüfen Sie dann die tatsächliche Route, bevor Sie eine Betrachtungs- oder Kaufentscheidung treffen.',
'Nein. Behandeln Sie sie als konsistentes Vergleichsmodell und überprüfen Sie dann die tatsächliche Route, bevor Sie eine Besichtigungs- oder Kaufentscheidung treffen.',
'Can I combine commute filters with schools and price?':
'Kann ich Pendelfilter mit Schulen und Preis kombinieren?',
'Yes. The commute filter can be layered with property price, size, schools, broadband, crime, amenities, and environmental signals.':
'Ja. Der Pendelfilter kann mit Immobilienpreis, Größe, Schulen, Breitband, Kriminalität, Ausstattung und Umweltsignalen geschichtet werden.',
'Ja. Der Pendelfilter lässt sich mit Immobilienpreis, Größe, Schulen, Breitband, Kriminalität, Ausstattung und Umweltsignalen kombinieren.',
'Bristol property search guide': 'Leitfaden zur Immobiliensuche in Bristol',
'A worked example for balancing city access, price, and local context.':
'Ein praktisches Beispiel für den Ausgleich von Stadterreichbarkeit, Preis und lokalem Kontext.',
'Search by commute time': 'Suche nach Pendelzeit',
'Schools and property search': 'Suche nach Schulen und Immobilien',
'Find property search areas with schools and family trade-offs in view':
'Finden Sie Immobiliensuchgebiete mit Blick auf Schulen und Familienkonflikte',
'Finden Sie Immobiliensuchgebiete mit Blick auf Schulen und Familienkompromisse',
'School property search - Compare postcodes for family moves':
'Suche nach Schulgrundstücken Vergleichen Sie Postleitzahlen für Familienumzüge',
'Schulorientierte Immobiliensuche Vergleichen Sie Postleitzahlen für Familienumzüge',
'Compare nearby schools, property size, prices, parks, safety, commute and local amenities before building a viewing shortlist.':
'Vergleichen Sie Schulen in der Nähe, Grundstücksgröße, Preise, Parks, Sicherheit, Pendelverkehr und örtliche Annehmlichkeiten, bevor Sie eine Besichtigungsliste erstellen.',
'Vergleichen Sie Schulen in der Nähe, Wohnfläche, Preise, Parks, Sicherheit, Pendelweg und örtliche Annehmlichkeiten, bevor Sie eine Besichtigungs-Auswahlliste erstellen.',
'Compare nearby Ofsted ratings, education context, property size, budget, safety, parks, commute, and local amenities before narrowing your viewing shortlist.':
'Vergleichen Sie die Bewertungen von Ofsted in der Nähe, Bildungskontext, Grundstücksgröße, Budget, Sicherheit, Parks, Pendelverkehr und örtliche Annehmlichkeiten, bevor Sie Ihre Auswahlliste eingrenzen.',
'Vergleichen Sie Ofsted-Bewertungen in der Nähe, den Bildungskontext, die Wohnfläche, das Budget, die Sicherheit, Parks, den Pendelweg und örtliche Annehmlichkeiten, bevor Sie Ihre Besichtigungs-Auswahlliste eingrenzen.',
'Filter for nearby school quality alongside housing requirements.':
'Filtern Sie neben den Wohnbedürfnissen auch nach der Qualität einer Schule in der Nähe.',
'Filtern Sie nach der Qualität von Schulen in der Nähe zusammen mit den Wohnanforderungen.',
'Compare family-friendly trade-offs across unfamiliar postcodes.':
'Vergleichen Sie familienfreundliche Kompromisse über unbekannte Postleitzahlen hinweg.',
'Use the map as a shortlist tool before checking admissions and catchments.':
@ -289,7 +291,7 @@ const de: Translations = {
'Use school context without ignoring the home':
'Nutzen Sie den schulischen Kontext, ohne das Zuhause zu vernachlässigen',
'Start with property size, budget, and commute constraints, then layer in nearby school quality and local context. This prevents school-led searches from hiding affordability or daily-life problems.':
'Beginnen Sie mit der Grundstücksgröße, dem Budget und den Pendelbeschränkungen und berücksichtigen Sie dann die Qualität der nahegelegenen Schule und den lokalen Kontext. Dadurch wird verhindert, dass schulische Suchvorgänge Erschwinglichkeits- oder Alltagsprobleme verbergen.',
'Beginnen Sie mit Wohnfläche, Budget und Pendelbeschränkungen und ergänzen Sie dann die Qualität der nahegelegenen Schulen und den lokalen Kontext. Dadurch wird verhindert, dass schulgeführte Suchen Erschwinglichkeits- oder Alltagsprobleme verbergen.',
'Verify admissions before deciding':
'Überprüfen Sie die Zulassungen, bevor Sie eine Entscheidung treffen',
'School data can point to promising areas, but admissions rules and catchments can change. Confirm current arrangements with schools and local authorities.':
@ -297,7 +299,7 @@ const de: Translations = {
'School quality is one part of the shortlist':
'Die Schulqualität ist ein Teil der engeren Auswahl',
'Perfect Postcode helps you compare nearby school data with the other practical constraints that shape a family move: space, price, commute, parks, safety, and local services.':
'Mit Perfect Postcode können Sie die Daten einer nahegelegenen Schule mit den anderen praktischen Einschränkungen vergleichen, die einen Familienumzug beeinflussen: Platz, Preis, Pendelverkehr, Parks, Sicherheit und örtliche Dienstleistungen.',
'Mit Perfect Postcode können Sie die Daten naheliegender Schulen mit den anderen praktischen Einschränkungen vergleichen, die einen Familienumzug beeinflussen: Platz, Preis, Pendelweg, Parks, Sicherheit und örtliche Dienstleistungen.',
'Check catchments before making decisions':
'Überprüfen Sie die Einzugsgebiete, bevor Sie Entscheidungen treffen',
'Admissions rules and catchment boundaries can change. Use postcode-level school data to find promising areas, then verify current admissions details with the school or local authority.':
@ -307,29 +309,29 @@ const de: Translations = {
'Verwenden Sie Schulfilter, um die Recherche einzugrenzen und nicht, um eine Zulassungsberechtigung anzunehmen. Bewertungen, Entfernung, Zulassungskriterien und Schulkapazität sollten anhand aktueller offizieller Quellen überprüft werden.',
'Family trade-offs to compare': 'Familienkompromisse zum Vergleich',
'Combine schools with parks, road noise, crime, property size, commute, broadband, and price so the shortlist reflects the whole move.':
'Kombinieren Sie Schulen mit Parks, Straßenlärm, Kriminalität, Grundstücksgröße, Pendelverkehr, Breitband und Preis, damit die Auswahlliste den gesamten Umzug widerspiegelt.',
'Kombinieren Sie Schulen mit Parks, Straßenlärm, Kriminalität, Wohnfläche, Pendelweg, Breitband und Preis, damit die Auswahlliste den gesamten Umzug widerspiegelt.',
'Does this show school catchment guarantees?':
'Zeigt dies die Einzugsgebietsgarantien der Schule?',
'Zeigt dies garantierte Schul-Einzugsgebiete?',
'No. It helps identify promising areas, but catchments and admissions must be verified with the school or local authority.':
'Nein. Es hilft dabei, vielversprechende Gebiete zu identifizieren, Einzugsgebiete und Zulassungen müssen jedoch bei der Schule oder der örtlichen Behörde überprüft werden.',
'Can I combine school filters with parks and safety?':
'Kann ich Schulfilter mit Parks und Sicherheit kombinieren?',
'Yes. School-aware search can be combined with crime, parks, commute, price, property size, and local services.':
'Ja. Die schulbezogene Suche kann mit Kriminalität, Parks, Pendelverkehr, Preis, Grundstücksgröße und lokalen Dienstleistungen kombiniert werden.',
'Ja. Die schulbezogene Suche kann mit Kriminalität, Parks, Pendelweg, Preis, Wohnfläche und lokalen Dienstleistungen kombiniert werden.',
'Is Ofsted the only school signal?': 'Ist Ofsted das einzige Schulsignal?',
'No single score should decide a move. Use the map as a starting point, then review current school information in detail.':
'Kein einzelnes Ergebnis sollte über einen Zug entscheiden. Nutzen Sie die Karte als Ausgangspunkt und sehen Sie sich dann die aktuellen Schulinformationen im Detail an.',
'Kein einzelner Wert sollte über einen Umzug entscheiden. Nutzen Sie die Karte als Ausgangspunkt und sehen Sie sich dann die aktuellen Schulinformationen im Detail an.',
'See where education, property, transport, and environment data comes from.':
'Sehen Sie, woher Bildungs-, Immobilien-, Transport- und Umweltdaten stammen.',
'Explore school-aware searches': 'Entdecken Sie schulbezogene Suchanfragen',
'Check postcode data before you book a viewing':
'Überprüfen Sie die Postleitzahlendaten, bevor Sie eine Besichtigung buchen',
'Postcode checker - Property, crime, broadband, noise and schools':
'Postleitzahlenprüfer Eigentum, Kriminalität, Breitband, Lärm und Schulen',
'Postleitzahlenprüfer Immobilien, Kriminalität, Breitband, Lärm und Schulen',
'Check postcode-level property prices, EPC data, crime, broadband, road noise, schools, council tax, amenities and travel-time context.':
'Überprüfen Sie Immobilienpreise auf Postleitzahlenebene, EPC-Daten, Kriminalität, Breitband, Straßenlärm, Schulen, Gemeindesteuer, Annehmlichkeiten und Reisezeitkontext.',
'Überprüfen Sie Immobilienpreise auf Postleitzahlenebene, EPC-Daten, Kriminalität, Breitband, Straßenlärm, Schulen, Council Tax, Annehmlichkeiten und Reisezeitkontext.',
'Review property prices, EPC context, crime, broadband, road noise, local amenities, schools, deprivation, council tax, and travel-time data from one postcode-first map.':
'Überprüfen Sie Immobilienpreise, EPC-Kontext, Kriminalität, Breitband, Straßenlärm, örtliche Annehmlichkeiten, Schulen, Benachteiligung, Gemeindesteuer und Reisezeitdaten auf einer Postleitzahlenkarte.',
'Überprüfen Sie Immobilienpreise, EPC-Kontext, Kriminalität, Breitband, Straßenlärm, örtliche Annehmlichkeiten, Schulen, Deprivation, Council Tax und Reisezeitdaten auf einer postleitzahlenbasierten Karte.',
'Check multiple local signals before visiting a street.':
'Überprüfen Sie mehrere örtliche Signale, bevor Sie eine Straße besuchen.',
'Use official and open datasets rather than reputation alone.':
@ -337,25 +339,25 @@ const de: Translations = {
'Compare postcodes consistently across England.':
'Vergleichen Sie Postleitzahlen einheitlich in ganz England.',
'Check the street before spending a viewing slot':
'Überprüfen Sie die Straße, bevor Sie einen Besichtigungstermin verbringen',
'Prüfen Sie die Straße, bevor Sie einen Besichtigungstermin nutzen',
'Use the postcode checker to review price history, local context, amenities, schools, and environment signals before you commit time to visiting.':
'Nutzen Sie den Postleitzahlen-Checker, um die Preisentwicklung, den lokalen Kontext, die Ausstattung, Schulen und Umgebungssignale zu überprüfen, bevor Sie sich Zeit für einen Besuch nehmen.',
'Compare neighbouring postcodes': 'Vergleichen Sie benachbarte Postleitzahlen',
'If one postcode looks promising, compare adjacent areas using the same filters. This often reveals whether a concern is street-specific or part of a wider pattern.':
'Wenn eine Postleitzahl vielversprechend aussieht, vergleichen Sie benachbarte Gebiete mit denselben Filtern. Dies zeigt oft, ob ein Problem straßenspezifisch ist oder Teil eines umfassenderen Musters ist.',
'Wenn eine Postleitzahl vielversprechend aussieht, vergleichen Sie benachbarte Gebiete mit denselben Filtern. Dies zeigt oft, ob ein Problem straßenspezifisch ist oder Teil eines umfassenderen Musters.',
'Useful before and alongside listing portals': 'Nützlich vor und neben Immobilienportalen',
'Listing photos rarely tell you enough about the surrounding street. Perfect Postcode gives you an evidence-led postcode check before you commit time to a viewing.':
'Die Auflistungsfotos verraten Ihnen selten genug über die umliegende Straße. Perfect Postcode bietet Ihnen eine evidenzbasierte Postleitzahlenprüfung, bevor Sie sich Zeit für eine Besichtigung nehmen.',
'Inseratsfotos verraten Ihnen selten genug über die umliegende Straße. Perfect Postcode bietet Ihnen eine evidenzbasierte Postleitzahlenprüfung, bevor Sie sich Zeit für eine Besichtigung nehmen.',
'A screening tool, not professional advice':
'Ein Screening-Tool, keine professionelle Beratung',
'The data is designed for shortlisting and comparison. Any purchase still needs current listing checks, legal due diligence, flood searches, lender requirements, and survey findings.':
'Die Daten dienen der Auswahl und dem Vergleich. Für jeden Kauf sind weiterhin aktuelle Auflistungsprüfungen, rechtliche Due-Diligence-Prüfungen, Hochwasserrecherchen, Kreditgeberanforderungen und Umfrageergebnisse erforderlich.',
'What a postcode check can catch': 'Was ein Postleitzahlen-Check fangen kann',
'Die Daten dienen der Auswahl und dem Vergleich. Für jeden Kauf sind weiterhin aktuelle Inseratsprüfungen, rechtliche Due-Diligence-Prüfungen, Hochwasserrecherchen, Kreditgeberanforderungen und Gutachterergebnisse erforderlich.',
'What a postcode check can catch': 'Was eine Postleitzahlenprüfung erkennen kann',
'A postcode check can surface price context, environmental signals, nearby amenities, and other local indicators that are easy to miss in a listing.':
'Eine Postleitzahlenprüfung kann Preiskontext, Umweltsignale, nahegelegene Annehmlichkeiten und andere lokale Indikatoren aufdecken, die in einem Eintrag leicht übersehen werden.',
'Eine Postleitzahlenprüfung kann Preiskontext, Umweltsignale, nahegelegene Annehmlichkeiten und andere lokale Indikatoren aufdecken, die in einem Inserat leicht übersehen werden.',
'What a postcode check cant prove': 'Was eine Postleitzahlenprüfung nicht beweisen kann',
'It cant confirm the condition of a home, future development, legal title, lender requirements, or current street-level experience. Those still need direct checks.':
'Es kann nicht den Zustand eines Hauses, die zukünftige Entwicklung, den Rechtstitel, die Anforderungen des Kreditgebers oder die aktuelle Erfahrung auf Straßenniveau bestätigen. Diese benötigen noch direkte Kontrollen.',
'Sie kann nicht den Zustand eines Hauses, künftige Bauvorhaben, den Rechtstitel, die Anforderungen des Kreditgebers oder den aktuellen Eindruck auf Straßenebene bestätigen. Diese erfordern weiterhin direkte Prüfungen.',
'Can I use the checker before a viewing?':
'Kann ich den Checker vor einer Besichtigung nutzen?',
'Yes. Thats one of the main use cases: screen the postcode first, then decide whether the viewing is worth the time.':
@ -363,7 +365,7 @@ const de: Translations = {
'Does the checker include exact property condition?':
'Enthält der Prüfer den genauen Zustand der Immobilie?',
'No. Property condition requires listing details, surveys, and direct inspection.':
'Nein. Für den Immobilienzustand sind detaillierte Angaben zur Auflistung, Gutachten und eine direkte Besichtigung erforderlich.',
'Nein. Für den Immobilienzustand sind Inseratsangaben, Gutachten und eine direkte Besichtigung erforderlich.',
'Can I compare multiple postcodes?': 'Kann ich mehrere Postleitzahlen vergleichen?',
'Yes. The map is designed for consistent comparison across postcodes.':
'Ja. Die Karte ist für einen konsistenten Vergleich über mehrere Postleitzahlen hinweg konzipiert.',
@ -372,11 +374,11 @@ const de: Translations = {
'How to compare Birmingham postcodes before a property search':
'So vergleichen Sie die Postleitzahlen von Birmingham vor einer Immobiliensuche',
'Birmingham property search - Compare postcodes by price and commute':
'Immobiliensuche in Birmingham Vergleichen Sie Postleitzahlen nach Preis und Arbeitsweg',
'Immobiliensuche in Birmingham Vergleichen Sie Postleitzahlen nach Preis und Pendelweg',
'Use postcode-level data to compare Birmingham property prices, commute trade-offs, schools, crime, broadband and local amenities before viewings.':
'Nutzen Sie Daten auf Postleitzahlenebene, um Immobilienpreise in Birmingham, Kompromisse beim Pendeln, Schulen, Kriminalität, Breitband und örtliche Annehmlichkeiten vor Besichtigungen zu vergleichen.',
'Nutzen Sie Daten auf Postleitzahlenebene, um Immobilienpreise in Birmingham, Pendel-Kompromisse, Schulen, Kriminalität, Breitband und örtliche Annehmlichkeiten vor Besichtigungen zu vergleichen.',
'Birmingham searches can change quickly from street to street. Use postcode-level evidence to compare budget, commute, schools, noise, crime, and local services before deciding where to watch listings.':
'Die Suche in Birmingham kann sich von Straße zu Straße schnell ändern. Nutzen Sie Beweise auf Postleitzahlenebene, um Budget, Pendelverkehr, Schulen, Lärm, Kriminalität und örtliche Dienstleistungen zu vergleichen, bevor Sie entscheiden, wo Sie Einträge ansehen möchten.',
'Die Suche in Birmingham kann sich von Straße zu Straße schnell ändern. Nutzen Sie Belege auf Postleitzahlenebene, um Budget, Pendelweg, Schulen, Lärm, Kriminalität und örtliche Dienstleistungen zu vergleichen, bevor Sie entscheiden, wo Sie Inserate beobachten möchten.',
'Start with commute corridors': 'Beginnen Sie mit Pendelkorridoren',
'Choose the destination that matters, such as a workplace, station, university, or hospital, then compare reachable postcodes by transport mode and travel-time band.':
'Wählen Sie das gewünschte Ziel aus, z. B. einen Arbeitsplatz, einen Bahnhof, eine Universität oder ein Krankenhaus, und vergleichen Sie dann erreichbare Postleitzahlen nach Verkehrsmittel und Reisezeitspanne.',
@ -386,21 +388,21 @@ const de: Translations = {
'Vergleichen Sie öffentliche Verkehrsmittel mit dem Auto, dem Fahrrad oder zu Fuß, sofern verfügbar.',
'Check the route manually before booking viewings.':
'Überprüfen Sie die Route manuell, bevor Sie Besichtigungen buchen.',
'Compare price with property type': 'Vergleichen Sie den Preis mit der Immobilienart',
'Compare price with property type': 'Vergleichen Sie den Preis mit dem Immobilientyp',
'Median prices alone can be misleading if the local property mix changes. Add property type, tenure, floor area, and price filters so similar areas are compared fairly.':
'Allein die Medianpreise können irreführend sein, wenn sich der Immobilienmix vor Ort ändert. Fügen Sie Filter für Immobilienart, Grundstücksfläche, Grundfläche und Preis hinzu, damit ähnliche Flächen fair verglichen werden können.',
'Medianpreise allein können irreführend sein, wenn sich der lokale Immobilienmix ändert. Fügen Sie Filter für Immobilientyp, Eigentumsform, Wohnfläche und Preis hinzu, damit ähnliche Gebiete fair verglichen werden.',
'Keep family and environment trade-offs visible':
'Halten Sie die Kompromisse zwischen Familie und Umwelt sichtbar',
'Layer school context, parks, road noise, broadband, and crime signals on top of the property filters. That makes it easier to decide which compromises are acceptable.':
'Überlagern Sie den Grundstücksfilter mit Schulkontext, Parks, Straßenlärm, Breitband und Kriminalitätssignalen. Das erleichtert die Entscheidung, welche Kompromisse akzeptabel sind.',
'Überlagern Sie die Immobilienfilter mit Schulkontext, Parks, Straßenlärm, Breitband und Kriminalitätssignalen. Das erleichtert die Entscheidung, welche Kompromisse akzeptabel sind.',
'Can Perfect Postcode tell me the best area in Birmingham?':
'Kann mir Perfect Postcode die beste Gegend in Birmingham nennen?',
'No tool can decide the best area for every buyer. It helps compare postcodes against your own constraints so you can build a better shortlist.':
'Kein Tool kann für jeden Käufer den besten Bereich bestimmen. Es hilft Ihnen, Postleitzahlen mit Ihren eigenen Einschränkungen zu vergleichen, sodass Sie eine bessere Auswahlliste erstellen können.',
'Kein Tool kann für jeden Käufer das beste Gebiet bestimmen. Es hilft Ihnen, Postleitzahlen mit Ihren eigenen Anforderungen abzugleichen, sodass Sie eine bessere Auswahlliste erstellen können.',
'Should I use this instead of local knowledge?':
'Sollte ich dies anstelle von lokalem Wissen verwenden?',
'No. Use it to find and compare candidates, then validate them with visits, local advice, listings, and official checks.':
'Nein. Verwenden Sie es, um Kandidaten zu finden und zu vergleichen und sie dann durch Besuche, Beratung vor Ort, Auflistungen und offizielle Überprüfungen zu validieren.',
'Nein. Verwenden Sie es, um Kandidaten zu finden und zu vergleichen, und validieren Sie sie dann durch Besuche, Beratung vor Ort, Inserate und offizielle Überprüfungen.',
'Compare price patterns before looking at live listings.':
'Vergleichen Sie Preismuster, bevor Sie sich Live-Angebote ansehen.',
'Search by travel time and then layer on property requirements.':
@ -413,9 +415,9 @@ const de: Translations = {
'Manchester property search - Compare postcodes before viewing':
'Immobiliensuche in Manchester Vergleichen Sie die Postleitzahlen vor der Besichtigung',
'Compare Manchester-area postcodes by budget, commute, property type, schools, broadband, crime, noise and amenities before booking viewings.':
'Vergleichen Sie Postleitzahlen im Raum Manchester nach Budget, Pendlerweg, Immobilientyp, Schulen, Breitband, Kriminalität, Lärm und Ausstattung, bevor Sie Besichtigungen buchen.',
'Vergleichen Sie Postleitzahlen im Raum Manchester nach Budget, Pendelweg, Immobilientyp, Schulen, Breitband, Kriminalität, Lärm und Ausstattung, bevor Sie Besichtigungen buchen.',
'A Manchester-area search can span city-centre, suburban, and commuter options. Perfect Postcode helps keep each postcode comparable against the same property and daily-life constraints.':
'Eine Suche im Raum Manchester kann Optionen im Stadtzentrum, in Vorstädten und für Pendler umfassen. Perfect Postcode trägt dazu bei, dass jede Postleitzahl mit den gleichen Grundstücks- und Alltagsbeschränkungen vergleichbar bleibt.',
'Eine Suche im Raum Manchester kann Optionen im Stadtzentrum, in Vorstädten und für Pendler umfassen. Perfect Postcode trägt dazu bei, dass jede Postleitzahl unter den gleichen Immobilien- und Alltagsanforderungen vergleichbar bleibt.',
'Use travel time to define the real search area':
'Nutzen Sie die Reisezeit, um das tatsächliche Suchgebiet zu definieren',
'Start from the destinations that matter, then compare reachable postcodes rather than assuming every nearby place has the same practical journey.':
@ -423,22 +425,22 @@ const de: Translations = {
'Compare housing requirements before lifestyle preferences':
'Vergleichen Sie zunächst die Wohnanforderungen und dann Ihre Lebensstilpräferenzen',
'Filter by property type, floor area, tenure, and price before judging amenities. That keeps the shortlist grounded in homes that could realistically work.':
'Filtern Sie nach Immobilientyp, Grundfläche, Nutzungsdauer und Preis, bevor Sie die Ausstattung beurteilen. Dadurch bleibt die Auswahlliste auf Häusern beschränkt, die realistisch funktionieren könnten.',
'Filtern Sie nach Immobilientyp, Wohnfläche, Eigentumsform und Preis, bevor Sie die Ausstattung beurteilen. Dadurch bleibt die Auswahlliste auf Häuser beschränkt, die realistisch in Frage kommen.',
'Check local context consistently': 'Überprüfen Sie den lokalen Kontext konsequent',
'Use broadband, crime, road noise, parks, schools, and amenities as comparable signals. Then validate the strongest candidates with current local checks.':
'Nutzen Sie Breitband, Kriminalität, Straßenlärm, Parks, Schulen und Einrichtungen als vergleichbare Signale. Anschließend validieren Sie die stärksten Kandidaten mit aktuellen lokalen Prüfungen.',
'Can I compare Manchester suburbs with city-centre postcodes?':
'Kann ich Vororte von Manchester mit Postleitzahlen im Stadtzentrum vergleichen?',
'Yes. Use the same budget, property, commute, and local-context filters across both so trade-offs remain visible.':
'Ja. Verwenden Sie für beide die gleichen Budget-, Immobilien-, Pendler- und lokalen Kontextfilter, damit Kompromisse sichtbar bleiben.',
'Does this include live listings?': 'Umfasst dies Live-Einträge?',
'Ja. Verwenden Sie für beide die gleichen Filter für Budget, Immobilie, Pendelweg und lokalen Kontext, damit Kompromisse sichtbar bleiben.',
'Does this include live listings?': 'Umfasst dies aktuelle Inserate?',
'No. Use it to decide where to search, then use listing portals for current homes for sale.':
'Nein. Verwenden Sie es, um zu entscheiden, wo Sie suchen möchten, und nutzen Sie dann die Angebotsportale für aktuelle zum Verkauf stehende Häuser.',
'Nein. Verwenden Sie es, um zu entscheiden, wo Sie suchen möchten, und nutzen Sie dann die Immobilienportale für aktuell zum Verkauf stehende Häuser.',
'Move from a broad search brief to specific postcode candidates.':
'Wechseln Sie von einem breiten Suchauftrag zu bestimmten Postleitzahlkandidaten.',
'Wechseln Sie von einem breiten Suchprofil zu konkreten Postleitzahl-Kandidaten.',
'Data sources': 'Datenquellen',
'Review the datasets used for property and local-context comparison.':
'Überprüfen Sie die Datensätze, die für den Eigenschafts- und lokalen Kontextvergleich verwendet werden.',
'Überprüfen Sie die Datensätze, die für den Vergleich von Immobilien und lokalem Kontext verwendet werden.',
'Check a single postcode before arranging a viewing.':
'Überprüfen Sie eine einzelne Postleitzahl, bevor Sie eine Besichtigung vereinbaren.',
'Compare Manchester postcodes': 'Vergleichen Sie die Postleitzahlen von Manchester',
@ -447,16 +449,16 @@ const de: Translations = {
'Bristol property search - Compare postcodes by commute and price':
'Immobiliensuche in Bristol Vergleichen Sie Postleitzahlen nach Pendelweg und Preis',
'Compare Bristol postcodes by price, commute, property size, schools, broadband, crime, road noise, parks and amenities before viewings.':
'Vergleichen Sie die Postleitzahlen von Bristol nach Preis, Pendlerweg, Grundstücksgröße, Schulen, Breitband, Kriminalität, Straßenlärm, Parks und Annehmlichkeiten vor der Besichtigung.',
'Vergleichen Sie die Postleitzahlen von Bristol nach Preis, Pendelweg, Wohnfläche, Schulen, Breitband, Kriminalität, Straßenlärm, Parks und Annehmlichkeiten vor der Besichtigung.',
'Bristol searches often involve sharp trade-offs between price, journey time, property size, and neighbourhood context. A postcode-first comparison keeps those trade-offs visible.':
'Bei Suchanfragen in Bristol müssen oft scharfe Kompromisse zwischen Preis, Reisezeit, Grundstücksgröße und Nachbarschaftskontext eingegangen werden. Ein Postleitzahlenvergleich macht diese Kompromisse sichtbar.',
'Bei Suchanfragen in Bristol müssen oft deutliche Kompromisse zwischen Preis, Reisezeit, Wohnfläche und Nachbarschaftskontext eingegangen werden. Ein postleitzahlenbasierter Vergleich macht diese Kompromisse sichtbar.',
'Make commute constraints explicit': 'Machen Sie Pendelbeschränkungen explizit',
'If access to the centre, a station, hospital, university, or business park matters, use travel-time filters first and then compare the remaining postcodes by property data.':
'Wenn die Erreichbarkeit des Zentrums, eines Bahnhofs, eines Krankenhauses, einer Universität oder eines Gewerbegebiets von Bedeutung ist, verwenden Sie zunächst Reisezeitfilter und vergleichen Sie dann die übrigen Postleitzahlen anhand der Grundstücksdaten.',
'Wenn die Erreichbarkeit des Zentrums, eines Bahnhofs, eines Krankenhauses, einer Universität oder eines Gewerbegebiets von Bedeutung ist, verwenden Sie zunächst Reisezeitfilter und vergleichen Sie dann die übrigen Postleitzahlen anhand der Immobiliendaten.',
'Compare value, not just headline price':
'Vergleichen Sie den Wert, nicht nur den Gesamtpreis',
'Use price, property type, and floor-area filters together. This helps distinguish lower-cost areas from areas that simply contain smaller or different homes.':
'Nutzen Sie Preis-, Immobilientyp- und Flächenfilter gemeinsam. Dies hilft dabei, kostengünstigere Gebiete von Gebieten zu unterscheiden, in denen sich lediglich kleinere oder andere Häuser befinden.',
'Nutzen Sie Preis-, Immobilientyp- und Wohnflächenfilter gemeinsam. Dies hilft dabei, günstigere Gebiete von Gebieten zu unterscheiden, in denen sich lediglich kleinere oder andere Häuser befinden.',
'Screen environmental and local-service signals':
'Überprüfen Sie Umgebungs- und lokale Servicesignale',
'Road noise, parks, broadband, crime, and amenities can affect whether a property works day to day. Use them as screening criteria before booking viewings.':
@ -466,43 +468,43 @@ const de: Translations = {
'Yes, where the relevant postcode and travel-time data is available. Always verify routes and services manually before deciding.':
'Ja, sofern die entsprechenden Postleitzahlen- und Reisezeitdaten verfügbar sind. Überprüfen Sie Routen und Dienste immer manuell, bevor Sie eine Entscheidung treffen.',
'Can this tell me whether a listing is good value?':
'Kann mir das sagen, ob ein Eintrag ein gutes Preis-Leistungs-Verhältnis bietet?',
'Kann mir das sagen, ob ein Inserat ein gutes Preis-Leistungs-Verhältnis bietet?',
'It can provide area context, but a specific listing still needs comparable sales, condition checks, survey findings, and professional advice where appropriate.':
'Es kann einen gebietsbezogenen Kontext bieten, aber für ein bestimmtes Angebot sind dennoch vergleichbare Verkäufe, Zustandsprüfungen, Umfrageergebnisse und gegebenenfalls professionelle Beratung erforderlich.',
'Es kann einen gebietsbezogenen Kontext bieten, aber für ein bestimmtes Inserat sind dennoch vergleichbare Verkäufe, Zustandsprüfungen, Gutachterergebnisse und gegebenenfalls professionelle Beratung erforderlich.',
'Search by reachable postcodes before refining by budget and local context.':
'Suchen Sie nach erreichbaren Postleitzahlen, bevor Sie die Suche nach Budget und lokalem Kontext verfeinern.',
'Understand price patterns before setting listing alerts.':
'Verstehen Sie Preismuster, bevor Sie Angebotsbenachrichtigungen einrichten.',
'Verstehen Sie Preismuster, bevor Sie Inseratsbenachrichtigungen einrichten.',
'Privacy and security': 'Privatsphäre und Sicherheit',
'How account and saved-search data is handled in the product.':
'Wie Konto- und gespeicherte Suchdaten im Produkt verarbeitet werden.',
'Compare Bristol postcodes': 'Vergleichen Sie die Postleitzahlen von Bristol',
'Trust and coverage': 'Vertrauen und Abdeckung',
'Perfect Postcode data sources and coverage':
'Perfekte Postleitzahlen-Datenquellen und -Abdeckung',
'Perfect Postcode Datenquellen und Abdeckung',
'Perfect Postcode data sources - Property, schools, commute and local context':
'Perfekte Postleitzahlen-Datenquellen Immobilien, Schulen, Pendler und lokaler Kontext',
'Perfect Postcode Datenquellen: Immobilien, Schulen, Pendelweg und lokaler Kontext',
'Review the public and official datasets used by Perfect Postcode, including property prices, EPC, schools, crime, broadband, noise and travel-time context.':
'Überprüfen Sie die von Perfect Postcode verwendeten öffentlichen und offiziellen Datensätze, einschließlich Immobilienpreise, EPC, Schulen, Kriminalität, Breitband, Lärm und Reisezeitkontext.',
'Perfect Postcode combines property, transport, education, environment, and local-service datasets so buyers can compare postcodes consistently. This page explains what the data is for and where it should be verified.':
'Perfect Postcode kombiniert Immobilien-, Transport-, Bildungs-, Umwelt- und lokale Dienstleistungsdatensätze, sodass Käufer Postleitzahlen konsistent vergleichen können. Auf dieser Seite wird erläutert, wozu die Daten dienen und wo sie überprüft werden sollten.',
'Property and housing context': 'Immobilien- und Wohnkontext',
'The product uses property transaction and housing-context datasets to support filters such as sale price, property type, tenure, floor area, energy performance, and estimated current value.':
'Das Produkt nutzt Immobilientransaktions- und Wohnungskontextdatensätze, um Filter wie Verkaufspreis, Immobilientyp, Besitz, Grundfläche, Energieeffizienz und geschätzten aktuellen Wert zu unterstützen.',
'Das Produkt nutzt Datensätze zu Immobilientransaktionen und zum Wohnkontext, um Filter wie Verkaufspreis, Immobilientyp, Eigentumsform, Wohnfläche, Energieeffizienz und geschätzten aktuellen Wert zu unterstützen.',
'Use these fields to compare areas, not as a formal valuation.':
'Verwenden Sie diese Felder zum Vergleichen von Bereichen, nicht als formale Bewertung.',
'Verwenden Sie diese Felder zum Vergleichen von Gebieten, nicht als formale Wertermittlung.',
'Check current listings, title information, lender requirements, and survey results before buying.':
'Überprüfen Sie vor dem Kauf aktuelle Angebote, Titelinformationen, Kreditgeberanforderungen und Umfrageergebnisse.',
'Überprüfen Sie vor dem Kauf aktuelle Inserate, Grundbuchinformationen, Kreditgeberanforderungen und Gutachterergebnisse.',
'Schools, safety, broadband, and environment': 'Schulen, Sicherheit, Breitband und Umwelt',
'Local-context filters help compare postcodes on signals that affect daily life. They should be treated as screening data and checked against current official sources for decisions.':
'Lokale Kontextfilter helfen beim Vergleich von Postleitzahlen anhand von Signalen, die das tägliche Leben beeinflussen. Sie sollten als Screening-Daten behandelt und für Entscheidungen mit aktuellen offiziellen Quellen verglichen werden.',
'Travel-time data': 'Reisezeitdaten',
'Travel-time filters are designed for consistent area comparison. Route availability, disruption, parking, walking access, and timetable details should be verified before committing to an area.':
'Reisezeitfilter sind für einen konsistenten Gebietsvergleich konzipiert. Bevor Sie sich für ein Gebiet entscheiden, sollten Sie die Verfügbarkeit der Route, Störungen, Parkmöglichkeiten, Zugang zu Fuß und Fahrplandetails überprüfen.',
'Reisezeitfilter sind für einen konsistenten Gebietsvergleich konzipiert. Bevor Sie sich für ein Gebiet entscheiden, sollten Sie Routenverfügbarkeit, Störungen, Parkmöglichkeiten, Fußläufigkeit und Fahrplandetails überprüfen.',
'Why does coverage focus on England?':
'Warum konzentriert sich die Berichterstattung auf England?',
'Warum konzentriert sich die Abdeckung auf England?',
'Several core property, education, and local-context datasets are jurisdiction-specific. England coverage keeps comparisons more consistent.':
'Mehrere Kerndatensätze zu Eigentum, Bildung und lokalem Kontext sind gebietsspezifisch. Die Berichterstattung über England sorgt für konsistentere Vergleiche.',
'Mehrere zentrale Datensätze zu Immobilien, Bildung und lokalem Kontext sind jurisdiktionsspezifisch. Eine Abdeckung von England sorgt für konsistentere Vergleiche.',
'How should I handle stale or missing data?':
'Wie gehe ich mit veralteten oder fehlenden Daten um?',
'Use the map as a shortlist tool. If a postcode matters, verify the latest details with current official sources and direct local checks.':
@ -517,52 +519,52 @@ const de: Translations = {
'Methodology for postcode property research':
'Methodik für die Immobilienrecherche nach Postleitzahlen',
'Perfect Postcode methodology - How to interpret postcode property data':
'Perfekte Postleitzahlen-Methodik So interpretieren Sie Postleitzahlen-Eigenschaftsdaten',
'Perfect Postcode Methodik So interpretieren Sie Immobiliendaten auf Postleitzahlenebene',
'Understand how to use postcode filters, property estimates, travel-time data, school context and local signals as a home-buying shortlist tool.':
'Verstehen Sie, wie Sie Postleitzahlenfilter, Immobilienschätzungen, Reisezeitdaten, Schulkontext und lokale Signale als Tool für die Auswahlliste beim Hauskauf verwenden.',
'Perfect Postcode is designed to make area shortlisting more evidence-led. It doesnt replace estate agents, surveyors, conveyancers, lenders, school admissions teams, or local authority checks.':
'Perfect Postcode wurde entwickelt, um die Auswahl von Gebieten evidenzbasierter zu gestalten. Es ersetzt nicht Immobilienmakler, Gutachter, Immobilienmakler, Kreditgeber, Schulzulassungsteams oder örtliche Behördenkontrollen.',
'Perfect Postcode wurde entwickelt, um die Gebietsauswahl evidenzbasierter zu gestalten. Es ersetzt keine Immobilienmakler, Gutachter, Notare, Kreditgeber, Schulzulassungsteams oder Prüfungen durch örtliche Behörden.',
'Start with hard constraints': 'Beginnen Sie mit harten Einschränkungen',
'Begin with non-negotiables such as budget, property type, floor area, commute time, and essential services. This removes impossible postcodes before softer preferences are considered.':
'Beginnen Sie mit nicht verhandelbaren Faktoren wie Budget, Immobilientyp, Grundfläche, Pendelzeit und wesentlichen Dienstleistungen. Dadurch werden unmögliche Postleitzahlen entfernt, bevor weichere Präferenzen berücksichtigt werden.',
'Beginnen Sie mit nicht verhandelbaren Faktoren wie Budget, Immobilientyp, Wohnfläche, Pendelzeit und wesentlichen Dienstleistungen. Dadurch werden unmögliche Postleitzahlen ausgeschlossen, bevor weichere Präferenzen berücksichtigt werden.',
'Use colour layers for trade-offs': 'Verwenden Sie Farbebenen für Kompromisse',
'After filtering, colour the remaining map by one signal at a time: price per square metre, road noise, school context, commute time, broadband, or crime. This makes trade-offs easier to discuss.':
'Färben Sie die verbleibende Karte nach dem Filtern jeweils nach einem Signal ein: Preis pro Quadratmeter, Straßenlärm, Schulkontext, Pendelzeit, Breitband oder Kriminalität. Dies erleichtert die Diskussion von Kompromissen.',
'Measure whats working': 'Messen Sie, was funktioniert',
'Use Search Console and analytics to track which public pages are indexed, which queries produce impressions, and which pages convert visitors into dashboard exploration. Review Core Web Vitals after every substantial frontend change.':
'Verwenden Sie die Search Console und Analysen, um zu verfolgen, welche öffentlichen Seiten indiziert werden, welche Abfragen Impressionen erzeugen und welche Seiten Besucher in Dashboard-Erkundungen umwandeln. Überprüfen Sie die Core Web Vitals nach jeder wesentlichen Frontend-Änderung.',
'Verwenden Sie die Search Console und Analysen, um zu verfolgen, welche öffentlichen Seiten indexiert werden, welche Abfragen Impressionen erzeugen und welche Seiten Besucher zur Dashboard-Nutzung führen. Überprüfen Sie die Core Web Vitals nach jeder wesentlichen Frontend-Änderung.',
'Can the tool choose the right postcode for me?':
'Kann das Tool die richtige Postleitzahl für mich auswählen?',
'No. It helps compare evidence and reduce the search area. The final decision needs direct visits, current listings, legal checks, surveys, and personal judgement.':
'Nein. Es hilft, Beweise zu vergleichen und den Suchbereich zu verkleinern. Die endgültige Entscheidung erfordert direkte Besuche, aktuelle Einträge, rechtliche Prüfungen, Umfragen und ein persönliches Urteil.',
'Nein. Es hilft, Belege zu vergleichen und das Suchgebiet einzugrenzen. Die endgültige Entscheidung erfordert direkte Besuche, aktuelle Inserate, rechtliche Prüfungen, Gutachten und persönliches Urteilsvermögen.',
'How should I use estimates?': 'Wie verwende ich Schätzungen?',
'Use estimates as comparison signals, not as professional valuations or purchase advice.':
'Nutzen Sie Schätzungen als Vergleichssignale, nicht als professionelle Wertermittlung oder Kaufberatung.',
'Understand where key filters come from.': 'Verstehen Sie, woher Schlüsselfilter kommen.',
'Apply the methodology to price-led area comparison.':
'Wenden Sie die Methodik auf einen preisorientierten Flächenvergleich an.',
'Wenden Sie die Methodik auf einen preisgeführten Gebietsvergleich an.',
'Apply the methodology to destination-led search.':
'Wenden Sie die Methodik auf die zielorientierte Suche an.',
'Wenden Sie die Methodik auf die zielgeführte Suche an.',
Trust: 'Vertrauen',
'Privacy and security for saved property searches':
'Datenschutz und Sicherheit für gespeicherte Immobiliensuchen',
'Perfect Postcode privacy and security - Saved searches and account data':
'Perfekte Privatsphäre und Sicherheit für Postleitzahlen Gespeicherte Suchanfragen und Kontodaten',
'Perfect Postcode Datenschutz und Sicherheit Gespeicherte Suchanfragen und Kontodaten',
'Learn how Perfect Postcode treats saved searches, account data and property research workflows with privacy and security in mind.':
'Erfahren Sie, wie Perfect Postcode gespeicherte Suchanfragen, Kontodaten und Immobilienrecherche-Workflows unter Berücksichtigung von Datenschutz und Sicherheit behandelt.',
'Property research can reveal personal priorities, budgets, and locations. The product keeps public SEO pages separate from account-only areas and marks private dashboard/account routes as noindex.':
'Eine Immobilienrecherche kann persönliche Prioritäten, Budgets und Standorte aufdecken. Das Produkt trennt öffentliche SEO-Seiten von reinen Kontobereichen und markiert private Dashboard-/Kontorouten als Noindex.',
'Eine Immobilienrecherche kann persönliche Prioritäten, Budgets und Standorte offenlegen. Das Produkt trennt öffentliche SEO-Seiten von kontogebundenen Bereichen und markiert private Dashboard-/Kontorouten als noindex.',
'Public pages and private areas are separated':
'Öffentliche Seiten und private Bereiche werden getrennt',
'Marketing, methodology, guide, and support pages are indexable. Dashboard, account, saved searches, invites, and invitation routes are marked noindex or blocked from crawler access where appropriate.':
'Marketing-, Methodik-, Leitfaden- und Supportseiten sind indexierbar. Dashboard, Konto, gespeicherte Suchen, Einladungen und Einladungsrouten werden gegebenenfalls als „noindex“ markiert oder für den Crawler-Zugriff blockiert.',
'Marketing-, Methodik-, Leitfaden- und Supportseiten sind indexierbar. Dashboard, Konto, gespeicherte Suchen und Einladungsrouten werden gegebenenfalls als noindex markiert oder für den Crawler-Zugriff gesperrt.',
'Saved search data is account-scoped': 'Gespeicherte Suchdaten sind kontobezogen',
'Saved searches and shared links are intended for signed-in use. They arent included in the public sitemap and shouldnt be crawlable as public content.':
'Gespeicherte Suchen und geteilte Links sind für angemeldete Benutzer vorgesehen. Sie sind nicht in der öffentlichen Sitemap enthalten und sollten nicht als öffentlicher Inhalt gecrawlt werden können.',
'Search measurement without exposing private data':
'Suchmessung ohne Offenlegung privater Daten',
'SEO measurement should happen on public pages using aggregated analytics and Search Console data. Private query parameters and account views shouldnt become indexable landing pages.':
'Die SEO-Messung sollte auf öffentlichen Seiten mithilfe aggregierter Analysen und Search Console-Daten erfolgen. Private Abfrageparameter und Kontoansichten sollten nicht zu indexierbaren Zielseiten werden.',
'SEO-Messung sollte auf öffentlichen Seiten mit aggregierten Analysen und Search-Console-Daten erfolgen. Private Abfrageparameter und Kontoansichten sollten nicht zu indexierbaren Landingpages werden.',
'Are saved searches listed in the sitemap?':
'Werden gespeicherte Suchanfragen in der Sitemap aufgeführt?',
'No. Public SEO pages are listed; account and saved-search routes are intentionally excluded.':
@ -570,11 +572,11 @@ const de: Translations = {
'Can private dashboard URLs appear in search?':
'Können private Dashboard-URLs in der Suche angezeigt werden?',
'They shouldnt be indexed. The server marks private routes noindex and the sitemap only lists public pages.':
'Sie sollten nicht indiziert werden. Der Server markiert private Routen mit Noindex und die Sitemap listet nur öffentliche Seiten auf.',
'Sie sollten nicht indexiert werden. Der Server markiert private Routen als noindex und die Sitemap listet nur öffentliche Seiten auf.',
'How to use public postcode data responsibly.':
'So gehen Sie verantwortungsvoll mit öffentlichen Postleitzahldaten um.',
'What data powers the public comparisons.':
'Welche Daten basieren auf den öffentlichen Vergleichen?',
'Welche Daten den öffentlichen Vergleichen zugrunde liegen.',
'Explore public postcode-search workflows.':
'Entdecken Sie öffentliche Workflows zur Postleitzahlensuche.',
},
@ -987,7 +989,7 @@ const de: Translations = {
statFilters: 'kombinierbare Filter',
statEvery: 'Jede',
statPostcodeInEngland: 'Postleitzahl in England',
ourPhilosophy: 'Beginnen Sie mit Ihrem Leben, nicht mit einer Postleitzahl',
ourPhilosophy: 'Beginnen Sie mit dem, was zählt, und finden Sie die passende Postleitzahl',
philosophyP1:
'Die meisten Immobilienseiten fragen, wo Sie wohnen möchten. In London ist das besonders schwierig, aber das gleiche Problem gibt es in ganz England: Käufer starten mit wenigen bekannten Orten und prüfen dann Pendelzeit, Schulen, Kriminalität, Street View, Breitband und Verkaufspreise in getrennten Tabs.',
philosophyP2:
@ -1175,11 +1177,11 @@ const de: Translations = {
'Zeiten für öffentliche Verkehrsmittel basieren auf einem Pendelweg an Wochentagen morgens, mit Abfahrten zwischen 07:30 und 08:30. Die normale Einstellung zeigt eine typische Fahrt in diesem Zeitraum. Es sind Planungswerte, keine Echtzeitverspätungen, Verkehrsmeldungen oder kurzfristigen Gleiswechsel.',
faqCommute3Q: 'Wann sollte ich die Bestfall-Schaltfläche nutzen?',
faqCommute3A:
'Nutzen Sie die Bestfall-Schaltfläche für öffentliche Verkehrsmittel, wenn Sie die Fahrt mit gut gewählter Abfahrt und guten Anschlüssen sehen möchten. Lassen Sie sie ausgeschaltet, wenn Sie den Alltagsvergleich möchten.',
'Nutzen Sie die Bestfall-Schaltfläche bei ÖPNV-Suchen, wenn Sie die Fahrt mit gut gewählter Abfahrt und guten Anschlüssen sehen möchten. Lassen Sie sie für den Alltagsvergleich ausgeschaltet, da die normale Einstellung näher daran liegt, was Sie an den meisten Tagen erwarten sollten.',
// FAQ items — Budget and Value
faqBudget1Q: 'Wie schätzen Sie aktuelle Immobilienpreise?',
faqBudget1A:
'Die Schätzung beginnt mit dem letzten bei HM Land Registry erfassten Verkaufspreis. Wir bringen diesen Verkauf näher an den heutigen Markt, indem wir ansehen, wie sich ähnliche Häuser entwickelt haben, besonders Häuser desselben Typs in der Nähe. Wenn es nur wenige lokale Verkäufe gibt, stützt sich die Schätzung stärker auf Trends in einem größeren Gebiet. Danach wird sie mit nahegelegenen jüngeren Verkäufen und der Wohnfläche abgeglichen.',
'Die Schätzung beginnt mit dem letzten bei HM Land Registry erfassten Verkaufspreis. Wir bringen diesen Verkauf näher an den heutigen Markt, indem wir betrachten, wie sich ähnliche Häuser entwickelt haben, besonders Häuser desselben Typs in der Nähe. Wenn es nur wenige lokale Verkäufe gibt, stützt sich die Schätzung stärker auf weiterreichende Gebietstrends. Anschließend wird sie mit nahegelegenen jüngeren Verkäufen und der Wohnfläche abgeglichen, damit das Ergebnis für Vergleiche nützlich ist.',
faqBudget2Q: 'Warum den geschätzten aktuellen Preis statt des letzten Verkaufspreises nutzen?',
faqBudget2A:
'Der letzte Verkaufspreis kann Jahre oder Jahrzehnte alt sein, und Angebotspreise zeigen nur, was heute zum Verkauf steht. Der geschätzte aktuelle Preis bringt ältere Verkäufe näher an den heutigen Markt, damit Sie mehr Häuser vergleichen und Gebiete mit möglichem Wert erkennen können, bevor passende Inserate erscheinen. Nutzen Sie ihn als Orientierung für Ihre Auswahlliste, nicht als Bankbewertung.',
@ -1203,17 +1205,17 @@ const de: Translations = {
'Wie vermeide ich eine laute Straße, ohne Pendelzeit oder Breitbandqualität zu verlieren?',
faqEnv1A:
'Filtern Sie nach Straßenlärm und lassen Sie Pendelzeit, Breitband, Preis und Hausfilter aktiv. Sie können die Karte nach einem Merkmal einfärben, während die anderen Filter die Auswahlliste realistisch halten.',
faqEnv2Q: 'Zeigt es Hochwasser-, Senkungs- oder Gutachterrisiken?',
faqEnv2Q: 'Zeigt es Hochwasserrisiko, Bodensenkungen oder Gutachterprobleme?',
faqEnv2A:
'Nicht heute. Wir zeigen Straßenlärm, Energieklasse, Baualter und die lokale Umgebung rund um die Postleitzahl. Hochwasserrisiko, rechtliche Fragen, bauliche Mängel, Finanzierungsthemen und Gutachten müssen vor dem Kauf separat geprüft werden.',
faqEnv3Q: 'Welche laufenden Kosten kann ich vor einer Besichtigung prüfen?',
faqEnv3A:
'Sie können vor der Besichtigung Energieklasse, Wohnfläche, Baualter, kommunales Steuergebiet, Breitband und Lärm prüfen. Das sagt Ihre genauen Rechnungen nicht voraus, hilft aber, offensichtliche Fehlgriffe früh auszusortieren.',
'Sie können vor der Besichtigung Energieklasse, Wohnfläche, Baualter, Council-Tax-Gebiet, Breitband und Lärm prüfen. Das sagt Ihre genauen Rechnungen nicht voraus, hilft aber, offensichtliche Fehlgriffe früh zu vermeiden.',
// FAQ items — Listing Portals and Due Diligence
faqDueDiligence1Q: 'Sollte ich das vor oder nach Rightmove nutzen?',
faqDueDiligence1A:
'Nutzen Sie Perfect Postcode vor und parallel zu Inseratsseiten. Rightmove, Zoopla und OnTheMarket bleiben die Orte für aktuell verfügbare Häuser, Fotos, Makler, Besichtigungen und Benachrichtigungen. Perfect Postcode hilft zu entscheiden, welche Postleitzahlen die Suche wert sind.',
faqDueDiligence2Q: 'Kann ich nach Garten, Garage, Grundriss oder Inseratstext filtern?',
faqDueDiligence2Q: 'Warum kann ich nicht nach Garten, Garage oder Grundriss filtern?',
faqDueDiligence2A:
'Diese Details sind nicht für jedes Haus zuverlässig verfügbar. Perfect Postcode kann nach Wohnfläche, Haustyp, Eigentumsform, Energieklasse, Verkaufspreisen und lokalen Informationen filtern. Gärten, Garagen, Ausrichtung, Raumaufteilung und Maklerformulierungen müssen weiterhin in der Anzeige und bei der Besichtigung geprüft werden.',
faqDueDiligence3Q: 'Kann ich Preisreduzierungen oder die Online-Dauer eines Inserats sehen?',
@ -1221,11 +1223,11 @@ const de: Translations = {
'Derzeit nicht. Perfect Postcode basiert auf Verkaufspreisen, Energieklassen, Postleitzahlen, Reisezeiten und Nachbarschaftsinformationen, nicht auf Echtzeitänderungen in Inseraten. Sie können aber Verkaufshistorie, geschätzten aktuellen Wert und Preis pro m² nutzen, um einzuschätzen, ob ein Angebotspreis hoch wirkt.',
faqDueDiligence4Q: 'Was sollte ich vor einem Angebot trotzdem prüfen?',
faqDueDiligence4A:
'Nutzen Sie Perfect Postcode, um Gebiet und wahrscheinlichen Wert zu prüfen, und bestätigen Sie dann die Inseratsdetails vor einem Angebot. Prüfen Sie außerdem Eigentumsform, Details zum Erbbaurecht, Nebenkosten, Planungshistorie, Hochwasserrisiko, rechtliche Fragen, Hypothekenanforderungen und Gutachten.',
'Nutzen Sie Perfect Postcode, um Gebiet und wahrscheinlichen Wert zu prüfen, und bestätigen Sie dann die Inseratsdetails vor einem Angebot. Prüfen Sie außerdem die Eigentumsform, Details zum Erbbaurecht, Nebenkosten, Planungshistorie, Hochwasserrisiko, rechtliche Fragen, Hypothekenanforderungen und Gutachten.',
// FAQ items — Privacy and Data Protection
faqPrivacy1Q: 'Speichern Sie personenbezogene Daten über mich?',
faqPrivacy1A:
'Die Immobilien- und Nachbarschaftsinformationen enthalten keine persönlichen Angaben über Sie. Wenn Sie ein Konto erstellen, speichern wir nur, was für den Dienst nötig ist, etwa E-Mail-Adresse, Zugangsstatus, Newsletter-Auswahl, gespeicherte Suchen, gespeicherte Immobilien und von Stripe verwaltete Zahlungen. Diese Kontodaten behandeln wir nach britischem Datenschutzrecht.',
'Die Immobilien- und Nachbarschaftsinformationen enthalten keine persönlichen Angaben über Sie. Wenn Sie ein Konto erstellen, speichern wir nur, was für den Dienst nötig ist, etwa E-Mail-Adresse, Zugangsstatus, Newsletter-Auswahl, gespeicherte Suchen, geteilte Links und von Stripe verwaltete Zahlungsdaten. Diese Kontodaten behandeln wir nach britischem Datenschutzrecht.',
// FAQ items — Why Perfect Postcode
faqWhy1Q: 'Was zeigt das, was Immobilienportale normalerweise nicht zeigen?',
faqWhy1A:
@ -1250,13 +1252,13 @@ const de: Translations = {
// FAQ items — Tips and Tricks
faqTips1Q: 'Wie sehe ich eine Filtervorschau auf der Karte?',
faqTips1A:
'Klicken Sie auf das Augen-Symbol neben einem Filter oder Merkmal, um die Karte nach diesem Punkt einzufärben. Ihre aktiven Filter bleiben bestehen, sodass Sie schnell eine Sache wie Preis, Pendelzeit, Schulen, Kriminalität oder Lärm vergleichen können, ohne die Auswahlliste zu ändern.',
'Klicken Sie auf „Färben“ neben einem Filter oder Merkmal, um die Karte nach diesem Punkt einzufärben. Ihre aktiven Filter bleiben bestehen, sodass Sie schnell eine Sache wie Preis, Pendelzeit, Schulen, Kriminalität oder Lärm vergleichen können, ohne die Auswahlliste zu ändern.',
faqTips2Q: 'Wie erfahre ich, was ein Filter bedeutet?',
faqTips2A:
'Klicken Sie auf den i-Infobutton neben einem Filter oder Merkmal, um eine kurze Erklärung zu sehen, was es bedeutet und wie Sie es lesen. Einige Teile der Karte, etwa Reisezeitkarten, haben ebenfalls einen eigenen Infobutton.',
'Klicken Sie auf „Info“ neben einem Filter oder Merkmal, um eine kurze Erklärung zu sehen, was es bedeutet und wie Sie es lesen. Einige Teile der Karte, etwa Reisezeitkarten, haben ebenfalls eine eigene Datenerklärung.',
faqTips3Q: 'Wie aktualisiere ich die Kartenfarben?',
faqTips3A:
'Wenn eine Augen-Vorschau die Karte einfärbt, nutzen Sie Farbskala zurücksetzen in der Legende, um die Farben für die aktuell angezeigten Ergebnisse zu aktualisieren. Das ist nach Verschieben, Zoomen oder geänderten Filtern nützlich.',
'Wenn ein Merkmal die Karte einfärbt, nutzen Sie „Farbskala zurücksetzen“ in der Kartenlegende, um die Farben für die aktuell angezeigten Ergebnisse zu aktualisieren. Das ist nach Verschieben, Zoomen oder geänderten Filtern nützlich.',
},
// ── Account Page ───────────────────────────────────
@ -1358,7 +1360,7 @@ const de: Translations = {
tutorial: {
step1Title: 'Sagen Sie der Karte, was zählt',
step1Content:
'Legen Sie Budget, Pendelzeitlimit, Schulqualität, Kriminalitätsschwelle, Lärmtoleranz, Breitbandbedarf oder alles fest, was Ihnen wichtig ist. Nur passende Gebiete bleiben hervorgehoben. Nutzen Sie das Augensymbol, um nach einem beliebigen Merkmal einzufärben.',
'Legen Sie Budget, Pendelzeitlimit, Schulqualität, Kriminalitätsschwelle, Lärmtoleranz, Breitbandbedarf oder alles fest, was Ihnen wichtig ist. Nur passende Gebiete bleiben hervorgehoben. Nutzen Sie „Färben“, um die Karte nach einem beliebigen Merkmal einzufärben.',
step2Title: 'Oder einfach beschreiben',
step2Content:
'Beschreiben Sie in Alltagssprache, was Sie möchten, zum Beispiel „ruhige Gegend nahe guter Schulen unter £400k“, und wir richten die Filter für Sie ein.',

View file

@ -956,7 +956,7 @@ const en = {
statFilters: 'combinable filters',
statEvery: 'Every',
statPostcodeInEngland: 'postcode in England',
ourPhilosophy: 'Start with your life, not a postcode',
ourPhilosophy: 'Start with what matters, then find the right postcode',
philosophyP1:
'Most property sites ask where you want to live. In London thats painfully hard, but the same problem shows up across England: buyers choose from the few places they know, then cross-check commute tools, Ofsted, police data, Street View, broadband checkers, and sold prices in separate tabs.',
philosophyP2:

View file

@ -127,12 +127,12 @@ const fr: Translations = {
'Compare nearby postcodes using the same criteria instead of relying on area reputation.':
'Comparez les codes postaux à proximité en utilisant les mêmes critères au lieu de vous fier à la réputation de la zone.',
'Use the results as a shortlist for listing alerts, local research, and viewings.':
'Utilisez les résultats comme liste restreinte pour répertorier les alertes, les recherches locales et les visites.',
'Utilisez les résultats comme liste restreinte pour les alertes dannonces, les recherches locales et les visites.',
'Separate cheap from good value': 'Séparez le bon marché du bon rapport qualité-prix',
'A lower price can reflect smaller homes, weaker transport, more noise, or fewer local services. The map keeps those trade-offs visible so the cheapest postcode isnt automatically treated as the best option.':
'Un prix inférieur peut refléter des logements plus petits, des transports plus faibles, plus de bruit ou moins de services locaux. La carte garde ces compromis visibles, de sorte que le code postal le moins cher nest pas automatiquement traité comme la meilleure option.',
'Start from area value, not listing availability':
'Commencer à partir de la valeur de la zone, sans lister la disponibilité',
'Partir de la valeur de la zone, et non de la disponibilité des annonces',
'Listing portals only show homes for sale today. A postcode-level property price map lets you compare wider areas, understand local price patterns, and avoid missing places where the next suitable listing might appear.':
"Les portails dannonces affichent uniquement les maisons à vendre aujourdhui. Une carte des prix immobiliers au niveau du code postal vous permet de comparer des zones plus larges, de comprendre les modèles de prix locaux et d'éviter de manquer des endroits où la prochaine annonce appropriée pourrait apparaître.",
'Use prices alongside real constraints': 'Utiliser les prix avec des contraintes réelles',
@ -141,7 +141,7 @@ const fr: Translations = {
'What the price data is for': 'À quoi servent les données de prix',
'Use the map to compare areas and spot search candidates. It isnt a valuation, mortgage decision, survey, legal search, or live listing feed.':
'Utilisez la carte pour comparer les zones et repérer les candidats à la recherche. Il ne sagit pas dune évaluation, dune décision hypothécaire, dune enquête, dune recherche juridique ou dun flux dannonces en direct.',
'How to validate a promising area': 'Comment valider un domaine prometteur',
'How to validate a promising area': 'Comment valider une zone prometteuse',
'Once a postcode looks promising, check current listings, sold-price comparables, agent details, flood searches, legal packs, surveys, and local authority information before making a decision.':
"Une fois qu'un code postal semble prometteur, vérifiez les annonces actuelles, les prix de vente comparables, les détails de l'agent, les recherches d'inondations, les dossiers juridiques, les enquêtes et les informations des autorités locales avant de prendre une décision.",
'Is this a replacement for Rightmove or Zoopla?':
@ -167,7 +167,7 @@ const fr: Translations = {
'Postcode checker': 'Vérificateur de code postal',
'Check one postcode before you spend time on a viewing.':
'Vérifiez un code postal avant de consacrer du temps à une visite.',
'Explore the property map': 'Explorez la carte de la propriété',
'Explore the property map': 'Explorez la carte immobilière',
'Postcode property search': 'Recherche de propriété par code postal',
'Find postcodes that match your property search criteria':
'Trouvez les codes postaux qui correspondent à vos critères de recherche de propriété',
@ -180,16 +180,16 @@ const fr: Translations = {
'Filter England-wide postcode data from one map.':
'Filtrez les données des codes postaux de toute lAngleterre à partir dune seule carte.',
'Shortlist unfamiliar areas with comparable evidence.':
'Présélectionnez les domaines inconnus avec des preuves comparables.',
'Présélectionnez des zones inconnues avec des éléments de comparaison.',
'Save and share search areas before booking viewings.':
'Enregistrez et partagez les zones de recherche avant de réserver des visites.',
'Turn a broad brief into postcode candidates':
'Transformez un dossier général en candidats au code postal',
'Transformez un cahier des charges général en codes postaux candidats',
'Enter the practical constraints first: budget, property size, tenure, travel time, school needs, broadband, and tolerance for road noise or crime levels. The map removes places that fail those constraints and keeps the remaining options comparable.':
"Saisissez d'abord les contraintes pratiques : budget, taille de la propriété, mode d'occupation, temps de trajet, besoins scolaires, haut débit et tolérance au bruit routier ou aux niveaux de criminalité. La carte supprime les endroits qui ne respectent pas ces contraintes et conserve les options restantes comparables.",
'Relax one constraint at a time': 'Assouplir une contrainte à la fois',
'When the search becomes too narrow, loosen a single filter and watch which postcodes reappear. This makes compromise explicit instead of relying on guesswork.':
'Lorsque la recherche devient trop étroite, supprimez un seul filtre et observez quels codes postaux réapparaissent. Cela rend le compromis explicite au lieu de sappuyer sur des conjectures.',
'Lorsque la recherche devient trop étroite, assouplissez un seul filtre et observez quels codes postaux réapparaissent. Cela rend le compromis explicite au lieu de sappuyer sur des conjectures.',
'Turn vague areas into specific postcodes':
'Transformez des zones vagues en codes postaux spécifiques',
'Broad town or borough searches hide large differences between streets. Perfect Postcode helps you move from a general area to postcodes that satisfy your hard requirements.':
@ -203,7 +203,7 @@ const fr: Translations = {
"Deux codes postaux proches peuvent différer en termes d'écoles, de bruit routier, d'accès aux transports, de composition immobilière et de prix. La comparaison au niveau du code postal réduit la probabilité de traiter une ville entière comme un seul marché uniforme.",
'How to use the results': 'Comment utiliser les résultats',
'Treat matching postcodes as a research queue: check live listings, visit streets, confirm schools and admissions, and review current official sources.':
"Traitez les codes postaux correspondants comme une file d'attente de recherche : vérifiez les listes en direct, visitez les rues, confirmez les écoles et les admissions et consultez les sources officielles actuelles.",
"Traitez les codes postaux correspondants comme une file d'attente de recherche : vérifiez les annonces en cours, visitez les rues, confirmez les écoles et les admissions et consultez les sources officielles actuelles.",
'Can I save a postcode property search?':
'Puis-je enregistrer une recherche de propriété par code postal ?',
'Yes. Licensed users can save searches and return to them later. Saved searches are designed for shortlists and comparison notes.':
@ -219,11 +219,11 @@ const fr: Translations = {
'A regional guide for narrowing a broad search around Greater Manchester.':
'Un guide régional pour affiner une recherche large autour du Grand Manchester.',
'Start a postcode search': 'Lancer une recherche de code postal',
'Commute property search': 'Recherche de propriété pour les déplacements domicile-travail',
'Commute property search': 'Recherche immobilière par temps de trajet',
'Search for places to live by commute time':
'Rechercher des lieux de résidence par temps de trajet',
'Commute property search - Find places to live by travel time':
'Recherche de propriété pour les déplacements domicile-travail  Trouver des endroits où vivre en fonction du temps de trajet',
'Recherche immobilière par temps de trajet  Trouver des endroits où vivre selon le temps de trajet',
'Filter postcodes by commute time, then compare price, schools, safety, broadband, road noise, parks and property data on one map.':
'Filtrez les codes postaux par temps de trajet, puis comparez les données sur les prix, les écoles, la sécurité, le haut débit, le bruit routier, les parcs et les propriétés sur une seule carte.',
'Filter postcodes by modelled car, cycling, walking, and public transport travel times, then layer on property price, schools, crime, broadband, noise, and local amenities.':
@ -256,7 +256,7 @@ const fr: Translations = {
'Why commute filters are combined with property data':
'Pourquoi les filtres de trajet domicile-travail sont combinés avec les données de propriété',
'Commute search is most useful when it removes impossible areas while still showing whether the remaining options are affordable and liveable.':
"La recherche de trajet est plus utile lorsqu'elle supprime les zones impossibles tout en indiquant si les options restantes sont abordables et vivable.",
"La recherche par temps de trajet est plus utile lorsqu'elle élimine les zones impossibles tout en indiquant si les options restantes sont abordables et agréables à vivre.",
'Can I compare car, cycling, walking, and public transport?':
'Puis-je comparer la voiture, le vélo, la marche et les transports publics ?',
'The product supports multiple travel modes where precomputed destination data is available.':
@ -286,22 +286,22 @@ const fr: Translations = {
'Compare family-friendly trade-offs across unfamiliar postcodes.':
'Comparez les compromis adaptés aux familles entre des codes postaux inconnus.',
'Use the map as a shortlist tool before checking admissions and catchments.':
'Utilisez la carte comme outil de présélection avant de vérifier les admissions et les bassins versants.',
'Utilisez la carte comme outil de présélection avant de vérifier les admissions et les secteurs scolaires.',
'Use school context without ignoring the home':
'Utiliser le contexte scolaire sans ignorer la maison',
'Start with property size, budget, and commute constraints, then layer in nearby school quality and local context. This prevents school-led searches from hiding affordability or daily-life problems.':
"Commencez par la taille de la propriété, le budget et les contraintes de déplacement, puis ajoutez la qualité des écoles à proximité et le contexte local. Cela empêche les recherches menées par l'école de cacher des problèmes d'abordabilité ou de la vie quotidienne.",
'Verify admissions before deciding': 'Vérifier les admissions avant de décider',
'School data can point to promising areas, but admissions rules and catchments can change. Confirm current arrangements with schools and local authorities.':
'Les données scolaires peuvent indiquer des domaines prometteurs, mais les règles dadmission et les bassins versants peuvent changer. Confirmez les arrangements actuels avec les écoles et les autorités locales.',
'Les données scolaires peuvent indiquer des zones prometteuses, mais les règles dadmission et les secteurs scolaires peuvent changer. Confirmez les arrangements actuels avec les écoles et les autorités locales.',
'School quality is one part of the shortlist':
"La qualité de l'école fait partie de la liste restreinte",
'Perfect Postcode helps you compare nearby school data with the other practical constraints that shape a family move: space, price, commute, parks, safety, and local services.':
'Perfect Postcode vous aide à comparer les données des écoles à proximité avec les autres contraintes pratiques qui façonnent un déménagement familial : espace, prix, déplacements domicile-travail, parcs, sécurité et services locaux.',
'Check catchments before making decisions':
'Vérifier les bassins versants avant de prendre des décisions',
'Vérifier les secteurs scolaires avant de prendre des décisions',
'Admissions rules and catchment boundaries can change. Use postcode-level school data to find promising areas, then verify current admissions details with the school or local authority.':
"Les règles d'admission et les limites des bassins versants peuvent changer. Utilisez les données scolaires au niveau du code postal pour trouver des zones prometteuses, puis vérifiez les détails actuels des admissions auprès de l'école ou des autorités locales.",
"Les règles d'admission et les limites des secteurs scolaires peuvent changer. Utilisez les données scolaires au niveau du code postal pour trouver des zones prometteuses, puis vérifiez les détails actuels des admissions auprès de l'école ou des autorités locales.",
'How to treat school filters': 'Comment traiter les filtres scolaires',
'Use school filters to narrow research, not to assume admission eligibility. Ratings, distance, admissions criteria, and school capacity should all be checked with current official sources.':
"Utilisez les filtres scolaires pour affiner la recherche, et non pour supposer léligibilité à ladmission. Les notes, la distance, les critères d'admission et la capacité de l'école doivent tous être vérifiés auprès des sources officielles actuelles.",
@ -309,16 +309,16 @@ const fr: Translations = {
'Combine schools with parks, road noise, crime, property size, commute, broadband, and price so the shortlist reflects the whole move.':
"Combinez les écoles avec les parcs, le bruit de la route, la criminalité, la taille de la propriété, les déplacements domicile-travail, le haut débit et le prix afin que la liste restreinte reflète l'ensemble du déménagement.",
'Does this show school catchment guarantees?':
'Cela montre-t-il des garanties de fréquentation scolaire ?',
'Cela garantit-il lappartenance à un secteur scolaire ?',
'No. It helps identify promising areas, but catchments and admissions must be verified with the school or local authority.':
"Non. Cela permet d'identifier les zones prometteuses, mais les recrutements et les admissions doivent être vérifiés auprès de l'école ou des autorités locales.",
"Non. Cela permet d'identifier les zones prometteuses, mais les secteurs scolaires et les admissions doivent être vérifiés auprès de l'école ou des autorités locales.",
'Can I combine school filters with parks and safety?':
'Puis-je combiner les filtres scolaires avec les parcs et la sécurité ?',
'Yes. School-aware search can be combined with crime, parks, commute, price, property size, and local services.':
"Oui. La recherche adaptée à l'école peut être combinée avec la criminalité, les parcs, les déplacements domicile-travail, le prix, la taille de la propriété et les services locaux.",
'Is Ofsted the only school signal?': 'Ofsted est-il le seul signal scolaire ?',
'No single score should decide a move. Use the map as a starting point, then review current school information in detail.':
"Aucun score ne devrait décider d'un coup. Utilisez la carte comme point de départ, puis examinez en détail les informations actuelles sur lécole.",
"Aucun score isolé ne devrait décider dun déménagement. Utilisez la carte comme point de départ, puis examinez en détail les informations actuelles sur lécole.",
'See where education, property, transport, and environment data comes from.':
"Découvrez d'où proviennent les données sur l'éducation, l'immobilier, les transports et l'environnement.",
'Explore school-aware searches': "Explorez les recherches adaptées à l'école",
@ -329,7 +329,7 @@ const fr: Translations = {
'Check postcode-level property prices, EPC data, crime, broadband, road noise, schools, council tax, amenities and travel-time context.':
"Vérifiez les prix de l'immobilier au niveau du code postal, les données EPC, la criminalité, le haut débit, le bruit de la route, les écoles, la taxe d'habitation, les commodités et le contexte du temps de trajet.",
'Review property prices, EPC context, crime, broadband, road noise, local amenities, schools, deprivation, council tax, and travel-time data from one postcode-first map.':
"Examinez les prix de l'immobilier, le contexte EPC, la criminalité, le haut débit, le bruit de la route, les commodités locales, les écoles, les privations, la taxe d'habitation et les données sur le temps de trajet à partir d'une seule carte indiquant le code postal.",
"Examinez les prix de l'immobilier, le contexte EPC, la criminalité, le haut débit, le bruit de la route, les commodités locales, les écoles, la défavorisation, la taxe d'habitation et les données sur le temps de trajet à partir d'une seule carte indiquant le code postal.",
'Check multiple local signals before visiting a street.':
'Vérifiez plusieurs signaux locaux avant de visiter une rue.',
'Use official and open datasets rather than reputation alone.':
@ -337,7 +337,7 @@ const fr: Translations = {
'Compare postcodes consistently across England.':
'Comparez les codes postaux de manière cohérente dans toute lAngleterre.',
'Check the street before spending a viewing slot':
"Vérifiez la rue avant de passer un créneau d'observation",
"Vérifiez la rue avant dy consacrer un créneau de visite",
'Use the postcode checker to review price history, local context, amenities, schools, and environment signals before you commit time to visiting.':
"Utilisez le vérificateur de code postal pour examiner l'historique des prix, le contexte local, les commodités, les écoles et les signaux environnementaux avant de consacrer du temps à votre visite.",
'Compare neighbouring postcodes': 'Comparez les codes postaux voisins',
@ -365,7 +365,7 @@ const fr: Translations = {
'Does the checker include exact property condition?':
'Le vérificateur inclut-il létat exact de la propriété ?',
'No. Property condition requires listing details, surveys, and direct inspection.':
'Létat de la propriété nécessite des détails dinscription, des enquêtes et une inspection directe.',
'Non. Létat dun bien nécessite les détails de lannonce, des expertises et une inspection directe.',
'Can I compare multiple postcodes?': 'Puis-je comparer plusieurs codes postaux ?',
'Yes. The map is designed for consistent comparison across postcodes.':
'Oui. La carte est conçue pour une comparaison cohérente entre les codes postaux.',
@ -408,7 +408,7 @@ const fr: Translations = {
'Search by travel time and then layer on property requirements.':
'Recherchez par temps de trajet, puis superposez les exigences de propriété.',
'Understand how to interpret filters and limitations.':
'Comprendre comment interpréter les filtres et les limitations.',
'Comprenez comment interpréter les filtres et les limites.',
'Compare Birmingham postcodes': 'Comparez les codes postaux de Birmingham',
'How to compare Manchester postcodes for a property search':
'Comment comparer les codes postaux de Manchester pour une recherche de propriété',
@ -480,7 +480,7 @@ const fr: Translations = {
'Compare Bristol postcodes': 'Comparez les codes postaux de Bristol',
'Trust and coverage': 'Confiance et couverture',
'Perfect Postcode data sources and coverage':
'Sources de données et couverture parfaites du code postal',
'Perfect Postcode — sources de données et couverture',
'Perfect Postcode data sources - Property, schools, commute and local context':
'Sources de données Perfect Postcode  Propriété, écoles, déplacements domicile-travail et contexte local',
'Review the public and official datasets used by Perfect Postcode, including property prices, EPC, schools, crime, broadband, noise and travel-time context.':
@ -502,13 +502,13 @@ const fr: Translations = {
'Travel-time filters are designed for consistent area comparison. Route availability, disruption, parking, walking access, and timetable details should be verified before committing to an area.':
"Les filtres de temps de trajet sont conçus pour une comparaison cohérente des zones. La disponibilité des itinéraires, les perturbations, le stationnement, l'accès à pied et les détails des horaires doivent être vérifiés avant de s'engager dans une zone.",
'Why does coverage focus on England?':
'Pourquoi la couverture médiatique se concentre-t-elle sur lAngleterre ?',
'Pourquoi la couverture se concentre-t-elle sur lAngleterre ?',
'Several core property, education, and local-context datasets are jurisdiction-specific. England coverage keeps comparisons more consistent.':
'Plusieurs ensembles de données de base sur la propriété, léducation et le contexte local sont spécifiques à une juridiction. La couverture de lAngleterre rend les comparaisons plus cohérentes.',
'How should I handle stale or missing data?':
'Comment dois-je gérer les données obsolètes ou manquantes ?',
'Use the map as a shortlist tool. If a postcode matters, verify the latest details with current official sources and direct local checks.':
'Utilisez la carte comme outil de présélection. Si un code postal est important, vérifiez les derniers détails auprès des sources officielles actuelles et dirigez les contrôles locaux.',
'Utilisez la carte comme outil de présélection. Si un code postal est important, vérifiez les derniers détails auprès des sources officielles actuelles et effectuez des contrôles locaux directs.',
'How filters and comparisons should be interpreted.':
'Comment les filtres et les comparaisons doivent être interprétés.',
'Review postcode-level context before a viewing.':
@ -549,15 +549,15 @@ const fr: Translations = {
'Privacy and security for saved property searches':
'Confidentialité et sécurité pour les recherches de propriétés enregistrées',
'Perfect Postcode privacy and security - Saved searches and account data':
'Confidentialité et sécurité parfaites du code postal - Recherches enregistrées et données de compte',
'Perfect Postcode — confidentialité et sécurité : recherches enregistrées et données de compte',
'Learn how Perfect Postcode treats saved searches, account data and property research workflows with privacy and security in mind.':
"Découvrez comment Perfect Postcode traite les recherches enregistrées, les données de compte et les flux de recherche de propriété en gardant à l'esprit la confidentialité et la sécurité.",
'Property research can reveal personal priorities, budgets, and locations. The product keeps public SEO pages separate from account-only areas and marks private dashboard/account routes as noindex.':
'La recherche immobilière peut révéler des priorités personnelles, des budgets et des emplacements. Le produit sépare les pages de référencement publiques des zones réservées aux comptes et marque les itinéraires de tableau de bord/compte privés comme non-index.',
'La recherche immobilière peut révéler des priorités personnelles, des budgets et des emplacements. Le produit sépare les pages de référencement publiques des zones réservées aux comptes et marque les itinéraires privés du tableau de bord/compte comme noindex.',
'Public pages and private areas are separated':
'Les pages publiques et les zones privées sont séparées',
'Marketing, methodology, guide, and support pages are indexable. Dashboard, account, saved searches, invites, and invitation routes are marked noindex or blocked from crawler access where appropriate.':
"Les pages marketing, méthodologie, guide et support sont indexables. Le tableau de bord, le compte, les recherches enregistrées, les invitations et les itinéraires d'invitation sont marqués comme non indexés ou bloqués pour l'accès du robot, le cas échéant.",
"Les pages marketing, méthodologie, guide et support sont indexables. Le tableau de bord, le compte, les recherches enregistrées, les invitations et les itinéraires d'invitation sont marqués noindex ou bloqués à laccès des robots dindexation, le cas échéant.",
'Saved search data is account-scoped':
'Les données de recherche enregistrées sont limitées au compte',
'Saved searches and shared links are intended for signed-in use. They arent included in the public sitemap and shouldnt be crawlable as public content.':
@ -573,7 +573,7 @@ const fr: Translations = {
'Can private dashboard URLs appear in search?':
'Les URL de tableaux de bord privés peuvent-elles apparaître dans la recherche ?',
'They shouldnt be indexed. The server marks private routes noindex and the sitemap only lists public pages.':
'Ils ne devraient pas être indexés. Le serveur marque les routes privées sans index et le plan du site ne répertorie que les pages publiques.',
'Ils ne devraient pas être indexés. Le serveur marque les routes privées en noindex et le plan du site ne répertorie que les pages publiques.',
'How to use public postcode data responsibly.':
'Comment utiliser les données publiques des codes postaux de manière responsable.',
'What data powers the public comparisons.':
@ -612,7 +612,7 @@ const fr: Translations = {
freeForEarly: 'Gratuit pour les premiers utilisateurs. Aucune carte bancaire requise.',
oneTimePayment: 'Paiement unique. Accès à vie.',
redirecting: 'Redirection...',
claimFreeAccess: 'Réclamer laccès gratuit',
claimFreeAccess: 'Obtenir laccès gratuit',
upgradeFor: 'Passer à la version complète pour {{price}}',
registerAndUpgrade: 'Sinscrire et passer à la version complète',
alreadyHaveAccount: 'Vous avez déjà un compte ? Connectez-vous',
@ -663,7 +663,7 @@ const fr: Translations = {
oneTimeLifetime: 'Paiement unique, accès à vie.',
upgradeToFullMap: 'Passer à la carte complète',
chooseFilters:
'Cliquez sur Ajouter pour filtrer. Les petits boutons affichent les données ou colorent la carte.',
'Cliquez sur Ajouter pour filtrer. Les petits boutons affichent les détails des données ou colorent la carte.',
searchFeatures: 'Rechercher des critères...',
noMatchingFeatures: 'Aucun critère correspondant',
tryDifferentSearch: 'Essayez un autre terme de recherche',
@ -823,7 +823,7 @@ const fr: Translations = {
areaPane: {
areaStatistics: 'Statistiques de la zone',
areaOverview: 'Vue densemble',
statsFor: 'Statistiques pour toutes les propriétés de ce/cette {{type}}',
statsFor: 'Statistiques pour toutes les propriétés dans ce/cette {{type}}',
matchingFilters: ' correspondant à tous les filtres actifs',
statsBasis: 'Base des statistiques',
matchingFiltersOption: 'Filtres actifs',
@ -844,7 +844,7 @@ const fr: Translations = {
raiseMaxTo: 'Augmenter le maximum à {{value}}',
allowCategory: 'Autoriser {{value}}',
missingFilterValue:
'Aucune valeur pour ce filtre ; supprimez-le ou autorisez les valeurs manquantes',
'Aucune valeur pour ce filtre ; supprimez-le',
noFilterDataShort: 'Aucune donnée',
travelTo: 'Trajet vers {{destination}}',
viewProperties: 'Voir {{count}} propriétés',
@ -992,7 +992,7 @@ const fr: Translations = {
statFilters: 'filtres combinables',
statEvery: 'Chaque',
statPostcodeInEngland: 'code postal dAngleterre',
ourPhilosophy: 'Commencez par votre vie, pas par un code postal',
ourPhilosophy: 'Commencez par ce qui compte, puis trouvez le bon code postal',
philosophyP1:
'La plupart des sites immobiliers demandent où vous voulez vivre. À Londres, cest particulièrement difficile, mais le même problème existe partout en Angleterre : les acheteurs partent des quelques lieux quils connaissent, puis vérifient séparément trajets, écoles, criminalité, Street View, débit internet et prix vendus.',
philosophyP2:
@ -1092,10 +1092,10 @@ const fr: Translations = {
dsNsplOrigin: 'ONS / ArcGIS',
dsNsplUse:
'Associe les codes postaux aux coordonnées et aux codes de zones statistiques, utilisé pour relier tous les jeux de données au niveau de la zone aux propriétés individuelles.',
dsIodName: 'Indices anglais de défaveur 2025',
dsIodName: 'Indices de défavorisation en Angleterre 2025',
dsIodOrigin: 'Ministry of Housing, Communities & Local Government',
dsIodUse:
'Percentiles nationaux de défaveur couvrant le revenu, lemploi, léducation, la santé, la criminalité et le cadre de vie pour chaque quartier dAngleterre.',
'Percentiles nationaux de défavorisation couvrant le revenu, lemploi, léducation, la santé, la criminalité et le cadre de vie pour chaque quartier dAngleterre.',
dsEthnicityName: 'Population par ethnie (recensement 2021)',
dsEthnicityOrigin: 'ONS',
dsEthnicityUse:
@ -1256,13 +1256,13 @@ const fr: Translations = {
// FAQ items — Tips and Tricks
faqTips1Q: 'Comment prévisualiser un filtre sur la carte ?',
faqTips1A:
'Cliquez sur licône en forme dœil à côté dun filtre ou dune donnée pour colorer la carte selon cet élément. Vos filtres actifs restent en place, ce qui permet de comparer rapidement une chose comme le prix, le trajet, les écoles, la criminalité ou le bruit sans modifier la sélection.',
'Cliquez sur Colorer à côté dun filtre ou dun critère pour colorer la carte selon cet élément. Vos filtres actifs restent en place, ce qui permet de comparer rapidement une chose comme le prix, le trajet, les écoles, la criminalité ou le bruit sans modifier votre sélection.',
faqTips2Q: 'Comment comprendre ce que signifie un filtre ?',
faqTips2A:
'Cliquez sur le bouton dinformation i à côté dun filtre ou dune donnée pour voir une courte explication de ce que cela signifie et comment le lire. Certaines parties de la carte, comme les cartes de temps de trajet, ont aussi leur propre bouton dinformation.',
'Cliquez sur À propos à côté dun filtre ou dun critère pour ouvrir une courte explication de ce quil signifie et comment le lire. Certaines zones de la carte, comme les cartes de temps de trajet, disposent aussi de leur propre explication des données.',
faqTips3Q: 'Comment actualiser les couleurs de la carte ?',
faqTips3A:
'Lorsquune prévisualisation avec lœil colore la carte, utilisez Réinitialiser léchelle de couleur dans la légende pour actualiser les couleurs des résultats affichés. Cest utile après un déplacement, un zoom ou une modification des filtres.',
'Lorsquun critère colore la carte, utilisez Réinitialiser léchelle de couleur dans la légende de la carte pour actualiser les couleurs des résultats affichés. Cest utile après un déplacement, un zoom ou une modification des filtres.',
},
// ── Account Page ───────────────────────────────────
@ -1297,7 +1297,7 @@ const fr: Translations = {
// ── Invites Page ───────────────────────────────────
invitesPage: {
inviteLinksLicensed: 'Les liens dinvitation sont disponibles pour les utilisateurs licenciés.',
inviteLinksLicensed: 'Les liens dinvitation sont disponibles pour les utilisateurs sous licence.',
inviteAdminLabel: 'Inviter des amis (100% de réduction)',
inviteReferralLabel: 'Inviter des amis (30% de réduction)',
generateFreeInvite: 'Générer un lien dinvitation gratuit',
@ -1333,8 +1333,8 @@ const fr: Translations = {
fullAccessGranted: 'Vous avez désormais un accès complet à Perfect Postcode.',
activating: 'Activation...',
activateLicense: 'Activer la licence',
claimDiscount: 'Réclamer la réduction',
registerToClaim: 'Sinscrire pour réclamer',
claimDiscount: 'Obtenir la réduction',
registerToClaim: 'Sinscrire pour lobtenir',
youAlreadyHaveLicense: 'Vous avez déjà une licence',
accountHasFullAccess: 'Votre compte dispose déjà dun accès complet.',
failedToValidate: 'Échec de la validation du lien dinvitation',
@ -1364,7 +1364,7 @@ const fr: Translations = {
tutorial: {
step1Title: 'Dites à la carte ce qui compte',
step1Content:
'Définissez votre budget, limite de trajet, qualité des écoles, seuil de criminalité, tolérance au bruit, besoins en débit internet ou tout ce qui compte pour vous. Seules les zones correspondantes restent éclairées. Utilisez licône œil pour colorer par nimporte quel critère.',
'Définissez votre budget, limite de trajet, qualité des écoles, seuil de criminalité, tolérance au bruit, besoins en débit internet ou tout ce qui compte pour vous. Seules les zones correspondantes restent éclairées. Utilisez Colorer pour ombrer la carte selon nimporte quel critère.',
step2Title: 'Ou décrivez simplement',
step2Content:
'Tapez ce que vous voulez en langage courant, par exemple « quartier calme près de bonnes écoles sous £400k », et nous configurerons les filtres pour vous.',

View file

@ -85,7 +85,7 @@ const hi: Translations = {
'हर पेज असली शॉर्टलिस्टिंग काम के लिए बना है: असंभव जगहें हटाना, बचे हुए पोस्टकोड की तुलना करना और अगली जांच तय करना.',
howToUseIt: 'इसे कैसे इस्तेमाल करें',
howToUseItDesc:
'लिस्टिंग पोर्टल खोलने या viewing बुक करने से पहले पेज को उपयोगी बनाने के लिए ये वर्कफ़्लो इस्तेमाल करें.',
'लिस्टिंग पोर्टल खोलने या मकान देखने की बुकिंग करने से पहले पेज को उपयोगी बनाने के लिए ये वर्कफ़्लो इस्तेमाल करें.',
methodAndLimitations: 'तरीका और सीमाएं',
methodAndLimitationsDesc:
'डेटा तुलना और शॉर्टलिस्टिंग के लिए है. महत्वपूर्ण निर्णयों के लिए अब भी ताजा लिस्टिंग, पेशेवर जांच और स्थानीय सत्यापन जरूरी है.',
@ -763,7 +763,7 @@ const hi: Translations = {
estValue: 'अनु. मूल्य:',
type: 'प्रकार:',
builtForm: 'निर्माण रूप:',
tenure: 'टेन्योर:',
tenure: 'कार्यकाल:',
floorArea: 'फर्श क्षेत्र:',
rooms: 'कमरे:',
built: 'निर्माण:',
@ -776,7 +776,7 @@ const hi: Translations = {
searchPlaceholder: 'पते या पोस्टकोड से खोजें...',
propertyData: 'संपत्ति डेटा',
propertyDataDesc:
'कीमतें HM Land Registry से आती हैं (खरीदारों ने वास्तव में क्या भुगतान किया). फर्श क्षेत्र, ऊर्जा रेटिंग, निर्माण वर्ष और टेन्योर आधिकारिक EPC सर्वेक्षणों से आते हैं. दोनों स्रोत हर पोस्टकोड के अंदर पते से मिलाए जाते हैं.',
'कीमतें HM Land Registry से आती हैं (खरीदारों ने वास्तव में क्या भुगतान किया). फर्श क्षेत्र, ऊर्जा रेटिंग, निर्माण वर्ष और कार्यकाल आधिकारिक EPC सर्वेक्षणों से आते हैं. दोनों स्रोत हर पोस्टकोड के अंदर पते से मिलाए जाते हैं.',
},
areaPane: {
@ -801,7 +801,7 @@ const hi: Translations = {
lowerMinTo: 'न्यूनतम को {{value}} तक घटाएं',
raiseMaxTo: 'अधिकतम को {{value}} तक बढ़ाएं',
allowCategory: '{{value}} की अनुमति दें',
missingFilterValue: 'इस फिल्टर के लिए कोई मान नहीं है; इसे हटाएं या गायब मानों की अनुमति दें',
missingFilterValue: 'इस फिल्टर के लिए कोई मान नहीं है; इसे हटाएं',
noFilterDataShort: 'कोई डेटा नहीं',
travelTo: '{{destination}} तक यात्रा',
viewProperties: '{{count}} संपत्तियां देखें',
@ -841,7 +841,7 @@ const hi: Translations = {
},
externalSearch: {
searchOn: '{{radius}} पर खोजें',
searchOn: '{{radius}} को इन पर खोजें:',
exact: 'सटीक',
outcodeNotRecognised: 'आउटकोड पहचाना नहीं गया',
},
@ -895,7 +895,7 @@ const hi: Translations = {
showcaseTopThree: 'शीर्ष 3',
showcaseScoutBullet1: 'लिस्टिंग खोज आपके विकल्प घटाए, उससे पहले सड़कें चलकर देखें.',
showcaseScoutBullet2: 'आवागमन किसी असली दरवाजे से जांचें, सिर्फ बरो नाम से नहीं.',
showcaseScoutBullet3: 'पहले से मौजूद प्रमाण के साथ viewing की तुलना करें.',
showcaseScoutBullet3: 'पहले से मौजूद प्रमाण के साथ मकान देखने की तुलना करें.',
showcaseStep1Tab: 'फिल्टर',
showcaseStep1Title: 'अस्पष्ट जरूरतों को सटीक खोज में बदलें',
showcaseStep1Body:
@ -940,7 +940,7 @@ const hi: Translations = {
statFilters: 'जोड़े जा सकने वाले फिल्टर',
statEvery: 'हर',
statPostcodeInEngland: 'इंग्लैंड का पोस्टकोड',
ourPhilosophy: 'पोस्टकोड नहीं, अपनी जिंदगी से शुरू करें',
ourPhilosophy: 'जो मायने रखता है उससे शुरू करें, फिर सही पोस्टकोड खोजें',
philosophyP1:
'अधिकांश संपत्ति साइटें पूछती हैं कि आप कहां रहना चाहते हैं. लंदन में यह बहुत कठिन है, लेकिन यही समस्या पूरे इंग्लैंड में आती है: खरीदार उन कुछ जगहों में से चुनते हैं जिन्हें वे जानते हैं, फिर आवागमन टूल, Ofsted, पुलिस डेटा, Street View, ब्रॉडबैंड जांच और बेचे गए दामों को अलग-अलग टैब में मिलाते हैं.',
philosophyP2:
@ -1161,7 +1161,7 @@ const hi: Translations = {
'क्षेत्र और संभावित मूल्य जांचने के लिए Perfect Postcode उपयोग करें, फिर प्रस्ताव देने से पहले लिस्टिंग विवरण पुष्टि करें. मालिकाना प्रकार, लीज विवरण, सेवा शुल्क, योजना इतिहास, बाढ़ जोखिम, कानूनी मुद्दे, बंधक संबंधी शर्तें और सर्वेक्षण परिणाम भी जांचें.',
faqPrivacy1Q: 'क्या आप मेरे बारे में व्यक्तिगत डेटा संग्रहीत करते हैं?',
faqPrivacy1A:
'संपत्ति और पड़ोस जानकारी में आपके व्यक्तिगत विवरण नहीं होते. अगर आप खाता बनाते हैं, तो हम सेवा चलाने के लिए जरूरी चीजें रखते हैं, जैसे ईमेल पता, एक्सेस स्थिति, न्यूज़लेटर चयन, सहेजी गई खोजें, सहेजी गई संपत्तियां और Stripe द्वारा संभाले गए भुगतान. खाते का डेटा UK गोपनीयता कानून के तहत संभाला जाता है.',
'संपत्ति और पड़ोस जानकारी में आपके व्यक्तिगत विवरण नहीं होते. अगर आप खाता बनाते हैं, तो हम सेवा चलाने के लिए जरूरी चीजें रखते हैं, जैसे ईमेल पता, एक्सेस स्थिति, न्यूज़लेटर चयन, सहेजी गई खोजें, साझा लिंक और Stripe द्वारा संभाले गए भुगतान रिकॉर्ड. खाते का डेटा यूके गोपनीयता कानून के तहत संभाला जाता है.',
faqWhy1Q: 'यह क्या दिखाता है जो लिस्टिंग पोर्टल आमतौर पर नहीं दिखाते?',
faqWhy1A:
'लिस्टिंग साइटें आज बिक रहे घरों से शुरू करती हैं. Perfect Postcode उन जगहों से शुरू करता है जो आपके जीवन और बजट से मेल खाती हैं, बेची कीमतों, जगह, आवागमन, स्कूल, अपराध, शोर, इंटरनेट, ऊर्जा रेटिंग, मालिकाना प्रकार और सुविधाओं के साथ, लिस्टिंग खोलने से पहले.',

View file

@ -35,7 +35,7 @@ const hu: Translations = {
clickForDetails: 'Kattints a részletekhez',
property: 'ingatlan',
propertiesPlural: 'ingatlanok',
places: 'hely',
places: 'helyek',
noData: 'Nincs adat',
allLow: 'Mind alacsony',
connectingToServer: 'Kapcsolódás a szerverhez...',
@ -45,7 +45,7 @@ const hu: Translations = {
// ── Header / Nav ───────────────────────────────────
header: {
appName: 'Perfect Postcode',
dashboard: 'Térkép',
dashboard: 'Vezérlőpult',
learn: 'Tudnivalók',
pricing: 'Árak',
inviteFriends: 'Barátok meghívása',
@ -108,9 +108,9 @@ const hu: Translations = {
'Property price map for England - Compare postcodes before viewing':
'Ingatlan ártérkép Angliában - Hasonlítsa össze az irányítószámokat a megtekintés előtt',
'Compare sold prices, estimated current value, price per square metre and local context across English postcodes before searching listings.':
'Hasonlítsa össze az eladási árakat, a becsült aktuális értéket, a négyzetméterenkénti árat és a helyi kontextust az angol irányítószámok között, mielőtt keresni kezdene az adatok között.',
'Hasonlítsa össze az eladási árakat, a becsült aktuális értéket, a négyzetméterenkénti árat és a helyi kontextust az angliai irányítószámok között, mielőtt hirdetéseket keresne.',
'Perfect Postcode maps sold prices, estimated current value, price per square metre, property type, floor area, tenure, and local context so buyers can find realistic search areas before opening listing portals.':
'A Perfect Postcode feltérképezi az eladási árakat, a becsült jelenlegi értéket, a négyzetméterenkénti árat, az ingatlan típusát, az alapterületet, a tulajdonjogot és a helyi környezetet, így a vásárlók reális keresési területeket találhatnak, mielőtt megnyitnák a listát tartalmazó portálokat.',
'A Perfect Postcode feltérképezi az eladási árakat, a becsült jelenlegi értéket, a négyzetméterenkénti árat, az ingatlan típusát, az alapterületet, a tulajdonjogot és a helyi környezetet, így a vásárlók reális keresési területeket találhatnak, mielőtt megnyitnák a hirdetési portálokat.',
'Screen historical sale prices and current-value estimates by postcode.':
'A korábbi eladási árak és a becsült aktuális érték megjelenítése irányítószám szerint.',
'Compare value with commute, schools, broadband, crime, noise, and amenities.':
@ -122,24 +122,24 @@ const hu: Translations = {
'Start with a maximum price and property type, then colour the map by price per square metre or estimated current price. This helps reveal areas where similar homes have historically traded within reach, even when there are no live listings today.':
'Kezdje a maximális árral és az ingatlantípussal, majd színezze ki a térképet négyzetméterár vagy becsült aktuális ár alapján. Ez segít feltárni azokat a területeket, ahol korábban hasonló otthonokkal kereskedtek elérhető közelségben, még akkor is, ha ma még nincsenek élő listák.',
'Filter by last known sale price, estimated current value, property type, tenure, and floor area.':
'Szűrés az utolsó ismert eladási ár, a becsült jelenlegi érték, az ingatlan típusa, birtoklása és alapterülete alapján.',
'Szűrés az utolsó ismert eladási ár, a becsült jelenlegi érték, az ingatlan típusa, tulajdonformája és alapterülete alapján.',
'Compare nearby postcodes using the same criteria instead of relying on area reputation.':
'Hasonlítsa össze a közeli irányítószámokat ugyanazokkal a kritériumokkal ahelyett, hogy a terület hírnevére hagyatkozna.',
'Use the results as a shortlist for listing alerts, local research, and viewings.':
'Az eredményeket rövid listaként használja a riasztások listázásához, a helyi kutatásokhoz és a megtekintésekhez.',
'Az eredményeket szűkített listaként használja hirdetési értesítésekhez, helyi kutatáshoz és megtekintésekhez.',
'Separate cheap from good value': 'Különítse el az olcsót a jó értéktől',
'A lower price can reflect smaller homes, weaker transport, more noise, or fewer local services. The map keeps those trade-offs visible so the cheapest postcode isnt automatically treated as the best option.':
'Az alacsonyabb ár kisebb lakásokat, gyengébb közlekedést, nagyobb zajt vagy kevesebb helyi szolgáltatást tükrözhet. A térkép láthatóan tartja ezeket a kompromisszumokat, így a legolcsóbb irányítószámot nem kezeli automatikusan a legjobb megoldásként.',
'Start from area value, not listing availability':
'Kezdje a terület értékével, ne a rendelkezésre állás felsorolásával',
'Listing portals only show homes for sale today. A postcode-level property price map lets you compare wider areas, understand local price patterns, and avoid missing places where the next suitable listing might appear.':
'A listás portálokon ma csak az eladó lakások jelennek meg. Az irányítószám-szintű ingatlanártérkép segítségével szélesebb területeket hasonlíthat össze, megértheti a helyi ármintákat, és elkerülheti, hogy a következő helyeken megjelenjen a megfelelő hirdetés.',
'A hirdetési portálok csak a ma eladó lakásokat mutatják. Az irányítószám-szintű ingatlanártérkép segítségével szélesebb területeket hasonlíthat össze, megértheti a helyi ármintákat, és elkerülheti, hogy lemaradjon olyan helyekről, ahol a következő megfelelő hirdetés megjelenhet.',
'Use prices alongside real constraints': 'Használja az árakat valós korlátok mellett',
'Budget rarely matters on its own. Perfect Postcode combines price filters with travel time, school quality, property size, energy performance, local environment, and services so your shortlist reflects how you actually want to live.':
'A költségvetés ritkán számít önmagában. A Perfect Postcode az árszűrőket kombinálja az utazási idővel, az iskola minőségével, az ingatlan méretével, az energiahatékonysággal, a helyi környezettel és a szolgáltatásokkal, így a szűkített lista tükrözi, hogyan szeretne ténylegesen élni.',
'What the price data is for': 'Mire szolgálnak az áradatok',
'Use the map to compare areas and spot search candidates. It isnt a valuation, mortgage decision, survey, legal search, or live listing feed.':
'Használja a térképet a területek összehasonlításához és a helyszíni kereséshez. Ez nem értékbecslés, jelzáloghitel-döntés, felmérés, jogi keresés vagy élő lista.',
'Használja a térképet a területek összehasonlítására és a kereséshez szóba jövő helyek megtalálására. Ez nem értékbecslés, jelzáloghitel-döntés, felmérés, jogi keresés vagy élő hirdetésforrás.',
'How to validate a promising area': 'Hogyan érvényesítsünk egy ígéretes területet',
'Once a postcode looks promising, check current listings, sold-price comparables, agent details, flood searches, legal packs, surveys, and local authority information before making a decision.':
'Ha egy irányítószám ígéretesnek tűnik, a döntés meghozatala előtt ellenőrizze az aktuális listákat, az eladási árak összehasonlító adatait, az ügynökök adatait, az árvízkereséseket, a jogi csomagokat, a felméréseket és a helyi hatóságok adatait.',
@ -167,7 +167,7 @@ const hu: Translations = {
'Check one postcode before you spend time on a viewing.':
'Ellenőrizze az egyik irányítószámot, mielőtt a megtekintéssel töltene időt.',
'Explore the property map': 'Fedezze fel az ingatlantérképet',
'Postcode property search': 'Irányítószám ingatlan keresés',
'Postcode property search': 'Irányítószám-alapú ingatlankeresés',
'Find postcodes that match your property search criteria':
'Keresse az ingatlankeresési kritériumoknak megfelelő irányítószámokat',
'Postcode property search - Find areas that match your criteria':
@ -175,17 +175,17 @@ const hu: Translations = {
'Search every postcode by budget, property type, floor area, tenure, commute, schools, crime, broadband, noise, parks and local amenities.':
'Keressen minden irányítószámot költségvetés, ingatlantípus, alapterület, birtokviszony, ingázás, iskolák, bűnözés, szélessáv, zaj, parkok és helyi szolgáltatások alapján.',
'Search every postcode by budget, property type, size, tenure, commute, schools, crime, broadband, noise, parks, and local amenities instead of checking areas one at a time.':
'Keressen minden irányítószámon költségvetés, ingatlantípus, méret, birtoklás, ingázás, iskolák, bűnözés, szélessáv, zaj, parkok és helyi szolgáltatások szerint, ahelyett, hogy egyenként ellenőrizné a területeket.',
'Keressen minden irányítószámon költségvetés, ingatlantípus, méret, tulajdonforma, ingázás, iskolák, bűnözés, szélessáv, zaj, parkok és helyi szolgáltatások szerint, ahelyett, hogy egyenként ellenőrizné a területeket.',
'Filter England-wide postcode data from one map.':
'Szűrje le az angliai irányítószámadatokat egyetlen térképről.',
'Shortlist unfamiliar areas with comparable evidence.':
'Sorolja fel az ismeretlen területeket összehasonlítható bizonyítékokkal.',
'Szűkítse listára az ismeretlen területeket összehasonlítható adatok alapján.',
'Save and share search areas before booking viewings.':
'Mentse és ossza meg a keresési területeket a megtekintések lefoglalása előtt.',
'Turn a broad brief into postcode candidates':
'Változtassa meg a széles tájékoztatót irányítószám jelöltekké',
'Enter the practical constraints first: budget, property size, tenure, travel time, school needs, broadband, and tolerance for road noise or crime levels. The map removes places that fail those constraints and keeps the remaining options comparable.':
'Először adja meg a gyakorlati korlátokat: költségvetés, ingatlan mérete, birtoklási ideje, utazási idő, iskolai igények, szélessáv, valamint a közúti zaj- vagy bűnözési szint toleranciája. A térkép eltávolítja azokat a helyeket, amelyek nem felelnek meg ezeknek a korlátozásoknak, és a fennmaradó lehetőségeket összehasonlíthatóvá teszi.',
'Először adja meg a gyakorlati korlátokat: költségvetés, ingatlan mérete, tulajdonforma, utazási idő, iskolai igények, szélessáv, valamint a közúti zaj és a bűnözési szint elviselhetősége. A térkép eltávolítja azokat a helyeket, amelyek nem felelnek meg ezeknek a korlátoknak, és a fennmaradó lehetőségeket összehasonlíthatóvá teszi.',
'Relax one constraint at a time': 'Egyszerre lazítson egy kényszert',
'When the search becomes too narrow, loosen a single filter and watch which postcodes reappear. This makes compromise explicit instead of relying on guesswork.':
'Ha a keresés túl szűk lesz, lazítson meg egyetlen szűrőt, és figyelje, mely irányítószámok jelennek meg újra. Ez egyértelművé teszi a kompromisszumot ahelyett, hogy a találgatásokra hagyatkozna.',
@ -211,12 +211,12 @@ const hu: Translations = {
'Igen. A térképet úgy tervezték, hogy a gyakorlati korlátoknak megfelelő, ismeretlen területeket is felszínre hozzon, nem csak a már ismert helyeket.',
'Are the results live property listings?': 'Az eredmények élő ingatlanhirdetések?',
'No. The tool compares postcode data and historical/contextual property signals. You still need listing portals for current availability.':
'Nem. Az eszköz összehasonlítja az irányítószámadatokat és a történelmi/kontextuális tulajdonságjeleket. Az aktuális elérhetőséghez továbbra is listáznia kell a portálokat.',
'Nem. Az eszköz az irányítószám-adatokat és a történeti/kontextuális ingatlanjeleket hasonlítja össze. Az aktuális elérhetőséghez továbbra is hirdetési portálokra van szüksége.',
'Manchester property search guide': 'Manchester ingatlankeresési útmutató',
'A regional guide for narrowing a broad search around Greater Manchester.':
'Regionális útmutató a Nagy-Manchester környéki keresés szűkítéséhez.',
'Start a postcode search': 'Indítsa el az irányítószám keresést',
'Commute property search': 'Ingatlan keresés',
'Start a postcode search': 'Indítsa el az irányítószám-keresést',
'Commute property search': 'Ingázás alapú ingatlankeresés',
'Search for places to live by commute time': 'Keressen lakóhelyeket az ingázási idő szerint',
'Commute property search - Find places to live by travel time':
'Ingatlankeresés Keressen lakóhelyeket az utazási idő alapján',
@ -302,7 +302,7 @@ const hu: Translations = {
'Használja az iskolai szűrőket a kutatás szűkítésére, ne pedig a felvételi jogosultság feltételezésére. A minősítéseket, a távolságot, a felvételi kritériumokat és az iskolai kapacitást ellenőrizni kell az aktuális hivatalos forrásokból.',
'Family trade-offs to compare': 'Összehasonlítandó családi kompromisszumok',
'Combine schools with parks, road noise, crime, property size, commute, broadband, and price so the shortlist reflects the whole move.':
'Kombináld az iskolákat a parkokkal, az útzajjal, a bűnözéssel, az ingatlan méretével, az ingázással, a szélessávval és az árakkal, hogy a szűkített lista tükrözze az egész lépést.',
'Kombinálja az iskolákat a parkokkal, az útzajjal, a bűnözéssel, az ingatlan méretével, az ingázással, a szélessávval és az árakkal, hogy a szűkített lista tükrözze az egész költözést.',
'Does this show school catchment guarantees?':
'Ez mutatja az iskolai vonzáskörzeti garanciákat?',
'No. It helps identify promising areas, but catchments and admissions must be verified with the school or local authority.':
@ -324,7 +324,7 @@ const hu: Translations = {
'Check postcode-level property prices, EPC data, crime, broadband, road noise, schools, council tax, amenities and travel-time context.':
'Ellenőrizze az irányítószám-szintű ingatlanárakat, az EPC-adatokat, a bűnözést, a szélessávot, az útzajt, az iskolákat, az önkormányzati adót, a kényelmi szolgáltatásokat és az utazási időt.',
'Review property prices, EPC context, crime, broadband, road noise, local amenities, schools, deprivation, council tax, and travel-time data from one postcode-first map.':
'Tekintse át az ingatlanárakat, az EPC-környezetet, a bűnözést, a szélessávot, az utak zaját, a helyi létesítményeket, az iskolákat, a nélkülözést, az önkormányzati adót és az utazási időre vonatkozó adatokat egyetlen irányítószám-először térképen.',
'Tekintse át az ingatlanárakat, az EPC-környezetet, a bűnözést, a szélessávot, az utak zaját, a helyi szolgáltatásokat, az iskolákat, a nélkülözést, az önkormányzati adót és az utazási időre vonatkozó adatokat egyetlen, irányítószám-központú térképen.',
'Check multiple local signals before visiting a street.':
'Ellenőrizze több helyi jelet, mielőtt felkeres egy utcát.',
'Use official and open datasets rather than reputation alone.':
@ -341,13 +341,13 @@ const hu: Translations = {
'Useful before and alongside listing portals':
'Hasznos a hirdetési portálok előtt és mellett',
'Listing photos rarely tell you enough about the surrounding street. Perfect Postcode gives you an evidence-led postcode check before you commit time to a viewing.':
'A felsorolt fotók ritkán mondanak eleget a környező utcáról. A Perfect Postcode bizonyítékokkal vezérelt irányítószám-ellenőrzést tesz lehetővé, mielőtt időt szánna a megtekintésre.',
'A hirdetési fotók ritkán mondanak eleget a környező utcáról. A Perfect Postcode bizonyítékokon alapuló irányítószám-ellenőrzést tesz lehetővé, mielőtt időt szánna a megtekintésre.',
'A screening tool, not professional advice': 'Szűrőeszköz, nem szakmai tanács',
'The data is designed for shortlisting and comparison. Any purchase still needs current listing checks, legal due diligence, flood searches, lender requirements, and survey findings.':
'Az adatok szűkítésre és összehasonlításra készültek. Bármely vásárláshoz továbbra is szükség van az aktuális listázási ellenőrzésekre, a jogi átvilágításra, az árvízkutatásokra, a hitelezői követelményekre és a felmérések eredményeire.',
'What a postcode check can catch': 'Amit egy irányítószám-ellenőrzés elkaphat',
'A postcode check can surface price context, environmental signals, nearby amenities, and other local indicators that are easy to miss in a listing.':
'Az irányítószám-ellenőrzés feltárhatja az árkontextust, a környezeti jelzéseket, a közeli létesítményeket és más olyan helyi mutatókat, amelyeket könnyen el lehet hagyni az adatlapon.',
'Az irányítószám-ellenőrzés feltárhatja az árkontextust, a környezeti jelzéseket, a közeli létesítményeket és más olyan helyi mutatókat, amelyeket egy hirdetésben könnyen át lehet siklani.',
'What a postcode check cant prove': 'Amit az irányítószám-ellenőrzés nem tud bizonyítani',
'It cant confirm the condition of a home, future development, legal title, lender requirements, or current street-level experience. Those still need direct checks.':
'Nem tudja megerősíteni az otthon állapotát, a jövőbeni fejlesztést, a jogcímet, a hitelezői követelményeket vagy a jelenlegi utcai szintű tapasztalatot. Még mindig közvetlen ellenőrzésre van szükségük.',
@ -370,7 +370,7 @@ const hu: Translations = {
'Use postcode-level data to compare Birmingham property prices, commute trade-offs, schools, crime, broadband and local amenities before viewings.':
'Használja az irányítószám-szintű adatokat a birminghami ingatlanárak, az ingázási kompromisszumok, az iskolák, a bűnözés, a szélessáv és a helyi szolgáltatások összehasonlítására a megtekintés előtt.',
'Birmingham searches can change quickly from street to street. Use postcode-level evidence to compare budget, commute, schools, noise, crime, and local services before deciding where to watch listings.':
'A birminghami keresések gyorsan változhatnak utcáról utcára. Használjon irányítószám-szintű bizonyítékokat a költségvetés, az ingázás, az iskolák, a zaj, a bűnözés és a helyi szolgáltatások összehasonlítására, mielőtt eldönti, hol nézze meg az adatokat.',
'A birminghami keresések gyorsan változhatnak utcáról utcára. Használjon irányítószám-szintű bizonyítékokat a költségvetés, az ingázás, az iskolák, a zaj, a bűnözés és a helyi szolgáltatások összehasonlítására, mielőtt eldönti, hol kövesse a hirdetéseket.',
'Start with commute corridors': 'Kezdje az ingázási folyosókkal',
'Choose the destination that matters, such as a workplace, station, university, or hospital, then compare reachable postcodes by transport mode and travel-time band.':
'Válassza ki a fontos úti célt, például munkahelyet, állomást, egyetemet vagy kórházat, majd hasonlítsa össze az elérhető irányítószámokat közlekedési mód és utazási idősáv szerint.',
@ -386,7 +386,7 @@ const hu: Translations = {
'Keep family and environment trade-offs visible':
'A család és a környezet közötti kompromisszumok láthatóak legyenek',
'Layer school context, parks, road noise, broadband, and crime signals on top of the property filters. That makes it easier to decide which compromises are acceptable.':
'Az iskolai környezetet, a parkokat, az útzajokat, a szélessávot és a bűnjeleket az ingatlanszűrők tetejére helyezze. Ez megkönnyíti annak eldöntését, hogy mely kompromisszumok elfogadhatók.',
'Az iskolai környezetet, a parkokat, az útzajt, a szélessávot és a bűnözési jelzéseket rétegezze az ingatlanszűrők fölé. Ez megkönnyíti annak eldöntését, hogy mely kompromisszumok elfogadhatók.',
'Can Perfect Postcode tell me the best area in Birmingham?':
'Meg tudja mondani a Perfect Postcode Birmingham legjobb környékét?',
'No tool can decide the best area for every buyer. It helps compare postcodes against your own constraints so you can build a better shortlist.':
@ -408,25 +408,25 @@ const hu: Translations = {
'Compare Manchester-area postcodes by budget, commute, property type, schools, broadband, crime, noise and amenities before booking viewings.':
'Hasonlítsa össze Manchester környéki irányítószámait költségvetés, ingázás, ingatlantípus, iskolák, szélessáv, bűnözés, zaj és szolgáltatások szerint, mielőtt lefoglalná a megtekintéseket.',
'A Manchester-area search can span city-centre, suburban, and commuter options. Perfect Postcode helps keep each postcode comparable against the same property and daily-life constraints.':
'A Manchester környéki keresés kiterjedhet a városközpontra, a külvárosra és az ingázási lehetőségekre. A Perfect Postcode segítségével az egyes irányítószámok összehasonlíthatók ugyanazokkal a tulajdonságokkal és a mindennapi élet korlátozásával.',
'A Manchester környéki keresés kiterjedhet a városközpontra, a külvárosra és az ingázási lehetőségekre. A Perfect Postcode segítségével az egyes irányítószámok összehasonlíthatók ugyanazokkal az ingatlan- és mindennapi élet-korlátokkal.',
'Use travel time to define the real search area':
'Használja az utazási időt a valódi keresési terület meghatározásához',
'Start from the destinations that matter, then compare reachable postcodes rather than assuming every nearby place has the same practical journey.':
'Kezdje a fontos célpontoktól, majd hasonlítsa össze az elérhető irányítószámokat, ahelyett, hogy azt feltételezné, hogy minden közeli hely ugyanazt a gyakorlati utat járja be.',
'Induljon ki a fontos célpontokból, majd hasonlítsa össze az elérhető irányítószámokat, ahelyett, hogy azt feltételezné, hogy minden közeli helyről ugyanúgy lehet eljutni oda.',
'Compare housing requirements before lifestyle preferences':
'Hasonlítsa össze a lakhatási igényeket az életmódbeli preferenciák előtt',
'Filter by property type, floor area, tenure, and price before judging amenities. That keeps the shortlist grounded in homes that could realistically work.':
'Szűrje az ingatlan típusa, alapterülete, birtoklási ideje és ár alapján, mielőtt megítélné a felszereltséget. Ezáltal a szűkített lista olyan otthonokra épül, amelyek reálisan működhetnek.',
'Check local context consistently': 'Következetesen ellenőrizze a helyi környezetet',
'Use broadband, crime, road noise, parks, schools, and amenities as comparable signals. Then validate the strongest candidates with current local checks.':
'Használja a szélessávot, a bűnözést, az útzajt, a parkokat, iskolákat és létesítményeket hasonló jelként. Ezután érvényesítse a legerősebb jelölteket az aktuális helyi ellenőrzésekkel.',
'Használja a szélessávot, a bűnözést, az útzajt, a parkokat, iskolákat és létesítményeket összehasonlítható mutatókként. Ezután érvényesítse a legerősebb jelölteket az aktuális helyi ellenőrzésekkel.',
'Can I compare Manchester suburbs with city-centre postcodes?':
'Összehasonlíthatom Manchester külvárosait a városközpont irányítószámaival?',
'Yes. Use the same budget, property, commute, and local-context filters across both so trade-offs remain visible.':
'Igen. Ugyanazt a költségkeret-, tulajdon-, ingázási és helyi kontextusszűrőt használja mindkettőben, így a kompromisszumok láthatóak maradnak.',
'Does this include live listings?': 'Ez magában foglalja az élő listákat?',
'No. Use it to decide where to search, then use listing portals for current homes for sale.':
'Nem. Használja annak eldöntésére, hogy hol keressen, majd használja az aktuális eladó lakások listázási portálját.',
'Nem. Használja annak eldöntésére, hogy hol keressen, majd a jelenleg eladó otthonokhoz használja a hirdetési portálokat.',
'Move from a broad search brief to specific postcode candidates.':
'Térjen át a széles körű keresési összefoglalóról a konkrét irányítószám jelöltekre.',
'Data sources': 'Adatforrások',
@ -434,7 +434,7 @@ const hu: Translations = {
'Tekintse át a tulajdonságok és a helyi kontextus összehasonlításához használt adatkészleteket.',
'Check a single postcode before arranging a viewing.':
'A megtekintés megszervezése előtt ellenőrizze az irányítószámot.',
'Compare Manchester postcodes': 'Hasonlítsa össze a Manchester irányítószámait',
'Compare Manchester postcodes': 'Hasonlítsa össze a manchesteri irányítószámokat',
'How to compare Bristol postcodes before a property search':
'Hogyan hasonlítsuk össze Bristol irányítószámait ingatlankeresés előtt',
'Bristol property search - Compare postcodes by commute and price':
@ -446,7 +446,7 @@ const hu: Translations = {
'Make commute constraints explicit': 'Tegye egyértelművé az ingázási korlátozásokat',
'If access to the centre, a station, hospital, university, or business park matters, use travel-time filters first and then compare the remaining postcodes by property data.':
'Ha fontos a központ, állomás, kórház, egyetem vagy üzleti park elérése, először használja az utazási idő szűrőit, majd hasonlítsa össze a fennmaradó irányítószámokat ingatlanadatok alapján.',
'Compare value, not just headline price': 'Hasonlítsa össze az értéket, ne csak a árat',
'Compare value, not just headline price': 'Hasonlítsa össze az értéket, ne csak a kiinduló árat',
'Use price, property type, and floor-area filters together. This helps distinguish lower-cost areas from areas that simply contain smaller or different homes.':
'Használja együtt az ár-, ingatlantípus- és alapterület-szűrőket. Ez segít megkülönböztetni az alacsonyabb költségű területeket azoktól a területektől, amelyek egyszerűen kisebb vagy eltérő otthonokat tartalmaznak.',
'Screen environmental and local-service signals':
@ -460,16 +460,16 @@ const hu: Translations = {
'Can this tell me whether a listing is good value?':
'Ez meg tudja mondani, hogy egy hirdetés jó érték-e?',
'It can provide area context, but a specific listing still needs comparable sales, condition checks, survey findings, and professional advice where appropriate.':
'Megadhatja a területi kontextust, de egy adott adatlapnak továbbra is szüksége van összehasonlítható eladásokra, állapotellenőrzésekre, felmérési eredményekre és adott esetben szakmai tanácsra.',
'Megadhatja a területi kontextust, de egy adott hirdetéshez továbbra is szükség van összehasonlítható eladásokra, állapotellenőrzésekre, felmérési eredményekre és adott esetben szakmai tanácsra.',
'Search by reachable postcodes before refining by budget and local context.':
'Keressen elérhető irányítószámok alapján, mielőtt finomítaná a költségvetés és a helyi kontextus alapján.',
'Understand price patterns before setting listing alerts.':
'Ismerje meg az ármintákat, mielőtt beállítja a listára vonatkozó figyelmeztetéseket.',
'Ismerje meg az ármintákat, mielőtt beállítja a hirdetési értesítéseket.',
'Privacy and security': 'Adatvédelem és biztonság',
'How account and saved-search data is handled in the product.':
'Hogyan történik a fiók és a mentett keresési adatok kezelése a termékben.',
'Compare Bristol postcodes': 'Hasonlítsa össze a Bristol irányítószámait',
'Trust and coverage': 'Bizalom és fedezet',
'Compare Bristol postcodes': 'Hasonlítsa össze a bristoli irányítószámokat',
'Trust and coverage': 'Megbízhatóság és lefedettség',
'Perfect Postcode data sources and coverage': 'Perfect Postcode adatforrások és lefedettség',
'Perfect Postcode data sources - Property, schools, commute and local context':
'Perfect Postcode-adatforrások ingatlanok, iskolák, ingázás és helyi környezet',
@ -490,7 +490,7 @@ const hu: Translations = {
'Travel-time data': 'Utazási idő adatok',
'Travel-time filters are designed for consistent area comparison. Route availability, disruption, parking, walking access, and timetable details should be verified before committing to an area.':
'Az utazási idő szűrőit a területek következetes összehasonlítására tervezték. Az útvonal elérhetőségét, a fennakadásokat, a parkolást, a gyalogos hozzáférést és a menetrend részleteit ellenőrizni kell, mielőtt elkötelezné magát egy adott területen.',
'Why does coverage focus on England?': 'Miért fókuszál a tudósítás Angliára?',
'Why does coverage focus on England?': 'Miért fókuszál a lefedettség Angliára?',
'Several core property, education, and local-context datasets are jurisdiction-specific. England coverage keeps comparisons more consistent.':
'Számos alapvető tulajdon, oktatás és helyi kontextusú adatkészlet joghatóság-specifikus. Az angol lefedettség következetesebbé teszi az összehasonlításokat.',
'How should I handle stale or missing data?':
@ -510,7 +510,7 @@ const hu: Translations = {
'Understand how to use postcode filters, property estimates, travel-time data, school context and local signals as a home-buying shortlist tool.':
'Ismerje meg, hogyan használhatja az irányítószám-szűrőket, az ingatlanbecsléseket, az utazási időre vonatkozó adatokat, az iskolai környezetet és a helyi jelzéseket lakásvásárlási szűkített eszközként.',
'Perfect Postcode is designed to make area shortlisting more evidence-led. It doesnt replace estate agents, surveyors, conveyancers, lenders, school admissions teams, or local authority checks.':
'A Perfect Postcode célja, hogy a területek szűkített listáját több bizonyítékra irányítsa. Nem helyettesíti az ingatlanügynököket, a földmérőket, a szállítókat, a hitelezőket, az iskolai felvételi csoportokat vagy a helyi hatóságok ellenőrzéseit.',
'A Perfect Postcode célja, hogy a területek szűkített listáját bizonyítékokra alapozza. Nem helyettesíti az ingatlanügynököket, a földmérőket, az ingatlanjogászokat, a hitelezőket, az iskolai felvételi csoportokat vagy a helyi hatóságok ellenőrzéseit.',
'Start with hard constraints': 'Kezdje kemény korlátokkal',
'Begin with non-negotiables such as budget, property type, floor area, commute time, and essential services. This removes impossible postcodes before softer preferences are considered.':
'Kezdje a nem alku tárgyát képező dolgokkal, mint például a költségvetés, az ingatlan típusa, az alapterület, az ingázási idő és az alapvető szolgáltatások. Ez eltávolítja a lehetetlen irányítószámokat, mielőtt a lágyabb beállításokat figyelembe venné.',
@ -549,7 +549,7 @@ const hu: Translations = {
'Saved searches and shared links are intended for signed-in use. They arent included in the public sitemap and shouldnt be crawlable as public content.':
'A mentett keresések és megosztott hivatkozások bejelentkezett használatra szolgálnak. Nem szerepelnek a nyilvános webhelytérképen, és nyilvános tartalomként nem térképezhetők fel.',
'Search measurement without exposing private data':
'A mérési adatok keresése személyes adatok felfedése nélkül',
'Keresésmérés a személyes adatok felfedése nélkül',
'SEO measurement should happen on public pages using aggregated analytics and Search Console data. Private query parameters and account views shouldnt become indexable landing pages.':
'A keresőoptimalizálás mérésének nyilvános oldalakon kell történnie, összesített elemzési és Search Console-adatok felhasználásával. A privát lekérdezési paraméterek és a fióknézetek nem válhatnak indexelhető céloldalakká.',
'Are saved searches listed in the sitemap?':
@ -694,7 +694,7 @@ const hu: Translations = {
'Kezdd a feltétlenül szükséges feltételekkel, majd add hozzá a kívánalmakat. A térkép szűkül, ahogy szűrőket adsz hozzá. A megmaradó területek a legjobb találatok.',
step1Title: 'Költségvetés és alapok',
step1Desc: '(ártartomány, alapterület, ingatlantípus)',
step2Title: 'Ingazás',
step2Title: 'Ingázás',
step2Desc: '(utazási idő a munkahelyre autóval, kerékpárral vagy tömegközlekedéssel)',
step3Title: 'Biztonság',
step3Desc: '(bűnözési arányok, zajszintek, talajstabilitás)',
@ -741,7 +741,7 @@ const hu: Translations = {
bicycleDesc: ' kerékpárral, kerékpárbarát útvonalakon.',
walkingDesc: ' gyalog, sétálóutakon és járdákon.',
mainDesc: 'Megmutatja az utazási időt a kiválasztott célponttól az egyes területekig.',
sliderHint: 'Használd a csúszkát a maximális ingazási idő beállításához.',
sliderHint: 'Használd a csúszkát a maximális ingázási idő beállításához.',
},
// ── AI Filter ──────────────────────────────────────
@ -887,7 +887,7 @@ const hu: Translations = {
// ── Mobile Drawer ──────────────────────────────────
mobileDrawer: {
closeDrawer: 'Fiók bezárása',
closeDrawer: 'Panel bezárása',
},
// ── Home Page ──────────────────────────────────────
@ -972,7 +972,7 @@ const hu: Translations = {
statFilters: 'kombinálható szűrő',
statEvery: 'Minden',
statPostcodeInEngland: 'irányítószám Angliában',
ourPhilosophy: 'Az életedből indulj ki, ne egy irányítószámból',
ourPhilosophy: 'Indulj ki abból, ami számít, majd találd meg a megfelelő irányítószámot',
philosophyP1:
'A legtöbb ingatlanoldal először azt kérdezi, hol szeretnél élni. Londonban ez különösen nehéz, de ugyanez a probléma egész Angliában megjelenik: a vevők néhány ismert helyből indulnak ki, majd külön füleken ellenőrzik az ingázást, iskolákat, bűnözést, Street View-t, internetet és eladási árakat.',
philosophyP2:
@ -1075,7 +1075,7 @@ const hu: Translations = {
dsIodName: 'Angol Deprivációs Mutatók 2025',
dsIodOrigin: 'Ministry of Housing, Communities & Local Government',
dsIodUse:
'Országos deprivációs percentilisek jövedelem, foglalkoztatottság, oktatás, egészség, bűnözés és lakókörnyezet területén Anglia minden szomszédságára.',
'Országos deprivációs percentilisek jövedelem, foglalkoztatottság, oktatás, egészség, bűnözés és lakókörnyezet területén Anglia minden lakókörzetére.',
dsEthnicityName: 'Népesség etnikai megoszlás szerint (2021-es népszámlálás)',
dsEthnicityOrigin: 'ONS',
dsEthnicityUse:
@ -1209,7 +1209,7 @@ const hu: Translations = {
// FAQ items — Privacy and Data Protection
faqPrivacy1Q: 'Tároltok rólam személyes adatokat?',
faqPrivacy1A:
'Az ingatlan- és környékinformációk nem tartalmazzák a személyes adataidat. Ha fiókot hozol létre, csak a szolgáltatáshoz szükséges adatokat tároljuk, például e-mail címet, hozzáférési állapotot, hírlevél-választást, mentett kereséseket, mentett ingatlanokat és a Stripe által kezelt fizetéseket. A fiókadatokat az Egyesült Királyság adatvédelmi törvényei szerint kezeljük.',
'Az ingatlan- és környékinformációk nem tartalmazzák a személyes adataidat. Ha fiókot hozol létre, csak a szolgáltatáshoz szükséges adatokat tároljuk, például e-mail címet, hozzáférési állapotot, hírlevél-választást, mentett kereséseket, megosztott hivatkozásokat és a Stripe által kezelt fizetési nyilvántartásokat. A fiókadatokat az Egyesült Királyság adatvédelmi törvényei szerint kezeljük.',
// FAQ items — Why Perfect Postcode
faqWhy1Q: 'Mit mutat ez, amit a hirdetési portálok általában nem?',
faqWhy1A:
@ -1234,13 +1234,13 @@ const hu: Translations = {
// FAQ items — Tips and Tricks
faqTips1Q: 'Hogyan nézhetek meg egy szűrőt a térképen?',
faqTips1A:
'Kattints a szem ikonra egy szűrő vagy jellemző mellett, és a térkép az adott elem alapján színeződik. Az aktív szűrők megmaradnak, így gyorsan összehasonlíthatsz egy dolgot, például árat, ingázási időt, iskolákat, bűnözést vagy zajt a lista módosítása nélkül.',
'Kattints a Színezés gombra egy szűrő vagy jellemző mellett, hogy a térkép az adott elem alapján színeződjön. Az aktív szűrők megmaradnak, így gyorsan összehasonlíthatsz egy dolgot, például árat, ingázási időt, iskolákat, bűnözést vagy zajt a lista módosítása nélkül.',
faqTips2Q: 'Honnan tudom, mit jelent egy szűrő?',
faqTips2A:
'Kattints az i információ gombra egy szűrő vagy jellemző mellett, hogy rövid magyarázatot kapj arról, mit jelent és hogyan olvasd. A térkép egyes részeinek, például az utazási idő kártyáknak, saját információ gombjuk is van.',
'Kattints az Adat gombra egy szűrő vagy jellemző mellett, hogy rövid magyarázatot kapj arról, mit jelent és hogyan olvasd. A térkép egyes részeinek, például az utazási idő kártyáknak, saját adatmagyarázatuk is van.',
faqTips3Q: 'Hogyan frissíthetem a térkép színeit?',
faqTips3A:
'Amikor egy szem előnézet színezi a térképet, a jelmagyarázat Színskála visszaállítása gombjával frissítheted az aktuálisan látott eredmények színeit. Ez hasznos térképmozgatás, nagyítás vagy szűrőmódosítás után.',
'Amikor egy jellemző színezi a térképet, a jelmagyarázatban a Színskála visszaállítása gombbal frissítheted az aktuálisan látott eredmények színeit. Ez hasznos térképmozgatás, nagyítás vagy szűrőmódosítás után.',
},
// ── Account Page ───────────────────────────────────

View file

@ -23,7 +23,7 @@ const zh: Translations = {
none: '无',
viewDataSource: '查看数据来源',
total: '总计',
min: '分钟',
min: '最小',
max: '最大',
or: '或',
area: '区域',
@ -100,142 +100,142 @@ const zh: Translations = {
relatedPagesDesc: '通过这些内部链接,从另一个角度比较同一套房产搜索流程。',
pages: {
'Property price map': '房产价格地图',
'Compare property prices across every postcode in England': '比较英格兰每个邮政编码的房价',
'Compare property prices across every postcode in England': '比较英格兰每个邮的房价',
'Property price map for England - Compare postcodes before viewing':
'英格兰房地产价格地图 - 查看前比较邮政编码',
'英格兰房地产价格地图 - 看房前比较邮编',
'Compare sold prices, estimated current value, price per square metre and local context across English postcodes before searching listings.':
'在搜索房源之前,比较各个英格兰邮政编码的售价、估计当前价值、每平方米价格和当地情况。',
'在搜索房源之前,比较各个英格兰邮的售价、估计当前价值、每平方米价格和当地情况。',
'Perfect Postcode maps sold prices, estimated current value, price per square metre, property type, floor area, tenure, and local context so buyers can find realistic search areas before opening listing portals.':
'Perfect Postcode映射售价、估计当前价值、每平方米价格、房产类型、建筑面积、保有权和当地背景,以便买家在打开房源平台之前找到实际的搜索区域。',
'Perfect Postcode 在地图上展示成交价、估计当前价值、每平方米价格、房产类型、建筑面积、产权和当地背景,让买家在打开房源平台之前找到切合实际的搜索区域。',
'Screen historical sale prices and current-value estimates by postcode.':
'按邮政编码筛选历史销售价格和当前价值估计。',
'按邮筛选历史销售价格和当前价值估计。',
'Compare value with commute, schools, broadband, crime, noise, and amenities.':
'将价值与通勤、学校、宽带、犯罪、噪音和便利设施进行比较。',
'Build a shortlist before spending weekends on viewings.':
'在周末观看之前先建立一个候选名单。',
'在花周末时间看房之前先建立候选名单。',
'Find postcodes that fit the budget before listings appear':
'在列表出现之前查找符合预算的邮政编码',
'在房源出现之前找到符合预算的邮编',
'Start with a maximum price and property type, then colour the map by price per square metre or estimated current price. This helps reveal areas where similar homes have historically traded within reach, even when there are no live listings today.':
'从最高价格和房产类型开始,然后按每平方米的价格或估计的当前价格为地图着色。这有助于揭示历史上类似房屋交易过的区域,即使现在没有实时挂牌房源。',
'先设置最高价格和房产类型,然后按每平方米价格或估计当前价格为地图着色。即使目前没有实时房源,也能揭示历史上类似房屋曾以可负担价格成交的区域。',
'Filter by last known sale price, estimated current value, property type, tenure, and floor area.':
'按最后已知的销售价格、估计当前价值、房产类型、保有权和建筑面积进行筛选。',
'按最近一次成交价、估计当前价值、房产类型、产权和建筑面积进行筛选。',
'Compare nearby postcodes using the same criteria instead of relying on area reputation.':
'使用相同的标准比较附近的邮政编码,而不是依赖区域声誉。',
'使用相同的标准比较附近的邮编,而不是依赖区域口碑。',
'Use the results as a shortlist for listing alerts, local research, and viewings.':
'使用结果作为列出警报、本地研究和查看的候选列表。',
'将结果作为候选名单,用于设置房源提醒、当地调研和看房安排。',
'Separate cheap from good value': '区分便宜和物有所值',
'A lower price can reflect smaller homes, weaker transport, more noise, or fewer local services. The map keeps those trade-offs visible so the cheapest postcode isnt automatically treated as the best option.':
'较低的价格可能反映出房屋较小、交通较弱、噪音较大或本地服务较少。地图使这些权衡显而易见,因此最便宜的邮政编码不会自动被视为最佳选择。',
'Start from area value, not listing availability': '从面积价值开始,而不是列出可用性',
'较低的价格可能反映出房屋较小、交通较弱、噪音较大或本地服务较少。地图使这些权衡显而易见,因此最便宜的邮不会自动被视为最佳选择。',
'Start from area value, not listing availability': '从区域价值出发,而不是看是否有在售房源',
'Listing portals only show homes for sale today. A postcode-level property price map lets you compare wider areas, understand local price patterns, and avoid missing places where the next suitable listing might appear.':
'房源平台仅显示今天待售的房屋。邮政编码级别的房产价格地图可让您比较更广泛的区域,了解当地的价格模式,并避免遗漏下一个合适的列表可能出现的位置。',
'房源平台仅显示今天待售的房屋。邮级别的房产价格地图可让您比较更广泛的区域,了解当地的价格模式,并避免遗漏下一个合适的列表可能出现的位置。',
'Use prices alongside real constraints': '使用价格和实际限制',
'Budget rarely matters on its own. Perfect Postcode combines price filters with travel time, school quality, property size, energy performance, local environment, and services so your shortlist reflects how you actually want to live.':
'预算本身很少很重要。 Perfect Postcode 将价格过滤器与旅行时间、学校质量、房产规模、能源性能、当地环境和服务结合起来,因此您的候选名单反映了您真正想要的生活方式。',
'预算本身往往无法单独决定一切。Perfect Postcode 将价格筛选条件与出行时间、学校质量、房屋面积、能源性能、当地环境和服务结合起来,让您的候选名单真正反映您想要的生活方式。',
'What the price data is for': '价格数据的用途',
'Use the map to compare areas and spot search candidates. It isnt a valuation, mortgage decision, survey, legal search, or live listing feed.':
'使用地图比较区域并找到搜索候选者。它不是评估、抵押贷款决策、调查、法律搜索或实时列表源。',
'How to validate a promising area': '如何验证有前景的领域',
'使用地图比较区域并找到搜索候选者。它不是评估、抵押贷款决策、调查、法律调查或实时房源数据。',
'How to validate a promising area': '如何验证有潜力的区域',
'Once a postcode looks promising, check current listings, sold-price comparables, agent details, flood searches, legal packs, surveys, and local authority information before making a decision.':
'一旦邮政编码看起来很有前途,请在做出决定之前检查当前列表、可比售价、代理商详细信息、洪水搜索、法律包、调查和地方当局信息。',
'一旦某个邮编看起来有潜力,请在做出决定前查看当前房源、可比成交价、中介详情、洪水风险查询、法律资料包、验房报告和地方政府信息。',
'Is this a replacement for Rightmove or Zoopla?': '这是 Rightmove 或 Zoopla 的替代品吗?',
'No. Use it before and alongside listing portals. Perfect Postcode helps decide where to look; listing portals show whats currently for sale.':
'不可以。在房源平台之前和旁边使用它。Perfect Postcode有助于决定去哪里查找房源平台显示当前正在出售的商品。',
'不是。请在使用房源平台之前及与之配合使用。Perfect Postcode 帮您决定到哪里去看,房源平台展示当前在售的房屋。',
'Can I compare price with schools or commute time?':
'我可以将价格与学校或通勤时间进行比较吗?',
'Yes. Price filters can be combined with travel-time, schools, crime, broadband, road-noise, amenities, and environment filters.':
'是的。价格过滤器可以与旅行时间、学校、犯罪、宽带、道路噪音、便利设施和环境过滤器结合起来。',
'是的。价格筛选条件可以与出行时间、学校、犯罪、宽带、道路噪音、便利设施和环境筛选条件结合起来。',
'Does the map cover all of the UK?': '地图涵盖了整个英国吗?',
'The current product focuses on England because several core property and postcode datasets are England-specific.':
'当前产品主要针对英格兰,因为一些核心财产和邮政编码数据集是英格兰特定的。',
'当前产品主要面向英格兰,因为若干核心的房产和邮编数据集仅适用于英格兰。',
'Birmingham property search guide': '伯明翰房产搜索指南',
'A worked example for balancing price, commute, and family trade-offs.':
'平衡价格、通勤和家庭权衡的有效示例。',
'一个实际案例,演示如何在价格、通勤和家庭需求之间取得平衡。',
'Data sources and coverage': '数据来源及覆盖范围',
'See which datasets sit behind the postcode filters and where they have limits.':
'查看邮政编码过滤器后面的数据集以及它们的限制。',
'查看邮编筛选条件后面的数据集以及它们的限制。',
Methodology: '方法论',
'Understand how the map is intended to support shortlisting, not replace due diligence.':
'了解地图如何支持入围,而不是取代尽职调查。',
'Postcode checker': '邮政编码检查器',
'了解地图如何支持候选,而不是取代尽职调查。',
'Postcode checker': '邮检查器',
'Check one postcode before you spend time on a viewing.':
'在您花时间查看之前,请检查一个邮政编码。',
'在您花时间看房之前,请检查一个邮编。',
'Explore the property map': '探索房产地图',
'Postcode property search': '邮政编码属性搜索',
'Postcode property search': '邮编房产搜索',
'Find postcodes that match your property search criteria':
'查找符合您的房产搜索条件的邮政编码',
'查找符合您的房产搜索条件的邮',
'Postcode property search - Find areas that match your criteria':
'邮政编码属性搜索 - 查找符合您条件的区域',
'邮编房产搜索 - 查找符合您条件的区域',
'Search every postcode by budget, property type, floor area, tenure, commute, schools, crime, broadband, noise, parks and local amenities.':
'按预算、房产类型、建筑面积、保有权、通勤、学校、犯罪、宽带、噪音、公园和当地设施搜索每个邮政编码。',
'按预算、房产类型、建筑面积、产权、通勤、学校、犯罪、宽带、噪音、公园和当地设施搜索每个邮编。',
'Search every postcode by budget, property type, size, tenure, commute, schools, crime, broadband, noise, parks, and local amenities instead of checking areas one at a time.':
'按预算、房产类型、面积、保有权、通勤、学校、犯罪、宽带、噪音、公园和当地设施搜索每个邮政编码,而不是一次检查一个区域。',
'按预算、房产类型、面积、产权、通勤、学校、犯罪、宽带、噪音、公园和当地设施搜索每个邮编,而不是一次检查一个区域。',
'Filter England-wide postcode data from one map.':
'从一张地图中过滤英格兰范围内的邮政编码数据。',
'从一张地图中筛选英格兰范围内的邮编数据。',
'Shortlist unfamiliar areas with comparable evidence.':
'将具有可比证据的不熟悉领域列入候选名单。',
'Save and share search areas before booking viewings.': '在预订观看之前保存并共享搜索区域。',
'Turn a broad brief into postcode candidates': '将广泛的简介转变为候选邮政编码',
'基于可比的数据证据,把陌生区域纳入候选名单。',
'Save and share search areas before booking viewings.': '在预约看房之前保存并共享搜索区域。',
'Turn a broad brief into postcode candidates': '将广泛的简介转变为候选邮',
'Enter the practical constraints first: budget, property size, tenure, travel time, school needs, broadband, and tolerance for road noise or crime levels. The map removes places that fail those constraints and keeps the remaining options comparable.':
'首先输入实际限制:预算、房产规模、保有权、旅行时间、学校需求、宽带以及对道路噪音或犯罪水平的容忍度。该地图删除了不符合这些限制的地点,并保持其余选项的可比性。',
'首先输入实际限制:预算、房产面积、产权、出行时间、学校需求、宽带以及对道路噪音或犯罪水平的容忍度。该地图删除了不符合这些限制的地点,并保持其余选项的可比性。',
'Relax one constraint at a time': '一次放松一项限制',
'When the search becomes too narrow, loosen a single filter and watch which postcodes reappear. This makes compromise explicit instead of relying on guesswork.':
'当搜索范围变得太窄时,松开单个过滤器并观察哪些邮政编码重新出现。这使得妥协变得明确,而不是依赖猜测。',
'Turn vague areas into specific postcodes': '将模糊区域变成特定的邮政编码',
'当搜索范围变得太窄时,松开单个筛选条件并观察哪些邮编重新出现。这使得妥协变得明确,而不是依赖猜测。',
'Turn vague areas into specific postcodes': '将模糊区域变成特定的邮',
'Broad town or borough searches hide large differences between streets. Perfect Postcode helps you move from a general area to postcodes that satisfy your hard requirements.':
'广泛的城镇或行政区搜索隐藏了街道之间的巨大差异。Perfect Postcode可帮助您从一般区域转移到满足您硬要求的邮政编码。',
'Keep trade-offs visible': '保持权衡可见',
'广泛的城镇或行政区搜索隐藏了街道之间的巨大差异。Perfect Postcode可帮助您从一般区域转移到满足您硬要求的邮。',
'Keep trade-offs visible': '让权衡清晰可见',
'When there are too many or too few matches, adjust one constraint at a time and see exactly which postcodes reappear. That makes compromises explicit instead of relying on guesswork.':
'当匹配项太多或太少时,一次调整一个约束并准确查看哪些邮政编码重新出现。这使得妥协变得明确,而不是依赖猜测。',
'Why postcode-level comparison matters': '为什么邮政编码级别的比较很重要',
'当匹配项太多或太少时,一次调整一个约束并准确查看哪些邮重新出现。这使得妥协变得明确,而不是依赖猜测。',
'Why postcode-level comparison matters': '为什么邮级别的比较很重要',
'Two nearby postcodes can differ on schools, road noise, transport access, property mix, and price. Comparing at postcode level reduces the chance of treating a whole town as one uniform market.':
'附近的两个邮政编码在学校、道路噪音、交通便利、房产组合和价格方面可能有所不同。在邮政编码级别进行比较减少了将整个城镇视为一个统一市场的机会。',
'附近的两个邮编在学校、道路噪音、交通便利、房产构成和价格方面可能有所不同。在邮编级别进行比较减少了将整个城镇视为一个统一市场的机会。',
'How to use the results': '如何使用结果',
'Treat matching postcodes as a research queue: check live listings, visit streets, confirm schools and admissions, and review current official sources.':
'将匹配的邮政编码视为研究队列:检查实时列表、访问街道、确认学校和招生以及查看当前的官方来源。',
'Can I save a postcode property search?': '我可以保存邮政编码属性搜索吗?',
'将匹配的邮编视为待研究清单:查看实时房源、实地走访街道、确认学校和招生情况,并参考当前的官方来源。',
'Can I save a postcode property search?': '我可以保存邮编房产搜索吗?',
'Yes. Licensed users can save searches and return to them later. Saved searches are designed for shortlists and comparison notes.':
'是的。许可用户可以保存搜索并稍后返回。保存的搜索专为候选列表和比较注释而设计。',
'是的。已授权用户可以保存搜索并稍后返回。保存的搜索专为候选列表和比较注释而设计。',
'Can I search without knowing the area?': '我可以在不知道区域的情况下进行搜索吗?',
'Yes. The map is designed to surface unfamiliar areas that match practical constraints, not just places you already know.':
'是的。该地图旨在显示符合实际限制的不熟悉的区域,而不仅仅是您已经知道的地方。',
'Are the results live property listings?': '结果是实时房产列表吗?',
'Are the results live property listings?': '结果是实时房产房源吗?',
'No. The tool compares postcode data and historical/contextual property signals. You still need listing portals for current availability.':
'不会。该工具会比较邮政编码数据和历史/上下文属性信号。您仍然需要列出当前可用性的门户。',
'不是。该工具比较邮编数据以及历史和背景类的房产信号。当前可售情况仍需查看房源平台。',
'Manchester property search guide': '曼彻斯特房产搜索指南',
'A regional guide for narrowing a broad search around Greater Manchester.':
'用于缩小大曼彻斯特广泛搜索范围的区域指南。',
'Start a postcode search': '开始邮政编码搜索',
'Start a postcode search': '开始邮搜索',
'Commute property search': '通勤房产搜索',
'Search for places to live by commute time': '按通勤时间搜索居住地',
'Commute property search - Find places to live by travel time':
'通勤房产搜索 - 按行时间查找居住地',
'通勤房产搜索 - 按行时间查找居住地',
'Filter postcodes by commute time, then compare price, schools, safety, broadband, road noise, parks and property data on one map.':
'按通勤时间过滤邮政编码,然后在一张地图上比较价格、学校、安全、宽带、道路噪音、公园和房产数据。',
'按通勤时间筛选邮编,然后在一张地图上比较价格、学校、安全、宽带、道路噪音、公园和房产数据。',
'Filter postcodes by modelled car, cycling, walking, and public transport travel times, then layer on property price, schools, crime, broadband, noise, and local amenities.':
'按模型汽车、自行车、步行和公共交通出行时间过滤邮政编码,然后按房价、学校、犯罪、宽带、噪音和当地便利设施进行分层。',
'按模型汽车、自行车、步行和公共交通出行时间筛选邮编,然后按房价、学校、犯罪、宽带、噪音和当地便利设施进行分层。',
'Compare reachable postcodes by realistic travel-time bands.':
'按实际旅行时间范围比较可到达的邮政编码。',
'按实际出行时间范围比较可到达的邮编。',
'Search by destination first, then filter for property and neighbourhood fit.':
'首先按目的地搜索,然后筛选适合的房产和社区。',
'Avoid areas that look close on a map but fail the daily journey.':
'避开那些在地图上看起来很接近但日常行程却失败的区域。',
'Start with the destination that matters': '从重要的目的地开始',
'Choose a commute destination, transport mode, and time range, then add the property filters. This prevents a cheap-looking area from reaching the shortlist if the daily journey doesnt work.':
'选择通勤目的地、交通方式和时间范围,然后添加属性过滤器。如果日常行程不起作用,这可以防止看似廉价的地区进入候选名单。',
'选择通勤目的地、交通方式和时间范围,然后添加房产筛选条件。如果日常行程不起作用,这可以防止看似廉价的地区进入候选名单。',
'Compare the commute against the rest of daily life': '将通勤与日常生活的其他部分进行比较',
'A fast commute isnt enough if the property size, school context, safety threshold, broadband, or road-noise exposure dont fit. The map keeps those signals side by side.':
'如果房产规模、学校环境、安全阈值、宽带或道路噪音暴露不合适,快速通勤是不够的。地图将这些信号并排保存。',
'Commute from postcodes, not just place names': '从邮政编码通勤,而不仅仅是地名',
'如果房产面积、学校环境、安全阈值、宽带或道路噪音暴露不合适,快速通勤是不够的。地图将这些信号并排保存。',
'Commute from postcodes, not just place names': '从邮通勤,而不仅仅是地名',
'Two streets in the same town can have very different station access, road routes, and public transport options. Postcode-level travel-time filtering keeps that difference visible.':
'同一城镇的两条街道可能有截然不同的车站通道、道路路线和公共交通选择。邮政编码级别的旅行时间过滤使这种差异可见。',
'同一城镇的两条街道可能有截然不同的车站通道、道路路线和公共交通选择。邮编级别的出行时间筛选使这种差异可见。',
'Balance journey time with the rest of the move': '平衡旅途时间与其余的搬家时间',
'A fast commute only helps if the area also fits your budget, housing needs, school preferences, safety threshold, broadband requirement, and tolerance for road noise.':
'只有当该地区也符合您的预算、住房需求、学校偏好、安全阈值、宽带要求和道路噪音容忍度时,快速通勤才有帮助。',
'How travel-time filters should be interpreted': '应如何解释旅行时间过滤器',
'How travel-time filters should be interpreted': '应如何解释出行时间筛选条件',
'Travel-time modelling is useful for comparing areas consistently. Before committing, check current timetables, disruption patterns, parking, cycling conditions, and walking routes.':
'时间建模对于一致地比较区域很有用。在做出决定之前,请检查当前的时间表、中断模式、停车、骑行条件和步行路线。',
'Why commute filters are combined with property data': '为什么通勤过滤器与房产数据相结合',
'行时间建模对于一致地比较区域很有用。在做出决定之前,请检查当前的时间表、中断模式、停车、骑行条件和步行路线。',
'Why commute filters are combined with property data': '为什么通勤筛选条件与房产数据相结合',
'Commute search is most useful when it removes impossible areas while still showing whether the remaining options are affordable and liveable.':
'当通勤搜索删除不可能的区域,同时仍显示剩余选项是否负担得起且宜居时,它是最有用的。',
'Can I compare car, cycling, walking, and public transport?':
@ -244,281 +244,281 @@ const zh: Translations = {
'该产品支持多种出行模式,其中预先计算的目的地数据可用。',
'Are travel times exact?': '出行时间准确吗?',
'No. Treat them as a consistent comparison model, then verify the real route before making viewing or purchase decisions.':
'不会。将它们视为一致的比较模型,然后在做出观看或购买决定之前验证真实路线。',
'不准确。请将它们视为一致的对比模型,然后在做出看房或购买决定之前验证真实路线。',
'Can I combine commute filters with schools and price?':
'我可以将通勤过滤器与学校和价格结合起来吗?',
'我可以将通勤筛选条件与学校和价格结合起来吗?',
'Yes. The commute filter can be layered with property price, size, schools, broadband, crime, amenities, and environmental signals.':
'是的。通勤过滤器可以根据房价、面积、学校、宽带、犯罪、便利设施和环境信号进行分层。',
'是的。通勤筛选条件可以根据房价、面积、学校、宽带、犯罪、便利设施和环境信号进行分层。',
'Bristol property search guide': '布里斯托尔房产搜索指南',
'A worked example for balancing city access, price, and local context.':
'平衡城市交通、价格和当地环境的有效示例。',
'一个实际案例,演示如何在进城便利、价格和当地环境之间取得平衡。',
'Search by commute time': '按通勤时间搜索',
'Schools and property search': '学校和房产搜索',
'Find property search areas with schools and family trade-offs in view':
'寻找考虑学校和家庭权衡的房产搜索区域',
'School property search - Compare postcodes for family moves':
'学校财产搜索 - 比较家庭搬迁的邮政编码',
'学校房产搜索 - 比较家庭搬迁的邮编',
'Compare nearby schools, property size, prices, parks, safety, commute and local amenities before building a viewing shortlist.':
'在建立看候选名单之前,比较附近的学校、房产规模、价格、公园、安全、通勤和当地便利设施。',
'在建立候选名单之前,比较附近的学校、房产面积、价格、公园、安全、通勤和当地便利设施。',
'Compare nearby Ofsted ratings, education context, property size, budget, safety, parks, commute, and local amenities before narrowing your viewing shortlist.':
'比较附近的 Ofsted 评级、教育背景、房产规模、预算、安全、公园、通勤和当地设施,然后再缩小您的看候选名单。',
'比较附近的 Ofsted 评级、教育背景、房产面积、预算、安全、公园、通勤和当地设施,然后再缩小您的看候选名单。',
'Filter for nearby school quality alongside housing requirements.':
'筛选附近学校的质量以及住房要求。',
'Compare family-friendly trade-offs across unfamiliar postcodes.':
'比较不熟悉的邮政编码中适合家庭的权衡。',
'比较不熟悉的邮中适合家庭的权衡。',
'Use the map as a shortlist tool before checking admissions and catchments.':
'在检查招生和流域之前,请使用地图作为候选名单工具。',
'Use school context without ignoring the home': '利用学校环境而不忽视家庭',
'Start with property size, budget, and commute constraints, then layer in nearby school quality and local context. This prevents school-led searches from hiding affordability or daily-life problems.':
'从房产规模、预算和通勤限制开始,然后分层考虑附近的学校质量和当地环境。这可以防止学校主导的搜索隐藏负担能力或日常生活问题。',
'从房产面积、预算和通勤限制开始,然后分层考虑附近的学校质量和当地环境。这可以防止学校主导的搜索隐藏负担能力或日常生活问题。',
'Verify admissions before deciding': '决定前核实录取情况',
'School data can point to promising areas, but admissions rules and catchments can change. Confirm current arrangements with schools and local authorities.':
'学校数据可能会指出有前途的领域,但招生规则和学区可能会发生变化。与学校和地方当局确认当前的安排。',
'School quality is one part of the shortlist': '学校质量是入围名单之一',
'学校数据可以指向有潜力的区域,但招生规则和学区可能发生变化。请与学校和地方政府确认当前的安排。',
'School quality is one part of the shortlist': '学校质量是候选名单之一',
'Perfect Postcode helps you compare nearby school data with the other practical constraints that shape a family move: space, price, commute, parks, safety, and local services.':
'Perfect Postcode 可帮助您将附近的学校数据与影响家庭搬家的其他实际限制因素进行比较:空间、价格、通勤、公园、安全和当地服务。',
'Check catchments before making decisions': '做出决定前检查流域',
'Admissions rules and catchment boundaries can change. Use postcode-level school data to find promising areas, then verify current admissions details with the school or local authority.':
'招生规则和学区边界可能会发生变化。使用邮政编码级别的学校数据来寻找有前途的地区,然后与学校或地方当局核实当前的招生详细信息。',
'How to treat school filters': '如何处理学校过滤器',
'招生规则和学区边界可能会发生变化。使用邮编级别的学校数据来寻找有潜力的地区,然后与学校或地方政府核实当前的招生详细信息。',
'How to treat school filters': '如何处理学校筛选条件',
'Use school filters to narrow research, not to assume admission eligibility. Ratings, distance, admissions criteria, and school capacity should all be checked with current official sources.':
'使用学校过滤器来缩小研究范围,而不是假设入学资格。评级、距离、录取标准和学校容量都应通过当前的官方来源进行检查。',
'使用学校筛选条件来缩小研究范围,而不是假设入学资格。评级、距离、录取标准和学校容量都应通过当前的官方来源进行检查。',
'Family trade-offs to compare': '家庭权衡比较',
'Combine schools with parks, road noise, crime, property size, commute, broadband, and price so the shortlist reflects the whole move.':
'将学校与公园、道路噪音、犯罪、房产规模、通勤、宽带和价格结合起来,这样入围名单就能反映整个搬迁情况。',
'将学校与公园、道路噪音、犯罪、房产面积、通勤、宽带和价格结合起来,这样候选名单就能反映整个搬迁情况。',
'Does this show school catchment guarantees?': '这是否表明学校学区有保证?',
'No. It helps identify promising areas, but catchments and admissions must be verified with the school or local authority.':
'不会。它有助于确定有前途的地区,但学区和招生必须经过学校或地方当局的核实。',
'不会。它有助于确定有潜力的地区,但学区和招生必须经过学校或地方政府的核实。',
'Can I combine school filters with parks and safety?':
'我可以将学校过滤器与公园和安全结合起来吗?',
'我可以将学校筛选条件与公园和安全结合起来吗?',
'Yes. School-aware search can be combined with crime, parks, commute, price, property size, and local services.':
'是的。学校感知搜索可以与犯罪、公园、通勤、价格、房产规模和本地服务相结合。',
'可以。结合学校的搜索可以与犯罪、公园、通勤、价格、房产面积和当地服务相组合。',
'Is Ofsted the only school signal?': 'Ofsted 是唯一的学校信号吗?',
'No single score should decide a move. Use the map as a starting point, then review current school information in detail.':
'任何一个分数都不能决定行动。使用地图作为起点,然后详细查看当前学校信息。',
'See where education, property, transport, and environment data comes from.':
'查看教育、房地产、交通和环境数据的来源。',
'Explore school-aware searches': '探索学校相关的搜索',
'Check postcode data before you book a viewing': '在预订观看之前检查邮政编码数据',
'Check postcode data before you book a viewing': '在预约看房之前检查邮编数据',
'Postcode checker - Property, crime, broadband, noise and schools':
'邮政编码检查器 - 财产、犯罪、宽带、噪音和学校',
'邮编检查器 - 房产、犯罪、宽带、噪音和学校',
'Check postcode-level property prices, EPC data, crime, broadband, road noise, schools, council tax, amenities and travel-time context.':
'检查邮政编码级别的房地产价格、EPC 数据、犯罪、宽带、道路噪音、学校、市政税、便利设施和行时间背景。',
'检查邮级别的房地产价格、EPC 数据、犯罪、宽带、道路噪音、学校、市政税、便利设施和行时间背景。',
'Review property prices, EPC context, crime, broadband, road noise, local amenities, schools, deprivation, council tax, and travel-time data from one postcode-first map.':
'从一张邮政编码优先的地图中查看房地产价格、EPC 背景、犯罪、宽带、道路噪音、当地便利设施、学校、贫困、市政税和行时间数据。',
'Check multiple local signals before visiting a street.': '在访问街道之前检查多个当地信号。',
'从一张邮优先的地图中查看房地产价格、EPC 背景、犯罪、宽带、道路噪音、当地便利设施、学校、贫困、市政税和行时间数据。',
'Check multiple local signals before visiting a street.': '在实地走访街道之前查看多项当地信息指标。',
'Use official and open datasets rather than reputation alone.':
'使用官方和开放的数据集,而不仅仅是声誉。',
'Compare postcodes consistently across England.': '一致比较英格兰各地的邮政编码。',
'Check the street before spending a viewing slot': '在花费观看时间之前检查一下街道',
'Compare postcodes consistently across England.': '一致比较英格兰各地的邮。',
'Check the street before spending a viewing slot': '在花时间看房之前检查一下街道',
'Use the postcode checker to review price history, local context, amenities, schools, and environment signals before you commit time to visiting.':
'在您花时间参观之前,使用邮政编码检查器查看价格历史记录、当地背景、便利设施、学校和环境信号。',
'Compare neighbouring postcodes': '比较邻近的邮政编码',
'在您花时间看房之前,使用邮编检查器查看价格历史记录、当地背景、便利设施、学校和环境信号。',
'Compare neighbouring postcodes': '比较邻近的邮',
'If one postcode looks promising, compare adjacent areas using the same filters. This often reveals whether a concern is street-specific or part of a wider pattern.':
'如果一个邮政编码看起来很有希望,请使用相同的过滤器比较相邻区域。这通常可以揭示问题是特定于街道的还是更广泛模式的一部分。',
'Useful before and alongside listing portals': '在房源平台之前和旁边有用',
'如果一个邮编看起来很有希望,请使用相同的筛选条件比较相邻区域。这通常可以揭示问题是特定于街道的还是更广泛模式的一部分。',
'Useful before and alongside listing portals': '在使用房源平台之前及与之配合使用都很有用',
'Listing photos rarely tell you enough about the surrounding street. Perfect Postcode gives you an evidence-led postcode check before you commit time to a viewing.':
'房源照片很少能告诉您有关周围街道的足够信息。Perfect Postcode在您投入时间观看之前为您提供以证据为主导的邮政编码检查。',
'房源照片很少能告诉您有关周围街道的足够信息。Perfect Postcode在您投入时间看房之前为您提供以证据为主导的邮编检查。',
'A screening tool, not professional advice': '筛查工具,而非专业建议',
'The data is designed for shortlisting and comparison. Any purchase still needs current listing checks, legal due diligence, flood searches, lender requirements, and survey findings.':
'该数据旨在用于筛选和比较。任何购买仍需要当前的清单检查、法律尽职调查、大量搜索、贷方要求和调查结果。',
'What a postcode check can catch': '邮政编码检查可以发现什么',
'该数据旨在用于筛选和比较。任何购买仍需要当前的清单检查、法律尽职调查、大量搜索、贷方要求和验房结果。',
'What a postcode check can catch': '邮检查可以发现什么',
'A postcode check can surface price context, environmental signals, nearby amenities, and other local indicators that are easy to miss in a listing.':
'邮政编码检查可以显示价格背景、环境信号、附近的便利设施以及列表中容易错过的其他本地指标。',
'What a postcode check cant prove': '邮政编码检查无法证明什么',
'邮检查可以显示价格背景、环境信号、附近的便利设施以及列表中容易错过的其他本地指标。',
'What a postcode check cant prove': '邮检查无法证明什么',
'It cant confirm the condition of a home, future development, legal title, lender requirements, or current street-level experience. Those still need direct checks.':
'它无法确认房屋的状况、未来的开发、法定所有权、贷款人要求或当前的街道经验。这些仍然需要直接检查。',
'Can I use the checker before a viewing?': '我可以在看前使用检查器吗?',
'Can I use the checker before a viewing?': '我可以在前使用检查器吗?',
'Yes. Thats one of the main use cases: screen the postcode first, then decide whether the viewing is worth the time.':
'是的。这是主要用例之一:首先筛选邮政编码,然后决定是否值得花时间查看。',
'是的。这是主要用例之一:首先筛选邮,然后决定是否值得花时间查看。',
'Does the checker include exact property condition?': '检查器是否包括准确的财产状况?',
'No. Property condition requires listing details, surveys, and direct inspection.':
'不可以。房产状况需要列出详细信息、调查和直接检查。',
'Can I compare multiple postcodes?': '我可以比较多个邮政编码吗?',
'Can I compare multiple postcodes?': '我可以比较多个邮吗?',
'Yes. The map is designed for consistent comparison across postcodes.':
'是的。该地图旨在实现跨邮政编码的一致比较。',
'Check postcodes on the map': '检查地图上的邮政编码',
'是的。该地图旨在实现跨邮的一致比较。',
'Check postcodes on the map': '检查地图上的邮',
'Regional guide': '区域指南',
'How to compare Birmingham postcodes before a property search':
'如何在房产搜索前比较伯明翰邮政编码',
'如何在房产搜索前比较伯明翰邮',
'Birmingham property search - Compare postcodes by price and commute':
'伯明翰房产搜索 - 按价格和通勤比较邮政编码',
'伯明翰房产搜索 - 按价格和通勤比较邮',
'Use postcode-level data to compare Birmingham property prices, commute trade-offs, schools, crime, broadband and local amenities before viewings.':
'在查看之前,使用邮政编码级别的数据来比较伯明翰的房价、通勤权衡、学校、犯罪、宽带和当地设施。',
'在查看之前,使用邮级别的数据来比较伯明翰的房价、通勤权衡、学校、犯罪、宽带和当地设施。',
'Birmingham searches can change quickly from street to street. Use postcode-level evidence to compare budget, commute, schools, noise, crime, and local services before deciding where to watch listings.':
'伯明翰的搜索可能因街道而异。在决定在哪里观看列表之前,使用邮政编码级别的证据来比较预算、通勤、学校、噪音、犯罪和当地服务。',
'伯明翰的搜索可能因街道而异。在决定关注哪里的房源之前,使用邮编级别的证据来比较预算、通勤、学校、噪音、犯罪和当地服务。',
'Start with commute corridors': '从通勤走廊开始',
'Choose the destination that matters, such as a workplace, station, university, or hospital, then compare reachable postcodes by transport mode and travel-time band.':
'选择重要的目的地,例如工作场所、车站、大学或医院,然后按交通方式和旅行时间范围比较可到达的邮政编码。',
'选择重要的目的地,例如工作场所、车站、大学或医院,然后按交通方式和出行时间范围比较可到达的邮编。',
'Use commute time as a hard filter before judging price.':
'在判断价格之前,使用通勤时间作为硬过滤器。',
'在判断价格之前,使用通勤时间作为硬筛选条件。',
'Compare public transport with car, cycling, or walking where available.':
'将公共交通与汽车、骑自行车或步行(如果有)进行比较。',
'Check the route manually before booking viewings.': '在预订观看之前手动检查路线。',
'Check the route manually before booking viewings.': '在预约看房之前手动检查路线。',
'Compare price with property type': '将价格与房产类型进行比较',
'Median prices alone can be misleading if the local property mix changes. Add property type, tenure, floor area, and price filters so similar areas are compared fairly.':
'如果当地房地产结构发生变化,中位价格可能会产生误导。添加房产类型、保有权、建筑面积和价格过滤器,以便公平比较相似的区域。',
'如果当地房地产结构发生变化,中位价格可能会产生误导。添加房产类型、产权、建筑面积和价格筛选条件,以便公平比较相似的区域。',
'Keep family and environment trade-offs visible': '让家庭和环境之间的权衡显而易见',
'Layer school context, parks, road noise, broadband, and crime signals on top of the property filters. That makes it easier to decide which compromises are acceptable.':
'将学校环境、公园、道路噪音、宽带和犯罪信号叠加在属性过滤器之上。这使得更容易决定哪些妥协是可以接受的。',
'将学校环境、公园、道路噪音、宽带和犯罪信号叠加在房产筛选条件之上。这使得更容易决定哪些妥协是可以接受的。',
'Can Perfect Postcode tell me the best area in Birmingham?':
'Perfect Postcode可以告诉我 伯明翰 最好的区域吗?',
'No tool can decide the best area for every buyer. It helps compare postcodes against your own constraints so you can build a better shortlist.':
'没有任何工具可以为每个买家决定最佳区域。它有助于将邮政编码与您自己的限制进行比较,以便您可以构建更好的候选名单。',
'没有任何工具可以为每个买家决定最佳区域。它有助于将邮与您自己的限制进行比较,以便您可以构建更好的候选名单。',
'Should I use this instead of local knowledge?': '我应该使用这个而不是本地知识吗?',
'No. Use it to find and compare candidates, then validate them with visits, local advice, listings, and official checks.':
'不会。用它来查找和比较候选人,然后通过访问、当地建议、列表和官方检查来验证他们。',
'不是。用它来寻找和比较候选区域,然后通过实地走访、当地建议、房源信息和官方核查加以验证。',
'Compare price patterns before looking at live listings.':
'在查看实时列表之前先比较价格模式。',
'在查看实时房源之前先比较价格模式。',
'Search by travel time and then layer on property requirements.':
'按行时间搜索,然后按财产要求分层。',
'Understand how to interpret filters and limitations.': '了解如何解释过滤器和限制。',
'Compare Birmingham postcodes': '比较伯明翰 邮政编码',
'按行时间搜索,然后按财产要求分层。',
'Understand how to interpret filters and limitations.': '了解如何解释筛选条件和限制。',
'Compare Birmingham postcodes': '比较伯明翰 邮',
'How to compare Manchester postcodes for a property search':
'如何比较曼彻斯特邮政编码以进行房产搜索',
'如何比较曼彻斯特邮以进行房产搜索',
'Manchester property search - Compare postcodes before viewing':
'曼彻斯特房产搜索 - 查看前比较邮政编码',
'曼彻斯特房产搜索 - 看房前比较邮编',
'Compare Manchester-area postcodes by budget, commute, property type, schools, broadband, crime, noise and amenities before booking viewings.':
'在预订观看之前,请按预算、通勤、房产类型、学校、宽带、犯罪、噪音和便利设施比较曼彻斯特地区的邮政编码。',
'在预约看房之前,请按预算、通勤、房产类型、学校、宽带、犯罪、噪音和便利设施比较曼彻斯特地区的邮。',
'A Manchester-area search can span city-centre, suburban, and commuter options. Perfect Postcode helps keep each postcode comparable against the same property and daily-life constraints.':
'曼彻斯特地区的搜索可以涵盖市中心、郊区和通勤选项。Perfect Postcode有助于使每个邮政编码在相同的财产和日常生活限制下具有可比性。',
'Use travel time to define the real search area': '使用时间来定义真正的搜索区域',
'曼彻斯特地区的搜索可以涵盖市中心、郊区和通勤选项。Perfect Postcode有助于使每个邮在相同的财产和日常生活限制下具有可比性。',
'Use travel time to define the real search area': '使用行时间来定义真正的搜索区域',
'Start from the destinations that matter, then compare reachable postcodes rather than assuming every nearby place has the same practical journey.':
'从重要的目的地开始,然后比较可到达的邮政编码,而不是假设附近的每个地方都有相同的实际旅程。',
'从重要的目的地开始,然后比较可到达的邮,而不是假设附近的每个地方都有相同的实际旅程。',
'Compare housing requirements before lifestyle preferences': '在生活方式偏好之前比较住房要求',
'Filter by property type, floor area, tenure, and price before judging amenities. That keeps the shortlist grounded in homes that could realistically work.':
'在判断便利设施之前,请按房产类型、建筑面积、使用期限和价格进行筛选。这使得入围名单以能够实际使用的房屋为基础。',
'Check local context consistently': '一致地检查本地上下文',
'在评判便利设施之前,先按房产类型、建筑面积、产权和价格进行筛选。这能让候选名单基于切实可行的房源。',
'Check local context consistently': '一致地查看当地背景',
'Use broadband, crime, road noise, parks, schools, and amenities as comparable signals. Then validate the strongest candidates with current local checks.':
'使用宽带、犯罪、道路噪音、公园、学校和便利设施作为可比信号。然后通过当前的本地检查来验证最强的候选人。',
'将宽带、犯罪、道路噪音、公园、学校和便利设施作为可比信号。然后对最有潜力的候选区域通过当前的当地查证加以核实。',
'Can I compare Manchester suburbs with city-centre postcodes?':
'我可以将曼彻斯特郊区与市中心的邮政编码进行比较吗?',
'我可以将曼彻斯特郊区与市中心的邮进行比较吗?',
'Yes. Use the same budget, property, commute, and local-context filters across both so trade-offs remain visible.':
'是的。在两者中使用相同的预算、财产、通勤和当地环境过滤器,以便权衡仍然可见。',
'Does this include live listings?': '这包括实时列表吗?',
'是的。在两者中使用相同的预算、房产、通勤和当地环境筛选条件,以便权衡仍然可见。',
'Does this include live listings?': '这包括实时房源吗?',
'No. Use it to decide where to search, then use listing portals for current homes for sale.':
'不会。用它来决定在哪里搜索,然后使用当前待售房屋的房源平台。',
'Move from a broad search brief to specific postcode candidates.':
'从广泛的搜索概要转向特定的邮政编码候选人。',
'从宽泛的搜索意向转向具体的候选邮编。',
'Data sources': '数据来源',
'Review the datasets used for property and local-context comparison.':
'查看用于属性和本地上下文比较的数据集。',
'Check a single postcode before arranging a viewing.': '在安排观看之前检查单个邮政编码。',
'Compare Manchester postcodes': '比较曼彻斯特邮政编码',
'查看用于房产和当地背景比较的数据集。',
'Check a single postcode before arranging a viewing.': '在安排看房之前检查单个邮编。',
'Compare Manchester postcodes': '比较曼彻斯特邮',
'How to compare Bristol postcodes before a property search':
'如何在房产搜索前比较布里斯托尔邮政编码',
'如何在房产搜索前比较布里斯托尔邮',
'Bristol property search - Compare postcodes by commute and price':
'布里斯托尔房产搜索 - 按通勤和价格比较邮政编码',
'布里斯托尔房产搜索 - 按通勤和价格比较邮',
'Compare Bristol postcodes by price, commute, property size, schools, broadband, crime, road noise, parks and amenities before viewings.':
'在查看之前,按价格、通勤、房产规模、学校、宽带、犯罪、道路噪音、公园和便利设施比较布里斯托尔邮政编码。',
'在查看之前,按价格、通勤、房产面积、学校、宽带、犯罪、道路噪音、公园和便利设施比较布里斯托尔邮编。',
'Bristol searches often involve sharp trade-offs between price, journey time, property size, and neighbourhood context. A postcode-first comparison keeps those trade-offs visible.':
'布里斯托尔的搜索通常涉及价格、行程时间、房产规模和社区环境之间的尖锐权衡。邮政编码优先的比较使这些权衡显而易见。',
'布里斯托尔的搜索通常涉及价格、出行时间、房产面积和社区环境之间的尖锐权衡。邮编优先的比较使这些权衡显而易见。',
'Make commute constraints explicit': '明确通勤限制',
'If access to the centre, a station, hospital, university, or business park matters, use travel-time filters first and then compare the remaining postcodes by property data.':
'如果前往中心、车站、医院、大学或商业园区很重要,请首先使用出行时间过滤器,然后通过属性数据比较剩余的邮政编码。',
'如果前往中心、车站、医院、大学或商业园区很重要,请首先使用出行时间筛选条件,然后通过房产数据比较剩余的邮编。',
'Compare value, not just headline price': '比较价值,而不仅仅是标题价格',
'Use price, property type, and floor-area filters together. This helps distinguish lower-cost areas from areas that simply contain smaller or different homes.':
'将价格、房产类型和建筑面积过滤器结合使用。这有助于将低成本区域与仅包含较小或不同房屋的区域区分开来。',
'将价格、房产类型和建筑面积筛选条件结合使用。这有助于将低成本区域与仅包含较小或不同房屋的区域区分开来。',
'Screen environmental and local-service signals': '筛选环境和本地服务信号',
'Road noise, parks, broadband, crime, and amenities can affect whether a property works day to day. Use them as screening criteria before booking viewings.':
'道路噪音、公园、宽带、犯罪和便利设施都会影响房产的日常运作。在预订观看之前将它们用作筛选标准。',
'道路噪音、公园、宽带、犯罪和便利设施都会影响房产的日常运作。在预约看房之前将它们用作筛选标准。',
'Can I use this for commuter villages around Bristol?':
'我可以将其用于布里斯托尔周围的通勤村庄吗?',
'Yes, where the relevant postcode and travel-time data is available. Always verify routes and services manually before deciding.':
'是的,只要有相关邮政编码和旅行时间数据即可。在做出决定之前,请务必手动验证路线和服务。',
'是的,只要有相关邮编和出行时间数据即可。在做出决定之前,请务必手动验证路线和服务。',
'Can this tell me whether a listing is good value?': '这可以告诉我列表是否物有所值吗?',
'It can provide area context, but a specific listing still needs comparable sales, condition checks, survey findings, and professional advice where appropriate.':
'它可以提供区域背景,但特定列表仍然需要可比较的销售、状况检查、调查结果和适当的专业建议。',
'它可以提供区域背景,但特定列表仍然需要可比较的销售、状况检查、验房结果和适当的专业建议。',
'Search by reachable postcodes before refining by budget and local context.':
'先按可达的邮政编码进行搜索,然后再按预算和当地情况进行细化。',
'先按可达的邮进行搜索,然后再按预算和当地情况进行细化。',
'Understand price patterns before setting listing alerts.':
'在设置列表提醒之前了解价格模式。',
'在设置房源提醒之前了解价格模式。',
'Privacy and security': '隐私和安全',
'How account and saved-search data is handled in the product.':
'产品中如何处理帐户和已保存的搜索数据。',
'Compare Bristol postcodes': '比较布里斯托尔邮政编码',
'Trust and coverage': '信任和覆盖',
'Perfect Postcode data sources and coverage': 'Perfect Postcode数据源和覆盖范围',
'Compare Bristol postcodes': '比较布里斯托尔邮',
'Trust and coverage': '可信度与覆盖范围',
'Perfect Postcode data sources and coverage': 'Perfect Postcode 数据源和覆盖范围',
'Perfect Postcode data sources - Property, schools, commute and local context':
'完美的邮政编码数据源 - 房产、学校、通勤和当地情况',
'Perfect Postcode 数据来源 - 房产、学校、通勤和当地背景',
'Review the public and official datasets used by Perfect Postcode, including property prices, EPC, schools, crime, broadband, noise and travel-time context.':
'查看 Perfect Postcode 使用的公共和官方数据集包括房价、EPC、学校、犯罪、宽带、噪音和行时间背景。',
'查看 Perfect Postcode 使用的公共和官方数据集包括房价、EPC、学校、犯罪、宽带、噪音和行时间背景。',
'Perfect Postcode combines property, transport, education, environment, and local-service datasets so buyers can compare postcodes consistently. This page explains what the data is for and where it should be verified.':
'Perfect Postcode 结合了房地产、交通、教育、环境和本地服务数据集,因此买家可以一致地比较邮政编码。此页面解释了数据的用途以及应在何处验证数据。',
'Property and housing context': '财产和住房环境',
'Perfect Postcode 结合了房地产、交通、教育、环境和本地服务数据集,因此买家可以一致地比较邮。此页面解释了数据的用途以及应在何处验证数据。',
'Property and housing context': '房产和住房背景',
'The product uses property transaction and housing-context datasets to support filters such as sale price, property type, tenure, floor area, energy performance, and estimated current value.':
'该产品使用房产交易和住房背景数据集来支持销售价格、房产类型、保有权、建筑面积、能源绩效和估计当前价值等过滤器。',
'该产品使用房产交易和住房背景数据集来支持销售价格、房产类型、产权、建筑面积、能源绩效和估计当前价值等筛选条件。',
'Use these fields to compare areas, not as a formal valuation.':
'使用这些字段来比较面积,而不是作为正式评估。',
'使用这些字段来比较区域,而不是作为正式估值。',
'Check current listings, title information, lender requirements, and survey results before buying.':
'购买前检查当前列表、产权信息、贷方要求和调查结果。',
'购买前检查当前房源、产权信息、贷方要求和验房结果。',
'Schools, safety, broadband, and environment': '学校、安全、宽带和环境',
'Local-context filters help compare postcodes on signals that affect daily life. They should be treated as screening data and checked against current official sources for decisions.':
'本地上下文过滤器有助于比较影响日常生活的信号的邮政编码。它们应被视为筛选数据,并根据当前的官方来源进行检查以做出决定。',
'Travel-time data': '时间数据',
'当地背景筛选条件有助于按影响日常生活的指标比较邮编。它们应被视为初筛数据,决策时需参照当前的官方来源核实。',
'Travel-time data': '行时间数据',
'Travel-time filters are designed for consistent area comparison. Route availability, disruption, parking, walking access, and timetable details should be verified before committing to an area.':
'传播时间过滤器旨在实现一致的面积比较。在前往某个区域之前,应验证路线可用性、中断情况、停车位、步行通道和时间表详细信息。',
'Why does coverage focus on England?': '为什么报道聚焦英格兰?',
'出行时间筛选条件旨在实现一致的区域比较。在选定某个区域之前,应验证路线可用性、中断情况、停车位、步行通道和时刻表详情。',
'Why does coverage focus on England?': '为什么覆盖范围聚焦于英格兰?',
'Several core property, education, and local-context datasets are jurisdiction-specific. England coverage keeps comparisons more consistent.':
'一些核心财产、教育和当地背景数据集是特定于管辖区的。英格兰的报道使比较更加一致。',
'若干核心的房产、教育和当地背景数据集仅适用于特定司法辖区。聚焦英格兰能让比较保持更一致。',
'How should I handle stale or missing data?': '我应该如何处理陈旧或丢失的数据?',
'Use the map as a shortlist tool. If a postcode matters, verify the latest details with current official sources and direct local checks.':
'使用地图作为候选名单工具。如果邮政编码很重要,请通过当前的官方来源验证最新详细信息并直接进行本地检查。',
'How filters and comparisons should be interpreted.': '应如何解释过滤器和比较。',
'Review postcode-level context before a viewing.': '在查看之前查看邮政编码级别的上下文。',
'将地图当作候选名单工具。如果某个邮编很关键,请通过当前的官方来源核实最新信息,并直接进行当地查证。',
'How filters and comparisons should be interpreted.': '应如何理解筛选条件和比较结果。',
'Review postcode-level context before a viewing.': '在看房前查看邮编层级的背景信息。',
'How saved searches and account data are handled.': '如何处理保存的搜索和帐户数据。',
'How to use the map': '如何使用地图',
'Methodology for postcode property research': '邮政编码财产研究方法',
'Methodology for postcode property research': '邮编房产研究方法论',
'Perfect Postcode methodology - How to interpret postcode property data':
'Perfect Postcode方法 - 如何解释邮政编码属性数据',
'Perfect Postcode 方法论 - 如何理解邮编房产数据',
'Understand how to use postcode filters, property estimates, travel-time data, school context and local signals as a home-buying shortlist tool.':
'了解如何使用邮政编码过滤器、房产估算、旅行时间数据、学校背景和当地信号作为购房候选名单工具。',
'了解如何使用邮编筛选条件、房产估算、出行时间数据、学校背景和当地信号作为购房候选名单工具。',
'Perfect Postcode is designed to make area shortlisting more evidence-led. It doesnt replace estate agents, surveyors, conveyancers, lenders, school admissions teams, or local authority checks.':
'Perfect Postcode 旨在使区域入围更加以证据为主导。它不能取代房地产经纪人、测量师、产权转让师、贷款人、学校招生团队或地方当局的检查。',
'Perfect Postcode 旨在让区域候选更以证据为导向。它不能取代房地产中介、测量师、产权转让律师、贷款机构、学校招生部门或地方政府的核查。',
'Start with hard constraints': '从硬性约束开始',
'Begin with non-negotiables such as budget, property type, floor area, commute time, and essential services. This removes impossible postcodes before softer preferences are considered.':
'从预算、房产类型、建筑面积、通勤时间和基本服务等不可协商的事项开始。这会在考虑较软的偏好之前删除不可能的邮政编码。',
'从预算、房产类型、建筑面积、通勤时间和基本服务等不可妥协的条件入手。在考虑次要偏好之前,先排除不可能的邮编。',
'Use colour layers for trade-offs': '使用颜色层进行权衡',
'After filtering, colour the remaining map by one signal at a time: price per square metre, road noise, school context, commute time, broadband, or crime. This makes trade-offs easier to discuss.':
'过滤后,一次按一个信号对剩余地图进行着色:每平方米价格、道路噪音、学校环境、通勤时间、宽带或犯罪情况。这使得权衡更容易讨论。',
'筛选后,一次按一个信号对剩余地图进行着色:每平方米价格、道路噪音、学校环境、通勤时间、宽带或犯罪情况。这使得权衡更容易讨论。',
'Measure whats working': '衡量哪些内容有效',
'Use Search Console and analytics to track which public pages are indexed, which queries produce impressions, and which pages convert visitors into dashboard exploration. Review Core Web Vitals after every substantial frontend change.':
'使用 Search Console 和分析来跟踪哪些公共页面被索引、哪些查询产生展示次数以及哪些页面将访问者转化为仪表板探索。在每次重大前端更改后查看 Core Web Vitals。',
'Can the tool choose the right postcode for me?': '该工具可以为我选择正确的邮政编码吗?',
'Can the tool choose the right postcode for me?': '该工具可以为我选择正确的邮吗?',
'No. It helps compare evidence and reduce the search area. The final decision needs direct visits, current listings, legal checks, surveys, and personal judgement.':
'不会。它有助于比较证据并缩小搜索范围。最终决定需要直接访问、当前列表、法律检查、调查和个人判断。',
'不能。它能帮您比较证据并缩小搜索范围。最终决定还需要实地走访、当前房源、法律核查、验房和个人判断。',
'How should I use estimates?': '我应该如何使用估算值?',
'Use estimates as comparison signals, not as professional valuations or purchase advice.':
'使用估算作为比较信号,而不是作为专业估价或购买建议。',
'Understand where key filters come from.': '了解关键过滤器的来源。',
'将估算值作为比较参考,而不是专业估价或购房建议。',
'Understand where key filters come from.': '了解关键筛选条件的来源。',
'Apply the methodology to price-led area comparison.': '将该方法应用于价格主导的区域比较。',
'Apply the methodology to destination-led search.': '将该方法应用于以目的地为主导的搜索。',
Trust: '信任',
'Privacy and security for saved property searches': '保存的财产搜索的隐私和安全',
'Privacy and security for saved property searches': '已保存房产搜索的隐私与安全',
'Perfect Postcode privacy and security - Saved searches and account data':
'完美的邮政编码隐私和安全 - 保存的搜索和帐户数据',
'Perfect Postcode 隐私与安全 - 已保存的搜索和账户数据',
'Learn how Perfect Postcode treats saved searches, account data and property research workflows with privacy and security in mind.':
'了解 Perfect Postcode 如何在考虑隐私和安全的情况下处理已保存的搜索、帐户数据和产研究工作流程。',
'了解 Perfect Postcode 如何在考虑隐私和安全的情况下处理已保存的搜索、帐户数据和产研究工作流程。',
'Property research can reveal personal priorities, budgets, and locations. The product keeps public SEO pages separate from account-only areas and marks private dashboard/account routes as noindex.':
'房地产研究可以揭示个人优先事项、预算和地点。该产品将公共 SEO 页面与仅帐户区域分开,并将私人仪表板/帐户路线标记为 noindex。',
'房产研究可能暴露个人偏好、预算和地点。本产品将公共 SEO 页面与仅限账户访问的区域分开,并将私人面板/账户路径标记为 noindex禁止索引。',
'Public pages and private areas are separated': '公共页面和私人区域分开',
'Marketing, methodology, guide, and support pages are indexable. Dashboard, account, saved searches, invites, and invitation routes are marked noindex or blocked from crawler access where appropriate.':
'营销、方法、指南和支持页面都是可索引的。仪表板、帐户、已保存的搜索、邀请和邀请路线被标记为 noindex 或在适当的情况下阻止爬网程序访问。',
'Saved search data is account-scoped': '保存的搜索数据是帐户范围内的',
'营销、方法论、指南和支持页面是可被搜索引擎索引的。面板、账户、已保存搜索、邀请和邀请页面则被标记为 noindex或在适当情况下被阻止爬虫访问。',
'Saved search data is account-scoped': '已保存的搜索数据仅限账户范围',
'Saved searches and shared links are intended for signed-in use. They arent included in the public sitemap and shouldnt be crawlable as public content.':
'保存的搜索和共享链接仅供登录使用。它们不包含在公共站点地图中,也不应作为公共内容进行抓取。',
'Search measurement without exposing private data': '搜索测量而不暴露私人数据',
'已保存的搜索和分享链接仅供已登录用户使用。它们不包含在公共站点地图中,也不应作为公共内容被爬取。',
'Search measurement without exposing private data': '在不暴露私人数据的前提下衡量搜索效果',
'SEO measurement should happen on public pages using aggregated analytics and Search Console data. Private query parameters and account views shouldnt become indexable landing pages.':
'SEO 测量应该使用聚合分析和 Search Console 数据在公共页面上进行。私有查询参数和帐户视图不应成为可索引的登陆页面。',
'SEO 衡量应基于公共页面,使用聚合分析和 Search Console 数据完成。私有查询参数和账户视图不应成为可被索引的落地页。',
'Are saved searches listed in the sitemap?': '站点地图中是否列出了已保存的搜索?',
'No. Public SEO pages are listed; account and saved-search routes are intentionally excluded.':
'否。列出了公共 SEO 页面;帐户和保存的搜索路线被有意排除。',
'Can private dashboard URLs appear in search?': '私有仪表板 URL 可以出现在搜索中吗?',
'不会。仅列出公共 SEO 页面;账户和已保存搜索的路径被有意排除。',
'Can private dashboard URLs appear in search?': '私人面板的 URL 会出现在搜索结果中吗?',
'They shouldnt be indexed. The server marks private routes noindex and the sitemap only lists public pages.':
'它们不应该被索引。服务器将私有路由标记为noindex站点地图仅列出公共页面。',
'How to use public postcode data responsibly.': '如何负责任地使用公共邮政编码数据。',
'它们不应被索引。服务器会将私有路径标记为 noindex并且站点地图仅列出公共页面。',
'How to use public postcode data responsibly.': '如何负责任地使用公共邮数据。',
'What data powers the public comparisons.': '哪些数据支持公众比较。',
'Explore public postcode-search workflows.': '探索公共邮政编码搜索工作流程。',
'Explore public postcode-search workflows.': '探索公共邮搜索工作流程。',
},
},
@ -914,7 +914,7 @@ const zh: Translations = {
statFilters: '可组合筛选条件',
statEvery: '覆盖',
statPostcodeInEngland: '英格兰每个邮编',
ourPhilosophy: '从生活需求出发,而不是从邮编出发',
ourPhilosophy: '先明确重要条件,再找到合适的邮编',
philosophyP1:
'大多数房产网站先问您想住哪里。在伦敦这个问题尤其困难,但英格兰各地都有同样的问题:买家通常只能从几个熟悉的地方开始,然后分别查询通勤、学校、犯罪率、街景、宽带和成交价。',
philosophyP2:

View file

@ -111,6 +111,33 @@ export interface POIResponse {
pois: POI[];
}
export interface ActualListing {
lat: number;
lon: number;
postcode: string;
address?: string;
property_type?: string;
property_sub_type?: string;
leasehold_freehold?: string;
price_qualifier?: string;
bedrooms?: number;
bathrooms?: number;
rooms_total?: number;
floor_area_sqm?: number;
asking_price?: number;
asking_price_per_sqm?: number;
listing_url: string;
listing_status?: string;
listing_date_iso?: string;
features: string[];
}
export interface ActualListingsResponse {
listings: ActualListing[];
total: number;
truncated: boolean;
}
export interface POICategoryGroup {
name: string;
categories: string[];