TTikotok V4

This commit is contained in:
2026-07-10 11:29:04 +02:00
parent 1a9548cf25
commit 5c48def4e1
60 changed files with 6097 additions and 1319 deletions

View File

@@ -0,0 +1,96 @@
import type { Lang } from '@/lib/i18n'
/**
* Zentrale Sprach-Architektur.
*
* `routeGroups`: echte Übersetzungspaare. Sie steuern den Sprachumschalter
* UND erzeugen die hreflang-Alternates in der Metadata.
*
* `fuzzyTargets`: thematisch nächstliegende Seite, wenn es keine echte
* Übersetzung gibt. Nur der Umschalter nutzt sie — hreflang ignoriert sie,
* damit Google keine falschen Übersetzungspaare gemeldet bekommt.
*
* Neue Subpage? Echte Übersetzung in routeGroups eintragen, sonst
* fuzzyTargets ergänzen (oder weglassen, dann geht's zur Locale-Startseite).
*/
const routeGroups: Partial<Record<Lang, string>>[] = [
{ de: '/', en: '/en', es: '/es' },
{ de: '/pflanzen-erkennen-app', en: '/plant-identifier-app', es: '/es/identificador-de-plantas' },
{ de: '/blumen-scanner', en: '/flower-scanner' },
{ de: '/pflanzen-bestimmen', en: '/identify-plant-photo' },
{ de: '/zimmerpflanzen-bestimmen', en: '/houseplant-identifier' },
{ de: '/pflanzen-pflege-app', en: '/plant-care-app', es: '/es/app-para-cuidar-plantas' },
{ de: '/pflanzen-krankheiten-erkennen', en: '/plant-disease-identifier', es: '/es/diagnosticar-enfermedades-plantas' },
{ de: '/pflanzen-erkennen-kostenlos', en: '/best-plant-identification-app' },
{ en: '/plant-scanner', es: '/es/escaner-de-plantas' },
{ de: '/vs/google-lens', es: '/es/comparar/google-lens' },
]
const fuzzyTargets: Record<string, Partial<Record<Lang, string>>> = {
'/blumen-scanner': { es: '/es/escaner-de-plantas' },
'/flower-scanner': { es: '/es/escaner-de-plantas' },
'/plant-scanner': { de: '/blumen-scanner' },
'/pflanzen-bestimmen': { es: '/es/identificador-de-plantas' },
'/identify-plant-photo': { es: '/es/identificador-de-plantas' },
'/zimmerpflanzen-bestimmen': { es: '/es/identificador-de-plantas' },
'/houseplant-identifier': { es: '/es/identificador-de-plantas' },
'/pflanzen-erkennen-kostenlos': { es: '/es/identificador-de-plantas' },
'/best-plant-identification-app': { es: '/es/identificador-de-plantas' },
'/giess-erinnerung-app': { en: '/plant-care-app', es: '/es/app-para-cuidar-plantas' },
'/plant-health-app': { de: '/pflanzen-krankheiten-erkennen', es: '/es/diagnosticar-enfermedades-plantas' },
'/succulent-identifier': { de: '/zimmerpflanzen-bestimmen', es: '/es/identificador-de-plantas' },
'/es/escaner-de-plantas': { de: '/blumen-scanner' },
'/es/identificador-de-plantas': { de: '/pflanzen-erkennen-app' },
'/vs/picturethis': { de: '/pflanzen-erkennen-app', es: '/es/identificador-de-plantas' },
'/vs/plantum': { de: '/pflanzen-erkennen-app', es: '/es/identificador-de-plantas' },
'/vs/inaturalist': { de: '/pflanzen-erkennen-app', es: '/es/identificador-de-plantas' },
}
/** Seiten, die in allen Sprachen unter derselben URL leben (Client-Übersetzung). */
const sharedPaths = new Set(['/support', '/imprint', '/privacy', '/terms'])
export const localeHome: Record<Lang, string> = { de: '/', en: '/en', es: '/es' }
const englishPaths = new Set([
'/en',
'/best-plant-identification-app',
'/plant-identifier-app',
'/plant-scanner',
'/flower-scanner',
'/houseplant-identifier',
'/succulent-identifier',
'/identify-plant-photo',
'/plant-disease-identifier',
'/plant-health-app',
'/plant-care-app',
])
export function getLocaleForPath(pathname: string): Lang {
if (pathname === '/es' || pathname.startsWith('/es/')) return 'es'
if (pathname === '/vs/google-lens') return 'de'
if (englishPaths.has(pathname) || pathname.startsWith('/vs/')) return 'en'
return 'de'
}
function findGroup(pathname: string): Partial<Record<Lang, string>> | undefined {
return routeGroups.find((group) => Object.values(group).includes(pathname))
}
/** Ziel-URL beim Sprachwechsel: Übersetzung, thematischer Fallback oder Locale-Home. */
export function getAlternatePath(pathname: string, target: Lang): string {
if (sharedPaths.has(pathname)) return pathname
if (getLocaleForPath(pathname) === target) return pathname
return findGroup(pathname)?.[target] ?? fuzzyTargets[pathname]?.[target] ?? localeHome[target]
}
/** hreflang-Alternates für die Metadata einer Seite (nur echte Übersetzungen). */
export function getHreflangAlternates(pathname: string): Record<string, string> | undefined {
const group = findGroup(pathname)
if (!group || Object.keys(group).length < 2) return undefined
return {
...(group.de && { de: group.de }),
...(group.en && { en: group.en }),
...(group.es && { es: group.es }),
'x-default': group.de ?? group.en ?? '/',
}
}

View File

@@ -0,0 +1,61 @@
import type { Metadata } from 'next'
import { notFound } from 'next/navigation'
import SeoCategoryPage from '@/components/SeoCategoryPage'
import { getHreflangAlternates } from '@/lib/localeRoutes'
import { getSeoPageBySlug } from '@/lib/seoPages'
import { siteConfig } from '@/lib/site'
/**
* Template für SEO-Subpages. Neue Seite in 3 Schritten:
*
* 1. Profil in `lib/seoPages.ts` anlegen (SeoPageProfile) und den Slug
* bei deutschen Seiten in `germanSeoPageSlugs` eintragen — damit landen
* Sitemap-Eintrag und /de/<slug>-Redirect automatisch.
* Englische Seiten zusätzlich in `app/sitemap.ts` ergänzen.
* 2. `app/<slug>/page.tsx` anlegen:
*
* import { buildSeoPageMetadata, createSeoPage } from '@/lib/seoPageFactory'
*
* export const metadata = buildSeoPageMetadata('<slug>')
* export default createSeoPage('<slug>')
*
* 3. Interne Links setzen: `relatedLinks` thematisch passender Profile
* auf die neue Seite zeigen lassen.
*/
export function buildSeoPageMetadata(slug: string): Metadata {
const profile = getSeoPageBySlug(slug)
if (!profile) {
return {}
}
const languages = getHreflangAlternates(profile.canonical)
return {
title: profile.metaTitle,
description: profile.metaDescription,
alternates: { canonical: profile.canonical, ...(languages && { languages }) },
openGraph: {
title: profile.metaTitle,
description: profile.metaDescription,
url: `${siteConfig.domain}${profile.canonical}`,
type: 'website',
images: [{ url: '/og-image.png', width: 1200, height: 630, alt: profile.metaTitle }],
},
twitter: {
card: 'summary_large_image',
title: profile.metaTitle,
description: profile.metaDescription,
images: ['/og-image.png'],
},
}
}
export function createSeoPage(slug: string) {
const profile = getSeoPageBySlug(slug)
return function SeoPage() {
if (!profile) notFound()
return <SeoCategoryPage profile={profile} />
}
}

View File

@@ -349,6 +349,7 @@ const seoPageProfiles: Record<string, SeoPageProfile> = {
'pflanzen-erkennen-app': {
slug: 'pflanzen-erkennen-app',
locale: 'de',
metaTitle: 'Pflanzen erkennen App kostenlos: Foto scannen | GreenLens',
metaDescription:
'Erkenne Pflanzen per Foto: Artname, Pflegeplan, Gießerinnerung und Diagnose in einer App. Kostenlos starten mit GreenLens für iPhone.',
@@ -638,6 +639,7 @@ const additionalSeoPages: Record<string, SeoPageProfile> = {
'pflanzen-bestimmen': {
slug: 'pflanzen-bestimmen',
locale: 'de',
metaTitle: 'Pflanzen bestimmen per Foto kostenlos | GreenLens',
metaDescription:
'Pflanze fotografieren und kostenlos bestimmen: GreenLens liefert Artname, Pflegeplan, Gießerinnerung und Gesundheitscheck ohne Google-Umweg.',
@@ -1023,6 +1025,7 @@ const englishSeoPages: Record<string, SeoPageProfile> = {
const germanSeoPages2: Record<string, SeoPageProfile> = {
'pflanzen-krankheiten-erkennen': {
slug: 'pflanzen-krankheiten-erkennen',
locale: 'de',
metaTitle: 'Pflanzenkrankheiten erkennen & diagnostizieren per Foto | GreenLens',
metaDescription:
'Pflanzenkrankheit erkennen: gelbe Blätter, braune Flecken, Schädlinge oder Wurzelfäule per Foto analysieren und sofort den nächsten richtigen Schritt erhalten.',
@@ -1143,9 +1146,10 @@ const germanSeoPages2: Record<string, SeoPageProfile> = {
'pflanzen-pflege-app': {
slug: 'pflanzen-pflege-app',
metaTitle: 'Pflanzen gießen Erinnerung App | GreenLens Pflege',
locale: 'de',
metaTitle: 'Pflanzen Pflege App: Pflegeplan pro Pflanze | GreenLens',
metaDescription:
'Pflanzen gießen Erinnerung, Pflegeplan und Push-Hinweise pro Pflanze: GreenLens hilft bei Standort, Licht, Wasser und Diagnose.',
'Pflegeplan, Gießerinnerung und Push-Hinweise pro Pflanze: Die GreenLens Pflanzen Pflege App hilft bei Standort, Licht, Wasser und Diagnose.',
canonical: '/pflanzen-pflege-app',
h1: 'Pflanzen Pflege App',
tagline: 'Pflegepläne und Gießerinnerungen, die zu jeder Pflanze passen.',
@@ -1272,6 +1276,11 @@ const germanSeoPages2: Record<string, SeoPageProfile> = {
},
],
relatedLinks: [
{
href: '/giess-erinnerung-app',
label: 'Gieß-Erinnerung App',
description: 'Nie wieder Gießen vergessen — Push-Erinnerungen pro Pflanze.',
},
{
href: '/pflanzen-bestimmen',
label: 'Pflanzen bestimmen',
@@ -1295,8 +1304,170 @@ const germanSeoPages2: Record<string, SeoPageProfile> = {
],
},
'giess-erinnerung-app': {
slug: 'giess-erinnerung-app',
locale: 'de',
metaTitle: 'Gieß-Erinnerung App: Pflanzen gießen Erinnerung | GreenLens',
metaDescription:
'Nie wieder Gießen vergessen: GreenLens erinnert dich pro Pflanze ans Gießen — mit Gießplan nach Pflanzenart, Standort und Jahreszeit. Kostenlos starten.',
canonical: '/giess-erinnerung-app',
h1: 'Gieß-Erinnerung App',
tagline: 'Nie wieder Gießen vergessen — Erinnerungen, die zu jeder Pflanze passen.',
directAnswer:
'GreenLens ist eine Gieß-Erinnerung App für iOS und Android. Pflanze scannen, und die App legt automatisch einen Gießplan mit Push-Erinnerung an — abgestimmt auf Art, Standort und Jahreszeit statt auf einen starren Timer.',
definitionBlock:
'Eine Gieß-Erinnerung App erinnert dich daran, deine Pflanzen zu gießen, bevor sie vertrocknen oder überwässert werden. GreenLens erstellt die Erinnerung nicht aus einem festen Intervall, sondern aus dem Scan-Ergebnis: Die erkannte Art bestimmt den Wasserbedarf, Standort und Jahreszeit passen den Rhythmus an, und der Gesundheitscheck greift ein, wenn die Pflanze Stresssignale zeigt.',
lastUpdated: 'Juli 2026',
includeAppSchema: true,
featureTable: {
title: 'GreenLens vs. Timer- und Kalender-Erinnerungen',
alternativeLabel: 'Timer- und Kalender-Apps',
rows: [
{
feature: 'Gießerinnerung einrichten',
greenlens:
'Pflanze scannen — der Gießplan mit Erinnerung wird automatisch aus der erkannten Art erstellt.',
alternative:
'Intervall selbst recherchieren und für jede Pflanze manuell eintragen.',
},
{
feature: 'Gießintervall',
greenlens:
'Passt sich an Pflanzenart, Standort, Licht und Jahreszeit an — Sukkulente und Monstera bekommen unterschiedliche Rhythmen.',
alternative:
'Festes Intervall (z.B. alle 7 Tage), unabhängig davon, was die Pflanze braucht.',
},
{
feature: 'Mehrere Pflanzen',
greenlens:
'Jede Pflanze hat ein eigenes Profil mit Foto, Notizen und eigener Erinnerung.',
alternative:
'Eine lange Erinnerungsliste ohne Pflanzenkontext — leicht zu verwechseln.',
},
{
feature: 'Überwässerung',
greenlens:
'Gesundheitscheck erkennt Überwässerungssymptome und passt die Empfehlung an, statt stur weiter zu erinnern.',
alternative:
'Der Timer läuft weiter, auch wenn die Pflanze bereits zu nass steht.',
},
{
feature: 'Mehr als Gießen',
greenlens:
'Erinnert auch an Düngen und Umtopfen — abgestimmt auf die erkannte Art.',
alternative:
'Jede weitere Erinnerung muss separat angelegt und gepflegt werden.',
},
],
},
greenLensIf: [
'Du vergisst regelmäßig das Gießen und willst Push-Erinnerungen pro Pflanze statt eines Standard-Timers.',
'Du hast Pflanzen mit unterschiedlichem Wasserbedarf — Sukkulenten, Zimmerpflanzen, Balkonkästen — und willst sie getrennt verwalten.',
'Du willst, dass die Erinnerung sich anpasst, wenn eine Pflanze gestresst aussieht, statt blind weiterzulaufen.',
],
notBestIf: [
'Du hast nur eine einzige robuste Pflanze und ein Wecker reicht dir völlig.',
'Du suchst Bewässerungssteuerung für Sensoren oder automatische Bewässerungssysteme — GreenLens arbeitet mit Erinnerungen, nicht mit Hardware.',
],
contentSections: [
{
eyebrow: 'So funktioniert es',
title: 'Vom Scan zur Gießerinnerung in unter einer Minute.',
body:
'Statt Gießintervalle zu googeln und manuell einzutragen, scannst du die Pflanze einmal. GreenLens erkennt die Art, legt ein Profil an und erstellt daraus den Gießplan mit Push-Erinnerung — für jede Pflanze einzeln.',
bullets: [
'Pflanze fotografieren — Art und Wasserbedarf werden automatisch erkannt.',
'Gießplan pro Pflanze, angepasst an Standort, Licht und Jahreszeit.',
'Push-Erinnerung, wenn eine Pflanze dran ist — mit Foto, damit nichts verwechselt wird.',
],
},
{
eyebrow: 'Zu viel oder zu wenig',
title: 'Die Erinnerung, die auch vor Überwässerung schützt.',
body:
'Die meisten Zimmerpflanzen sterben nicht am Vergessen, sondern am zu häufigen Gießen. Zeigt eine Pflanze gelbe Blätter oder weiche Stiele, prüfst du sie mit dem Gesundheitscheck — GreenLens erkennt Überwässerung und passt die Empfehlung an, statt die nächste Erinnerung zu erzwingen.',
},
{
eyebrow: 'Urlaub und Alltag',
title: 'Gießerinnerungen, die deinen Rhythmus mitmachen.',
body:
'Ob Urlaubsvorbereitung, Umzug ans andere Fenster oder Winterruhe: Gießintervalle lassen sich pro Pflanze jederzeit anpassen. Die Pflegehistorie zeigt dir, wann zuletzt gegossen wurde — auch wenn mehrere Personen im Haushalt gießen.',
},
],
faqs: [
{
question: 'Welche App erinnert mich ans Pflanzen gießen?',
answer:
'GreenLens erinnert dich per Push-Nachricht ans Gießen — für jede Pflanze einzeln. Nach dem Scan wird der Gießplan automatisch aus der erkannten Art erstellt und an Standort und Jahreszeit angepasst.',
},
{
question: 'Ist die Gieß-Erinnerung in GreenLens kostenlos?',
answer:
'Ja. Pflanzensammlung, Gießpläne und Gieß-Erinnerungen sind in der kostenlosen Version enthalten. Kostenpflichtig sind nur erweiterte KI-Gesundheitschecks und unbegrenzte Scans.',
},
{
question: 'Woher weiß die App, wie oft meine Pflanze Wasser braucht?',
answer:
'Beim Scan erkennt GreenLens die Pflanzenart und leitet daraus den Wasserbedarf ab. Der Gießplan berücksichtigt zusätzlich Standort, Licht und Jahreszeit — eine Sukkulente am Südfenster bekommt einen anderen Rhythmus als ein Farn im Bad.',
},
{
question: 'Kann ich für jede Pflanze eine eigene Gießerinnerung einstellen?',
answer:
'Ja. Jede gespeicherte Pflanze hat ein eigenes Profil mit Foto, Notizen und eigenem Gießintervall. Du kannst jedes Intervall manuell anpassen, wenn du es anders willst als vorgeschlagen.',
},
{
question: 'Erinnert die App auch an Düngen und Umtopfen?',
answer:
'Ja. GreenLens-Pflegepläne umfassen Gießen, Düngen und Umtopfen. Jeder Erinnerungstyp lässt sich pro Pflanze einzeln aktivieren und anpassen.',
},
{
question: 'Was passiert, wenn ich eine Gießerinnerung verpasse?',
answer:
'Die Erinnerung bleibt offen, bis du das Gießen bestätigst — nichts verschiebt sich stillschweigend. Die Pflegehistorie zeigt dir jederzeit, wann jede Pflanze zuletzt gegossen wurde.',
},
{
question: 'Hilft die App auch gegen Überwässerung?',
answer:
'Ja. Überwässerung ist die häufigste Todesursache bei Zimmerpflanzen. Zeigt eine Pflanze weiche Stiele oder gelbe Blätter, erkennt der GreenLens-Gesundheitscheck Überwässerung und empfiehlt eine Gießpause, statt weiter zu erinnern.',
},
{
question: 'Funktioniert die Gieß-Erinnerung auch für Balkon- und Gartenpflanzen?',
answer:
'Ja. GreenLens unterstützt Innen- und Außenpflanzen. Balkonkästen und Gartenpflanzen bekommen eigene Profile mit Intervallen, die zur Saison passen.',
},
{
question: 'Brauche ich für die Erinnerungen eine Internetverbindung?',
answer:
'Nein. Scannen erfordert eine Verbindung, aber deine Pflanzensammlung, Gießpläne und Erinnerungen funktionieren auch offline.',
},
],
relatedLinks: [
{
href: '/pflanzen-pflege-app',
label: 'Pflanzen Pflege App',
description: 'Der komplette Pflegeplan: Gießen, Düngen, Standort und Gesundheitscheck in einer App.',
},
{
href: '/pflanzen-bestimmen',
label: 'Pflanzen bestimmen',
description: 'Pflanze per Foto bestimmen — die Grundlage für den automatischen Gießplan.',
},
{
href: '/zimmerpflanzen-bestimmen',
label: 'Zimmerpflanzen bestimmen',
description: 'Zimmerpflanzen erkennen und direkt passende Gießerinnerungen einrichten.',
},
{
href: '/pflanzen-krankheiten-erkennen',
label: 'Pflanzenkrankheiten erkennen',
description: 'Gelbe Blätter trotz Gießplan? Symptome per Foto analysieren.',
},
],
},
'zimmerpflanzen-bestimmen': {
slug: 'zimmerpflanzen-bestimmen',
locale: 'de',
metaTitle: 'Zimmerpflanzen bestimmen per Foto kostenlos | GreenLens',
metaDescription:
'Bestimme Zimmerpflanzen per Foto: Monstera, Efeutute, Ficus, Orchideen und Sukkulenten erkennen, Pflegeplan erhalten und richtig gießen.',
@@ -1402,6 +1573,11 @@ const germanSeoPages2: Record<string, SeoPageProfile> = {
},
],
relatedLinks: [
{
href: '/giess-erinnerung-app',
label: 'Gieß-Erinnerung App',
description: 'Gießerinnerungen pro Zimmerpflanze — automatisch aus dem Scan.',
},
{
href: '/pflanzen-pflege-app',
label: 'Pflanzen Pflege App',
@@ -1961,6 +2137,7 @@ const highVolumeSeoPages: Record<string, SeoPageProfile> = {
'pflanzen-erkennen-kostenlos': {
slug: 'pflanzen-erkennen-kostenlos',
locale: 'de',
metaTitle: 'Pflanzen erkennen kostenlos — App mit Pflegeplan | GreenLens',
metaDescription:
'GreenLens erkennt Pflanzen kostenlos per Foto und liefert direkt Artname, Pflegeplan und Gießerinnerungen — ohne Umweg und ohne Paywall bei der Erkennung.',
@@ -2095,6 +2272,7 @@ export const germanSeoPageSlugs = [
'zimmerpflanzen-bestimmen',
'pflanzen-pflege-app',
'pflanzen-krankheiten-erkennen',
'giess-erinnerung-app',
] as const
export function getSeoPageBySlug(slug: string): SeoPageProfile | undefined {

View File

@@ -0,0 +1,412 @@
import type { Lang } from '@/lib/i18n'
/** Statische, lokalisierte Texte des SEO-Subpage-Templates. */
export interface SeoTemplateCopy {
nav: {
features: string
tech: string
faq: string
how: string
support: string
download: string
}
hero: {
eyebrow: string
ctaPrimary: string
ctaSecondary: string
stat1Title: string
stat1Label: string
stat2Title: string
stat2Label: string
floatTitle: string
floatLabel: string
imageAlt: string
}
advantage: {
eyebrow: string
heading: string
updated: string
}
didYouKnow: {
title: string
items: { title: string; body: string }[]
}
methodology: {
eyebrow: string
title: string
lead: string
steps: { title: string; body: string }[]
}
comparison: {
eyebrow: string
title: string
lead: string
greenlens: string
alternative: string
tipTitle: string
tipBody: string
}
bestFit: {
chooseTag: string
chooseTitle: string
notTag: string
notTitle: string
}
faq: {
title: string
}
related: {
tag: string
title: string
}
footer: {
downloadTag: string
ctaLine1: string
ctaLine2: string
ctaEm: string
ctaBody: string
storeNote: string
supportLabel: string
brandBody: string
productTitle: string
companyTitle: string
legalTitle: string
useCasesTitle: string
germanTitle: string
spanishTitle: string
imprint: string
privacy: string
terms: string
copy: string
}
}
export const seoTemplateCopy: Record<Lang, SeoTemplateCopy> = {
de: {
nav: {
features: 'Funktionen',
tech: 'Technologie',
faq: 'FAQ',
how: 'So funktioniert es',
support: 'Support',
download: 'App laden',
},
hero: {
eyebrow: 'KI-Pflanzenerkennung',
ctaPrimary: 'App laden',
ctaSecondary: 'So funktioniert es',
stat1Title: 'KI-gestützt',
stat1Label: 'Sofortige Analyse',
stat2Title: 'Ganzheitlich',
stat2Label: 'Erkennung & Pflegeplan',
floatTitle: 'Indische Lotosblume',
floatLabel: 'Erkannt in 0,8s',
imageAlt: 'Smartphone scannt eine Lotusblüte',
},
advantage: {
eyebrow: '— Der Vorteil',
heading: 'Mehr als nur Erkennung. Ein ganzheitlicher Ansatz für Pflanzenpflege.',
updated: 'Algorithmen aktualisiert',
},
didYouKnow: {
title: 'Wusstest du schon?',
items: [
{
title: 'Überwässerung ist Todesursache Nr. 1',
body: 'Die meisten Zimmerpflanzen sterben an Wurzelfäule durch zu häufiges Gießen. GreenLens berechnet präzise Trocknungszeiten.',
},
{
title: 'Lichtintensität fällt rasant ab',
body: 'Schon 1 Meter vom Fenster entfernt sinkt die Lichtintensität um 50 %. Pflegehinweise berücksichtigen den Standort.',
},
{
title: 'Pflanzen reinigen die Raumluft',
body: 'Bestimmte Arten können einen Großteil der Schadstoffe aus der Luft filtern. GreenLens hebt luftreinigende Pflanzen hervor.',
},
],
},
methodology: {
eyebrow: '— Die Technologie',
title: 'Unsere Methodik',
lead: 'Wie GreenLens aus einem einfachen Handyfoto eine vollständige botanische Analyse macht.',
steps: [
{
title: 'Bildaufnahme',
body: 'Die hochauflösende Aufnahme analysiert Blattmorphologie, Blattadern und Stängelstruktur. Unscharfe Bilder werden aussortiert.',
},
{
title: 'Merkmals-Extraktion',
body: 'Das neuronale Netz isoliert über 120 spezifische Merkmale und vergleicht sie mit einer umfangreichen botanischen Datenbank.',
},
{
title: 'Diagnose',
body: 'Ein zweiter Durchlauf sucht gezielt nach Verfärbungen, Schädlingsspuren und Welke — basierend auf typischen Krankheiten der jeweiligen Art.',
},
{
title: 'Plan-Erstellung',
body: 'Aus Erkennung und Gesundheitszustand entsteht ein individueller Pflegeplan, angepasst an Standort und Lichtverhältnisse.',
},
],
},
comparison: {
eyebrow: '— Im Vergleich',
title: 'GreenLens vs. einfache Apps',
lead: 'Warum ernsthafte Pflanzenfans auf unsere Plattform statt auf Standard-Erkennungstools setzen: verwertbare Daten statt bloßer Namen.',
greenlens: 'GreenLens',
alternative: 'Einfache Apps',
tipTitle: 'Botanik-Tipp',
tipBody: 'Regelmäßige Pflege ist besser als seltene Intensiv-Pflege. Nutze Erinnerungen für eine gute Routine.',
},
bestFit: {
chooseTag: 'Passt gut',
chooseTitle: 'Wähle GreenLens, wenn:',
notTag: 'Nicht ideal',
notTitle: 'GreenLens ist nicht die richtige Wahl, wenn:',
},
faq: {
title: 'Häufige Fragen',
},
related: {
tag: 'Verwandt',
title: 'Weitere Guides',
},
footer: {
downloadTag: 'Download',
ctaLine1: 'Bereit für',
ctaLine2: 'bessere',
ctaEm: 'Pflanzenpflege?',
ctaBody: 'GreenLens hilft dir beim Erkennen, Verstehen und Pflegen deiner Pflanzen. Bei Fragen erreichst du uns über die Support-Seite.',
storeNote: 'Die App ist in den Stores verfügbar.',
supportLabel: 'Support',
brandBody: 'Die App für Pflanzenfans, die Analyse, Erkennung und Pflege an einem Ort vereint.',
productTitle: 'Produkt',
companyTitle: 'Unternehmen',
legalTitle: 'Rechtliches',
useCasesTitle: 'Use Cases',
germanTitle: 'Pflanzen erkennen',
spanishTitle: 'En español',
imprint: 'Impressum',
privacy: 'Datenschutz',
terms: 'Nutzungsbedingungen',
copy: '© 2026 GreenLens. Alle Rechte vorbehalten.',
},
},
en: {
nav: {
features: 'Features',
tech: 'Technology',
faq: 'FAQ',
how: 'How it works',
support: 'Support',
download: 'Get the App',
},
hero: {
eyebrow: 'AI plant identification',
ctaPrimary: 'Get the App',
ctaSecondary: 'How it works',
stat1Title: 'AI-powered',
stat1Label: 'Instant analysis',
stat2Title: 'Holistic',
stat2Label: 'Identification & care plans',
floatTitle: 'Sacred lotus',
floatLabel: 'Identified in 0.8s',
imageAlt: 'Phone scanning a lotus flower',
},
advantage: {
eyebrow: '— The Advantage',
heading: 'More than identification. A holistic approach to plant care.',
updated: 'Algorithms updated',
},
didYouKnow: {
title: 'Did you know?',
items: [
{
title: 'Overwatering is the #1 cause of death',
body: 'Most houseplants die from root rot caused by overwatering. GreenLens calculates precise drying times.',
},
{
title: 'Light intensity drops fast',
body: 'Light intensity drops by 50% just 1 meter from the window. Care guidance takes placement into account.',
},
{
title: 'Plants purify indoor air',
body: 'Certain species can filter a large share of airborne toxins. GreenLens highlights air-purifying plants.',
},
],
},
methodology: {
eyebrow: '— The Technology',
title: 'Our Methodology',
lead: 'How GreenLens turns a simple phone photo into a complete botanical analysis.',
steps: [
{
title: 'Image Capture',
body: 'High-resolution capture analyzes leaf morphology, veins, and stem structure. Blurry images are discarded to ensure accuracy.',
},
{
title: 'Feature Extraction',
body: 'Our neural network isolates over 120 specific features and matches them against a vast botanical database.',
},
{
title: 'Diagnosis',
body: 'A second pass looks specifically for discoloration, pest traces, and wilting — based on diseases typical for the species.',
},
{
title: 'Plan Generation',
body: 'Identification and health status combine into an individual care plan adapted to local light and placement.',
},
],
},
comparison: {
eyebrow: '— Perspective',
title: 'GreenLens vs. Basic Apps',
lead: 'Why serious plant enthusiasts trust our platform over standard identification tools: actionable data, not just trivia.',
greenlens: 'GreenLens',
alternative: 'Basic apps',
tipTitle: 'Botanical Tip',
tipBody: 'Regular care beats infrequent intensive care. Use reminders to build a good routine.',
},
bestFit: {
chooseTag: 'Best fit',
chooseTitle: 'Choose GreenLens if:',
notTag: 'Not the best fit',
notTitle: 'GreenLens is not the right tool if:',
},
faq: {
title: 'Frequently Asked Questions',
},
related: {
tag: 'Related',
title: 'More guides',
},
footer: {
downloadTag: 'Download',
ctaLine1: 'Ready for',
ctaLine2: 'better',
ctaEm: 'plant care?',
ctaBody: 'GreenLens helps you identify, understand, and care for your plants. Questions? Reach us via the support page.',
storeNote: 'The app is available in the stores.',
supportLabel: 'Support',
brandBody: 'The app for plant lovers that combines analysis, identification, and care in one place.',
productTitle: 'Product',
companyTitle: 'Company',
legalTitle: 'Legal',
useCasesTitle: 'Use Cases',
germanTitle: 'Auf Deutsch',
spanishTitle: 'En español',
imprint: 'Imprint',
privacy: 'Privacy Policy',
terms: 'Terms of Service',
copy: '© 2026 GreenLens. All rights reserved.',
},
},
es: {
nav: {
features: 'Funciones',
tech: 'Tecnología',
faq: 'FAQ',
how: 'Cómo funciona',
support: 'Soporte',
download: 'Descargar la App',
},
hero: {
eyebrow: 'Identificación de plantas por IA',
ctaPrimary: 'Descargar App',
ctaSecondary: 'Cómo funciona',
stat1Title: 'Impulsado por IA',
stat1Label: 'Análisis instantáneo',
stat2Title: 'Holístico',
stat2Label: 'Identificación y planes',
floatTitle: 'Loto sagrado',
floatLabel: 'Identificada en 0,8s',
imageAlt: 'Teléfono escaneando una flor de loto',
},
advantage: {
eyebrow: '— La Ventaja',
heading: 'Más que solo identificación. Un enfoque holístico para el cuidado de las plantas.',
updated: 'Algoritmos actualizados',
},
didYouKnow: {
title: '¿Sabías que?',
items: [
{
title: 'El exceso de riego es la causa n.º 1 de muerte',
body: 'La mayoría de las plantas de interior mueren por pudrición de la raíz debido al exceso de riego. GreenLens calcula tiempos de secado precisos.',
},
{
title: 'La intensidad de la luz disminuye rápidamente',
body: 'La intensidad de la luz disminuye un 50 % a solo 1 metro de la ventana. Los consejos de cuidado tienen en cuenta la ubicación.',
},
{
title: 'Las plantas purifican el aire interior',
body: 'Ciertas especies pueden filtrar gran parte de las toxinas del aire. GreenLens destaca las plantas purificadoras.',
},
],
},
methodology: {
eyebrow: '— La Tecnología',
title: 'Nuestra Metodología',
lead: 'Cómo GreenLens convierte una simple foto de teléfono en un análisis botánico completo.',
steps: [
{
title: 'Captura de Imagen',
body: 'La captura de alta resolución analiza la morfología de las hojas, las venas y la estructura del tallo. Se descartan las imágenes borrosas.',
},
{
title: 'Extracción de Características',
body: 'Nuestra red neuronal aísla más de 120 características específicas y las compara con una enorme base de datos botánica.',
},
{
title: 'Diagnóstico',
body: 'Una segunda pasada busca decoloración, rastros de plagas y marchitamiento, según las enfermedades típicas de cada especie.',
},
{
title: 'Generación de Plan',
body: 'La identificación y el estado de salud se combinan en un plan de cuidado individual adaptado al clima y la luz locales.',
},
],
},
comparison: {
eyebrow: '— Perspectiva',
title: 'GreenLens vs. Apps Básicas',
lead: 'Por qué los entusiastas serios de las plantas confían en nuestra plataforma más que en herramientas estándar: datos procesables, no solo curiosidades.',
greenlens: 'GreenLens',
alternative: 'Apps básicas',
tipTitle: 'Consejo Botánico',
tipBody: 'El cuidado regular es mejor que el cuidado intensivo y poco frecuente. Usa recordatorios para una buena rutina.',
},
bestFit: {
chooseTag: 'Mejor opción',
chooseTitle: 'Elige GreenLens si:',
notTag: 'No es ideal',
notTitle: 'GreenLens no es la herramienta adecuada si:',
},
faq: {
title: 'Preguntas Frecuentes',
},
related: {
tag: 'Relacionado',
title: 'Más guías',
},
footer: {
downloadTag: 'Download',
ctaLine1: '¿Listo para',
ctaLine2: 'un mejor',
ctaEm: 'cuidado de plantas?',
ctaBody: 'GreenLens te ayuda a identificar, comprender y cuidar tus plantas. ¿Preguntas? Contáctanos a través de la página de soporte.',
storeNote: 'La aplicación ya está disponible en las tiendas.',
supportLabel: 'Soporte',
brandBody: 'La app para los amantes de las plantas que combina análisis, identificación y cuidado en un solo lugar.',
productTitle: 'Producto',
companyTitle: 'Empresa',
legalTitle: 'Legal',
useCasesTitle: 'Use Cases',
germanTitle: 'Auf Deutsch',
spanishTitle: 'En español',
imprint: 'Aviso Legal',
privacy: 'Privacidad',
terms: 'Términos de uso',
copy: '© 2026 GreenLens. Todos los derechos reservados.',
},
},
}