astrolicious / studiocms

A dedicated CMS for Astro Studio. Built from the ground up by the Astro community.

Home Page:https://astro-studiocms.xyz

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Feat] Internationalization (i18n) support

dallyh opened this issue · comments

This issue is supposed to track i18n progress and eventual support in StudioCMS (context).

There are multiple ways to achieve this and all of them are valid for different reasons, the way I see it, StudioCMS should support i18n in one way or another. I will add some techniques that i used in some other content management systems (like Sanity, Caisy etc).

  1. Field level translations

Every field in a record (e.g. blog post) can have its own localized translation. This could be toggleable and configurable for each field (let's say you want to translate only a blog title and content, rest should be the same for both localizations). Every field like this should also have information about it's locale.

  1. Record level translations

Every record (e.g. blog post) has it's own translations (like in Astro content collections when using folders), and they should be linked in the database together, so you can do a query where join those records (this is in my opinion required for something like hreflang in head, where a post should have hreflang tag to every locale that does exist for it). Every record should also have information about it's locale.

For this a feature to copy current record with current values (and link them together) to create a new record for different locale in the frontend would be nice.