feat(i18n): Internationalize marketing pages and components

- HomePage.tsx: Add translation keys for features, testimonials, section titles
- FeaturesPage.tsx: Add translation keys for automation engine, multi-tenancy sections
- Hero.tsx: Add translation keys for headline, CTAs, trust signals, visual content
- ContactPage.tsx: Add translation keys for form headings, success messages
- PricingPage.tsx: Add translation keys for FAQ section
- PrivacyPolicyPage.tsx: Full internationalization of 15-section privacy policy
- TermsOfServicePage.tsx: Full internationalization of 16-section terms of service
- Footer.tsx & Navbar.tsx: Add translation keys for brand name, aria-labels

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
poduck
2025-12-03 22:25:11 -05:00
parent c7f241b30a
commit bc094f2f80
10 changed files with 599 additions and 216 deletions

View File

@@ -12,10 +12,10 @@ const PricingPage: React.FC = () => {
{/* Header */}
<div className="pt-24 pb-12 text-center px-4 sm:px-6 lg:px-8">
<h1 className="text-4xl font-bold text-gray-900 dark:text-white mb-4">
Simple, Transparent Pricing
{t('marketing.pricing.title')}
</h1>
<p className="text-xl text-gray-600 dark:text-gray-400 max-w-2xl mx-auto">
Start for free, upgrade as you grow. No hidden fees.
{t('marketing.pricing.subtitle')}
</p>
</div>
@@ -27,24 +27,24 @@ const PricingPage: React.FC = () => {
{/* FAQ Section */}
<div className="max-w-3xl mx-auto px-4 sm:px-6 lg:px-8 pb-20">
<h2 className="text-3xl font-bold text-center text-gray-900 dark:text-white mb-12">
Frequently Asked Questions
{t('marketing.pricing.faq.title')}
</h2>
<FAQAccordion items={[
{
question: "Do I need to know Python to use SmoothSchedule?",
answer: "Not at all! You can use our pre-built plugins from the marketplace for common tasks like email reminders and reports. Python is only needed if you want to write custom scripts."
question: t('marketing.pricing.faq.needPython.question'),
answer: t('marketing.pricing.faq.needPython.answer')
},
{
question: "What happens if I exceed my plan's limits?",
answer: "We'll notify you when you're close to your limit. If you exceed it, we'll give you a grace period to upgrade. We won't cut off your service immediately."
question: t('marketing.pricing.faq.exceedLimits.question'),
answer: t('marketing.pricing.faq.exceedLimits.answer')
},
{
question: "Can I use my own domain name?",
answer: "Yes! On the Pro and Business plans, you can connect your own custom domain (e.g., booking.yourcompany.com) for a fully branded experience."
question: t('marketing.pricing.faq.customDomain.question'),
answer: t('marketing.pricing.faq.customDomain.answer')
},
{
question: "Is my data safe?",
answer: "Absolutely. We use dedicated secure vaults (Postgres schemas) to physically isolate your data from other customers. It's the gold standard for multi-tenant security."
question: t('marketing.pricing.faq.dataSafety.question'),
answer: t('marketing.pricing.faq.dataSafety.answer')
}
]} />
</div>