diff --git a/proto/scripts/migrate-content-to-payload.ts b/proto/scripts/migrate-content-to-payload.ts index 384c755..5bb54f4 100644 --- a/proto/scripts/migrate-content-to-payload.ts +++ b/proto/scripts/migrate-content-to-payload.ts @@ -11,6 +11,14 @@ * többször futtatható — mindig a JSON az aktuális "forrás igazság", felül- * írja a Payload-ban lévő korábbi állapotot. NEM törli/nem érinti a JSON * fájlokat. + * + * MITHOME-110 tapasztalat: ha egy mezőt utólag `localized: true`-ra + * állítasz (MITHOME-111/112 retrofit), a korábban beírt érték a régi, + * nem-lokalizált tárolási alakban marad, és `locale: defaultLocale`-lal + * nem olvasható vissza (üresnek látszik) — ilyenkor ezt a scriptet újra + * kell futtatni, hogy a defaultLocale (hu) alá újra beírja az értéket a + * lokalizált alakban. Explicit `locale` paramétert egyik updateGlobal/ + * update hívás sem ad meg itt, ezért mindig a `defaultLocale` (hu) alá ír. */ import path from 'path' import { fileURLToPath } from 'url' diff --git a/proto/src/globals/Common.ts b/proto/src/globals/Common.ts index 93b0674..2258482 100644 --- a/proto/src/globals/Common.ts +++ b/proto/src/globals/Common.ts @@ -1,6 +1,14 @@ import type { GlobalConfig } from 'payload' -/** Mirrors CommonContent (proto/src/content/types.ts) — MITHOME-87. */ +/** + * Mirrors CommonContent (proto/src/content/types.ts) — MITHOME-87. + * + * `buttons.*` localized: true (MITHOME-110) — ez a lokalizáció-mechanizmus + * bizonyítéka (admin nyelvváltó + Local/REST API locale param), és egyben + * előremutató, helyes darabja a MITHOME-111 teljes retrofitnak: ezek + * ténylegesen fordítandó UI-feliratok. A többi mező itt még nem lokalizált, + * azt a MITHOME-111 teljes körűen elvégzi. + */ export const Common: GlobalConfig = { slug: 'common', admin: { @@ -11,10 +19,10 @@ export const Common: GlobalConfig = { name: 'buttons', type: 'group', fields: [ - { name: 'contact', type: 'text', required: true }, - { name: 'learnMore', type: 'text', required: true }, - { name: 'webmail', type: 'text', required: true }, - { name: 'sendMessage', type: 'text', required: true }, + { name: 'contact', type: 'text', required: true, localized: true }, + { name: 'learnMore', type: 'text', required: true, localized: true }, + { name: 'webmail', type: 'text', required: true, localized: true }, + { name: 'sendMessage', type: 'text', required: true, localized: true }, ], }, { diff --git a/proto/src/payload.config.ts b/proto/src/payload.config.ts index 628abcc..7759263 100644 --- a/proto/src/payload.config.ts +++ b/proto/src/payload.config.ts @@ -11,6 +11,9 @@ * feltetelek). * MITHOME-89: Partners + Media collection (MVP — feltöltés, a vágás/ * áttetszővé tétel szerkesztő külön, MITHOME-118). + * MITHOME-110: lokalizáció bekapcsolva (hu alapértelmezett, en). A mezőnkénti + * `localized: true` retrofit a Globals/LegalPages configokon külön ticket + * (MITHOME-111/112) — ez a ticket csak magát a mechanizmust kapcsolja be. */ import path from 'path' import { fileURLToPath } from 'url' @@ -45,6 +48,15 @@ export default buildConfig({ globals: [Home, About, Services, Contact, Common], + // MITHOME-109/110: hu alapértelmezett (URL-prefix nélkül), en /en/ alatt + // (Next.js routing oldala: MITHOME-114). fallback:true -> amíg egy mezőnek + // nincs angol fordítása, a magyar érték jelenik meg — nem üres oldal. + localization: { + locales: ['hu', 'en'], + defaultLocale: 'hu', + fallback: true, + }, + secret: process.env.PAYLOAD_SECRET || '', typescript: {