492 lines
29 KiB
HTML
492 lines
29 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en" class="scroll-smooth">
|
||
<head>
|
||
<meta charset="UTF-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||
<title>NGO ERP Landingpage | ODOO4projects</title>
|
||
<meta name="description" content="Purpose-built ERP platform for NGOs. Centralize programs, automate donor and grant reporting, and launch in weeks with ODOO4projects." />
|
||
<meta name="keywords" content="NGO ERP system, nonprofit management software, ERP for NGOs, NGO operations platform, ODOO for nonprofits" />
|
||
<link rel="icon" href="https://odoo4projects.com/web/image/website/1/favicon?unique=725c3af" />
|
||
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet" />
|
||
<script src="https://cdn.tailwindcss.com"></script>
|
||
<script>
|
||
tailwind.config = {
|
||
theme: {
|
||
extend: {
|
||
colors: {
|
||
'brand-ink': '#201824',
|
||
'brand-primary': '#603F57',
|
||
'brand-accent': '#F762B4',
|
||
'brand-sunrise': '#F8B84A',
|
||
'brand-emerald': '#39B982',
|
||
'brand-snow': '#F5F2F7',
|
||
'brand-smoke': '#E5DCE8'
|
||
},
|
||
fontFamily: {
|
||
brand: ['Inter', 'Segoe UI', 'system-ui', 'sans-serif']
|
||
},
|
||
boxShadow: {
|
||
brand: '0 20px 60px rgba(32, 24, 36, 0.15)'
|
||
},
|
||
backgroundImage: {
|
||
'hero-gradient': 'radial-gradient(circle at top left, rgba(247,98,180,0.35), rgba(32,24,36,0.95))'
|
||
}
|
||
}
|
||
}
|
||
}
|
||
</script>
|
||
<style>
|
||
body { font-family: 'Inter', 'Segoe UI', system-ui, sans-serif; }
|
||
</style>
|
||
<script type="application/ld+json">
|
||
{
|
||
"@context": "https://schema.org",
|
||
"@type": "WebPage",
|
||
"name": "NGO ERP Landing",
|
||
"about": "ERP for NGOs",
|
||
"publisher": {
|
||
"@type": "Organization",
|
||
"name": "ODOO4projects",
|
||
"logo": "https://odoo4projects.com/web/image/website/1/logo?unique=1be96c3"
|
||
},
|
||
"mainEntity": {
|
||
"@type": "SoftwareApplication",
|
||
"name": "ODOO4projects NGO ERP",
|
||
"applicationCategory": "BusinessApplication",
|
||
"operatingSystem": "Cloud",
|
||
"offers": {
|
||
"@type": "Offer",
|
||
"price": "0",
|
||
"priceCurrency": "USD",
|
||
"description": "4-week free trial of NGO ERP workspace"
|
||
}
|
||
}
|
||
}
|
||
</script>
|
||
<script defer data-domain="ngo.odoo4projects.com" src="https://plausible.odoo4projects.com/js/script.tagged-events.js"></script>
|
||
<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
|
||
</head>
|
||
<body class="bg-brand-snow text-brand-ink">
|
||
<header class="bg-hero-gradient text-white">
|
||
<div class="max-w-6xl mx-auto px-6 py-6 flex flex-wrap items-center justify-between gap-4">
|
||
<div class="flex items-center gap-3">
|
||
<img src="https://odoo4projects.com/web/image/website/1/logo?unique=1be96c3" alt="ODOO4projects logo" class="h-10 w-auto" />
|
||
<span class="uppercase tracking-[0.3em] text-xs text-brand-smoke" data-i18n="hero-badge"></span>
|
||
</div>
|
||
<nav class="flex flex-wrap items-center gap-6 text-sm">
|
||
<a href="#blog" class="hover:text-brand-sunrise transition" data-i18n="nav-resources"></a>
|
||
<a href="#trial" class="hover:text-brand-sunrise transition" data-i18n="nav-trial"></a>
|
||
</nav>
|
||
<div class="flex items-center gap-3">
|
||
<label for="lang-selector" class="sr-only">Language</label>
|
||
<select id="lang-selector" class="bg-white/10 border border-white/30 text-sm rounded-full px-3 py-1.5 focus:outline-none focus:ring-2 focus:ring-brand-sunrise/70">
|
||
<option value="en">English</option>
|
||
<option value="es">Español</option>
|
||
<option value="de">Deutsch</option>
|
||
</select>
|
||
<a href="https://calendar.google.com/calendar/u/0/appointments/schedules/AcZssZ3DDbaiHFlhNhWySszAQoPXE_H73QLqYT3w7H9IYWC76RA_TgNIhLESjb4N7ep_D2D_OyW9q4-c" target="_blank" rel="noopener" class="px-5 py-2 bg-brand-sunrise text-brand-ink font-semibold rounded-full text-sm shadow-brand hover:translate-y-0.5 transition plausible-event-name=meeting" data-i18n="cta-meeting"></a>
|
||
</div>
|
||
</div>
|
||
<div class="max-w-6xl mx-auto px-6 py-16 grid md:grid-cols-2 gap-12 items-center">
|
||
<div>
|
||
<p class="text-brand-sunrise font-semibold mb-4" data-i18n="hero-pill"></p>
|
||
<h1 class="text-4xl md:text-5xl font-semibold leading-tight mb-6" data-i18n="hero-headline"></h1>
|
||
<p class="text-lg text-white/80 mb-8" data-i18n="hero-subheadline"></p>
|
||
<div class="flex flex-wrap gap-4">
|
||
<a href="#trial" class="px-6 py-3 bg-brand-accent hover:bg-brand-sunrise text-brand-ink font-semibold rounded-full transition" data-i18n="cta-trial" data-event="cta:hero-trial"></a>
|
||
</div>
|
||
<div class="mt-10 grid grid-cols-2 gap-6 text-sm text-white/80">
|
||
<div>
|
||
<p class="text-3xl font-semibold text-white">38%</p>
|
||
<p data-i18n="hero-stat1"></p>
|
||
</div>
|
||
<div>
|
||
<p class="text-3xl font-semibold text-white">2x</p>
|
||
<p data-i18n="hero-stat2"></p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="bg-white/10 backdrop-blur-lg rounded-3xl p-8 shadow-brand">
|
||
<div class="relative">
|
||
<img src="https://images.unsplash.com/photo-1521737604893-d14cc237f11d?auto=format&fit=crop&w=900&q=80" alt="NGO team collaborating" class="rounded-2xl" />
|
||
<div class="absolute -bottom-8 left-8 bg-white/90 text-brand-ink px-4 py-3 rounded-2xl shadow-lg">
|
||
<p class="text-xs uppercase tracking-widest text-brand-primary mb-1" data-i18n="hero-card-title"></p>
|
||
<p class="text-lg font-semibold" data-i18n="hero-card-headline"></p>
|
||
<p class="text-sm text-brand-primary" data-i18n="hero-card-body"></p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</header>
|
||
|
||
<section class="max-w-6xl mx-auto px-6 py-16 grid md:grid-cols-3 gap-8">
|
||
<article class="bg-white rounded-2xl p-6 shadow-brand border border-brand-smoke">
|
||
<h2 class="text-xl font-semibold mb-2" data-i18n="value1-title"></h2>
|
||
<p class="text-sm text-brand-ink/80" data-i18n="value1-body"></p>
|
||
</article>
|
||
<article class="bg-white rounded-2xl p-6 shadow-brand border border-brand-smoke">
|
||
<h2 class="text-xl font-semibold mb-2" data-i18n="value2-title"></h2>
|
||
<p class="text-sm text-brand-ink/80" data-i18n="value2-body"></p>
|
||
</article>
|
||
<article class="bg-white rounded-2xl p-6 shadow-brand border border-brand-smoke">
|
||
<h2 class="text-xl font-semibold mb-2" data-i18n="value3-title"></h2>
|
||
<p class="text-sm text-brand-ink/80" data-i18n="value3-body"></p>
|
||
</article>
|
||
</section>
|
||
|
||
<section id="blog" class="bg-white py-20">
|
||
<div class="max-w-6xl mx-auto px-6">
|
||
<div class="flex flex-col md:flex-row md:items-end md:justify-between gap-6 mb-12">
|
||
<div>
|
||
<p class="text-sm uppercase tracking-[0.3em] text-brand-primary mb-3" data-i18n="blog-tagline"></p>
|
||
<h2 class="text-3xl font-semibold" data-i18n="blog-title"></h2>
|
||
<p class="text-brand-ink/80" data-i18n="blog-subtitle"></p>
|
||
</div>
|
||
<a href="#" class="text-brand-accent font-semibold" data-i18n="blog-link"></a>
|
||
</div>
|
||
<div class="grid gap-6 md:grid-cols-3">
|
||
<article class="border border-brand-smoke rounded-3xl p-6 h-full flex flex-col">
|
||
<p class="text-xs uppercase tracking-widest text-brand-primary mb-3" data-i18n="blog1-tag"></p>
|
||
<h3 class="text-xl font-semibold mb-3" data-i18n="blog1-title"></h3>
|
||
<p class="text-sm text-brand-ink/80 mb-6" data-i18n="blog1-desc"></p>
|
||
<a href="#" class="mt-auto text-sm font-semibold text-brand-accent" data-i18n="blog1-link" data-i18n-aria="blog1-aria"></a>
|
||
</article>
|
||
<article class="border border-brand-smoke rounded-3xl p-6 h-full flex flex-col">
|
||
<p class="text-xs uppercase tracking-widest text-brand-primary mb-3" data-i18n="blog2-tag"></p>
|
||
<h3 class="text-xl font-semibold mb-3" data-i18n="blog2-title"></h3>
|
||
<p class="text-sm text-brand-ink/80 mb-6" data-i18n="blog2-desc"></p>
|
||
<a href="#" class="mt-auto text-sm font-semibold text-brand-accent" data-i18n="blog2-link" data-i18n-aria="blog2-aria"></a>
|
||
</article>
|
||
<article class="border border-brand-smoke rounded-3xl p-6 h-full flex flex-col">
|
||
<p class="text-xs uppercase tracking-widest text-brand-primary mb-3" data-i18n="blog3-tag"></p>
|
||
<h3 class="text-xl font-semibold mb-3" data-i18n="blog3-title"></h3>
|
||
<p class="text-sm text-brand-ink/80 mb-6" data-i18n="blog3-desc"></p>
|
||
<a href="#" class="mt-auto text-sm font-semibold text-brand-accent" data-i18n="blog3-link" data-i18n-aria="blog3-aria"></a>
|
||
</article>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<section id="trial" class="bg-brand-ink text-white py-20">
|
||
<div class="max-w-5xl mx-auto px-6 grid md:grid-cols-2 gap-12">
|
||
<div>
|
||
<p class="text-brand-sunrise text-sm uppercase tracking-[0.3em] mb-4" data-i18n="trial-tagline"></p>
|
||
<h2 class="text-3xl font-semibold mb-4" data-i18n="trial-heading"></h2>
|
||
<p class="text-white/80 mb-6" data-i18n="trial-body"></p>
|
||
<ul class="space-y-4 text-sm text-white/80">
|
||
<li class="flex gap-3"><span class="text-brand-emerald">✔</span><span data-i18n="trial-bullet1"></span></li>
|
||
<li class="flex gap-3"><span class="text-brand-emerald">✔</span><span data-i18n="trial-bullet2"></span></li>
|
||
<li class="flex gap-3"><span class="text-brand-emerald">✔</span><span data-i18n="trial-bullet3"></span></li>
|
||
</ul>
|
||
</div>
|
||
<form class="bg-white text-brand-ink rounded-3xl p-8 shadow-brand space-y-5" data-event="form:trial">
|
||
<label class="block text-sm font-medium">
|
||
<span data-i18n="trial-label-email"></span>
|
||
<input type="email" required class="mt-2 w-full rounded-2xl border border-brand-smoke px-4 py-3 focus:outline-none focus:ring-2 focus:ring-brand-accent" data-i18n-placeholder="trial-placeholder-email" />
|
||
</label>
|
||
<label class="block text-sm font-medium">
|
||
<span data-i18n="trial-label-priority"></span>
|
||
<select class="mt-2 w-full rounded-2xl border border-brand-smoke px-4 py-3 focus:outline-none focus:ring-2 focus:ring-brand-accent">
|
||
<option data-i18n-option="priority-1"></option>
|
||
<option data-i18n-option="priority-2"></option>
|
||
<option data-i18n-option="priority-3"></option>
|
||
<option data-i18n-option="priority-4"></option>
|
||
</select>
|
||
</label>
|
||
<label class="block text-sm font-medium">
|
||
<span data-i18n="trial-label-region"></span>
|
||
<input type="text" class="mt-2 w-full rounded-2xl border border-brand-smoke px-4 py-3 focus:outline-none focus:ring-2 focus:ring-brand-accent" data-i18n-placeholder="trial-placeholder-region" />
|
||
</label>
|
||
<p class="text-xs text-brand-ink/70" data-i18n="trial-microcopy"></p>
|
||
<button type="submit" class="w-full py-3 rounded-2xl bg-brand-accent text-brand-ink font-semibold" data-i18n="cta-trial"></button>
|
||
<p class="text-xs text-brand-ink/60 text-center" data-i18n="trial-help"></p>
|
||
</form>
|
||
</div>
|
||
</section>
|
||
|
||
<section id="meeting" class="py-20 bg-white">
|
||
<div class="max-w-5xl mx-auto px-6 grid md:grid-cols-2 gap-12 items-center">
|
||
<div>
|
||
<p class="uppercase text-xs tracking-[0.3em] text-brand-primary mb-3" data-i18n="meeting-tagline"></p>
|
||
<h2 class="text-3xl font-semibold mb-4" data-i18n="meeting-heading"></h2>
|
||
<p class="text-brand-ink/80 mb-6" data-i18n="meeting-body"></p>
|
||
<ul class="space-y-4 text-sm text-brand-ink/80">
|
||
<li class="flex gap-3"><span class="text-brand-primary">◎</span><span data-i18n="meeting-bullet1"></span></li>
|
||
<li class="flex gap-3"><span class="text-brand-primary">◎</span><span data-i18n="meeting-bullet2"></span></li>
|
||
<li class="flex gap-3"><span class="text-brand-primary">◎</span><span data-i18n="meeting-bullet3"></span></li>
|
||
</ul>
|
||
</div>
|
||
<div class="bg-brand-snow border border-brand-smoke rounded-3xl p-8 shadow-brand">
|
||
<p class="text-sm text-brand-primary font-semibold mb-2" data-i18n="meeting-note-title"></p>
|
||
<p class="text-brand-ink font-semibold text-xl mb-4" data-i18n="meeting-note-body"></p>
|
||
<p class="text-sm text-brand-ink/70" data-i18n="meeting-note-hint"></p>
|
||
<a href="https://calendar.google.com/calendar/u/0/appointments/schedules/AcZssZ3DDbaiHFlhNhWySszAQoPXE_H73QLqYT3w7H9IYWC76RA_TgNIhLESjb4N7ep_D2D_OyW9q4-c" target="_blank" rel="noopener" class="inline-flex items-center gap-2 mt-4 text-sm font-semibold text-brand-primary hover:text-brand-accent plausible-event-name=meeting" data-i18n="meeting-note-cta"></a>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<footer class="bg-brand-ink text-white py-10">
|
||
<div class="max-w-6xl mx-auto px-6 flex flex-col md:flex-row gap-6 items-center justify-between text-sm">
|
||
<p>© <span id="year"></span> <span data-i18n="footer-note"></span></p>
|
||
<div class="flex gap-4">
|
||
<a href="https://odoo4projects.com/support" class="hover:text-brand-sunrise" data-i18n="footer-support"></a>
|
||
<a href="https://odoo4projects.com/legal" class="hover:text-brand-sunrise" data-i18n="footer-legal"></a>
|
||
<a href="https://odoo4projects.com/contactus" class="hover:text-brand-sunrise" data-i18n="footer-contact"></a>
|
||
</div>
|
||
</div>
|
||
</footer>
|
||
|
||
<script>
|
||
const translations = {
|
||
en: {
|
||
'nav-resources': 'Resources',
|
||
'nav-trial': 'Free Trial',
|
||
'hero-badge': 'ERP FOR NGOs',
|
||
'hero-pill': 'Unified NGO ERP Platform',
|
||
'hero-headline': 'Simplify every mission workflow with an ERP built for NGOs',
|
||
'hero-subheadline': 'Consolidate programs, automate donor and grant reporting, and give every field office the same source of truth. Launch in weeks with templates tailored to humanitarian and community-impact teams.',
|
||
'cta-trial': 'Sign Up for Free Trial',
|
||
'cta-meeting': 'Schedule a Meeting',
|
||
'hero-stat1': 'Faster donor & grant reporting cycles',
|
||
'hero-stat2': 'Increase in volunteer onboarding speed',
|
||
'hero-card-title': 'Live KPI snapshot',
|
||
'hero-card-headline': 'Program Impact Dashboard',
|
||
'hero-card-body': 'Realtime budgets • Volunteer hours • Donor health',
|
||
'value1-title': 'Unified program ops',
|
||
'value1-body': 'Track beneficiaries, service delivery, and compliance tasks from a central NGO ERP workspace with audit-ready trails.',
|
||
'value2-title': 'Localized + multilingual',
|
||
'value2-body': 'Configure English, Spanish, and German workspaces with consistent processes while respecting local regulations.',
|
||
'value3-title': 'Grant-ready analytics',
|
||
'value3-body': 'Pre-built dashboards surface impact KPIs, SDG alignment, and donor touchpoints—exportable in seconds.',
|
||
'blog-tagline': 'Insights for NGO leaders',
|
||
'blog-title': 'Blog & resource hub',
|
||
'blog-subtitle': 'Stay ahead with tutorials, case studies, and playbooks for NGO ERP rollouts.',
|
||
'blog-link': 'Browse all articles →',
|
||
'blog1-tag': 'Grant compliance',
|
||
'blog1-title': 'Grant-ready NGO ERP checklist',
|
||
'blog1-desc': 'Map every grant condition to automated workflows and never miss a reporting milestone again.',
|
||
'blog1-link': 'Read the guide',
|
||
'blog1-aria': 'Read the grant-ready NGO ERP checklist',
|
||
'blog2-tag': 'Field operations',
|
||
'blog2-title': 'Digitize volunteer onboarding',
|
||
'blog2-desc': 'Standardize approvals, ID checks, and training with low-code workflows tied to your ERP.',
|
||
'blog2-link': 'View playbook',
|
||
'blog2-aria': 'Read the volunteer onboarding playbook',
|
||
'blog3-tag': 'Impact storytelling',
|
||
'blog3-title': 'From KPI to donor story',
|
||
'blog3-desc': 'Turn ERP data into visual narratives that inspire donors and board members.',
|
||
'blog3-link': 'See examples',
|
||
'blog3-aria': 'See donor storytelling examples',
|
||
'trial-tagline': 'Sign up free trial',
|
||
'trial-heading': 'Launch your NGO ERP sandbox in under 5 minutes',
|
||
'trial-body': 'Experience localized NGO templates, donor CRM, and automation recipes. No credit card required—just choose your focus area and invite teammates.',
|
||
'trial-bullet1': 'Pre-loaded NGO chart of accounts & grant tracking',
|
||
'trial-bullet2': 'Automated donor receipts + impact dashboards',
|
||
'trial-bullet3': 'Guided checklists for go-live within 30 days',
|
||
'trial-label-email': 'Work email',
|
||
'trial-placeholder-email': 'impact@yourngo.org',
|
||
'trial-label-priority': 'Primary priority',
|
||
'priority-1': 'Grant compliance reporting',
|
||
'priority-2': 'Volunteer management',
|
||
'priority-3': 'Donor CRM & fundraising',
|
||
'priority-4': 'Finance & procurement',
|
||
'trial-label-region': 'Country / region',
|
||
'trial-placeholder-region': 'e.g., Paraguay, LATAM',
|
||
'trial-microcopy': 'No credit card required. EU hosting & GDPR-ready.',
|
||
'trial-help': 'Need help? Use the Schedule a Meeting button in the header to book a guided call.',
|
||
'meeting-tagline': 'Have a meeting',
|
||
'meeting-heading': 'See how your NGO can streamline operations, save time, and reduce errors',
|
||
'meeting-body': 'A 30-minute live walkthrough tailored to your mission, covering localization, integrations, and governance. Walk away with a rollout roadmap.',
|
||
'meeting-bullet1': 'Baseline automation scoring',
|
||
'meeting-bullet2': 'Tech stack alignment & data migration plan',
|
||
'meeting-bullet3': 'Budget templates & total cost forecast',
|
||
'meeting-note-title': 'How scheduling works',
|
||
'meeting-note-body': 'You will meet with an NGO consultant from ODOO4projects.',
|
||
'meeting-note-hint': 'Use the Schedule a Meeting button in the header and tell us during booking which question we should prepare for.',
|
||
'meeting-note-cta': 'Open booking calendar',
|
||
'footer-note': 'ODOO4projects — Hosting for the AI generation',
|
||
'footer-support': 'Support',
|
||
'footer-legal': 'Legal',
|
||
'footer-contact': 'Contact'
|
||
},
|
||
es: {
|
||
'nav-resources': 'Recursos',
|
||
'nav-trial': 'Prueba gratuita',
|
||
'hero-badge': 'ERP PARA ONGs',
|
||
'hero-pill': 'Plataforma ERP unificada para ONGs',
|
||
'hero-headline': 'Simplifica cada misión con un ERP diseñado para ONGs',
|
||
'hero-subheadline': 'Centraliza programas, automatiza reportes de donantes y subvenciones y ofrece a cada sede la misma fuente de verdad. Implementa en semanas con plantillas creadas para equipos humanitarios.',
|
||
'cta-trial': 'Crear prueba gratuita',
|
||
'cta-meeting': 'Agendar una reunión',
|
||
'hero-stat1': 'Ciclos más rápidos de reportes a donantes y subvenciones',
|
||
'hero-stat2': 'Mayor velocidad en la incorporación de voluntarios',
|
||
'hero-card-title': 'Panel de KPIs en vivo',
|
||
'hero-card-headline': 'Tablero de impacto programático',
|
||
'hero-card-body': 'Presupuestos en tiempo real • Horas voluntarias • Salud de donantes',
|
||
'value1-title': 'Operaciones unificadas',
|
||
'value1-body': 'Gestiona beneficiarios, entrega de servicios y cumplimiento desde un único espacio ERP listo para auditorías.',
|
||
'value2-title': 'Localizado y multilingüe',
|
||
'value2-body': 'Configura espacios en español, inglés y alemán con procesos coherentes y normativas locales.',
|
||
'value3-title': 'Analítica lista para subvenciones',
|
||
'value3-body': 'Tableros preconfigurados muestran KPIs de impacto, alineación ODS y toques con donantes al instante.',
|
||
'blog-tagline': 'Ideas para líderes de ONG',
|
||
'blog-title': 'Blog y centro de recursos',
|
||
'blog-subtitle': 'Aprende con tutoriales, casos prácticos y playbooks para implementar un ERP en tu ONG.',
|
||
'blog-link': 'Ver todos los artículos →',
|
||
'blog1-tag': 'Cumplimiento',
|
||
'blog1-title': 'Checklist ERP listo para subvenciones',
|
||
'blog1-desc': 'Relaciona cada requisito de la subvención con flujos automatizados y evita retrasos en los reportes.',
|
||
'blog1-link': 'Leer la guía',
|
||
'blog1-aria': 'Leer la guía ERP para subvenciones',
|
||
'blog2-tag': 'Operaciones de campo',
|
||
'blog2-title': 'Digitaliza la incorporación de voluntarios',
|
||
'blog2-desc': 'Estandariza aprobaciones, verificaciones e inducciones con flujos low-code conectados a tu ERP.',
|
||
'blog2-link': 'Ver playbook',
|
||
'blog2-aria': 'Ver el playbook de voluntariado',
|
||
'blog3-tag': 'Narrativas de impacto',
|
||
'blog3-title': 'Del KPI a la historia del donante',
|
||
'blog3-desc': 'Convierte datos del ERP en historias visuales que inspiran a donantes y juntas directivas.',
|
||
'blog3-link': 'Ver ejemplos',
|
||
'blog3-aria': 'Ver ejemplos de historias para donantes',
|
||
'trial-tagline': 'Activa tu prueba',
|
||
'trial-heading': 'Lanza tu sandbox ERP para ONG en menos de 5 minutos',
|
||
'trial-body': 'Explora plantillas localizadas, CRM de donantes y recetas de automatización. Sin tarjeta; solo elige tu prioridad e invita al equipo.',
|
||
'trial-bullet1': 'Plan contable para ONG y seguimiento de subvenciones precargado',
|
||
'trial-bullet2': 'Recibos automáticos más tableros de impacto',
|
||
'trial-bullet3': 'Checklists guiados para salir a producción en 30 días',
|
||
'trial-label-email': 'Correo laboral',
|
||
'trial-placeholder-email': 'impacto@tuong.org',
|
||
'trial-label-priority': 'Prioridad principal',
|
||
'priority-1': 'Reportes de subvenciones',
|
||
'priority-2': 'Gestión de voluntarios',
|
||
'priority-3': 'CRM y recaudación',
|
||
'priority-4': 'Finanzas y compras',
|
||
'trial-label-region': 'País / región',
|
||
'trial-placeholder-region': 'ej. Paraguay, LATAM',
|
||
'trial-microcopy': 'Sin tarjeta. Hosting en la UE y cumplimiento GDPR.',
|
||
'trial-help': '¿Dudas? Usa el botón “Agendar una reunión” en el encabezado para reservar una llamada guiada.',
|
||
'meeting-tagline': 'Agenda una reunión',
|
||
'meeting-heading': 'Descubre cómo optimizar operaciones, ahorrar tiempo y reducir errores',
|
||
'meeting-body': 'Sesión de 30 minutos adaptada a tu misión, con localización, integraciones y gobernanza. Sal con un plan de implementación.',
|
||
'meeting-bullet1': 'Diagnóstico de automatización',
|
||
'meeting-bullet2': 'Plan de migración y alineación tecnológica',
|
||
'meeting-bullet3': 'Plantillas presupuestarias y previsión de costes',
|
||
'meeting-note-title': 'Cómo reservar',
|
||
'meeting-note-body': 'Te reunirás con un consultor ONG de ODOO4projects.',
|
||
'meeting-note-hint': 'Usa el botón “Agendar una reunión” del encabezado y cuéntanos durante la reserva qué pregunta debemos preparar.',
|
||
'meeting-note-cta': 'Abrir calendario de reservas',
|
||
'footer-note': 'ODOO4projects — Hosting para la generación IA',
|
||
'footer-support': 'Soporte',
|
||
'footer-legal': 'Legal',
|
||
'footer-contact': 'Contacto'
|
||
},
|
||
de: {
|
||
'nav-resources': 'Ressourcen',
|
||
'nav-trial': 'Kostenlose Testphase',
|
||
'hero-badge': 'ERP FÜR NGOs',
|
||
'hero-pill': 'Vereintes NGO-ERP',
|
||
'hero-headline': 'Vereinfache jeden Einsatz mit einem ERP für NGOs',
|
||
'hero-subheadline': 'Bündele Programme, automatisiere Spender- und Förderberichte und gib allen Standorten dieselbe Datenbasis. Starte in wenigen Wochen mit maßgeschneiderten Templates.',
|
||
'cta-trial': 'Kostenlose Testphase starten',
|
||
'cta-meeting': 'Meeting planen',
|
||
'hero-stat1': 'Schnellere Förder- & Spenderberichte',
|
||
'hero-stat2': 'Doppelt so schnelle Ehrenamtlichen-Onboardings',
|
||
'hero-card-title': 'Live-KPI-Überblick',
|
||
'hero-card-headline': 'Impact-Dashboard für Programme',
|
||
'hero-card-body': 'Budgets in Echtzeit • Ehrenamtsstunden • Donor Health',
|
||
'value1-title': 'Vernetzte Programmsteuerung',
|
||
'value1-body': 'Verfolge Begünstigte, Leistungsnachweise und Compliance-Aufgaben zentral mit revisionssicheren Trails.',
|
||
'value2-title': 'Mehrsprachig & lokalisiert',
|
||
'value2-body': 'Stelle englische, spanische und deutsche Workspaces mit konsistenten Prozessen und lokalen Vorgaben bereit.',
|
||
'value3-title': 'Förderungsfähige Analysen',
|
||
'value3-body': 'Fertige Dashboards zeigen Impact-KPIs, SDG-Bezug und Donor-Touchpoints und lassen sich sofort exportieren.',
|
||
'blog-tagline': 'Insights für NGO-Führungskräfte',
|
||
'blog-title': 'Blog & Wissenshub',
|
||
'blog-subtitle': 'Tutorials, Fallstudien und Playbooks für erfolgreiche NGO-ERP-Rollouts.',
|
||
'blog-link': 'Alle Artikel ansehen →',
|
||
'blog1-tag': 'Förder-Compliance',
|
||
'blog1-title': 'ERP-Checkliste für Fördermittel',
|
||
'blog1-desc': 'Verknüpfe jede Auflage mit automatisierten Workflows und vermeide verspätete Berichte.',
|
||
'blog1-link': 'Zur Anleitung',
|
||
'blog1-aria': 'ERP-Checkliste für Fördermittel lesen',
|
||
'blog2-tag': 'Feldeinsätze',
|
||
'blog2-title': 'Ehrenamtliche digital onboarden',
|
||
'blog2-desc': 'Standardisiere Freigaben, ID-Prüfungen und Schulungen mit Low-Code-Flows im ERP.',
|
||
'blog2-link': 'Playbook ansehen',
|
||
'blog2-aria': 'Playbook zur Ehrenamtlichen-Onboarding ansehen',
|
||
'blog3-tag': 'Impact Storytelling',
|
||
'blog3-title': 'Vom KPI zur Spenderstory',
|
||
'blog3-desc': 'Mach aus ERP-Daten visuelle Geschichten, die Spender und Boards überzeugen.',
|
||
'blog3-link': 'Beispiele ansehen',
|
||
'blog3-aria': 'Beispiele für Spenderstorys ansehen',
|
||
'trial-tagline': 'Kostenlos testen',
|
||
'trial-heading': 'Starte dein NGO-ERP-Sandbox in unter 5 Minuten',
|
||
'trial-body': 'Teste lokalisierte Templates, Donor-CRM und Automatisierungen. Keine Kreditkarte – wähle den Fokus und lade dein Team ein.',
|
||
'trial-bullet1': 'Vorkonfigurierter Kontenplan & Fördertracking',
|
||
'trial-bullet2': 'Automatische Spendenbelege & Impact-Dashboards',
|
||
'trial-bullet3': 'Geführte Checklisten für Go-Live in 30 Tagen',
|
||
'trial-label-email': 'Arbeits-E-Mail',
|
||
'trial-placeholder-email': 'impact@deinengo.org',
|
||
'trial-label-priority': 'Höchste Priorität',
|
||
'priority-1': 'Förder-Reporting',
|
||
'priority-2': 'Ehrenamt-Management',
|
||
'priority-3': 'Spender-CRM & Fundraising',
|
||
'priority-4': 'Finanzen & Beschaffung',
|
||
'trial-label-region': 'Land / Region',
|
||
'trial-placeholder-region': 'z. B. Paraguay, LATAM',
|
||
'trial-microcopy': 'Keine Kreditkarte. EU-Hosting & DSGVO-konform.',
|
||
'trial-help': 'Brauchen Sie Hilfe? Nutzen Sie den Button „Meeting planen“ im Header für einen geführten Call.',
|
||
'meeting-tagline': 'Meeting vereinbaren',
|
||
'meeting-heading': 'Erleben Sie, wie Ihre NGO Zeit spart und Fehler reduziert',
|
||
'meeting-body': 'Ein 30-minütiger Walkthrough zu Lokalisierung, Integrationen und Governance – inklusive Rollout-Fahrplan.',
|
||
'meeting-bullet1': 'Automation-Score als Ausgangspunkt',
|
||
'meeting-bullet2': 'Technologie- & Migrationsplan',
|
||
'meeting-bullet3': 'Budgetvorlagen & Kostenprognose',
|
||
'meeting-note-title': 'So buchen Sie',
|
||
'meeting-note-body': 'Sie sprechen mit einem NGO-Berater von ODOO4projects.',
|
||
'meeting-note-hint': 'Verwenden Sie den Button „Meeting planen“ im Header und nennen Sie bei der Buchung Ihre Frage, damit wir uns vorbereiten können.',
|
||
'meeting-note-cta': 'Buchungskalender öffnen',
|
||
'footer-note': 'ODOO4projects — Hosting für die KI-Generation',
|
||
'footer-support': 'Support',
|
||
'footer-legal': 'Rechtliches',
|
||
'footer-contact': 'Kontakt'
|
||
}
|
||
};
|
||
|
||
function setLanguage(lang) {
|
||
const locale = translations[lang] ? lang : 'en';
|
||
document.documentElement.lang = locale;
|
||
document.querySelectorAll('[data-i18n]').forEach(el => {
|
||
const key = el.dataset.i18n;
|
||
const value = translations[locale][key] ?? translations.en[key] ?? '';
|
||
if (value !== undefined) el.innerHTML = value;
|
||
});
|
||
document.querySelectorAll('[data-i18n-placeholder]').forEach(el => {
|
||
const key = el.dataset.i18nPlaceholder;
|
||
const value = translations[locale][key] ?? translations.en[key] ?? '';
|
||
if (value !== undefined) el.setAttribute('placeholder', value);
|
||
});
|
||
document.querySelectorAll('[data-i18n-option]').forEach(el => {
|
||
const key = el.dataset.i18nOption;
|
||
const value = translations[locale][key] ?? translations.en[key] ?? '';
|
||
if (value !== undefined) el.textContent = value;
|
||
});
|
||
document.querySelectorAll('[data-i18n-aria]').forEach(el => {
|
||
const key = el.dataset.i18nAria;
|
||
const value = translations[locale][key] ?? translations.en[key] ?? '';
|
||
if (value !== undefined) el.setAttribute('aria-label', value);
|
||
});
|
||
}
|
||
|
||
document.getElementById('lang-selector').addEventListener('change', (event) => {
|
||
setLanguage(event.target.value);
|
||
});
|
||
|
||
setLanguage('en');
|
||
document.getElementById('year').textContent = new Date().getFullYear();
|
||
</script>
|
||
</body>
|
||
</html>
|