# 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 ```bash cd landvex-quixzoom-cms npm install ``` ### 2. Konfiguration ```bash 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 ```bash # Skapa tabeller npm run db:migrate # Ladda exempeldata npm run db:seed ``` ### 4. Starta servern ```bash # Utveckling npm run dev # Produktion npm run build npm start ``` Servern startar på `http://localhost:3000` ## API Endpoints ### Sidor - `GET /api/pages` — Lista alla sidor - `GET /api/pages/:id` — Hämta specifik sida - `POST /api/pages` — Skapa ny sida - `PUT /api/pages/:id` — Uppdatera sida (triggar transcreation-workflow) ### Översättningar - `GET /api/pages/:id/translations` — Hämta översättningar för sida - `POST /api/translations/:id/adapt` — Lokal anpassning - `POST /api/translations/:id/approve` — Regional granskning - `POST /api/translations/:id/publish` — Publicera ### Workflow - `GET /api/pages/:id/workflow` — Se workflow-status - `POST /api/pages/:id/translate` — Köa översättningar - `POST /api/jobs/:id/process` — Bearbeta översättningsjobb ### SEO - `GET /api/pages/:id/seo` — Generera SEO-headers - `POST /api/pages/:id/seo/audit` — Kör SEO-granskning - `GET /api/sitemap/:domain` — Generera sitemap.xml - `GET /api/robots/:domain` — Generera robots.txt ### Analys - `GET /api/analytics/translation-status` — Översättningsstatus - `GET /api/analytics/seo-scores` — SEO-poäng ### Ordlista - `GET /api/glossary` — Lista termer - `POST /api/glossary` — Lägg till term ## CLI-skript ### Batch-översättning ```bash # 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 ```bash # 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 ```bash # 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: 1. **Markera föråldrad** — Alla översättningar markeras som "outdated" 2. **AI-generering** — GPT-4o skapar nya förslag med kulturell anpassning 3. **Lokal anpassning** — Lokala redaktörer anpassar exempel, case, kontakter 4. **Regional granskning** — Godkännande av regional chef 5. **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 - [x] Komplett databasschema med versionering - [x] 3-nivå arkitektur (global/national/regional) - [x] AI-transcreation med GPT-4o - [x] Transcreation-workflow (5 steg) - [x] SEO-hantering (hreflang, canonical, Schema.org) - [x] Ordlista med språkspecifika termer - [x] REST API för all hantering - [x] Admin-dashboard (HTML/JS) - [x] CLI-verktyg för batch-jobb - [x] 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 1. **Cachning** — Redis för API-respons 2. **Rate limiting** — Skydd mot överbelastning 3. **Sök** — Elasticsearch för innehållssök 4. **Versionering** — Git-liknande historik för innehåll 5. **A/B-testning** — Olika versioner per marknad 6. **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