6989a98d75
- Arkitektur: docs/auth/passwordless-architecture.md - Backend: iom/quixzoom-auth-service/ (FastAPI + Redis) - Webb: quixzoom-market-pages/se/login/ (QR-kod + polling) - App: iom/quixzoom-app/src/features/auth/ (push + deep links) Flöde: QR-kod → app-godkännande → webb-inloggad
7.0 KiB
7.0 KiB
Global Content Network — Landvex/QuiXzoom Transcreation System
Ett komplett transcreation-system för globalt innehållshantering över 3 nivåer.
Arkitektur
Nivå 1 — Global "Source of Truth"
- landvex.com & quixzoom.com
- Amerikansk engelska
- All produktutveckling sker här först
- Kanonisk SEO-version
Nivå 2 — Nationella sajter
- quixzoom.se, .de, .nl, .fr, .es, .it, .pl
- landvex.se, etc.
- Transcreation (inte ren översättning)
- Lokal valuta, exempel, kundcase, lagar, kontaktvägar
Nivå 3 — Regionala hubbar
- quixzoom.asia, landvex.asia
- Flerspråkiga nav: /zh-cn/, /zh-tw/, /ja/, /ko/, /th/, /vi/, /id/, /ms/, /hi/
Kom igång
1. Installation
cd landvex-quixzoom-cms
npm install
2. Konfiguration
cp .env.example .env
# Redigera .env med dina värden:
# - OPENAI_API_KEY (för AI-transcreation)
# - JWT_SECRET (för autentisering)
# - ADMIN_EMAIL / ADMIN_PASSWORD
3. Databas
# Skapa tabeller
npm run db:migrate
# Ladda exempeldata
npm run db:seed
4. Starta servern
# Utveckling
npm run dev
# Produktion
npm run build
npm start
Servern startar på http://localhost:3000
API Endpoints
Sidor
GET /api/pages— Lista alla sidorGET /api/pages/:id— Hämta specifik sidaPOST /api/pages— Skapa ny sidaPUT /api/pages/:id— Uppdatera sida (triggar transcreation-workflow)
Översättningar
GET /api/pages/:id/translations— Hämta översättningar för sidaPOST /api/translations/:id/adapt— Lokal anpassningPOST /api/translations/:id/approve— Regional granskningPOST /api/translations/:id/publish— Publicera
Workflow
GET /api/pages/:id/workflow— Se workflow-statusPOST /api/pages/:id/translate— Köa översättningarPOST /api/jobs/:id/process— Bearbeta översättningsjobb
SEO
GET /api/pages/:id/seo— Generera SEO-headersPOST /api/pages/:id/seo/audit— Kör SEO-granskningGET /api/sitemap/:domain— Generera sitemap.xmlGET /api/robots/:domain— Generera robots.txt
Analys
GET /api/analytics/translation-status— ÖversättningsstatusGET /api/analytics/seo-scores— SEO-poäng
Ordlista
GET /api/glossary— Lista termerPOST /api/glossary— Lägg till term
CLI-skript
Batch-översättning
# Köa alla föråldrade översättningar
npm run translate:batch
# Bearbeta direkt
npm run translate:batch -- --process
# Endast ett varumärke
npm run translate:batch -- --quixzoom --process
Innehållssynk
# Synka ändringar senaste 24h
npm run content:sync
# Med automatisk köning
npm run content:sync -- --auto-queue
# Specifikt tidsintervall
npm run content:sync -- --hours=48 --auto-queue
SEO-granskning
# Kör SEO-audit
npm run seo:audit
# Generera sitemaps
npm run seo:audit -- --sitemaps
# Endast specifikt språk
npm run seo:audit -- --lang=sv-SE
Transcreation-Workflow
När en .com-sida ändras:
- Markera föråldrad — Alla översättningar markeras som "outdated"
- AI-generering — GPT-4o skapar nya förslag med kulturell anpassning
- Lokal anpassning — Lokala redaktörer anpassar exempel, case, kontakter
- Regional granskning — Godkännande av regional chef
- Publicering — Live på respektive sajt
Ordlista & Terminologi
Systemet har en central ordlista som säkerställer konsekvent översättning av:
- Produktnamn (QuiXzoom Pro, Landvex Enterprise)
- Tekniska termer
- Juridiska begrepp
- Marknadsföringstermer
Varje term har godkända översättningar per språk och varumärke.
SEO-funktioner
- hreflang-taggar — Automatisk generering för alla språkversioner
- Canonical URLs — Korrekt canonicalisering per domän
- Schema.org — Strukturerad data på alla språk
- Open Graph — Sociala medier-anpassade taggar
- Sitemaps — XML-sitemaps med hreflang per domän
Språkstöd
Nationella (Tier 2)
| Språk | Domän | Valuta | Prompt |
|---|---|---|---|
| Svenska | .se | SEK | Informellt "du", svenska regler |
| Tyska | .de | EUR | Formellt "Sie", Tysk grundlighet |
| Nederländska | .nl | EUR | Direkt, rak kommunikation |
| Franska | .fr | EUR | Elegans, formellt "vous" |
| Spanska | .es | EUR | Värmefull, relationsskapande |
| Italienska | .it | EUR | Uttrycksfull, passionerad |
| Polska | .pl | PLN | Detaljerad, faktaspäckad |
Regionala (Tier 3)
| Språk | Valuta | Kulturell kontext |
|---|---|---|
| Förenklad kinesiska | CNY | Formell, respektfull |
| Traditionell kinesiska | TWD | Hökig, formell |
| Japanska | JPY | Keigo, extremt artig |
| Koreanska | KRW | Hierarkisk, respektfull |
| Thailändska | THB | Relation först, affärer sen |
| Vietnamesiska | VND | Värmefull, respektfull |
| Indonesiska | IDR | Vänlig, tillgänglig |
| Malajiska | MYR | Inkluderande, multikulturell |
| Hindi | INR | Hinglish för tech |
Produktionsberedskap
✅ Vad som fungerar
- Komplett databasschema med versionering
- 3-nivå arkitektur (global/national/regional)
- AI-transcreation med GPT-4o
- Transcreation-workflow (5 steg)
- SEO-hantering (hreflang, canonical, Schema.org)
- Ordlista med språkspecifika termer
- REST API för all hantering
- Admin-dashboard (HTML/JS)
- CLI-verktyg för batch-jobb
- SEO-audit och rapportering
⚠️ Vad som saknas för produktion
- Autentisering — JWT-implementering är grundläggande
- Användarhantering — Registrering, roller, behörigheter
- Redis/BullMQ — Jobbköer (just nu synkron bearbetning)
- Bildhantering — Uppladdning, CDN, lokaliserade bilder
- Preview-miljö — Förhandsgranskning innan publicering
- Webhook-stöd — Notifieringar till externa system
- Backup-strategi — Databas-backuper
- Övervakning — Loggning, metrics, alerting
- CDN-integration — CloudFlare, Fastly, etc.
- CI/CD — Automatisk deployment
- Tester — Unit-tester, integrationstester
- Dokumentation — API-docs, användarguider
🔧 Rekommenderade förbättringar
- Cachning — Redis för API-respons
- Rate limiting — Skydd mot överbelastning
- Sök — Elasticsearch för innehållssök
- Versionering — Git-liknande historik för innehåll
- A/B-testning — Olika versioner per marknad
- Feedback-loop — Användardata förbättrar AI-översättningar
Miljövariabler
| Variabel | Beskrivning | Standard |
|---|---|---|
DATABASE_URL |
SQLite-databasfil | ./data/content.db |
OPENAI_API_KEY |
OpenAI API-nyckel | (krävs) |
JWT_SECRET |
Hemligt för JWT | (krävs) |
REDIS_URL |
Redis för köer | (valfritt) |
ADMIN_EMAIL |
Admin-e-post | admin@landvex.com |
ADMIN_PASSWORD |
Admin-lösenord | (krävs) |
RESEND_API_KEY |
E-postutskick | (valfritt) |
PORT |
Serverport | 3000 |
NODE_ENV |
Miljö | development |
Licens
Proprietär — Landvex/QuiXzoom