diff --git a/.changeset/odd-mangos-knock.md b/.changeset/odd-mangos-knock.md new file mode 100644 index 00000000..cf9b95b1 --- /dev/null +++ b/.changeset/odd-mangos-knock.md @@ -0,0 +1,5 @@ +--- +"@sanity/document-internationalization": minor +--- + +Add support for disabling the automatic template creation via the `addTemplates` config option diff --git a/plugins/@sanity/document-internationalization/src/constants.ts b/plugins/@sanity/document-internationalization/src/constants.ts index 2a475397..b1aeb6a9 100644 --- a/plugins/@sanity/document-internationalization/src/constants.ts +++ b/plugins/@sanity/document-internationalization/src/constants.ts @@ -14,4 +14,5 @@ export const DEFAULT_CONFIG: PluginConfigContext = { allowCreateMetaDoc: false, callback: null, hideLanguageFilter: false, + addTemplates: true, } diff --git a/plugins/@sanity/document-internationalization/src/plugin.tsx b/plugins/@sanity/document-internationalization/src/plugin.tsx index 8cbf5562..d779d940 100644 --- a/plugins/@sanity/document-internationalization/src/plugin.tsx +++ b/plugins/@sanity/document-internationalization/src/plugin.tsx @@ -23,6 +23,7 @@ export const documentInternationalization = definePlugin((config) metadataFields, hideLanguageFilter, metadataInternationalization, + addTemplates, } = pluginConfig if (schemaTypes.length === 0) { @@ -129,6 +130,10 @@ export const documentInternationalization = definePlugin((config) // For every schema type this plugin is enabled on // Create an initial value template to set the language templates: (prev, {schema}) => { + if (!addTemplates) { + return prev + } + // Templates are not setup for async languages if (!Array.isArray(supportedLanguages)) { return prev diff --git a/plugins/@sanity/document-internationalization/src/types.ts b/plugins/@sanity/document-internationalization/src/types.ts index 5dc08f35..57969fad 100644 --- a/plugins/@sanity/document-internationalization/src/types.ts +++ b/plugins/@sanity/document-internationalization/src/types.ts @@ -46,6 +46,10 @@ export type PluginConfig = { InternationalizedArrayPluginConfig, 'buttonLocations' | 'buttonAddAll' | 'languageDisplay' > + /** + * Set to false to prevent templates from being created for each schemaType and language. + */ + addTemplates?: boolean } // Context version of config