studiocms
Version:
Astro Native CMS for AstroDB. Built from the ground up by the Astro community.
60 lines (59 loc) • 1.35 kB
TypeScript
import { z } from 'astro/zod';
export interface TranslationsJSON {
[key: string]: string;
}
export interface ComponentsJSON {
[component: string]: TranslationsJSON;
}
export interface PluginTranslations {
[language: string]: ComponentsJSON;
}
/**
* Plugin Translation PluginTranslationCollection
*
* @example
* {
* 'plugin1': {
* en: {
* comp1: {
* title: 'Comp Title',
* 'another-key': 'Hello!'
* },
* },
* fr: {
* comp1: { ... }
* },
* },
* 'plugin2': { ... }
* }
*/
export interface PluginTranslationCollection {
[plugin: string]: PluginTranslations;
}
export interface AugmentsJSON {
augments: TranslationsJSON;
}
/**
* Plugin Augments Translation Collection
*
* @example
* {
* en: {
* augments: {
* 'augment-key': 'Augment Text',
* 'another-augment': 'More augment text'
* }
* },
* fr: {
* augments: { ... }
* }
* }
*/
export interface PluginAugmentsTranslationCollection {
[language: string]: AugmentsJSON;
}
export declare const pluginTranslationsSchema: z.ZodType<PluginTranslations, z.ZodTypeDef, PluginTranslations>;
/**
* Schema for a collection of plugin translations.
*/
export declare const pluginTranslationCollectionSchema: z.ZodType<PluginTranslationCollection, z.ZodTypeDef, PluginTranslationCollection>;