Translate the collection pages instead of hiding them

Featurekamo-marketing
Ya
12 Agosti 2026, 14:45 UTC
Mwandishi
Kamo
Ahadi ya
e99827a

The 2,400 noindexed detail pages were noindexed because their body copy has no translation: competitors, industries, integrations and glossary keep their prose in app/lib/**/*.ts, which the dictionary never saw, so /fr/solutions/real-estate rendered French headings around English paragraphs. scripts/extract-collections.ts pulls the 3,799 translatable strings out of those 120 items into a structure-mirroring tree, skipping anything a translator must not touch — slugs, category enums, matrix statuses, logo paths, relatedTerms cross-references, and vendor/product names. That tree ships as the `collections` namespace in kamo-marketing/en.json. At read time localizeItem merges the translated tree over the English object. Only keys present in the translation are replaced, and an array whose length drifted from the source is dropped wholesale rather than rendering a list with missing entries, so stale translations degrade to English instead of breaking the page. `collections` is stripped from NextIntlClientProvider: it is ~420 KB that only server components read, and next-intl serializes whatever the provider gets into the RSC payload of every page. The per-locale merge in i18n/request.ts is now memoized for the same reason — it was cheap at 150 KB and is not at 514 KB. collectionRobots still reports noindex until the translations land; widening COLLECTION_CONTENT_LOCALES is what lifts it.

Mabadiliko yote

Je, unaona nini kuhusu usafiri?

Kila moja ya hizi updates ardhi katika nafasi yako ya kazi moja kwa moja. Kuanza bure na kuangalia kukua wiki baada ya wiki.

Kuwa Huru MileleMtazamo wa bei