@justanarthur/payload-plugin-seo 1.3.8 → 1.3.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/README.md +16 -16
  2. package/dist/defaults.js.map +1 -1
  3. package/dist/exports/client.js.map +1 -1
  4. package/dist/exports/fields-components.js.map +1 -1
  5. package/dist/exports/fields.js.map +1 -1
  6. package/dist/exports/types.js.map +1 -1
  7. package/dist/fields/MetaDescription/MetaDescriptionComponent.js.map +1 -1
  8. package/dist/fields/MetaDescription/index.js.map +1 -1
  9. package/dist/fields/MetaImage/MetaImageComponent.js.map +1 -1
  10. package/dist/fields/MetaImage/index.js.map +1 -1
  11. package/dist/fields/MetaTitle/MetaTitleComponent.js.map +1 -1
  12. package/dist/fields/MetaTitle/index.js.map +1 -1
  13. package/dist/fields/Overview/OverviewComponent.js.map +1 -1
  14. package/dist/fields/Overview/index.js.map +1 -1
  15. package/dist/fields/Preview/PreviewComponent.d.ts.map +1 -1
  16. package/dist/fields/Preview/PreviewComponent.js +13 -1
  17. package/dist/fields/Preview/PreviewComponent.js.map +1 -1
  18. package/dist/fields/Preview/index.js.map +1 -1
  19. package/dist/fields/index.scss +7 -7
  20. package/dist/index.js.map +1 -1
  21. package/dist/openai/message.js.map +1 -1
  22. package/dist/translations/cs.js.map +1 -1
  23. package/dist/translations/de.js.map +1 -1
  24. package/dist/translations/en.js.map +1 -1
  25. package/dist/translations/es.js.map +1 -1
  26. package/dist/translations/fa.js.map +1 -1
  27. package/dist/translations/fr.js.map +1 -1
  28. package/dist/translations/index.js.map +1 -1
  29. package/dist/translations/it.js.map +1 -1
  30. package/dist/translations/nb.js.map +1 -1
  31. package/dist/translations/pl.js.map +1 -1
  32. package/dist/translations/ru.js.map +1 -1
  33. package/dist/translations/sv.js.map +1 -1
  34. package/dist/translations/tr.js.map +1 -1
  35. package/dist/translations/translation-schema.json +96 -96
  36. package/dist/translations/uk.js.map +1 -1
  37. package/dist/translations/vi.js.map +1 -1
  38. package/dist/types.js.map +1 -1
  39. package/dist/ui/LengthIndicator.js.map +1 -1
  40. package/dist/ui/Pill.js.map +1 -1
  41. package/package.json +1 -1
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.tsx"],"sourcesContent":["import type { CollectionSlug, Config, Field, GlobalSlug, GroupField, TabsField } from 'payload'\nimport { deepMergeSimple } from 'payload/shared'\n\nimport { MetaDescriptionField } from './fields/MetaDescription'\nimport { MetaImageField } from './fields/MetaImage'\nimport { MetaTitleField } from './fields/MetaTitle'\nimport { OverviewField } from './fields/Overview'\nimport { PreviewField } from './fields/Preview'\nimport { openaiMessage } from './openai/message'\nimport { translations } from './translations'\nimport type {\n GenerateDescription,\n GenerateImage,\n GenerateTitle,\n GenerateURL,\n SEOPluginConfig,\n} from './types'\n\nexport const seoPlugin =\n (pluginConfig: SEOPluginConfig) =>\n (config: Config): Config => {\n const defaultFields: Field[] = [\n OverviewField({}),\n MetaTitleField({\n hasGenerateAi: typeof pluginConfig?.generateTitleAi === 'function',\n hasGenerateFn: typeof pluginConfig?.generateTitle === 'function',\n }),\n MetaDescriptionField({\n hasGenerateAi: typeof pluginConfig?.generateDescriptionAi === 'function',\n hasGenerateFn: typeof pluginConfig?.generateDescription === 'function',\n }),\n ...(pluginConfig?.uploadsCollection\n ? [\n MetaImageField({\n hasGenerateFn: typeof pluginConfig?.generateImage === 'function',\n relationTo: pluginConfig.uploadsCollection,\n }),\n ]\n : []),\n PreviewField({\n hasGenerateFn: typeof pluginConfig?.generateURL === 'function',\n }),\n ]\n\n const seoFields: GroupField[] = [\n {\n fields: [\n ...(pluginConfig?.fields && typeof pluginConfig.fields === 'function'\n ? pluginConfig.fields({ defaultFields })\n : defaultFields),\n ],\n interfaceName: pluginConfig.interfaceName,\n label: 'SEO',\n name: 'meta',\n type: 'group',\n },\n ]\n\n return {\n ...config,\n collections:\n config.collections?.map((collection) => {\n const { slug } = collection\n\n const isEnabled = pluginConfig?.collections?.includes(slug as CollectionSlug)\n\n if (isEnabled) {\n if (pluginConfig?.tabbedUI) {\n // prevent issues with auth enabled collections having an email field that shouldn't be moved to the SEO tab\n const emailField =\n (collection.auth ||\n !(\n typeof collection.auth === 'object' &&\n (collection.auth as any).disableLocalStrategy\n )) &&\n collection.fields?.find((field) => 'name' in field && field.name === 'email')\n\n const hasOnlyEmailField = collection.fields?.length === 1 && emailField\n\n const seoTabs: TabsField[] = hasOnlyEmailField\n ? [\n {\n tabs: [\n {\n fields: seoFields,\n label: 'SEO',\n },\n ],\n type: 'tabs',\n },\n ]\n : [\n {\n tabs: [\n // append a new tab onto the end of the tabs array, if there is one at the first index\n // if needed, create a new `Content` tab in the first index for this collection's base fields\n ...(collection?.fields?.[0]?.type === 'tabs' &&\n collection?.fields?.[0]?.tabs\n ? collection.fields[0].tabs\n : [\n {\n fields: [\n ...(emailField\n ? collection.fields.filter(\n (field) => 'name' in field && field.name !== 'email',\n )\n : collection.fields),\n ],\n label: collection?.labels?.singular || 'Content',\n },\n ]),\n {\n fields: seoFields,\n label: 'SEO',\n },\n ],\n type: 'tabs',\n },\n ]\n\n return {\n ...collection,\n fields: [\n ...(emailField ? [emailField] : []),\n ...seoTabs,\n ...(collection?.fields?.[0]?.type === 'tabs' ? collection.fields.slice(1) : []),\n ],\n }\n }\n\n return {\n ...collection,\n fields: [...(collection?.fields || []), ...seoFields],\n }\n }\n\n return collection\n }) || [],\n endpoints: [\n ...(config.endpoints ?? []),\n {\n handler: async (req) => {\n const data: Omit<\n Parameters<GenerateTitle>[0],\n 'collectionConfig' | 'globalConfig' | 'req'\n > = await req.json?.()\n\n if (data) {\n req.data = data\n }\n\n const result = pluginConfig.generateTitle\n ? await pluginConfig.generateTitle({\n ...data,\n collectionConfig: req.data?.collectionSlug\n ? config.collections?.find((c) => c.slug === req.data?.collectionSlug)\n : undefined,\n globalConfig: req.data?.globalSlug\n ? config.globals?.find((g) => g.slug === req.data?.globalSlug)\n : undefined,\n req,\n } satisfies Parameters<GenerateTitle>[0])\n : ''\n\n return new Response(JSON.stringify({ result }), { status: 200 })\n },\n method: 'post',\n path: '/plugin-seo/generate-title',\n },\n {\n handler: async (req) => {\n if (!pluginConfig.openaiApiKey)\n return new Response(JSON.stringify({ message: 'Something went wrong' }), {\n status: 500,\n })\n\n const data: Omit<\n Parameters<GenerateTitle>[0],\n 'collectionConfig' | 'globalConfig' | 'req'\n > = await req.json?.()\n\n if (data) {\n req.data = data\n }\n\n const content = pluginConfig.generateTitleAi\n ? await pluginConfig.generateTitleAi({\n ...data,\n collectionConfig: req.data?.collectionSlug\n ? config.collections?.find((c) => c.slug === req.data?.collectionSlug)\n : undefined,\n globalConfig: req.data?.globalSlug\n ? config.globals?.find((g) => g.slug === req.data?.globalSlug)\n : undefined,\n req,\n })\n : ''\n\n console.log('[handler \"/plugin-seo/generate-title-ai\"]', { content })\n\n const aiResult = await openaiMessage({\n apiKey: pluginConfig.openaiApiKey,\n content,\n req,\n })\n\n console.log('[handler \"/plugin-seo/generate-title-ai\"]', { aiResult })\n\n return Response.json({ result: aiResult }, { status: 200 })\n },\n method: 'post',\n path: '/plugin-seo/generate-title-ai',\n },\n {\n handler: async (req) => {\n const data: Omit<\n Parameters<GenerateTitle>[0],\n 'collectionConfig' | 'globalConfig' | 'req'\n > = await req.json?.()\n\n if (data) {\n req.data = data\n }\n\n const result = pluginConfig.generateDescription\n ? await pluginConfig.generateDescription({\n ...data,\n collectionConfig: req.data?.collectionSlug\n ? config.collections?.find((c) => c.slug === req.data?.collectionSlug)\n : undefined,\n globalConfig: req.data?.globalSlug\n ? config.globals?.find((g) => g.slug === req.data?.globalSlug)\n : undefined,\n req,\n } satisfies Parameters<GenerateDescription>[0])\n : ''\n\n return new Response(JSON.stringify({ result }), { status: 200 })\n },\n method: 'post',\n path: '/plugin-seo/generate-description',\n },\n {\n handler: async (req) => {\n if (!pluginConfig.openaiApiKey)\n return new Response(JSON.stringify({ message: 'Something went wrong' }), {\n status: 500,\n })\n\n const data: Omit<\n Parameters<GenerateTitle>[0],\n 'collectionConfig' | 'globalConfig' | 'req'\n > = await req.json?.()\n\n if (data) {\n req.data = data\n }\n const content = pluginConfig.generateDescriptionAi\n ? await pluginConfig.generateDescriptionAi({\n ...data,\n collectionConfig: req.data?.collectionSlug\n ? config.collections?.find((c) => c.slug === req.data?.collectionSlug)\n : undefined,\n globalConfig: req.data?.globalSlug\n ? config.globals?.find((g) => g.slug === req.data?.globalSlug)\n : undefined,\n req,\n })\n : ''\n\n const aiResult = await openaiMessage({\n apiKey: pluginConfig.openaiApiKey,\n content,\n req,\n })\n\n return Response.json({ result: aiResult }, { status: 200 })\n },\n method: 'post',\n path: '/plugin-seo/generate-description-ai',\n },\n {\n handler: async (req) => {\n const data: Omit<\n Parameters<GenerateTitle>[0],\n 'collectionConfig' | 'globalConfig' | 'req'\n > = await req.json?.()\n\n if (data) {\n req.data = data\n }\n\n const result = pluginConfig.generateURL\n ? await pluginConfig.generateURL({\n ...data,\n collectionConfig: req.data?.collectionSlug\n ? config.collections?.find((c) => c.slug === req.data?.collectionSlug)\n : undefined,\n globalConfig: req.data?.globalSlug\n ? config.globals?.find((g) => g.slug === req.data?.globalSlug)\n : undefined,\n req,\n } satisfies Parameters<GenerateURL>[0])\n : ''\n\n return new Response(JSON.stringify({ result }), { status: 200 })\n },\n method: 'post',\n path: '/plugin-seo/generate-url',\n },\n {\n handler: async (req) => {\n const data: Omit<\n Parameters<GenerateTitle>[0],\n 'collectionConfig' | 'globalConfig' | 'req'\n > = await req.json?.()\n\n if (data) {\n req.data = data\n }\n\n const result = pluginConfig.generateImage\n ? await pluginConfig.generateImage({\n ...data,\n collectionConfig: req.data?.collectionSlug\n ? config.collections?.find((c) => c.slug === req.data?.collectionSlug)\n : null,\n globalConfig: req.data?.globalSlug\n ? config.globals?.find((g) => g.slug === req.data?.globalSlug)\n : null,\n req,\n } as Parameters<GenerateImage>[0])\n : ''\n\n return new Response(result, { status: 200 })\n },\n method: 'post',\n path: '/plugin-seo/generate-image',\n },\n ],\n globals:\n config.globals?.map((global) => {\n const { slug } = global\n\n const isEnabled = pluginConfig?.globals?.includes(slug as GlobalSlug)\n\n if (isEnabled) {\n if (pluginConfig?.tabbedUI) {\n const seoTabs: TabsField[] = [\n {\n tabs: [\n // append a new tab onto the end of the tabs array, if there is one at the first index\n // if needed, create a new `Content` tab in the first index for this global's base fields\n ...(global?.fields?.[0].type === 'tabs' && global?.fields?.[0].tabs\n ? global.fields[0].tabs\n : [\n {\n fields: [...(global?.fields || [])],\n label: global?.label || 'Content',\n },\n ]),\n {\n fields: seoFields,\n label: 'SEO',\n },\n ],\n type: 'tabs',\n },\n ]\n\n return {\n ...global,\n fields: [\n ...seoTabs,\n ...(global?.fields?.[0].type === 'tabs' ? global.fields.slice(1) : []),\n ],\n }\n }\n\n return {\n ...global,\n fields: [...(global?.fields || []), ...seoFields],\n }\n }\n\n return global\n }) || [],\n i18n: {\n ...config.i18n,\n translations: config.i18n?.translations\n ? deepMergeSimple(translations, config.i18n.translations)\n : translations,\n },\n }\n }\n"],"names":["deepMergeSimple","MetaDescriptionField","MetaImageField","MetaTitleField","OverviewField","PreviewField","openaiMessage","translations","seoPlugin","pluginConfig","config","defaultFields","hasGenerateAi","generateTitleAi","hasGenerateFn","generateTitle","generateDescriptionAi","generateDescription","uploadsCollection","generateImage","relationTo","generateURL","seoFields","fields","interfaceName","label","name","type","collections","map","collection","slug","isEnabled","includes","tabbedUI","emailField","auth","disableLocalStrategy","find","field","hasOnlyEmailField","length","seoTabs","tabs","filter","labels","singular","slice","endpoints","handler","req","data","json","result","collectionConfig","collectionSlug","c","undefined","globalConfig","globalSlug","globals","g","Response","JSON","stringify","status","method","path","openaiApiKey","message","content","console","log","aiResult","apiKey","global","i18n"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/index.tsx"],"sourcesContent":["import type { CollectionSlug, Config, Field, GlobalSlug, GroupField, TabsField } from 'payload'\r\nimport { deepMergeSimple } from 'payload/shared'\r\n\r\nimport { MetaDescriptionField } from './fields/MetaDescription'\r\nimport { MetaImageField } from './fields/MetaImage'\r\nimport { MetaTitleField } from './fields/MetaTitle'\r\nimport { OverviewField } from './fields/Overview'\r\nimport { PreviewField } from './fields/Preview'\r\nimport { openaiMessage } from './openai/message'\r\nimport { translations } from './translations'\r\nimport type {\r\n GenerateDescription,\r\n GenerateImage,\r\n GenerateTitle,\r\n GenerateURL,\r\n SEOPluginConfig,\r\n} from './types'\r\n\r\nexport const seoPlugin =\r\n (pluginConfig: SEOPluginConfig) =>\r\n (config: Config): Config => {\r\n const defaultFields: Field[] = [\r\n OverviewField({}),\r\n MetaTitleField({\r\n hasGenerateAi: typeof pluginConfig?.generateTitleAi === 'function',\r\n hasGenerateFn: typeof pluginConfig?.generateTitle === 'function',\r\n }),\r\n MetaDescriptionField({\r\n hasGenerateAi: typeof pluginConfig?.generateDescriptionAi === 'function',\r\n hasGenerateFn: typeof pluginConfig?.generateDescription === 'function',\r\n }),\r\n ...(pluginConfig?.uploadsCollection\r\n ? [\r\n MetaImageField({\r\n hasGenerateFn: typeof pluginConfig?.generateImage === 'function',\r\n relationTo: pluginConfig.uploadsCollection,\r\n }),\r\n ]\r\n : []),\r\n PreviewField({\r\n hasGenerateFn: typeof pluginConfig?.generateURL === 'function',\r\n }),\r\n ]\r\n\r\n const seoFields: GroupField[] = [\r\n {\r\n fields: [\r\n ...(pluginConfig?.fields && typeof pluginConfig.fields === 'function'\r\n ? pluginConfig.fields({ defaultFields })\r\n : defaultFields),\r\n ],\r\n interfaceName: pluginConfig.interfaceName,\r\n label: 'SEO',\r\n name: 'meta',\r\n type: 'group',\r\n },\r\n ]\r\n\r\n return {\r\n ...config,\r\n collections:\r\n config.collections?.map((collection) => {\r\n const { slug } = collection\r\n\r\n const isEnabled = pluginConfig?.collections?.includes(slug as CollectionSlug)\r\n\r\n if (isEnabled) {\r\n if (pluginConfig?.tabbedUI) {\r\n // prevent issues with auth enabled collections having an email field that shouldn't be moved to the SEO tab\r\n const emailField =\r\n (collection.auth ||\r\n !(\r\n typeof collection.auth === 'object' &&\r\n (collection.auth as any).disableLocalStrategy\r\n )) &&\r\n collection.fields?.find((field) => 'name' in field && field.name === 'email')\r\n\r\n const hasOnlyEmailField = collection.fields?.length === 1 && emailField\r\n\r\n const seoTabs: TabsField[] = hasOnlyEmailField\r\n ? [\r\n {\r\n tabs: [\r\n {\r\n fields: seoFields,\r\n label: 'SEO',\r\n },\r\n ],\r\n type: 'tabs',\r\n },\r\n ]\r\n : [\r\n {\r\n tabs: [\r\n // append a new tab onto the end of the tabs array, if there is one at the first index\r\n // if needed, create a new `Content` tab in the first index for this collection's base fields\r\n ...(collection?.fields?.[0]?.type === 'tabs' &&\r\n collection?.fields?.[0]?.tabs\r\n ? collection.fields[0].tabs\r\n : [\r\n {\r\n fields: [\r\n ...(emailField\r\n ? collection.fields.filter(\r\n (field) => 'name' in field && field.name !== 'email',\r\n )\r\n : collection.fields),\r\n ],\r\n label: collection?.labels?.singular || 'Content',\r\n },\r\n ]),\r\n {\r\n fields: seoFields,\r\n label: 'SEO',\r\n },\r\n ],\r\n type: 'tabs',\r\n },\r\n ]\r\n\r\n return {\r\n ...collection,\r\n fields: [\r\n ...(emailField ? [emailField] : []),\r\n ...seoTabs,\r\n ...(collection?.fields?.[0]?.type === 'tabs' ? collection.fields.slice(1) : []),\r\n ],\r\n }\r\n }\r\n\r\n return {\r\n ...collection,\r\n fields: [...(collection?.fields || []), ...seoFields],\r\n }\r\n }\r\n\r\n return collection\r\n }) || [],\r\n endpoints: [\r\n ...(config.endpoints ?? []),\r\n {\r\n handler: async (req) => {\r\n const data: Omit<\r\n Parameters<GenerateTitle>[0],\r\n 'collectionConfig' | 'globalConfig' | 'req'\r\n > = await req.json?.()\r\n\r\n if (data) {\r\n req.data = data\r\n }\r\n\r\n const result = pluginConfig.generateTitle\r\n ? await pluginConfig.generateTitle({\r\n ...data,\r\n collectionConfig: req.data?.collectionSlug\r\n ? config.collections?.find((c) => c.slug === req.data?.collectionSlug)\r\n : undefined,\r\n globalConfig: req.data?.globalSlug\r\n ? config.globals?.find((g) => g.slug === req.data?.globalSlug)\r\n : undefined,\r\n req,\r\n } satisfies Parameters<GenerateTitle>[0])\r\n : ''\r\n\r\n return new Response(JSON.stringify({ result }), { status: 200 })\r\n },\r\n method: 'post',\r\n path: '/plugin-seo/generate-title',\r\n },\r\n {\r\n handler: async (req) => {\r\n if (!pluginConfig.openaiApiKey)\r\n return new Response(JSON.stringify({ message: 'Something went wrong' }), {\r\n status: 500,\r\n })\r\n\r\n const data: Omit<\r\n Parameters<GenerateTitle>[0],\r\n 'collectionConfig' | 'globalConfig' | 'req'\r\n > = await req.json?.()\r\n\r\n if (data) {\r\n req.data = data\r\n }\r\n\r\n const content = pluginConfig.generateTitleAi\r\n ? await pluginConfig.generateTitleAi({\r\n ...data,\r\n collectionConfig: req.data?.collectionSlug\r\n ? config.collections?.find((c) => c.slug === req.data?.collectionSlug)\r\n : undefined,\r\n globalConfig: req.data?.globalSlug\r\n ? config.globals?.find((g) => g.slug === req.data?.globalSlug)\r\n : undefined,\r\n req,\r\n })\r\n : ''\r\n\r\n console.log('[handler \"/plugin-seo/generate-title-ai\"]', { content })\r\n\r\n const aiResult = await openaiMessage({\r\n apiKey: pluginConfig.openaiApiKey,\r\n content,\r\n req,\r\n })\r\n\r\n console.log('[handler \"/plugin-seo/generate-title-ai\"]', { aiResult })\r\n\r\n return Response.json({ result: aiResult }, { status: 200 })\r\n },\r\n method: 'post',\r\n path: '/plugin-seo/generate-title-ai',\r\n },\r\n {\r\n handler: async (req) => {\r\n const data: Omit<\r\n Parameters<GenerateTitle>[0],\r\n 'collectionConfig' | 'globalConfig' | 'req'\r\n > = await req.json?.()\r\n\r\n if (data) {\r\n req.data = data\r\n }\r\n\r\n const result = pluginConfig.generateDescription\r\n ? await pluginConfig.generateDescription({\r\n ...data,\r\n collectionConfig: req.data?.collectionSlug\r\n ? config.collections?.find((c) => c.slug === req.data?.collectionSlug)\r\n : undefined,\r\n globalConfig: req.data?.globalSlug\r\n ? config.globals?.find((g) => g.slug === req.data?.globalSlug)\r\n : undefined,\r\n req,\r\n } satisfies Parameters<GenerateDescription>[0])\r\n : ''\r\n\r\n return new Response(JSON.stringify({ result }), { status: 200 })\r\n },\r\n method: 'post',\r\n path: '/plugin-seo/generate-description',\r\n },\r\n {\r\n handler: async (req) => {\r\n if (!pluginConfig.openaiApiKey)\r\n return new Response(JSON.stringify({ message: 'Something went wrong' }), {\r\n status: 500,\r\n })\r\n\r\n const data: Omit<\r\n Parameters<GenerateTitle>[0],\r\n 'collectionConfig' | 'globalConfig' | 'req'\r\n > = await req.json?.()\r\n\r\n if (data) {\r\n req.data = data\r\n }\r\n const content = pluginConfig.generateDescriptionAi\r\n ? await pluginConfig.generateDescriptionAi({\r\n ...data,\r\n collectionConfig: req.data?.collectionSlug\r\n ? config.collections?.find((c) => c.slug === req.data?.collectionSlug)\r\n : undefined,\r\n globalConfig: req.data?.globalSlug\r\n ? config.globals?.find((g) => g.slug === req.data?.globalSlug)\r\n : undefined,\r\n req,\r\n })\r\n : ''\r\n\r\n const aiResult = await openaiMessage({\r\n apiKey: pluginConfig.openaiApiKey,\r\n content,\r\n req,\r\n })\r\n\r\n return Response.json({ result: aiResult }, { status: 200 })\r\n },\r\n method: 'post',\r\n path: '/plugin-seo/generate-description-ai',\r\n },\r\n {\r\n handler: async (req) => {\r\n const data: Omit<\r\n Parameters<GenerateTitle>[0],\r\n 'collectionConfig' | 'globalConfig' | 'req'\r\n > = await req.json?.()\r\n\r\n if (data) {\r\n req.data = data\r\n }\r\n\r\n const result = pluginConfig.generateURL\r\n ? await pluginConfig.generateURL({\r\n ...data,\r\n collectionConfig: req.data?.collectionSlug\r\n ? config.collections?.find((c) => c.slug === req.data?.collectionSlug)\r\n : undefined,\r\n globalConfig: req.data?.globalSlug\r\n ? config.globals?.find((g) => g.slug === req.data?.globalSlug)\r\n : undefined,\r\n req,\r\n } satisfies Parameters<GenerateURL>[0])\r\n : ''\r\n\r\n return new Response(JSON.stringify({ result }), { status: 200 })\r\n },\r\n method: 'post',\r\n path: '/plugin-seo/generate-url',\r\n },\r\n {\r\n handler: async (req) => {\r\n const data: Omit<\r\n Parameters<GenerateTitle>[0],\r\n 'collectionConfig' | 'globalConfig' | 'req'\r\n > = await req.json?.()\r\n\r\n if (data) {\r\n req.data = data\r\n }\r\n\r\n const result = pluginConfig.generateImage\r\n ? await pluginConfig.generateImage({\r\n ...data,\r\n collectionConfig: req.data?.collectionSlug\r\n ? config.collections?.find((c) => c.slug === req.data?.collectionSlug)\r\n : null,\r\n globalConfig: req.data?.globalSlug\r\n ? config.globals?.find((g) => g.slug === req.data?.globalSlug)\r\n : null,\r\n req,\r\n } as Parameters<GenerateImage>[0])\r\n : ''\r\n\r\n return new Response(result, { status: 200 })\r\n },\r\n method: 'post',\r\n path: '/plugin-seo/generate-image',\r\n },\r\n ],\r\n globals:\r\n config.globals?.map((global) => {\r\n const { slug } = global\r\n\r\n const isEnabled = pluginConfig?.globals?.includes(slug as GlobalSlug)\r\n\r\n if (isEnabled) {\r\n if (pluginConfig?.tabbedUI) {\r\n const seoTabs: TabsField[] = [\r\n {\r\n tabs: [\r\n // append a new tab onto the end of the tabs array, if there is one at the first index\r\n // if needed, create a new `Content` tab in the first index for this global's base fields\r\n ...(global?.fields?.[0].type === 'tabs' && global?.fields?.[0].tabs\r\n ? global.fields[0].tabs\r\n : [\r\n {\r\n fields: [...(global?.fields || [])],\r\n label: global?.label || 'Content',\r\n },\r\n ]),\r\n {\r\n fields: seoFields,\r\n label: 'SEO',\r\n },\r\n ],\r\n type: 'tabs',\r\n },\r\n ]\r\n\r\n return {\r\n ...global,\r\n fields: [\r\n ...seoTabs,\r\n ...(global?.fields?.[0].type === 'tabs' ? global.fields.slice(1) : []),\r\n ],\r\n }\r\n }\r\n\r\n return {\r\n ...global,\r\n fields: [...(global?.fields || []), ...seoFields],\r\n }\r\n }\r\n\r\n return global\r\n }) || [],\r\n i18n: {\r\n ...config.i18n,\r\n translations: config.i18n?.translations\r\n ? deepMergeSimple(translations, config.i18n.translations)\r\n : translations,\r\n },\r\n }\r\n }\r\n"],"names":["deepMergeSimple","MetaDescriptionField","MetaImageField","MetaTitleField","OverviewField","PreviewField","openaiMessage","translations","seoPlugin","pluginConfig","config","defaultFields","hasGenerateAi","generateTitleAi","hasGenerateFn","generateTitle","generateDescriptionAi","generateDescription","uploadsCollection","generateImage","relationTo","generateURL","seoFields","fields","interfaceName","label","name","type","collections","map","collection","slug","isEnabled","includes","tabbedUI","emailField","auth","disableLocalStrategy","find","field","hasOnlyEmailField","length","seoTabs","tabs","filter","labels","singular","slice","endpoints","handler","req","data","json","result","collectionConfig","collectionSlug","c","undefined","globalConfig","globalSlug","globals","g","Response","JSON","stringify","status","method","path","openaiApiKey","message","content","console","log","aiResult","apiKey","global","i18n"],"mappings":"AACA,SAASA,eAAe,QAAQ,iBAAgB;AAEhD,SAASC,oBAAoB,QAAQ,2BAA0B;AAC/D,SAASC,cAAc,QAAQ,qBAAoB;AACnD,SAASC,cAAc,QAAQ,qBAAoB;AACnD,SAASC,aAAa,QAAQ,oBAAmB;AACjD,SAASC,YAAY,QAAQ,mBAAkB;AAC/C,SAASC,aAAa,QAAQ,mBAAkB;AAChD,SAASC,YAAY,QAAQ,iBAAgB;AAS7C,OAAO,MAAMC,YACX,CAACC,eACD,CAACC;QACC,MAAMC,gBAAyB;YAC7BP,cAAc,CAAC;YACfD,eAAe;gBACbS,eAAe,OAAOH,cAAcI,oBAAoB;gBACxDC,eAAe,OAAOL,cAAcM,kBAAkB;YACxD;YACAd,qBAAqB;gBACnBW,eAAe,OAAOH,cAAcO,0BAA0B;gBAC9DF,eAAe,OAAOL,cAAcQ,wBAAwB;YAC9D;eACIR,cAAcS,oBACd;gBACEhB,eAAe;oBACbY,eAAe,OAAOL,cAAcU,kBAAkB;oBACtDC,YAAYX,aAAaS,iBAAiB;gBAC5C;aACD,GACD,EAAE;YACNb,aAAa;gBACXS,eAAe,OAAOL,cAAcY,gBAAgB;YACtD;SACD;QAED,MAAMC,YAA0B;YAC9B;gBACEC,QAAQ;uBACFd,cAAcc,UAAU,OAAOd,aAAac,MAAM,KAAK,aACvDd,aAAac,MAAM,CAAC;wBAAEZ;oBAAc,KACpCA;iBACL;gBACDa,eAAef,aAAae,aAAa;gBACzCC,OAAO;gBACPC,MAAM;gBACNC,MAAM;YACR;SACD;QAED,OAAO;YACL,GAAGjB,MAAM;YACTkB,aACElB,OAAOkB,WAAW,EAAEC,IAAI,CAACC;gBACvB,MAAM,EAAEC,IAAI,EAAE,GAAGD;gBAEjB,MAAME,YAAYvB,cAAcmB,aAAaK,SAASF;gBAEtD,IAAIC,WAAW;oBACb,IAAIvB,cAAcyB,UAAU;wBAC1B,4GAA4G;wBAC5G,MAAMC,aACJ,AAACL,CAAAA,WAAWM,IAAI,IACd,CACE,CAAA,OAAON,WAAWM,IAAI,KAAK,YAC3B,AAACN,WAAWM,IAAI,CAASC,oBAAoB,AAAD,CAC9C,KACFP,WAAWP,MAAM,EAAEe,KAAK,CAACC,QAAU,UAAUA,SAASA,MAAMb,IAAI,KAAK;wBAEvE,MAAMc,oBAAoBV,WAAWP,MAAM,EAAEkB,WAAW,KAAKN;wBAE7D,MAAMO,UAAuBF,oBACzB;4BACE;gCACEG,MAAM;oCACJ;wCACEpB,QAAQD;wCACRG,OAAO;oCACT;iCACD;gCACDE,MAAM;4BACR;yBACD,GACD;4BACE;gCACEgB,MAAM;oCACJ,sFAAsF;oCACtF,6FAA6F;uCACzFb,YAAYP,QAAQ,CAAC,EAAE,EAAEI,SAAS,UACtCG,YAAYP,QAAQ,CAAC,EAAE,EAAEoB,OACrBb,WAAWP,MAAM,CAAC,EAAE,CAACoB,IAAI,GACzB;wCACE;4CACEpB,QAAQ;mDACFY,aACAL,WAAWP,MAAM,CAACqB,MAAM,CACtB,CAACL,QAAU,UAAUA,SAASA,MAAMb,IAAI,KAAK,WAE/CI,WAAWP,MAAM;6CACtB;4CACDE,OAAOK,YAAYe,QAAQC,YAAY;wCACzC;qCACD;oCACL;wCACEvB,QAAQD;wCACRG,OAAO;oCACT;iCACD;gCACDE,MAAM;4BACR;yBACD;wBAEL,OAAO;4BACL,GAAGG,UAAU;4BACbP,QAAQ;mCACFY,aAAa;oCAACA;iCAAW,GAAG,EAAE;mCAC/BO;mCACCZ,YAAYP,QAAQ,CAAC,EAAE,EAAEI,SAAS,SAASG,WAAWP,MAAM,CAACwB,KAAK,CAAC,KAAK,EAAE;6BAC/E;wBACH;oBACF;oBAEA,OAAO;wBACL,GAAGjB,UAAU;wBACbP,QAAQ;+BAAKO,YAAYP,UAAU,EAAE;+BAAMD;yBAAU;oBACvD;gBACF;gBAEA,OAAOQ;YACT,MAAM,EAAE;YACVkB,WAAW;mBACLtC,OAAOsC,SAAS,IAAI,EAAE;gBAC1B;oBACEC,SAAS,OAAOC;wBACd,MAAMC,OAGF,MAAMD,IAAIE,IAAI;wBAElB,IAAID,MAAM;4BACRD,IAAIC,IAAI,GAAGA;wBACb;wBAEA,MAAME,SAAS5C,aAAaM,aAAa,GACrC,MAAMN,aAAaM,aAAa,CAAC;4BAC/B,GAAGoC,IAAI;4BACPG,kBAAkBJ,IAAIC,IAAI,EAAEI,iBACxB7C,OAAOkB,WAAW,EAAEU,KAAK,CAACkB,IAAMA,EAAEzB,IAAI,KAAKmB,IAAIC,IAAI,EAAEI,kBACrDE;4BACJC,cAAcR,IAAIC,IAAI,EAAEQ,aACpBjD,OAAOkD,OAAO,EAAEtB,KAAK,CAACuB,IAAMA,EAAE9B,IAAI,KAAKmB,IAAIC,IAAI,EAAEQ,cACjDF;4BACJP;wBACF,KACA;wBAEJ,OAAO,IAAIY,SAASC,KAAKC,SAAS,CAAC;4BAAEX;wBAAO,IAAI;4BAAEY,QAAQ;wBAAI;oBAChE;oBACAC,QAAQ;oBACRC,MAAM;gBACR;gBACA;oBACElB,SAAS,OAAOC;wBACd,IAAI,CAACzC,aAAa2D,YAAY,EAC5B,OAAO,IAAIN,SAASC,KAAKC,SAAS,CAAC;4BAAEK,SAAS;wBAAuB,IAAI;4BACvEJ,QAAQ;wBACV;wBAEF,MAAMd,OAGF,MAAMD,IAAIE,IAAI;wBAElB,IAAID,MAAM;4BACRD,IAAIC,IAAI,GAAGA;wBACb;wBAEA,MAAMmB,UAAU7D,aAAaI,eAAe,GACxC,MAAMJ,aAAaI,eAAe,CAAC;4BACjC,GAAGsC,IAAI;4BACPG,kBAAkBJ,IAAIC,IAAI,EAAEI,iBACxB7C,OAAOkB,WAAW,EAAEU,KAAK,CAACkB,IAAMA,EAAEzB,IAAI,KAAKmB,IAAIC,IAAI,EAAEI,kBACrDE;4BACJC,cAAcR,IAAIC,IAAI,EAAEQ,aACpBjD,OAAOkD,OAAO,EAAEtB,KAAK,CAACuB,IAAMA,EAAE9B,IAAI,KAAKmB,IAAIC,IAAI,EAAEQ,cACjDF;4BACJP;wBACF,KACA;wBAEJqB,QAAQC,GAAG,CAAC,6CAA6C;4BAAEF;wBAAQ;wBAEnE,MAAMG,WAAW,MAAMnE,cAAc;4BACnCoE,QAAQjE,aAAa2D,YAAY;4BACjCE;4BACApB;wBACF;wBAEAqB,QAAQC,GAAG,CAAC,6CAA6C;4BAAEC;wBAAS;wBAEpE,OAAOX,SAASV,IAAI,CAAC;4BAAEC,QAAQoB;wBAAS,GAAG;4BAAER,QAAQ;wBAAI;oBAC3D;oBACAC,QAAQ;oBACRC,MAAM;gBACR;gBACA;oBACElB,SAAS,OAAOC;wBACd,MAAMC,OAGF,MAAMD,IAAIE,IAAI;wBAElB,IAAID,MAAM;4BACRD,IAAIC,IAAI,GAAGA;wBACb;wBAEA,MAAME,SAAS5C,aAAaQ,mBAAmB,GAC3C,MAAMR,aAAaQ,mBAAmB,CAAC;4BACrC,GAAGkC,IAAI;4BACPG,kBAAkBJ,IAAIC,IAAI,EAAEI,iBACxB7C,OAAOkB,WAAW,EAAEU,KAAK,CAACkB,IAAMA,EAAEzB,IAAI,KAAKmB,IAAIC,IAAI,EAAEI,kBACrDE;4BACJC,cAAcR,IAAIC,IAAI,EAAEQ,aACpBjD,OAAOkD,OAAO,EAAEtB,KAAK,CAACuB,IAAMA,EAAE9B,IAAI,KAAKmB,IAAIC,IAAI,EAAEQ,cACjDF;4BACJP;wBACF,KACA;wBAEJ,OAAO,IAAIY,SAASC,KAAKC,SAAS,CAAC;4BAAEX;wBAAO,IAAI;4BAAEY,QAAQ;wBAAI;oBAChE;oBACAC,QAAQ;oBACRC,MAAM;gBACR;gBACA;oBACElB,SAAS,OAAOC;wBACd,IAAI,CAACzC,aAAa2D,YAAY,EAC5B,OAAO,IAAIN,SAASC,KAAKC,SAAS,CAAC;4BAAEK,SAAS;wBAAuB,IAAI;4BACvEJ,QAAQ;wBACV;wBAEF,MAAMd,OAGF,MAAMD,IAAIE,IAAI;wBAElB,IAAID,MAAM;4BACRD,IAAIC,IAAI,GAAGA;wBACb;wBACA,MAAMmB,UAAU7D,aAAaO,qBAAqB,GAC9C,MAAMP,aAAaO,qBAAqB,CAAC;4BACvC,GAAGmC,IAAI;4BACPG,kBAAkBJ,IAAIC,IAAI,EAAEI,iBACxB7C,OAAOkB,WAAW,EAAEU,KAAK,CAACkB,IAAMA,EAAEzB,IAAI,KAAKmB,IAAIC,IAAI,EAAEI,kBACrDE;4BACJC,cAAcR,IAAIC,IAAI,EAAEQ,aACpBjD,OAAOkD,OAAO,EAAEtB,KAAK,CAACuB,IAAMA,EAAE9B,IAAI,KAAKmB,IAAIC,IAAI,EAAEQ,cACjDF;4BACJP;wBACF,KACA;wBAEJ,MAAMuB,WAAW,MAAMnE,cAAc;4BACnCoE,QAAQjE,aAAa2D,YAAY;4BACjCE;4BACApB;wBACF;wBAEA,OAAOY,SAASV,IAAI,CAAC;4BAAEC,QAAQoB;wBAAS,GAAG;4BAAER,QAAQ;wBAAI;oBAC3D;oBACAC,QAAQ;oBACRC,MAAM;gBACR;gBACA;oBACElB,SAAS,OAAOC;wBACd,MAAMC,OAGF,MAAMD,IAAIE,IAAI;wBAElB,IAAID,MAAM;4BACRD,IAAIC,IAAI,GAAGA;wBACb;wBAEA,MAAME,SAAS5C,aAAaY,WAAW,GACnC,MAAMZ,aAAaY,WAAW,CAAC;4BAC7B,GAAG8B,IAAI;4BACPG,kBAAkBJ,IAAIC,IAAI,EAAEI,iBACxB7C,OAAOkB,WAAW,EAAEU,KAAK,CAACkB,IAAMA,EAAEzB,IAAI,KAAKmB,IAAIC,IAAI,EAAEI,kBACrDE;4BACJC,cAAcR,IAAIC,IAAI,EAAEQ,aACpBjD,OAAOkD,OAAO,EAAEtB,KAAK,CAACuB,IAAMA,EAAE9B,IAAI,KAAKmB,IAAIC,IAAI,EAAEQ,cACjDF;4BACJP;wBACF,KACA;wBAEJ,OAAO,IAAIY,SAASC,KAAKC,SAAS,CAAC;4BAAEX;wBAAO,IAAI;4BAAEY,QAAQ;wBAAI;oBAChE;oBACAC,QAAQ;oBACRC,MAAM;gBACR;gBACA;oBACElB,SAAS,OAAOC;wBACd,MAAMC,OAGF,MAAMD,IAAIE,IAAI;wBAElB,IAAID,MAAM;4BACRD,IAAIC,IAAI,GAAGA;wBACb;wBAEA,MAAME,SAAS5C,aAAaU,aAAa,GACrC,MAAMV,aAAaU,aAAa,CAAC;4BAC/B,GAAGgC,IAAI;4BACPG,kBAAkBJ,IAAIC,IAAI,EAAEI,iBACxB7C,OAAOkB,WAAW,EAAEU,KAAK,CAACkB,IAAMA,EAAEzB,IAAI,KAAKmB,IAAIC,IAAI,EAAEI,kBACrD;4BACJG,cAAcR,IAAIC,IAAI,EAAEQ,aACpBjD,OAAOkD,OAAO,EAAEtB,KAAK,CAACuB,IAAMA,EAAE9B,IAAI,KAAKmB,IAAIC,IAAI,EAAEQ,cACjD;4BACJT;wBACF,KACA;wBAEJ,OAAO,IAAIY,SAAST,QAAQ;4BAAEY,QAAQ;wBAAI;oBAC5C;oBACAC,QAAQ;oBACRC,MAAM;gBACR;aACD;YACDP,SACElD,OAAOkD,OAAO,EAAE/B,IAAI,CAAC8C;gBACnB,MAAM,EAAE5C,IAAI,EAAE,GAAG4C;gBAEjB,MAAM3C,YAAYvB,cAAcmD,SAAS3B,SAASF;gBAElD,IAAIC,WAAW;oBACb,IAAIvB,cAAcyB,UAAU;wBAC1B,MAAMQ,UAAuB;4BAC3B;gCACEC,MAAM;oCACJ,sFAAsF;oCACtF,yFAAyF;uCACrFgC,QAAQpD,QAAQ,CAAC,EAAE,CAACI,SAAS,UAAUgD,QAAQpD,QAAQ,CAAC,EAAE,CAACoB,OAC3DgC,OAAOpD,MAAM,CAAC,EAAE,CAACoB,IAAI,GACrB;wCACE;4CACEpB,QAAQ;mDAAKoD,QAAQpD,UAAU,EAAE;6CAAE;4CACnCE,OAAOkD,QAAQlD,SAAS;wCAC1B;qCACD;oCACL;wCACEF,QAAQD;wCACRG,OAAO;oCACT;iCACD;gCACDE,MAAM;4BACR;yBACD;wBAED,OAAO;4BACL,GAAGgD,MAAM;4BACTpD,QAAQ;mCACHmB;mCACCiC,QAAQpD,QAAQ,CAAC,EAAE,CAACI,SAAS,SAASgD,OAAOpD,MAAM,CAACwB,KAAK,CAAC,KAAK,EAAE;6BACtE;wBACH;oBACF;oBAEA,OAAO;wBACL,GAAG4B,MAAM;wBACTpD,QAAQ;+BAAKoD,QAAQpD,UAAU,EAAE;+BAAMD;yBAAU;oBACnD;gBACF;gBAEA,OAAOqD;YACT,MAAM,EAAE;YACVC,MAAM;gBACJ,GAAGlE,OAAOkE,IAAI;gBACdrE,cAAcG,OAAOkE,IAAI,EAAErE,eACvBP,gBAAgBO,cAAcG,OAAOkE,IAAI,CAACrE,YAAY,IACtDA;YACN;QACF;IACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/openai/message.ts"],"sourcesContent":["import OpenAI from 'openai'\nimport type { PayloadRequest } from 'payload'\n\nlet openai: OpenAI\n\nconst isInited = false\n\nexport const openaiMessage = async ({\n apiKey,\n content,\n req,\n}: {\n apiKey: string\n content: string\n req: PayloadRequest\n}) => {\n try {\n if (!isInited) {\n const configuration = {\n apiKey,\n }\n\n openai = new OpenAI(configuration)\n }\n\n const {\n choices: [{ message }],\n } = await openai.chat.completions.create({\n messages: [\n {\n content,\n role: 'user',\n },\n ],\n model: 'gpt-3.5-turbo',\n })\n\n return message.content\n } catch (error) {\n if (error instanceof Error) req.payload.logger.error(error.message)\n\n return ''\n }\n}\n"],"names":["OpenAI","openai","isInited","openaiMessage","apiKey","content","req","configuration","choices","message","chat","completions","create","messages","role","model","error","Error","payload","logger"],"mappings":"AAAA,OAAOA,YAAY,SAAQ;AAG3B,IAAIC;AAEJ,MAAMC,WAAW;AAEjB,OAAO,MAAMC,gBAAgB,OAAO,EAClCC,MAAM,EACNC,OAAO,EACPC,GAAG,EAKJ;IACC,IAAI;QACF,IAAI,CAACJ,UAAU;YACb,MAAMK,gBAAgB;gBACpBH;YACF;YAEAH,SAAS,IAAID,OAAOO;QACtB;QAEA,MAAM,EACJC,SAAS,CAAC,EAAEC,OAAO,EAAE,CAAC,EACvB,GAAG,MAAMR,OAAOS,IAAI,CAACC,WAAW,CAACC,MAAM,CAAC;YACvCC,UAAU;gBACR;oBACER;oBACAS,MAAM;gBACR;aACD;YACDC,OAAO;QACT;QAEA,OAAON,QAAQJ,OAAO;IACxB,EAAE,OAAOW,OAAO;QACd,IAAIA,iBAAiBC,OAAOX,IAAIY,OAAO,CAACC,MAAM,CAACH,KAAK,CAACA,MAAMP,OAAO;QAElE,OAAO;IACT;AACF,EAAC"}
1
+ {"version":3,"sources":["../../src/openai/message.ts"],"sourcesContent":["import OpenAI from 'openai'\r\nimport type { PayloadRequest } from 'payload'\r\n\r\nlet openai: OpenAI\r\n\r\nconst isInited = false\r\n\r\nexport const openaiMessage = async ({\r\n apiKey,\r\n content,\r\n req,\r\n}: {\r\n apiKey: string\r\n content: string\r\n req: PayloadRequest\r\n}) => {\r\n try {\r\n if (!isInited) {\r\n const configuration = {\r\n apiKey,\r\n }\r\n\r\n openai = new OpenAI(configuration)\r\n }\r\n\r\n const {\r\n choices: [{ message }],\r\n } = await openai.chat.completions.create({\r\n messages: [\r\n {\r\n content,\r\n role: 'user',\r\n },\r\n ],\r\n model: 'gpt-3.5-turbo',\r\n })\r\n\r\n return message.content\r\n } catch (error) {\r\n if (error instanceof Error) req.payload.logger.error(error.message)\r\n\r\n return ''\r\n }\r\n}\r\n"],"names":["OpenAI","openai","isInited","openaiMessage","apiKey","content","req","configuration","choices","message","chat","completions","create","messages","role","model","error","Error","payload","logger"],"mappings":"AAAA,OAAOA,YAAY,SAAQ;AAG3B,IAAIC;AAEJ,MAAMC,WAAW;AAEjB,OAAO,MAAMC,gBAAgB,OAAO,EAClCC,MAAM,EACNC,OAAO,EACPC,GAAG,EAKJ;IACC,IAAI;QACF,IAAI,CAACJ,UAAU;YACb,MAAMK,gBAAgB;gBACpBH;YACF;YAEAH,SAAS,IAAID,OAAOO;QACtB;QAEA,MAAM,EACJC,SAAS,CAAC,EAAEC,OAAO,EAAE,CAAC,EACvB,GAAG,MAAMR,OAAOS,IAAI,CAACC,WAAW,CAACC,MAAM,CAAC;YACvCC,UAAU;gBACR;oBACER;oBACAS,MAAM;gBACR;aACD;YACDC,OAAO;QACT;QAEA,OAAON,QAAQJ,OAAO;IACxB,EAAE,OAAOW,OAAO;QACd,IAAIA,iBAAiBC,OAAOX,IAAIY,OAAO,CAACC,MAAM,CAACH,KAAK,CAACA,MAAMP,OAAO;QAElE,OAAO;IACT;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/translations/cs.ts"],"sourcesContent":["import type { GenericTranslationsObject } from '@payloadcms/translations'\n\nexport const cs: GenericTranslationsObject = {\n $schema: './translation-schema.json',\n 'plugin-seo': {\n almostThere: 'Skoro hotovo',\n autoGenerate: 'Generovat automaticky',\n bestPractices: 'osvědčené postupy',\n characterCount: '{{current}}/{{minLength}}-{{maxLength}} znaků, ',\n charactersLeftOver: '{{characters}} zbývá',\n charactersToGo: '{{characters}} zbývá',\n charactersTooMany: '{{characters}} navíc',\n checksPassing: '{{current}}/{{max}} kontrol úspěšně splněno',\n generateAi: 'Generovat AI',\n good: 'Dobré',\n imageAutoGenerationTip: 'Automatická generace načte vybraný hero obrázek.',\n lengthTipDescription:\n 'Toto by mělo mít mezi {{minLength}} a {{maxLength}} znaky. Pomoc při psaní kvalitních meta popisů navštivte ',\n lengthTipTitle:\n 'Toto by mělo mít mezi {{minLength}} a {{maxLength}} znaky. Pomoc při psaní kvalitních meta titulů navštivte ',\n missing: 'Chybí',\n noImage: 'Bez obrázku',\n preview: 'Náhled',\n previewDescription:\n 'Přesný výsledek se může lišit v závislosti na obsahu a relevanci vyhledávání.',\n tooLong: 'Příliš dlouhé',\n tooShort: 'Příliš krátké',\n },\n}\n"],"names":["cs","$schema","almostThere","autoGenerate","bestPractices","characterCount","charactersLeftOver","charactersToGo","charactersTooMany","checksPassing","generateAi","good","imageAutoGenerationTip","lengthTipDescription","lengthTipTitle","missing","noImage","preview","previewDescription","tooLong","tooShort"],"mappings":"AAEA,OAAO,MAAMA,KAAgC;IAC3CC,SAAS;IACT,cAAc;QACZC,aAAa;QACbC,cAAc;QACdC,eAAe;QACfC,gBAAgB;QAChBC,oBAAoB;QACpBC,gBAAgB;QAChBC,mBAAmB;QACnBC,eAAe;QACfC,YAAY;QACZC,MAAM;QACNC,wBAAwB;QACxBC,sBACE;QACFC,gBACE;QACFC,SAAS;QACTC,SAAS;QACTC,SAAS;QACTC,oBACE;QACFC,SAAS;QACTC,UAAU;IACZ;AACF,EAAC"}
1
+ {"version":3,"sources":["../../src/translations/cs.ts"],"sourcesContent":["import type { GenericTranslationsObject } from '@payloadcms/translations'\r\n\r\nexport const cs: GenericTranslationsObject = {\r\n $schema: './translation-schema.json',\r\n 'plugin-seo': {\r\n almostThere: 'Skoro hotovo',\r\n autoGenerate: 'Generovat automaticky',\r\n bestPractices: 'osvědčené postupy',\r\n characterCount: '{{current}}/{{minLength}}-{{maxLength}} znaků, ',\r\n charactersLeftOver: '{{characters}} zbývá',\r\n charactersToGo: '{{characters}} zbývá',\r\n charactersTooMany: '{{characters}} navíc',\r\n checksPassing: '{{current}}/{{max}} kontrol úspěšně splněno',\r\n generateAi: 'Generovat AI',\r\n good: 'Dobré',\r\n imageAutoGenerationTip: 'Automatická generace načte vybraný hero obrázek.',\r\n lengthTipDescription:\r\n 'Toto by mělo mít mezi {{minLength}} a {{maxLength}} znaky. Pomoc při psaní kvalitních meta popisů navštivte ',\r\n lengthTipTitle:\r\n 'Toto by mělo mít mezi {{minLength}} a {{maxLength}} znaky. Pomoc při psaní kvalitních meta titulů navštivte ',\r\n missing: 'Chybí',\r\n noImage: 'Bez obrázku',\r\n preview: 'Náhled',\r\n previewDescription:\r\n 'Přesný výsledek se může lišit v závislosti na obsahu a relevanci vyhledávání.',\r\n tooLong: 'Příliš dlouhé',\r\n tooShort: 'Příliš krátké',\r\n },\r\n}\r\n"],"names":["cs","$schema","almostThere","autoGenerate","bestPractices","characterCount","charactersLeftOver","charactersToGo","charactersTooMany","checksPassing","generateAi","good","imageAutoGenerationTip","lengthTipDescription","lengthTipTitle","missing","noImage","preview","previewDescription","tooLong","tooShort"],"mappings":"AAEA,OAAO,MAAMA,KAAgC;IAC3CC,SAAS;IACT,cAAc;QACZC,aAAa;QACbC,cAAc;QACdC,eAAe;QACfC,gBAAgB;QAChBC,oBAAoB;QACpBC,gBAAgB;QAChBC,mBAAmB;QACnBC,eAAe;QACfC,YAAY;QACZC,MAAM;QACNC,wBAAwB;QACxBC,sBACE;QACFC,gBACE;QACFC,SAAS;QACTC,SAAS;QACTC,SAAS;QACTC,oBACE;QACFC,SAAS;QACTC,UAAU;IACZ;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/translations/de.ts"],"sourcesContent":["import type { GenericTranslationsObject } from '@payloadcms/translations'\n\nexport const de: GenericTranslationsObject = {\n $schema: './translation-schema.json',\n 'plugin-seo': {\n almostThere: 'Fast da',\n autoGenerate: 'Automatisch generieren',\n bestPractices: 'Best Practices',\n characterCount: '{{current}}/{{minLength}}-{{maxLength}} Zeichen, ',\n charactersLeftOver: '{{characters}} verbleiben',\n charactersToGo: '{{characters}} übrig',\n charactersTooMany: '{{characters}} zu viel',\n checksPassing: '{{current}}/{{max}} Kontrollen erfolgreich',\n generateAi: 'AI generieren',\n good: 'Gut',\n imageAutoGenerationTip: 'Die automatische Generierung ruft das ausgewählte Hauptbild ab.',\n lengthTipDescription:\n 'Diese sollte zwischen {{minLength}} und {{maxLength}} Zeichen lang sein. Für Hilfe beim Schreiben von qualitativ hochwertigen Meta-Beschreibungen siehe ',\n lengthTipTitle:\n 'Dieser sollte zwischen {{minLength}} und {{maxLength}} Zeichen lang sein. Für Hilfe beim Schreiben von qualitativ hochwertigen Meta-Titeln siehe ',\n missing: 'Fehlt',\n noImage: 'Kein Bild',\n preview: 'Vorschau',\n previewDescription:\n 'Die genauen Ergebnislisten können je nach Inhalt und Suchrelevanz variieren.',\n tooLong: 'Zu lang',\n tooShort: 'Zu kurz',\n },\n}\n"],"names":["de","$schema","almostThere","autoGenerate","bestPractices","characterCount","charactersLeftOver","charactersToGo","charactersTooMany","checksPassing","generateAi","good","imageAutoGenerationTip","lengthTipDescription","lengthTipTitle","missing","noImage","preview","previewDescription","tooLong","tooShort"],"mappings":"AAEA,OAAO,MAAMA,KAAgC;IAC3CC,SAAS;IACT,cAAc;QACZC,aAAa;QACbC,cAAc;QACdC,eAAe;QACfC,gBAAgB;QAChBC,oBAAoB;QACpBC,gBAAgB;QAChBC,mBAAmB;QACnBC,eAAe;QACfC,YAAY;QACZC,MAAM;QACNC,wBAAwB;QACxBC,sBACE;QACFC,gBACE;QACFC,SAAS;QACTC,SAAS;QACTC,SAAS;QACTC,oBACE;QACFC,SAAS;QACTC,UAAU;IACZ;AACF,EAAC"}
1
+ {"version":3,"sources":["../../src/translations/de.ts"],"sourcesContent":["import type { GenericTranslationsObject } from '@payloadcms/translations'\r\n\r\nexport const de: GenericTranslationsObject = {\r\n $schema: './translation-schema.json',\r\n 'plugin-seo': {\r\n almostThere: 'Fast da',\r\n autoGenerate: 'Automatisch generieren',\r\n bestPractices: 'Best Practices',\r\n characterCount: '{{current}}/{{minLength}}-{{maxLength}} Zeichen, ',\r\n charactersLeftOver: '{{characters}} verbleiben',\r\n charactersToGo: '{{characters}} übrig',\r\n charactersTooMany: '{{characters}} zu viel',\r\n checksPassing: '{{current}}/{{max}} Kontrollen erfolgreich',\r\n generateAi: 'AI generieren',\r\n good: 'Gut',\r\n imageAutoGenerationTip: 'Die automatische Generierung ruft das ausgewählte Hauptbild ab.',\r\n lengthTipDescription:\r\n 'Diese sollte zwischen {{minLength}} und {{maxLength}} Zeichen lang sein. Für Hilfe beim Schreiben von qualitativ hochwertigen Meta-Beschreibungen siehe ',\r\n lengthTipTitle:\r\n 'Dieser sollte zwischen {{minLength}} und {{maxLength}} Zeichen lang sein. Für Hilfe beim Schreiben von qualitativ hochwertigen Meta-Titeln siehe ',\r\n missing: 'Fehlt',\r\n noImage: 'Kein Bild',\r\n preview: 'Vorschau',\r\n previewDescription:\r\n 'Die genauen Ergebnislisten können je nach Inhalt und Suchrelevanz variieren.',\r\n tooLong: 'Zu lang',\r\n tooShort: 'Zu kurz',\r\n },\r\n}\r\n"],"names":["de","$schema","almostThere","autoGenerate","bestPractices","characterCount","charactersLeftOver","charactersToGo","charactersTooMany","checksPassing","generateAi","good","imageAutoGenerationTip","lengthTipDescription","lengthTipTitle","missing","noImage","preview","previewDescription","tooLong","tooShort"],"mappings":"AAEA,OAAO,MAAMA,KAAgC;IAC3CC,SAAS;IACT,cAAc;QACZC,aAAa;QACbC,cAAc;QACdC,eAAe;QACfC,gBAAgB;QAChBC,oBAAoB;QACpBC,gBAAgB;QAChBC,mBAAmB;QACnBC,eAAe;QACfC,YAAY;QACZC,MAAM;QACNC,wBAAwB;QACxBC,sBACE;QACFC,gBACE;QACFC,SAAS;QACTC,SAAS;QACTC,SAAS;QACTC,oBACE;QACFC,SAAS;QACTC,UAAU;IACZ;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/translations/en.ts"],"sourcesContent":["import type { GenericTranslationsObject } from '@payloadcms/translations'\n\nexport const en: GenericTranslationsObject = {\n $schema: './translation-schema.json',\n 'plugin-seo': {\n almostThere: 'Almost there',\n autoGenerate: 'Auto-generate',\n bestPractices: 'best practices',\n characterCount: '{{current}}/{{minLength}}-{{maxLength}} chars, ',\n charactersLeftOver: '{{characters}} left over',\n charactersToGo: '{{characters}} to go',\n charactersTooMany: '{{characters}} too many',\n checksPassing: '{{current}}/{{max}} checks are passing',\n generateAi: 'AI-generate',\n good: 'Good',\n imageAutoGenerationTip: 'Auto-generation will retrieve the selected hero image.',\n lengthTipDescription:\n 'This should be between {{minLength}} and {{maxLength}} characters. For help in writing quality meta descriptions, see ',\n lengthTipKeywords: 'This should be between {{minLength}} and {{maxLength}} words',\n lengthTipTitle:\n 'This should be between {{minLength}} and {{maxLength}} characters. For help in writing quality meta titles, see ',\n missing: 'Missing',\n noImage: 'No image',\n preview: 'Preview',\n previewDescription: 'Exact result listings may vary based on content and search relevancy.',\n tooLong: 'Too long',\n tooShort: 'Too short',\n },\n}\n"],"names":["en","$schema","almostThere","autoGenerate","bestPractices","characterCount","charactersLeftOver","charactersToGo","charactersTooMany","checksPassing","generateAi","good","imageAutoGenerationTip","lengthTipDescription","lengthTipKeywords","lengthTipTitle","missing","noImage","preview","previewDescription","tooLong","tooShort"],"mappings":"AAEA,OAAO,MAAMA,KAAgC;IAC3CC,SAAS;IACT,cAAc;QACZC,aAAa;QACbC,cAAc;QACdC,eAAe;QACfC,gBAAgB;QAChBC,oBAAoB;QACpBC,gBAAgB;QAChBC,mBAAmB;QACnBC,eAAe;QACfC,YAAY;QACZC,MAAM;QACNC,wBAAwB;QACxBC,sBACE;QACFC,mBAAmB;QACnBC,gBACE;QACFC,SAAS;QACTC,SAAS;QACTC,SAAS;QACTC,oBAAoB;QACpBC,SAAS;QACTC,UAAU;IACZ;AACF,EAAC"}
1
+ {"version":3,"sources":["../../src/translations/en.ts"],"sourcesContent":["import type { GenericTranslationsObject } from '@payloadcms/translations'\r\n\r\nexport const en: GenericTranslationsObject = {\r\n $schema: './translation-schema.json',\r\n 'plugin-seo': {\r\n almostThere: 'Almost there',\r\n autoGenerate: 'Auto-generate',\r\n bestPractices: 'best practices',\r\n characterCount: '{{current}}/{{minLength}}-{{maxLength}} chars, ',\r\n charactersLeftOver: '{{characters}} left over',\r\n charactersToGo: '{{characters}} to go',\r\n charactersTooMany: '{{characters}} too many',\r\n checksPassing: '{{current}}/{{max}} checks are passing',\r\n generateAi: 'AI-generate',\r\n good: 'Good',\r\n imageAutoGenerationTip: 'Auto-generation will retrieve the selected hero image.',\r\n lengthTipDescription:\r\n 'This should be between {{minLength}} and {{maxLength}} characters. For help in writing quality meta descriptions, see ',\r\n lengthTipKeywords: 'This should be between {{minLength}} and {{maxLength}} words',\r\n lengthTipTitle:\r\n 'This should be between {{minLength}} and {{maxLength}} characters. For help in writing quality meta titles, see ',\r\n missing: 'Missing',\r\n noImage: 'No image',\r\n preview: 'Preview',\r\n previewDescription: 'Exact result listings may vary based on content and search relevancy.',\r\n tooLong: 'Too long',\r\n tooShort: 'Too short',\r\n },\r\n}\r\n"],"names":["en","$schema","almostThere","autoGenerate","bestPractices","characterCount","charactersLeftOver","charactersToGo","charactersTooMany","checksPassing","generateAi","good","imageAutoGenerationTip","lengthTipDescription","lengthTipKeywords","lengthTipTitle","missing","noImage","preview","previewDescription","tooLong","tooShort"],"mappings":"AAEA,OAAO,MAAMA,KAAgC;IAC3CC,SAAS;IACT,cAAc;QACZC,aAAa;QACbC,cAAc;QACdC,eAAe;QACfC,gBAAgB;QAChBC,oBAAoB;QACpBC,gBAAgB;QAChBC,mBAAmB;QACnBC,eAAe;QACfC,YAAY;QACZC,MAAM;QACNC,wBAAwB;QACxBC,sBACE;QACFC,mBAAmB;QACnBC,gBACE;QACFC,SAAS;QACTC,SAAS;QACTC,SAAS;QACTC,oBAAoB;QACpBC,SAAS;QACTC,UAAU;IACZ;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/translations/es.ts"],"sourcesContent":["import type { GenericTranslationsObject } from '@payloadcms/translations'\n\nexport const es: GenericTranslationsObject = {\n $schema: './translation-schema.json',\n 'plugin-seo': {\n almostThere: 'Ya casi está',\n autoGenerate: 'Autogénerar',\n bestPractices: 'mejores prácticas',\n characterCount: '{{current}}/{{minLength}}-{{maxLength}} letras, ',\n charactersLeftOver: '{{characters}} letras sobrantes',\n charactersToGo: '{{characters}} letras sobrantes',\n charactersTooMany: '{{characters}} letras demasiados',\n checksPassing: '{{current}}/{{max}} las comprobaciones están pasando',\n generateAi: 'Generar IA',\n good: 'Bien',\n imageAutoGenerationTip: 'La autogeneración recuperará la imagen de héroe seleccionada.',\n lengthTipDescription:\n 'Esto debe estar entre {{minLength}} y {{maxLength}} caracteres. Para obtener ayuda sobre cómo escribir meta descripciones de calidad, consulte ',\n lengthTipTitle:\n 'Debe tener entre {{minLength}} y {{maxLength}} caracteres. Para obtener ayuda sobre cómo escribir metatítulos de calidad, consulte ',\n missing: 'Falta',\n noImage: 'Sin imagen',\n preview: 'Vista previa',\n previewDescription:\n 'Las listas de resultados pueden variar segun la relevancia de buesqueda y el contenido.',\n tooLong: 'Demasiado largo',\n tooShort: 'Demasiado corto',\n },\n}\n"],"names":["es","$schema","almostThere","autoGenerate","bestPractices","characterCount","charactersLeftOver","charactersToGo","charactersTooMany","checksPassing","generateAi","good","imageAutoGenerationTip","lengthTipDescription","lengthTipTitle","missing","noImage","preview","previewDescription","tooLong","tooShort"],"mappings":"AAEA,OAAO,MAAMA,KAAgC;IAC3CC,SAAS;IACT,cAAc;QACZC,aAAa;QACbC,cAAc;QACdC,eAAe;QACfC,gBAAgB;QAChBC,oBAAoB;QACpBC,gBAAgB;QAChBC,mBAAmB;QACnBC,eAAe;QACfC,YAAY;QACZC,MAAM;QACNC,wBAAwB;QACxBC,sBACE;QACFC,gBACE;QACFC,SAAS;QACTC,SAAS;QACTC,SAAS;QACTC,oBACE;QACFC,SAAS;QACTC,UAAU;IACZ;AACF,EAAC"}
1
+ {"version":3,"sources":["../../src/translations/es.ts"],"sourcesContent":["import type { GenericTranslationsObject } from '@payloadcms/translations'\r\n\r\nexport const es: GenericTranslationsObject = {\r\n $schema: './translation-schema.json',\r\n 'plugin-seo': {\r\n almostThere: 'Ya casi está',\r\n autoGenerate: 'Autogénerar',\r\n bestPractices: 'mejores prácticas',\r\n characterCount: '{{current}}/{{minLength}}-{{maxLength}} letras, ',\r\n charactersLeftOver: '{{characters}} letras sobrantes',\r\n charactersToGo: '{{characters}} letras sobrantes',\r\n charactersTooMany: '{{characters}} letras demasiados',\r\n checksPassing: '{{current}}/{{max}} las comprobaciones están pasando',\r\n generateAi: 'Generar IA',\r\n good: 'Bien',\r\n imageAutoGenerationTip: 'La autogeneración recuperará la imagen de héroe seleccionada.',\r\n lengthTipDescription:\r\n 'Esto debe estar entre {{minLength}} y {{maxLength}} caracteres. Para obtener ayuda sobre cómo escribir meta descripciones de calidad, consulte ',\r\n lengthTipTitle:\r\n 'Debe tener entre {{minLength}} y {{maxLength}} caracteres. Para obtener ayuda sobre cómo escribir metatítulos de calidad, consulte ',\r\n missing: 'Falta',\r\n noImage: 'Sin imagen',\r\n preview: 'Vista previa',\r\n previewDescription:\r\n 'Las listas de resultados pueden variar segun la relevancia de buesqueda y el contenido.',\r\n tooLong: 'Demasiado largo',\r\n tooShort: 'Demasiado corto',\r\n },\r\n}\r\n"],"names":["es","$schema","almostThere","autoGenerate","bestPractices","characterCount","charactersLeftOver","charactersToGo","charactersTooMany","checksPassing","generateAi","good","imageAutoGenerationTip","lengthTipDescription","lengthTipTitle","missing","noImage","preview","previewDescription","tooLong","tooShort"],"mappings":"AAEA,OAAO,MAAMA,KAAgC;IAC3CC,SAAS;IACT,cAAc;QACZC,aAAa;QACbC,cAAc;QACdC,eAAe;QACfC,gBAAgB;QAChBC,oBAAoB;QACpBC,gBAAgB;QAChBC,mBAAmB;QACnBC,eAAe;QACfC,YAAY;QACZC,MAAM;QACNC,wBAAwB;QACxBC,sBACE;QACFC,gBACE;QACFC,SAAS;QACTC,SAAS;QACTC,SAAS;QACTC,oBACE;QACFC,SAAS;QACTC,UAAU;IACZ;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/translations/fa.ts"],"sourcesContent":["import type { GenericTranslationsObject } from '@payloadcms/translations'\n\nexport const fa: GenericTranslationsObject = {\n $schema: './translation-schema.json',\n 'plugin-seo': {\n almostThere: 'چیزیی باقی نمونده',\n autoGenerate: 'تولید خودکار',\n bestPractices: 'آموزش بیشتر',\n characterCount: '{{current}}/{{minLength}}-{{maxLength}} کلمه، ',\n charactersLeftOver: '{{characters}} باقی مانده',\n charactersToGo: '{{characters}} باقی مانده',\n charactersTooMany: '{{characters}} بیش از حد',\n checksPassing: '{{current}}/{{max}} بررسی‌ها با موفقیت انجام شده است',\n generateAi: 'تولید AI',\n good: 'خوب',\n imageAutoGenerationTip:\n 'این قابلیت، تصویر فعلی بارگذاری شده در مجموعه محتوای شما را بازیابی می‌کند',\n lengthTipDescription:\n 'این باید بین {{minLength}} و {{maxLength}} کلمه باشد. برای کمک در نوشتن توضیحات متا با کیفیت، مراجعه کنید به ',\n lengthTipTitle:\n 'این باید بین {{minLength}} و {{maxLength}} کلمه باشد. برای کمک در نوشتن عناوین متا با کیفیت، مراجعه کنید به ',\n missing: 'ناقص',\n noImage: 'بدون تصویر',\n preview: 'پیش‌نمایش',\n previewDescription: 'فهرست نتایج ممکن است بر اساس محتوا و متناسب با کلمه کلیدی جستجو شده باشند',\n tooLong: 'خیلی طولانی',\n tooShort: 'خیلی کوتاه',\n },\n}\n"],"names":["fa","$schema","almostThere","autoGenerate","bestPractices","characterCount","charactersLeftOver","charactersToGo","charactersTooMany","checksPassing","generateAi","good","imageAutoGenerationTip","lengthTipDescription","lengthTipTitle","missing","noImage","preview","previewDescription","tooLong","tooShort"],"mappings":"AAEA,OAAO,MAAMA,KAAgC;IAC3CC,SAAS;IACT,cAAc;QACZC,aAAa;QACbC,cAAc;QACdC,eAAe;QACfC,gBAAgB;QAChBC,oBAAoB;QACpBC,gBAAgB;QAChBC,mBAAmB;QACnBC,eAAe;QACfC,YAAY;QACZC,MAAM;QACNC,wBACE;QACFC,sBACE;QACFC,gBACE;QACFC,SAAS;QACTC,SAAS;QACTC,SAAS;QACTC,oBAAoB;QACpBC,SAAS;QACTC,UAAU;IACZ;AACF,EAAC"}
1
+ {"version":3,"sources":["../../src/translations/fa.ts"],"sourcesContent":["import type { GenericTranslationsObject } from '@payloadcms/translations'\r\n\r\nexport const fa: GenericTranslationsObject = {\r\n $schema: './translation-schema.json',\r\n 'plugin-seo': {\r\n almostThere: 'چیزیی باقی نمونده',\r\n autoGenerate: 'تولید خودکار',\r\n bestPractices: 'آموزش بیشتر',\r\n characterCount: '{{current}}/{{minLength}}-{{maxLength}} کلمه، ',\r\n charactersLeftOver: '{{characters}} باقی مانده',\r\n charactersToGo: '{{characters}} باقی مانده',\r\n charactersTooMany: '{{characters}} بیش از حد',\r\n checksPassing: '{{current}}/{{max}} بررسی‌ها با موفقیت انجام شده است',\r\n generateAi: 'تولید AI',\r\n good: 'خوب',\r\n imageAutoGenerationTip:\r\n 'این قابلیت، تصویر فعلی بارگذاری شده در مجموعه محتوای شما را بازیابی می‌کند',\r\n lengthTipDescription:\r\n 'این باید بین {{minLength}} و {{maxLength}} کلمه باشد. برای کمک در نوشتن توضیحات متا با کیفیت، مراجعه کنید به ',\r\n lengthTipTitle:\r\n 'این باید بین {{minLength}} و {{maxLength}} کلمه باشد. برای کمک در نوشتن عناوین متا با کیفیت، مراجعه کنید به ',\r\n missing: 'ناقص',\r\n noImage: 'بدون تصویر',\r\n preview: 'پیش‌نمایش',\r\n previewDescription: 'فهرست نتایج ممکن است بر اساس محتوا و متناسب با کلمه کلیدی جستجو شده باشند',\r\n tooLong: 'خیلی طولانی',\r\n tooShort: 'خیلی کوتاه',\r\n },\r\n}\r\n"],"names":["fa","$schema","almostThere","autoGenerate","bestPractices","characterCount","charactersLeftOver","charactersToGo","charactersTooMany","checksPassing","generateAi","good","imageAutoGenerationTip","lengthTipDescription","lengthTipTitle","missing","noImage","preview","previewDescription","tooLong","tooShort"],"mappings":"AAEA,OAAO,MAAMA,KAAgC;IAC3CC,SAAS;IACT,cAAc;QACZC,aAAa;QACbC,cAAc;QACdC,eAAe;QACfC,gBAAgB;QAChBC,oBAAoB;QACpBC,gBAAgB;QAChBC,mBAAmB;QACnBC,eAAe;QACfC,YAAY;QACZC,MAAM;QACNC,wBACE;QACFC,sBACE;QACFC,gBACE;QACFC,SAAS;QACTC,SAAS;QACTC,SAAS;QACTC,oBAAoB;QACpBC,SAAS;QACTC,UAAU;IACZ;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/translations/fr.ts"],"sourcesContent":["import type { GenericTranslationsObject } from '@payloadcms/translations'\n\nexport const fr: GenericTranslationsObject = {\n $schema: './translation-schema.json',\n 'plugin-seo': {\n almostThere: 'On y est presque',\n autoGenerate: 'Auto-générer',\n bestPractices: 'bonnes pratiques',\n characterCount: '{{current}}/{{minLength}}-{{maxLength}} caractères, ',\n charactersLeftOver: '{{characters}} restants',\n charactersToGo: '{{characters}} à ajouter',\n charactersTooMany: '{{characters}} en trop',\n checksPassing: '{{current}}/{{max}} vérifications réussies',\n generateAi: 'Générer IA',\n good: 'Bien',\n imageAutoGenerationTip: \"L'auto-génération récupérera l'image principale sélectionnée.\",\n lengthTipDescription:\n \"Ceci devrait contenir entre {{minLength}} et {{maxLength}} caractères. Pour obtenir de l'aide pour rédiger des descriptions meta de qualité, consultez les \",\n lengthTipTitle:\n \"Ceci devrait contenir entre {{minLength}} et {{maxLength}} caractères. Pour obtenir de l'aide pour rédiger des titres meta de qualité, consultez les \",\n missing: 'Manquant',\n noImage: \"Pas d'image\",\n preview: 'Aperçu',\n previewDescription:\n 'Les résultats exacts peuvent varier en fonction du contenu et de la pertinence de la recherche.',\n tooLong: 'Trop long',\n tooShort: 'Trop court',\n },\n}\n"],"names":["fr","$schema","almostThere","autoGenerate","bestPractices","characterCount","charactersLeftOver","charactersToGo","charactersTooMany","checksPassing","generateAi","good","imageAutoGenerationTip","lengthTipDescription","lengthTipTitle","missing","noImage","preview","previewDescription","tooLong","tooShort"],"mappings":"AAEA,OAAO,MAAMA,KAAgC;IAC3CC,SAAS;IACT,cAAc;QACZC,aAAa;QACbC,cAAc;QACdC,eAAe;QACfC,gBAAgB;QAChBC,oBAAoB;QACpBC,gBAAgB;QAChBC,mBAAmB;QACnBC,eAAe;QACfC,YAAY;QACZC,MAAM;QACNC,wBAAwB;QACxBC,sBACE;QACFC,gBACE;QACFC,SAAS;QACTC,SAAS;QACTC,SAAS;QACTC,oBACE;QACFC,SAAS;QACTC,UAAU;IACZ;AACF,EAAC"}
1
+ {"version":3,"sources":["../../src/translations/fr.ts"],"sourcesContent":["import type { GenericTranslationsObject } from '@payloadcms/translations'\r\n\r\nexport const fr: GenericTranslationsObject = {\r\n $schema: './translation-schema.json',\r\n 'plugin-seo': {\r\n almostThere: 'On y est presque',\r\n autoGenerate: 'Auto-générer',\r\n bestPractices: 'bonnes pratiques',\r\n characterCount: '{{current}}/{{minLength}}-{{maxLength}} caractères, ',\r\n charactersLeftOver: '{{characters}} restants',\r\n charactersToGo: '{{characters}} à ajouter',\r\n charactersTooMany: '{{characters}} en trop',\r\n checksPassing: '{{current}}/{{max}} vérifications réussies',\r\n generateAi: 'Générer IA',\r\n good: 'Bien',\r\n imageAutoGenerationTip: \"L'auto-génération récupérera l'image principale sélectionnée.\",\r\n lengthTipDescription:\r\n \"Ceci devrait contenir entre {{minLength}} et {{maxLength}} caractères. Pour obtenir de l'aide pour rédiger des descriptions meta de qualité, consultez les \",\r\n lengthTipTitle:\r\n \"Ceci devrait contenir entre {{minLength}} et {{maxLength}} caractères. Pour obtenir de l'aide pour rédiger des titres meta de qualité, consultez les \",\r\n missing: 'Manquant',\r\n noImage: \"Pas d'image\",\r\n preview: 'Aperçu',\r\n previewDescription:\r\n 'Les résultats exacts peuvent varier en fonction du contenu et de la pertinence de la recherche.',\r\n tooLong: 'Trop long',\r\n tooShort: 'Trop court',\r\n },\r\n}\r\n"],"names":["fr","$schema","almostThere","autoGenerate","bestPractices","characterCount","charactersLeftOver","charactersToGo","charactersTooMany","checksPassing","generateAi","good","imageAutoGenerationTip","lengthTipDescription","lengthTipTitle","missing","noImage","preview","previewDescription","tooLong","tooShort"],"mappings":"AAEA,OAAO,MAAMA,KAAgC;IAC3CC,SAAS;IACT,cAAc;QACZC,aAAa;QACbC,cAAc;QACdC,eAAe;QACfC,gBAAgB;QAChBC,oBAAoB;QACpBC,gBAAgB;QAChBC,mBAAmB;QACnBC,eAAe;QACfC,YAAY;QACZC,MAAM;QACNC,wBAAwB;QACxBC,sBACE;QACFC,gBACE;QACFC,SAAS;QACTC,SAAS;QACTC,SAAS;QACTC,oBACE;QACFC,SAAS;QACTC,UAAU;IACZ;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/translations/index.ts"],"sourcesContent":["import type { GenericTranslationsObject, NestedKeysStripped } from '@payloadcms/translations'\n\nimport { cs } from './cs'\nimport { de } from './de'\nimport { en } from './en'\nimport { es } from './es'\nimport { fa } from './fa'\nimport { fr } from './fr'\nimport { it } from './it'\nimport { nb } from './nb'\nimport { pl } from './pl'\nimport { ru } from './ru'\nimport { sv } from './sv'\nimport { tr } from './tr'\nimport { uk } from './uk'\n\nexport const translations = {\n cs,\n de,\n en,\n es,\n fa,\n fr,\n it,\n nb,\n pl,\n ru,\n sv,\n tr,\n uk,\n}\n\nexport type PluginSEOTranslations = GenericTranslationsObject\n\nexport type PluginSEOTranslationKeys = NestedKeysStripped<PluginSEOTranslations>\n"],"names":["cs","de","en","es","fa","fr","it","nb","pl","ru","sv","tr","uk","translations"],"mappings":"AAEA,SAASA,EAAE,QAAQ,OAAM;AACzB,SAASC,EAAE,QAAQ,OAAM;AACzB,SAASC,EAAE,QAAQ,OAAM;AACzB,SAASC,EAAE,QAAQ,OAAM;AACzB,SAASC,EAAE,QAAQ,OAAM;AACzB,SAASC,EAAE,QAAQ,OAAM;AACzB,SAASC,EAAE,QAAQ,OAAM;AACzB,SAASC,EAAE,QAAQ,OAAM;AACzB,SAASC,EAAE,QAAQ,OAAM;AACzB,SAASC,EAAE,QAAQ,OAAM;AACzB,SAASC,EAAE,QAAQ,OAAM;AACzB,SAASC,EAAE,QAAQ,OAAM;AACzB,SAASC,EAAE,QAAQ,OAAM;AAEzB,OAAO,MAAMC,eAAe;IAC1Bb;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;AACF,EAAC"}
1
+ {"version":3,"sources":["../../src/translations/index.ts"],"sourcesContent":["import type { GenericTranslationsObject, NestedKeysStripped } from '@payloadcms/translations'\r\n\r\nimport { cs } from './cs'\r\nimport { de } from './de'\r\nimport { en } from './en'\r\nimport { es } from './es'\r\nimport { fa } from './fa'\r\nimport { fr } from './fr'\r\nimport { it } from './it'\r\nimport { nb } from './nb'\r\nimport { pl } from './pl'\r\nimport { ru } from './ru'\r\nimport { sv } from './sv'\r\nimport { tr } from './tr'\r\nimport { uk } from './uk'\r\n\r\nexport const translations = {\r\n cs,\r\n de,\r\n en,\r\n es,\r\n fa,\r\n fr,\r\n it,\r\n nb,\r\n pl,\r\n ru,\r\n sv,\r\n tr,\r\n uk,\r\n}\r\n\r\nexport type PluginSEOTranslations = GenericTranslationsObject\r\n\r\nexport type PluginSEOTranslationKeys = NestedKeysStripped<PluginSEOTranslations>\r\n"],"names":["cs","de","en","es","fa","fr","it","nb","pl","ru","sv","tr","uk","translations"],"mappings":"AAEA,SAASA,EAAE,QAAQ,OAAM;AACzB,SAASC,EAAE,QAAQ,OAAM;AACzB,SAASC,EAAE,QAAQ,OAAM;AACzB,SAASC,EAAE,QAAQ,OAAM;AACzB,SAASC,EAAE,QAAQ,OAAM;AACzB,SAASC,EAAE,QAAQ,OAAM;AACzB,SAASC,EAAE,QAAQ,OAAM;AACzB,SAASC,EAAE,QAAQ,OAAM;AACzB,SAASC,EAAE,QAAQ,OAAM;AACzB,SAASC,EAAE,QAAQ,OAAM;AACzB,SAASC,EAAE,QAAQ,OAAM;AACzB,SAASC,EAAE,QAAQ,OAAM;AACzB,SAASC,EAAE,QAAQ,OAAM;AAEzB,OAAO,MAAMC,eAAe;IAC1Bb;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/translations/it.ts"],"sourcesContent":["import type { GenericTranslationsObject } from '@payloadcms/translations'\n\nexport const it: GenericTranslationsObject = {\n $schema: './translation-schema.json',\n 'plugin-seo': {\n almostThere: 'Ci siamo quasi',\n autoGenerate: 'Generazione automatica',\n bestPractices: 'migliori pratiche',\n characterCount: '{{current}}/{{minLength}}-{{maxLength}} caratteri, ',\n charactersLeftOver: '{{characters}} rimasti',\n charactersToGo: '{{characters}} mancanti',\n charactersTooMany: '{{characters}} in più',\n checksPassing: '{{current}}/{{max}} controlli superati',\n generateAi: 'Genera AI',\n good: 'Bene',\n imageAutoGenerationTip:\n \"La generazione automatica recupererà l'immagine selezionata per l'hero\",\n lengthTipDescription:\n 'Dovrebbe essere compreso tra {{minLength}} e {{maxLength}} caratteri. Per assistenza nella scrittura di meta descrizioni di qualità, vedere ',\n lengthTipTitle:\n 'Dovrebbe essere compreso tra {{minLength}} e {{maxLength}} caratteri. Per assistenza nella scrittura di meta titoli di qualità, vedere ',\n missing: 'Mancante',\n noImage: 'Nessuna Immagine',\n preview: 'Anteprima',\n previewDescription:\n 'I risultati esatti possono variare in base al contenuto e alla pertinenza della ricerca.',\n tooLong: 'Troppo lungo',\n tooShort: 'Troppo corto',\n },\n}\n"],"names":["it","$schema","almostThere","autoGenerate","bestPractices","characterCount","charactersLeftOver","charactersToGo","charactersTooMany","checksPassing","generateAi","good","imageAutoGenerationTip","lengthTipDescription","lengthTipTitle","missing","noImage","preview","previewDescription","tooLong","tooShort"],"mappings":"AAEA,OAAO,MAAMA,KAAgC;IAC3CC,SAAS;IACT,cAAc;QACZC,aAAa;QACbC,cAAc;QACdC,eAAe;QACfC,gBAAgB;QAChBC,oBAAoB;QACpBC,gBAAgB;QAChBC,mBAAmB;QACnBC,eAAe;QACfC,YAAY;QACZC,MAAM;QACNC,wBACE;QACFC,sBACE;QACFC,gBACE;QACFC,SAAS;QACTC,SAAS;QACTC,SAAS;QACTC,oBACE;QACFC,SAAS;QACTC,UAAU;IACZ;AACF,EAAC"}
1
+ {"version":3,"sources":["../../src/translations/it.ts"],"sourcesContent":["import type { GenericTranslationsObject } from '@payloadcms/translations'\r\n\r\nexport const it: GenericTranslationsObject = {\r\n $schema: './translation-schema.json',\r\n 'plugin-seo': {\r\n almostThere: 'Ci siamo quasi',\r\n autoGenerate: 'Generazione automatica',\r\n bestPractices: 'migliori pratiche',\r\n characterCount: '{{current}}/{{minLength}}-{{maxLength}} caratteri, ',\r\n charactersLeftOver: '{{characters}} rimasti',\r\n charactersToGo: '{{characters}} mancanti',\r\n charactersTooMany: '{{characters}} in più',\r\n checksPassing: '{{current}}/{{max}} controlli superati',\r\n generateAi: 'Genera AI',\r\n good: 'Bene',\r\n imageAutoGenerationTip:\r\n \"La generazione automatica recupererà l'immagine selezionata per l'hero\",\r\n lengthTipDescription:\r\n 'Dovrebbe essere compreso tra {{minLength}} e {{maxLength}} caratteri. Per assistenza nella scrittura di meta descrizioni di qualità, vedere ',\r\n lengthTipTitle:\r\n 'Dovrebbe essere compreso tra {{minLength}} e {{maxLength}} caratteri. Per assistenza nella scrittura di meta titoli di qualità, vedere ',\r\n missing: 'Mancante',\r\n noImage: 'Nessuna Immagine',\r\n preview: 'Anteprima',\r\n previewDescription:\r\n 'I risultati esatti possono variare in base al contenuto e alla pertinenza della ricerca.',\r\n tooLong: 'Troppo lungo',\r\n tooShort: 'Troppo corto',\r\n },\r\n}\r\n"],"names":["it","$schema","almostThere","autoGenerate","bestPractices","characterCount","charactersLeftOver","charactersToGo","charactersTooMany","checksPassing","generateAi","good","imageAutoGenerationTip","lengthTipDescription","lengthTipTitle","missing","noImage","preview","previewDescription","tooLong","tooShort"],"mappings":"AAEA,OAAO,MAAMA,KAAgC;IAC3CC,SAAS;IACT,cAAc;QACZC,aAAa;QACbC,cAAc;QACdC,eAAe;QACfC,gBAAgB;QAChBC,oBAAoB;QACpBC,gBAAgB;QAChBC,mBAAmB;QACnBC,eAAe;QACfC,YAAY;QACZC,MAAM;QACNC,wBACE;QACFC,sBACE;QACFC,gBACE;QACFC,SAAS;QACTC,SAAS;QACTC,SAAS;QACTC,oBACE;QACFC,SAAS;QACTC,UAAU;IACZ;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/translations/nb.ts"],"sourcesContent":["import type { GenericTranslationsObject } from '@payloadcms/translations'\n\nexport const nb: GenericTranslationsObject = {\n $schema: './translation-schema.json',\n 'plugin-seo': {\n almostThere: 'Nesten der',\n autoGenerate: 'Auto-generer',\n bestPractices: 'beste praksis',\n characterCount: '{{current}}/{{minLength}}-{{maxLength}} tegn, ',\n charactersLeftOver: '{{characters}} til overs',\n charactersToGo: '{{characters}} igjen',\n charactersTooMany: '{{characters}} for mange',\n checksPassing: '{{current}}/{{max}} sjekker bestått',\n generateAi: 'Generer AI',\n good: 'Bra',\n imageAutoGenerationTip: 'Auto-generering vil hente det valgte hero-bildet.',\n lengthTipDescription:\n 'Dette bør være mellom {{minLength}} og {{maxLength}} tegn. For hjelp til å skrive beskrivelser av god kvalitet, se ',\n lengthTipTitle:\n 'Dette bør være mellom {{minLength}} og {{maxLength}} tegn. For hjelp til å skrive metatitler av god kvalitet, se ',\n missing: 'Mangler',\n noImage: 'Bilde mangler',\n preview: 'Forhåndsvisning',\n previewDescription:\n 'Eksakte resultatoppføringer kan variere basert på innhold og søke relevans.',\n tooLong: 'For lang',\n tooShort: 'For kort',\n },\n}\n"],"names":["nb","$schema","almostThere","autoGenerate","bestPractices","characterCount","charactersLeftOver","charactersToGo","charactersTooMany","checksPassing","generateAi","good","imageAutoGenerationTip","lengthTipDescription","lengthTipTitle","missing","noImage","preview","previewDescription","tooLong","tooShort"],"mappings":"AAEA,OAAO,MAAMA,KAAgC;IAC3CC,SAAS;IACT,cAAc;QACZC,aAAa;QACbC,cAAc;QACdC,eAAe;QACfC,gBAAgB;QAChBC,oBAAoB;QACpBC,gBAAgB;QAChBC,mBAAmB;QACnBC,eAAe;QACfC,YAAY;QACZC,MAAM;QACNC,wBAAwB;QACxBC,sBACE;QACFC,gBACE;QACFC,SAAS;QACTC,SAAS;QACTC,SAAS;QACTC,oBACE;QACFC,SAAS;QACTC,UAAU;IACZ;AACF,EAAC"}
1
+ {"version":3,"sources":["../../src/translations/nb.ts"],"sourcesContent":["import type { GenericTranslationsObject } from '@payloadcms/translations'\r\n\r\nexport const nb: GenericTranslationsObject = {\r\n $schema: './translation-schema.json',\r\n 'plugin-seo': {\r\n almostThere: 'Nesten der',\r\n autoGenerate: 'Auto-generer',\r\n bestPractices: 'beste praksis',\r\n characterCount: '{{current}}/{{minLength}}-{{maxLength}} tegn, ',\r\n charactersLeftOver: '{{characters}} til overs',\r\n charactersToGo: '{{characters}} igjen',\r\n charactersTooMany: '{{characters}} for mange',\r\n checksPassing: '{{current}}/{{max}} sjekker bestått',\r\n generateAi: 'Generer AI',\r\n good: 'Bra',\r\n imageAutoGenerationTip: 'Auto-generering vil hente det valgte hero-bildet.',\r\n lengthTipDescription:\r\n 'Dette bør være mellom {{minLength}} og {{maxLength}} tegn. For hjelp til å skrive beskrivelser av god kvalitet, se ',\r\n lengthTipTitle:\r\n 'Dette bør være mellom {{minLength}} og {{maxLength}} tegn. For hjelp til å skrive metatitler av god kvalitet, se ',\r\n missing: 'Mangler',\r\n noImage: 'Bilde mangler',\r\n preview: 'Forhåndsvisning',\r\n previewDescription:\r\n 'Eksakte resultatoppføringer kan variere basert på innhold og søke relevans.',\r\n tooLong: 'For lang',\r\n tooShort: 'For kort',\r\n },\r\n}\r\n"],"names":["nb","$schema","almostThere","autoGenerate","bestPractices","characterCount","charactersLeftOver","charactersToGo","charactersTooMany","checksPassing","generateAi","good","imageAutoGenerationTip","lengthTipDescription","lengthTipTitle","missing","noImage","preview","previewDescription","tooLong","tooShort"],"mappings":"AAEA,OAAO,MAAMA,KAAgC;IAC3CC,SAAS;IACT,cAAc;QACZC,aAAa;QACbC,cAAc;QACdC,eAAe;QACfC,gBAAgB;QAChBC,oBAAoB;QACpBC,gBAAgB;QAChBC,mBAAmB;QACnBC,eAAe;QACfC,YAAY;QACZC,MAAM;QACNC,wBAAwB;QACxBC,sBACE;QACFC,gBACE;QACFC,SAAS;QACTC,SAAS;QACTC,SAAS;QACTC,oBACE;QACFC,SAAS;QACTC,UAAU;IACZ;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/translations/pl.ts"],"sourcesContent":["import type { GenericTranslationsObject } from '@payloadcms/translations'\n\nexport const pl: GenericTranslationsObject = {\n $schema: './translation-schema.json',\n 'plugin-seo': {\n almostThere: 'Prawie gotowe',\n autoGenerate: 'Wygeneruj automatycznie',\n bestPractices: 'najlepsze praktyki',\n characterCount: '{{current}}/{{minLength}}-{{maxLength}} znaków, ',\n charactersLeftOver: 'zostało {{characters}} znaków',\n charactersToGo: 'pozostało {{characters}} znaków',\n charactersTooMany: '{{characters}} znaków za dużo',\n checksPassing: '{{current}}/{{max}} testów zakończonych pomyślnie',\n generateAi: 'Generuj AI',\n good: 'Dobrze',\n imageAutoGenerationTip: 'Automatyczne generowanie pobierze wybrany główny obraz.',\n lengthTipDescription:\n 'Długość powinna wynosić od {{minLength}} do {{maxLength}} znaków. Po porady dotyczące pisania wysokiej jakości meta opisów zobacz ',\n lengthTipTitle:\n 'Długość powinna wynosić od {{minLength}} do {{maxLength}} znaków. Po porady dotyczące pisania wysokiej jakości meta tytułów zobacz ',\n missing: 'Brakuje',\n noImage: 'Brak obrazu',\n preview: 'Podgląd',\n previewDescription:\n 'Dokładne wyniki listowania mogą się różnić w zależności od treści i zgodności z kryteriami wyszukiwania.',\n tooLong: 'Zbyt długie',\n tooShort: 'Zbyt krótkie',\n },\n}\n"],"names":["pl","$schema","almostThere","autoGenerate","bestPractices","characterCount","charactersLeftOver","charactersToGo","charactersTooMany","checksPassing","generateAi","good","imageAutoGenerationTip","lengthTipDescription","lengthTipTitle","missing","noImage","preview","previewDescription","tooLong","tooShort"],"mappings":"AAEA,OAAO,MAAMA,KAAgC;IAC3CC,SAAS;IACT,cAAc;QACZC,aAAa;QACbC,cAAc;QACdC,eAAe;QACfC,gBAAgB;QAChBC,oBAAoB;QACpBC,gBAAgB;QAChBC,mBAAmB;QACnBC,eAAe;QACfC,YAAY;QACZC,MAAM;QACNC,wBAAwB;QACxBC,sBACE;QACFC,gBACE;QACFC,SAAS;QACTC,SAAS;QACTC,SAAS;QACTC,oBACE;QACFC,SAAS;QACTC,UAAU;IACZ;AACF,EAAC"}
1
+ {"version":3,"sources":["../../src/translations/pl.ts"],"sourcesContent":["import type { GenericTranslationsObject } from '@payloadcms/translations'\r\n\r\nexport const pl: GenericTranslationsObject = {\r\n $schema: './translation-schema.json',\r\n 'plugin-seo': {\r\n almostThere: 'Prawie gotowe',\r\n autoGenerate: 'Wygeneruj automatycznie',\r\n bestPractices: 'najlepsze praktyki',\r\n characterCount: '{{current}}/{{minLength}}-{{maxLength}} znaków, ',\r\n charactersLeftOver: 'zostało {{characters}} znaków',\r\n charactersToGo: 'pozostało {{characters}} znaków',\r\n charactersTooMany: '{{characters}} znaków za dużo',\r\n checksPassing: '{{current}}/{{max}} testów zakończonych pomyślnie',\r\n generateAi: 'Generuj AI',\r\n good: 'Dobrze',\r\n imageAutoGenerationTip: 'Automatyczne generowanie pobierze wybrany główny obraz.',\r\n lengthTipDescription:\r\n 'Długość powinna wynosić od {{minLength}} do {{maxLength}} znaków. Po porady dotyczące pisania wysokiej jakości meta opisów zobacz ',\r\n lengthTipTitle:\r\n 'Długość powinna wynosić od {{minLength}} do {{maxLength}} znaków. Po porady dotyczące pisania wysokiej jakości meta tytułów zobacz ',\r\n missing: 'Brakuje',\r\n noImage: 'Brak obrazu',\r\n preview: 'Podgląd',\r\n previewDescription:\r\n 'Dokładne wyniki listowania mogą się różnić w zależności od treści i zgodności z kryteriami wyszukiwania.',\r\n tooLong: 'Zbyt długie',\r\n tooShort: 'Zbyt krótkie',\r\n },\r\n}\r\n"],"names":["pl","$schema","almostThere","autoGenerate","bestPractices","characterCount","charactersLeftOver","charactersToGo","charactersTooMany","checksPassing","generateAi","good","imageAutoGenerationTip","lengthTipDescription","lengthTipTitle","missing","noImage","preview","previewDescription","tooLong","tooShort"],"mappings":"AAEA,OAAO,MAAMA,KAAgC;IAC3CC,SAAS;IACT,cAAc;QACZC,aAAa;QACbC,cAAc;QACdC,eAAe;QACfC,gBAAgB;QAChBC,oBAAoB;QACpBC,gBAAgB;QAChBC,mBAAmB;QACnBC,eAAe;QACfC,YAAY;QACZC,MAAM;QACNC,wBAAwB;QACxBC,sBACE;QACFC,gBACE;QACFC,SAAS;QACTC,SAAS;QACTC,SAAS;QACTC,oBACE;QACFC,SAAS;QACTC,UAAU;IACZ;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/translations/ru.ts"],"sourcesContent":["import type { GenericTranslationsObject } from '@payloadcms/translations'\n\nexport const ru: GenericTranslationsObject = {\n $schema: './translation-schema.json',\n 'plugin-seo': {\n almostThere: 'Почти готово',\n autoGenerate: 'Сгенерировать автоматически',\n bestPractices: 'лучшие практики',\n characterCount: '{{current}}/{{minLength}}-{{maxLength}} символов, ',\n charactersLeftOver: 'осталось {{characters}} символов',\n charactersToGo: 'на {{characters}} символов меньше',\n charactersTooMany: 'на {{characters}} символов больше',\n checksPassing: '{{current}}/{{max}} проверок пройдено',\n generateAi: 'Сгенерировать ИИ',\n good: 'Хорошо',\n imageAutoGenerationTip: 'Автогенерация использует выбранное главное изображение.',\n lengthTipDescription:\n 'Должно быть от {{minLength}} до {{maxLength}} символов. Для помощи в написании качественных метаописаний см.',\n lengthTipTitle:\n 'Должно быть от {{minLength}} до {{maxLength}} символов. Для помощи в написании качественных метазаголовков см.',\n missing: 'Отсутствует',\n noImage: 'Нет изображения',\n preview: 'Предварительный просмотр',\n previewDescription:\n 'Фактические результаты могут отличаться в зависимости от контента и релевантности поиска.',\n tooLong: 'Слишком длинно',\n tooShort: 'Слишком коротко',\n },\n}\n"],"names":["ru","$schema","almostThere","autoGenerate","bestPractices","characterCount","charactersLeftOver","charactersToGo","charactersTooMany","checksPassing","generateAi","good","imageAutoGenerationTip","lengthTipDescription","lengthTipTitle","missing","noImage","preview","previewDescription","tooLong","tooShort"],"mappings":"AAEA,OAAO,MAAMA,KAAgC;IAC3CC,SAAS;IACT,cAAc;QACZC,aAAa;QACbC,cAAc;QACdC,eAAe;QACfC,gBAAgB;QAChBC,oBAAoB;QACpBC,gBAAgB;QAChBC,mBAAmB;QACnBC,eAAe;QACfC,YAAY;QACZC,MAAM;QACNC,wBAAwB;QACxBC,sBACE;QACFC,gBACE;QACFC,SAAS;QACTC,SAAS;QACTC,SAAS;QACTC,oBACE;QACFC,SAAS;QACTC,UAAU;IACZ;AACF,EAAC"}
1
+ {"version":3,"sources":["../../src/translations/ru.ts"],"sourcesContent":["import type { GenericTranslationsObject } from '@payloadcms/translations'\r\n\r\nexport const ru: GenericTranslationsObject = {\r\n $schema: './translation-schema.json',\r\n 'plugin-seo': {\r\n almostThere: 'Почти готово',\r\n autoGenerate: 'Сгенерировать автоматически',\r\n bestPractices: 'лучшие практики',\r\n characterCount: '{{current}}/{{minLength}}-{{maxLength}} символов, ',\r\n charactersLeftOver: 'осталось {{characters}} символов',\r\n charactersToGo: 'на {{characters}} символов меньше',\r\n charactersTooMany: 'на {{characters}} символов больше',\r\n checksPassing: '{{current}}/{{max}} проверок пройдено',\r\n generateAi: 'Сгенерировать ИИ',\r\n good: 'Хорошо',\r\n imageAutoGenerationTip: 'Автогенерация использует выбранное главное изображение.',\r\n lengthTipDescription:\r\n 'Должно быть от {{minLength}} до {{maxLength}} символов. Для помощи в написании качественных метаописаний см.',\r\n lengthTipTitle:\r\n 'Должно быть от {{minLength}} до {{maxLength}} символов. Для помощи в написании качественных метазаголовков см.',\r\n missing: 'Отсутствует',\r\n noImage: 'Нет изображения',\r\n preview: 'Предварительный просмотр',\r\n previewDescription:\r\n 'Фактические результаты могут отличаться в зависимости от контента и релевантности поиска.',\r\n tooLong: 'Слишком длинно',\r\n tooShort: 'Слишком коротко',\r\n },\r\n}\r\n"],"names":["ru","$schema","almostThere","autoGenerate","bestPractices","characterCount","charactersLeftOver","charactersToGo","charactersTooMany","checksPassing","generateAi","good","imageAutoGenerationTip","lengthTipDescription","lengthTipTitle","missing","noImage","preview","previewDescription","tooLong","tooShort"],"mappings":"AAEA,OAAO,MAAMA,KAAgC;IAC3CC,SAAS;IACT,cAAc;QACZC,aAAa;QACbC,cAAc;QACdC,eAAe;QACfC,gBAAgB;QAChBC,oBAAoB;QACpBC,gBAAgB;QAChBC,mBAAmB;QACnBC,eAAe;QACfC,YAAY;QACZC,MAAM;QACNC,wBAAwB;QACxBC,sBACE;QACFC,gBACE;QACFC,SAAS;QACTC,SAAS;QACTC,SAAS;QACTC,oBACE;QACFC,SAAS;QACTC,UAAU;IACZ;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/translations/sv.ts"],"sourcesContent":["import type { GenericTranslationsObject } from '@payloadcms/translations'\n\nexport const sv: GenericTranslationsObject = {\n $schema: './translation-schema.json',\n 'plugin-seo': {\n almostThere: 'Nästan klar',\n autoGenerate: 'Skapa automatiskt',\n bestPractices: 'bästa praxis',\n characterCount: '{{current}}/{{minLength}}-{{maxLength}} tecken, ',\n charactersLeftOver: '{{characters}} tecken blir över',\n charactersToGo: '{{characters}} tecken kvar',\n charactersTooMany: '{{characters}} tecken för mycket',\n checksPassing: '{{current}}/{{max}} kontroller är godkända',\n generateAi: 'Skapa AI',\n good: 'Bra',\n imageAutoGenerationTip: 'Den automatiska processen kommer att välja en hero-bild.',\n lengthTipDescription:\n 'Bör vara mellan {{minLength}} och {{maxLength}} tecken. För hjälp med att skriva bra metabeskrivningar, se ',\n lengthTipTitle:\n 'Bör vara mellan {{minLength}} och {{maxLength}} tecken. För hjälp med att skriva bra metatitlar, se ',\n missing: 'Saknas',\n noImage: 'Ingen bild',\n preview: 'Förhandsgranska',\n previewDescription:\n 'Exakta resultatlistningar kan variera baserat på innehåll och sökrelevans.',\n tooLong: 'För lång',\n tooShort: 'För kort',\n },\n}\n"],"names":["sv","$schema","almostThere","autoGenerate","bestPractices","characterCount","charactersLeftOver","charactersToGo","charactersTooMany","checksPassing","generateAi","good","imageAutoGenerationTip","lengthTipDescription","lengthTipTitle","missing","noImage","preview","previewDescription","tooLong","tooShort"],"mappings":"AAEA,OAAO,MAAMA,KAAgC;IAC3CC,SAAS;IACT,cAAc;QACZC,aAAa;QACbC,cAAc;QACdC,eAAe;QACfC,gBAAgB;QAChBC,oBAAoB;QACpBC,gBAAgB;QAChBC,mBAAmB;QACnBC,eAAe;QACfC,YAAY;QACZC,MAAM;QACNC,wBAAwB;QACxBC,sBACE;QACFC,gBACE;QACFC,SAAS;QACTC,SAAS;QACTC,SAAS;QACTC,oBACE;QACFC,SAAS;QACTC,UAAU;IACZ;AACF,EAAC"}
1
+ {"version":3,"sources":["../../src/translations/sv.ts"],"sourcesContent":["import type { GenericTranslationsObject } from '@payloadcms/translations'\r\n\r\nexport const sv: GenericTranslationsObject = {\r\n $schema: './translation-schema.json',\r\n 'plugin-seo': {\r\n almostThere: 'Nästan klar',\r\n autoGenerate: 'Skapa automatiskt',\r\n bestPractices: 'bästa praxis',\r\n characterCount: '{{current}}/{{minLength}}-{{maxLength}} tecken, ',\r\n charactersLeftOver: '{{characters}} tecken blir över',\r\n charactersToGo: '{{characters}} tecken kvar',\r\n charactersTooMany: '{{characters}} tecken för mycket',\r\n checksPassing: '{{current}}/{{max}} kontroller är godkända',\r\n generateAi: 'Skapa AI',\r\n good: 'Bra',\r\n imageAutoGenerationTip: 'Den automatiska processen kommer att välja en hero-bild.',\r\n lengthTipDescription:\r\n 'Bör vara mellan {{minLength}} och {{maxLength}} tecken. För hjälp med att skriva bra metabeskrivningar, se ',\r\n lengthTipTitle:\r\n 'Bör vara mellan {{minLength}} och {{maxLength}} tecken. För hjälp med att skriva bra metatitlar, se ',\r\n missing: 'Saknas',\r\n noImage: 'Ingen bild',\r\n preview: 'Förhandsgranska',\r\n previewDescription:\r\n 'Exakta resultatlistningar kan variera baserat på innehåll och sökrelevans.',\r\n tooLong: 'För lång',\r\n tooShort: 'För kort',\r\n },\r\n}\r\n"],"names":["sv","$schema","almostThere","autoGenerate","bestPractices","characterCount","charactersLeftOver","charactersToGo","charactersTooMany","checksPassing","generateAi","good","imageAutoGenerationTip","lengthTipDescription","lengthTipTitle","missing","noImage","preview","previewDescription","tooLong","tooShort"],"mappings":"AAEA,OAAO,MAAMA,KAAgC;IAC3CC,SAAS;IACT,cAAc;QACZC,aAAa;QACbC,cAAc;QACdC,eAAe;QACfC,gBAAgB;QAChBC,oBAAoB;QACpBC,gBAAgB;QAChBC,mBAAmB;QACnBC,eAAe;QACfC,YAAY;QACZC,MAAM;QACNC,wBAAwB;QACxBC,sBACE;QACFC,gBACE;QACFC,SAAS;QACTC,SAAS;QACTC,SAAS;QACTC,oBACE;QACFC,SAAS;QACTC,UAAU;IACZ;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/translations/tr.ts"],"sourcesContent":["import type { GenericTranslationsObject } from '@payloadcms/translations'\n\nexport const tr: GenericTranslationsObject = {\n $schema: './translation-schema.json',\n 'plugin-seo': {\n almostThere: 'Neredeyse tamam',\n autoGenerate: 'Otomatik oluştur',\n bestPractices: 'en iyi uygulamalar',\n characterCount: '{{current}}/{{minLength}}-{{maxLength}} karakter, ',\n charactersLeftOver: '{{characters}} karakter kaldı',\n charactersToGo: '{{characters}} karakter kaldı',\n charactersTooMany: '{{characters}} karakter fazla',\n checksPassing: '{{current}}/{{max}} kontrol başarılı',\n generateAi: 'AI oluştur',\n good: 'İyi',\n imageAutoGenerationTip: 'Otomatik oluşturma, seçilen ana görseli alacaktır.',\n lengthTipDescription:\n '{{minLength}} ile {{maxLength}} karakter arasında olmalıdır. Kaliteli meta açıklamaları yazmak için yardım almak için bkz. ',\n lengthTipTitle:\n '{{minLength}} ile {{maxLength}} karakter arasında olmalıdır. Kaliteli meta başlıkları yazmak için yardım almak için bkz. ',\n missing: 'Eksik',\n noImage: 'Görsel yok',\n preview: 'Önizleme',\n previewDescription: 'Kesin sonuç listeleri içeriğe ve arama alâkasına göre değişebilir.',\n tooLong: 'Çok uzun',\n tooShort: 'Çok kısa',\n },\n}\n"],"names":["tr","$schema","almostThere","autoGenerate","bestPractices","characterCount","charactersLeftOver","charactersToGo","charactersTooMany","checksPassing","generateAi","good","imageAutoGenerationTip","lengthTipDescription","lengthTipTitle","missing","noImage","preview","previewDescription","tooLong","tooShort"],"mappings":"AAEA,OAAO,MAAMA,KAAgC;IAC3CC,SAAS;IACT,cAAc;QACZC,aAAa;QACbC,cAAc;QACdC,eAAe;QACfC,gBAAgB;QAChBC,oBAAoB;QACpBC,gBAAgB;QAChBC,mBAAmB;QACnBC,eAAe;QACfC,YAAY;QACZC,MAAM;QACNC,wBAAwB;QACxBC,sBACE;QACFC,gBACE;QACFC,SAAS;QACTC,SAAS;QACTC,SAAS;QACTC,oBAAoB;QACpBC,SAAS;QACTC,UAAU;IACZ;AACF,EAAC"}
1
+ {"version":3,"sources":["../../src/translations/tr.ts"],"sourcesContent":["import type { GenericTranslationsObject } from '@payloadcms/translations'\r\n\r\nexport const tr: GenericTranslationsObject = {\r\n $schema: './translation-schema.json',\r\n 'plugin-seo': {\r\n almostThere: 'Neredeyse tamam',\r\n autoGenerate: 'Otomatik oluştur',\r\n bestPractices: 'en iyi uygulamalar',\r\n characterCount: '{{current}}/{{minLength}}-{{maxLength}} karakter, ',\r\n charactersLeftOver: '{{characters}} karakter kaldı',\r\n charactersToGo: '{{characters}} karakter kaldı',\r\n charactersTooMany: '{{characters}} karakter fazla',\r\n checksPassing: '{{current}}/{{max}} kontrol başarılı',\r\n generateAi: 'AI oluştur',\r\n good: 'İyi',\r\n imageAutoGenerationTip: 'Otomatik oluşturma, seçilen ana görseli alacaktır.',\r\n lengthTipDescription:\r\n '{{minLength}} ile {{maxLength}} karakter arasında olmalıdır. Kaliteli meta açıklamaları yazmak için yardım almak için bkz. ',\r\n lengthTipTitle:\r\n '{{minLength}} ile {{maxLength}} karakter arasında olmalıdır. Kaliteli meta başlıkları yazmak için yardım almak için bkz. ',\r\n missing: 'Eksik',\r\n noImage: 'Görsel yok',\r\n preview: 'Önizleme',\r\n previewDescription: 'Kesin sonuç listeleri içeriğe ve arama alâkasına göre değişebilir.',\r\n tooLong: 'Çok uzun',\r\n tooShort: 'Çok kısa',\r\n },\r\n}\r\n"],"names":["tr","$schema","almostThere","autoGenerate","bestPractices","characterCount","charactersLeftOver","charactersToGo","charactersTooMany","checksPassing","generateAi","good","imageAutoGenerationTip","lengthTipDescription","lengthTipTitle","missing","noImage","preview","previewDescription","tooLong","tooShort"],"mappings":"AAEA,OAAO,MAAMA,KAAgC;IAC3CC,SAAS;IACT,cAAc;QACZC,aAAa;QACbC,cAAc;QACdC,eAAe;QACfC,gBAAgB;QAChBC,oBAAoB;QACpBC,gBAAgB;QAChBC,mBAAmB;QACnBC,eAAe;QACfC,YAAY;QACZC,MAAM;QACNC,wBAAwB;QACxBC,sBACE;QACFC,gBACE;QACFC,SAAS;QACTC,SAAS;QACTC,SAAS;QACTC,oBAAoB;QACpBC,SAAS;QACTC,UAAU;IACZ;AACF,EAAC"}
@@ -1,96 +1,96 @@
1
- {
2
- "type": "object",
3
- "$schema": "http://json-schema.org/draft-04/schema#",
4
- "additionalProperties": false,
5
- "properties": {
6
- "$schema": {
7
- "type": "string"
8
- },
9
- "plugin-seo": {
10
- "type": "object",
11
- "additionalProperties": false,
12
- "properties": {
13
- "missing": {
14
- "type": "string"
15
- },
16
- "almostThere": {
17
- "type": "string"
18
- },
19
- "autoGenerate": {
20
- "type": "string"
21
- },
22
- "generateAi": {
23
- "type": "string"
24
- },
25
- "bestPractices": {
26
- "type": "string"
27
- },
28
- "characterCount": {
29
- "type": "string"
30
- },
31
- "charactersLeftOver": {
32
- "type": "string"
33
- },
34
- "charactersToGo": {
35
- "type": "string"
36
- },
37
- "charactersTooMany": {
38
- "type": "string"
39
- },
40
- "checksPassing": {
41
- "type": "string"
42
- },
43
- "good": {
44
- "type": "string"
45
- },
46
- "imageAutoGenerationTip": {
47
- "type": "string"
48
- },
49
- "lengthTipDescription": {
50
- "type": "string"
51
- },
52
- "lengthTipTitle": {
53
- "type": "string"
54
- },
55
- "noImage": {
56
- "type": "string"
57
- },
58
- "preview": {
59
- "type": "string"
60
- },
61
- "previewDescription": {
62
- "type": "string"
63
- },
64
- "tooLong": {
65
- "type": "string"
66
- },
67
- "tooShort": {
68
- "type": "string"
69
- }
70
- },
71
- "required": [
72
- "autoGenerate",
73
- "imageAutoGenerationTip",
74
- "bestPractices",
75
- "lengthTipTitle",
76
- "lengthTipDescription",
77
- "good",
78
- "tooLong",
79
- "tooShort",
80
- "almostThere",
81
- "characterCount",
82
- "charactersToGo",
83
- "charactersLeftOver",
84
- "charactersTooMany",
85
- "noImage",
86
- "checksPassing",
87
- "preview",
88
- "previewDescription",
89
- "missing"
90
- ]
91
- }
92
- },
93
- "required": [
94
- "plugin-seo"
95
- ]
96
- }
1
+ {
2
+ "type": "object",
3
+ "$schema": "http://json-schema.org/draft-04/schema#",
4
+ "additionalProperties": false,
5
+ "properties": {
6
+ "$schema": {
7
+ "type": "string"
8
+ },
9
+ "plugin-seo": {
10
+ "type": "object",
11
+ "additionalProperties": false,
12
+ "properties": {
13
+ "missing": {
14
+ "type": "string"
15
+ },
16
+ "almostThere": {
17
+ "type": "string"
18
+ },
19
+ "autoGenerate": {
20
+ "type": "string"
21
+ },
22
+ "generateAi": {
23
+ "type": "string"
24
+ },
25
+ "bestPractices": {
26
+ "type": "string"
27
+ },
28
+ "characterCount": {
29
+ "type": "string"
30
+ },
31
+ "charactersLeftOver": {
32
+ "type": "string"
33
+ },
34
+ "charactersToGo": {
35
+ "type": "string"
36
+ },
37
+ "charactersTooMany": {
38
+ "type": "string"
39
+ },
40
+ "checksPassing": {
41
+ "type": "string"
42
+ },
43
+ "good": {
44
+ "type": "string"
45
+ },
46
+ "imageAutoGenerationTip": {
47
+ "type": "string"
48
+ },
49
+ "lengthTipDescription": {
50
+ "type": "string"
51
+ },
52
+ "lengthTipTitle": {
53
+ "type": "string"
54
+ },
55
+ "noImage": {
56
+ "type": "string"
57
+ },
58
+ "preview": {
59
+ "type": "string"
60
+ },
61
+ "previewDescription": {
62
+ "type": "string"
63
+ },
64
+ "tooLong": {
65
+ "type": "string"
66
+ },
67
+ "tooShort": {
68
+ "type": "string"
69
+ }
70
+ },
71
+ "required": [
72
+ "autoGenerate",
73
+ "imageAutoGenerationTip",
74
+ "bestPractices",
75
+ "lengthTipTitle",
76
+ "lengthTipDescription",
77
+ "good",
78
+ "tooLong",
79
+ "tooShort",
80
+ "almostThere",
81
+ "characterCount",
82
+ "charactersToGo",
83
+ "charactersLeftOver",
84
+ "charactersTooMany",
85
+ "noImage",
86
+ "checksPassing",
87
+ "preview",
88
+ "previewDescription",
89
+ "missing"
90
+ ]
91
+ }
92
+ },
93
+ "required": [
94
+ "plugin-seo"
95
+ ]
96
+ }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/translations/uk.ts"],"sourcesContent":["import type { GenericTranslationsObject } from '@payloadcms/translations'\n\nexport const uk: GenericTranslationsObject = {\n $schema: './translation-schema.json',\n 'plugin-seo': {\n almostThere: 'Ще трошки',\n autoGenerate: 'Згенерувати',\n bestPractices: 'найкращі практики',\n characterCount: '{{current}}/{{minLength}}-{{maxLength}} символів, ',\n charactersLeftOver: 'залишилось {{characters}} символів',\n charactersToGo: ' на {{characters}} символів коротше',\n charactersTooMany: 'на {{characters}} символів довше',\n checksPassing: '{{current}}/{{max}} перевірок пройдено',\n generateAi: 'Згенерувати ШІ',\n good: 'Чудово',\n imageAutoGenerationTip: 'Автоматична генерація використає зображення з головного блоку',\n lengthTipDescription:\n 'Має бути від {{minLength}} до {{maxLength}} символів. Щоб дізнатися, як писати якісні метаописи — перегляньте ',\n lengthTipTitle:\n 'Має бути від {{minLength}} до {{maxLength}} символів. Щоб дізнатися, як писати якісні метазаголовки — перегляньте ',\n missing: 'Відсутнє',\n noImage: 'Немає зображення',\n preview: 'Попередній перегляд',\n previewDescription:\n 'Реальне відображення може відрізнятися в залежності від вмісту та релевантності пошуку.',\n tooLong: 'Задовгий',\n tooShort: 'Закороткий',\n },\n}\n"],"names":["uk","$schema","almostThere","autoGenerate","bestPractices","characterCount","charactersLeftOver","charactersToGo","charactersTooMany","checksPassing","generateAi","good","imageAutoGenerationTip","lengthTipDescription","lengthTipTitle","missing","noImage","preview","previewDescription","tooLong","tooShort"],"mappings":"AAEA,OAAO,MAAMA,KAAgC;IAC3CC,SAAS;IACT,cAAc;QACZC,aAAa;QACbC,cAAc;QACdC,eAAe;QACfC,gBAAgB;QAChBC,oBAAoB;QACpBC,gBAAgB;QAChBC,mBAAmB;QACnBC,eAAe;QACfC,YAAY;QACZC,MAAM;QACNC,wBAAwB;QACxBC,sBACE;QACFC,gBACE;QACFC,SAAS;QACTC,SAAS;QACTC,SAAS;QACTC,oBACE;QACFC,SAAS;QACTC,UAAU;IACZ;AACF,EAAC"}
1
+ {"version":3,"sources":["../../src/translations/uk.ts"],"sourcesContent":["import type { GenericTranslationsObject } from '@payloadcms/translations'\r\n\r\nexport const uk: GenericTranslationsObject = {\r\n $schema: './translation-schema.json',\r\n 'plugin-seo': {\r\n almostThere: 'Ще трошки',\r\n autoGenerate: 'Згенерувати',\r\n bestPractices: 'найкращі практики',\r\n characterCount: '{{current}}/{{minLength}}-{{maxLength}} символів, ',\r\n charactersLeftOver: 'залишилось {{characters}} символів',\r\n charactersToGo: ' на {{characters}} символів коротше',\r\n charactersTooMany: 'на {{characters}} символів довше',\r\n checksPassing: '{{current}}/{{max}} перевірок пройдено',\r\n generateAi: 'Згенерувати ШІ',\r\n good: 'Чудово',\r\n imageAutoGenerationTip: 'Автоматична генерація використає зображення з головного блоку',\r\n lengthTipDescription:\r\n 'Має бути від {{minLength}} до {{maxLength}} символів. Щоб дізнатися, як писати якісні метаописи — перегляньте ',\r\n lengthTipTitle:\r\n 'Має бути від {{minLength}} до {{maxLength}} символів. Щоб дізнатися, як писати якісні метазаголовки — перегляньте ',\r\n missing: 'Відсутнє',\r\n noImage: 'Немає зображення',\r\n preview: 'Попередній перегляд',\r\n previewDescription:\r\n 'Реальне відображення може відрізнятися в залежності від вмісту та релевантності пошуку.',\r\n tooLong: 'Задовгий',\r\n tooShort: 'Закороткий',\r\n },\r\n}\r\n"],"names":["uk","$schema","almostThere","autoGenerate","bestPractices","characterCount","charactersLeftOver","charactersToGo","charactersTooMany","checksPassing","generateAi","good","imageAutoGenerationTip","lengthTipDescription","lengthTipTitle","missing","noImage","preview","previewDescription","tooLong","tooShort"],"mappings":"AAEA,OAAO,MAAMA,KAAgC;IAC3CC,SAAS;IACT,cAAc;QACZC,aAAa;QACbC,cAAc;QACdC,eAAe;QACfC,gBAAgB;QAChBC,oBAAoB;QACpBC,gBAAgB;QAChBC,mBAAmB;QACnBC,eAAe;QACfC,YAAY;QACZC,MAAM;QACNC,wBAAwB;QACxBC,sBACE;QACFC,gBACE;QACFC,SAAS;QACTC,SAAS;QACTC,SAAS;QACTC,oBACE;QACFC,SAAS;QACTC,UAAU;IACZ;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/translations/vi.ts"],"sourcesContent":["import type { GenericTranslationsObject } from '@payloadcms/translations'\n\nexport const vi: GenericTranslationsObject = {\n $schema: './translation-schema.json',\n 'plugin-seo': {\n almostThere: 'Gần đạt',\n autoGenerate: 'Tự động tạo',\n bestPractices: 'các phương pháp hay nhất',\n characterCount: '{{current}}/{{minLength}}-{{maxLength}} kí tự, ',\n charactersLeftOver: 'còn lại {{characters}}',\n charactersToGo: 'Còn {{characters}} ký tự nữa',\n charactersTooMany: 'vượt quá {{characters}} ký tự',\n checksPassing: '{{current}}/{{max}} đã đạt',\n generateAi: 'Tạo AI',\n good: 'Tốt',\n imageAutoGenerationTip: 'Tính năng tự động tạo sẽ lấy ảnh đầu tiên được chọn.',\n lengthTipDescription:\n 'Độ dài nên từ {{minLength}}-{{maxLength}} kí tự. Để được hướng dẫn viết mô tả meta chất lượng, hãy xem ',\n lengthTipTitle:\n 'Độ dài nên từ {{minLength}}-{{maxLength}} kí tự. Để được hướng dẫn viết mô tả meta chất lượng, hãy xem ',\n missing: 'Không đạt',\n noImage: 'Chưa có ảnh',\n preview: 'Xem trước',\n previewDescription: 'Kết quả hiển thị có thể thay đổi tuỳ theo nội dung và công cụ tìm kiếm.',\n tooLong: 'Quá dài',\n tooShort: 'Quá ngắn',\n },\n}\n"],"names":["vi","$schema","almostThere","autoGenerate","bestPractices","characterCount","charactersLeftOver","charactersToGo","charactersTooMany","checksPassing","generateAi","good","imageAutoGenerationTip","lengthTipDescription","lengthTipTitle","missing","noImage","preview","previewDescription","tooLong","tooShort"],"mappings":"AAEA,OAAO,MAAMA,KAAgC;IAC3CC,SAAS;IACT,cAAc;QACZC,aAAa;QACbC,cAAc;QACdC,eAAe;QACfC,gBAAgB;QAChBC,oBAAoB;QACpBC,gBAAgB;QAChBC,mBAAmB;QACnBC,eAAe;QACfC,YAAY;QACZC,MAAM;QACNC,wBAAwB;QACxBC,sBACE;QACFC,gBACE;QACFC,SAAS;QACTC,SAAS;QACTC,SAAS;QACTC,oBAAoB;QACpBC,SAAS;QACTC,UAAU;IACZ;AACF,EAAC"}
1
+ {"version":3,"sources":["../../src/translations/vi.ts"],"sourcesContent":["import type { GenericTranslationsObject } from '@payloadcms/translations'\r\n\r\nexport const vi: GenericTranslationsObject = {\r\n $schema: './translation-schema.json',\r\n 'plugin-seo': {\r\n almostThere: 'Gần đạt',\r\n autoGenerate: 'Tự động tạo',\r\n bestPractices: 'các phương pháp hay nhất',\r\n characterCount: '{{current}}/{{minLength}}-{{maxLength}} kí tự, ',\r\n charactersLeftOver: 'còn lại {{characters}}',\r\n charactersToGo: 'Còn {{characters}} ký tự nữa',\r\n charactersTooMany: 'vượt quá {{characters}} ký tự',\r\n checksPassing: '{{current}}/{{max}} đã đạt',\r\n generateAi: 'Tạo AI',\r\n good: 'Tốt',\r\n imageAutoGenerationTip: 'Tính năng tự động tạo sẽ lấy ảnh đầu tiên được chọn.',\r\n lengthTipDescription:\r\n 'Độ dài nên từ {{minLength}}-{{maxLength}} kí tự. Để được hướng dẫn viết mô tả meta chất lượng, hãy xem ',\r\n lengthTipTitle:\r\n 'Độ dài nên từ {{minLength}}-{{maxLength}} kí tự. Để được hướng dẫn viết mô tả meta chất lượng, hãy xem ',\r\n missing: 'Không đạt',\r\n noImage: 'Chưa có ảnh',\r\n preview: 'Xem trước',\r\n previewDescription: 'Kết quả hiển thị có thể thay đổi tuỳ theo nội dung và công cụ tìm kiếm.',\r\n tooLong: 'Quá dài',\r\n tooShort: 'Quá ngắn',\r\n },\r\n}\r\n"],"names":["vi","$schema","almostThere","autoGenerate","bestPractices","characterCount","charactersLeftOver","charactersToGo","charactersTooMany","checksPassing","generateAi","good","imageAutoGenerationTip","lengthTipDescription","lengthTipTitle","missing","noImage","preview","previewDescription","tooLong","tooShort"],"mappings":"AAEA,OAAO,MAAMA,KAAgC;IAC3CC,SAAS;IACT,cAAc;QACZC,aAAa;QACbC,cAAc;QACdC,eAAe;QACfC,gBAAgB;QAChBC,oBAAoB;QACpBC,gBAAgB;QAChBC,mBAAmB;QACnBC,eAAe;QACfC,YAAY;QACZC,MAAM;QACNC,wBAAwB;QACxBC,sBACE;QACFC,gBACE;QACFC,SAAS;QACTC,SAAS;QACTC,SAAS;QACTC,oBAAoB;QACpBC,SAAS;QACTC,UAAU;IACZ;AACF,EAAC"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/types.ts"],"sourcesContent":["import type { DocumentInfoContext } from '@payloadcms/ui'\nimport type {\n CollectionConfig,\n CollectionSlug,\n Field,\n GlobalConfig,\n GlobalSlug,\n PayloadRequest,\n} from 'payload'\n\nexport type FieldsOverride = (args: { defaultFields: Field[] }) => Field[]\n\nexport type PartialDocumentInfoContext = Pick<\n DocumentInfoContext,\n | 'collectionSlug'\n | 'docPermissions'\n | 'globalSlug'\n | 'hasPublishPermission'\n | 'hasPublishedDoc'\n | 'hasSavePermission'\n | 'id'\n | 'initialData'\n | 'initialState'\n | 'preferencesKey'\n | 'title'\n | 'versionCount'\n>\n\nexport type GenerateTitle<T = any> = (\n args: {\n collectionConfig?: CollectionConfig\n doc: T\n globalConfig?: GlobalConfig\n locale?: string\n req: PayloadRequest\n } & PartialDocumentInfoContext,\n) => Promise<string> | string\n\nexport type GenerateDescription<T = any> = (\n args: {\n collectionConfig?: CollectionConfig\n doc: T\n globalConfig?: GlobalConfig\n locale?: string\n req: PayloadRequest\n } & PartialDocumentInfoContext,\n) => Promise<string> | string\n\nexport type GenerateImage<T = any> = (\n args: {\n collectionConfig?: CollectionConfig\n doc: T\n globalConfig?: GlobalConfig\n locale?: string\n req: PayloadRequest\n } & PartialDocumentInfoContext,\n) => Promise<string> | string\n\nexport type GenerateURL<T = any> = (\n args: {\n collectionConfig?: CollectionConfig\n doc: T\n globalConfig?: GlobalConfig\n locale?: string\n req: PayloadRequest\n } & PartialDocumentInfoContext,\n) => Promise<string> | string\n\nexport type SEOPluginConfig = {\n /**\n * Collections to include the SEO fields in\n */\n collections?: CollectionSlug[]\n /**\n * Override the default fields inserted by the SEO plugin via a function that receives the default fields and returns the new fields\n *\n * If you need more flexibility you can insert the fields manually as needed. @link https://payloadcms.com/docs/plugins/seo#direct-use-of-fields\n */\n fields?: FieldsOverride\n generateDescription?: GenerateDescription\n generateDescriptionAi?: GenerateDescription\n generateImage?: GenerateImage\n generateTitle?: GenerateTitle\n generateTitleAi?: GenerateTitle\n /**\n *\n */\n generateURL?: GenerateURL\n /**\n * Globals to include the SEO fields in\n */\n globals?: GlobalSlug[]\n interfaceName?: string\n /**\n * OpenAI API key for generating descriptions and titles\n * @link https://platform.openai.com/docs/guides/authentication\n */\n openaiApiKey?: string\n /**\n * Group fields into tabs, your content will be automatically put into a general tab and the SEO fields into an SEO tab\n *\n * If you need more flexibility you can insert the fields manually as needed. @link https://payloadcms.com/docs/plugins/seo#direct-use-of-fields\n */\n tabbedUI?: boolean\n\n /**\n * The slug of the collection used to handle image uploads\n */\n uploadsCollection?: CollectionSlug\n}\n\nexport type Meta = {\n description?: string\n image?: any // TODO: type this\n keywords?: string\n title?: string\n}\n"],"names":[],"mappings":"AA+GA,WAKC"}
1
+ {"version":3,"sources":["../src/types.ts"],"sourcesContent":["import type { DocumentInfoContext } from '@payloadcms/ui'\r\nimport type {\r\n CollectionConfig,\r\n CollectionSlug,\r\n Field,\r\n GlobalConfig,\r\n GlobalSlug,\r\n PayloadRequest,\r\n} from 'payload'\r\n\r\nexport type FieldsOverride = (args: { defaultFields: Field[] }) => Field[]\r\n\r\nexport type PartialDocumentInfoContext = Pick<\r\n DocumentInfoContext,\r\n | 'collectionSlug'\r\n | 'docPermissions'\r\n | 'globalSlug'\r\n | 'hasPublishPermission'\r\n | 'hasPublishedDoc'\r\n | 'hasSavePermission'\r\n | 'id'\r\n | 'initialData'\r\n | 'initialState'\r\n | 'preferencesKey'\r\n | 'title'\r\n | 'versionCount'\r\n>\r\n\r\nexport type GenerateTitle<T = any> = (\r\n args: {\r\n collectionConfig?: CollectionConfig\r\n doc: T\r\n globalConfig?: GlobalConfig\r\n locale?: string\r\n req: PayloadRequest\r\n } & PartialDocumentInfoContext,\r\n) => Promise<string> | string\r\n\r\nexport type GenerateDescription<T = any> = (\r\n args: {\r\n collectionConfig?: CollectionConfig\r\n doc: T\r\n globalConfig?: GlobalConfig\r\n locale?: string\r\n req: PayloadRequest\r\n } & PartialDocumentInfoContext,\r\n) => Promise<string> | string\r\n\r\nexport type GenerateImage<T = any> = (\r\n args: {\r\n collectionConfig?: CollectionConfig\r\n doc: T\r\n globalConfig?: GlobalConfig\r\n locale?: string\r\n req: PayloadRequest\r\n } & PartialDocumentInfoContext,\r\n) => Promise<string> | string\r\n\r\nexport type GenerateURL<T = any> = (\r\n args: {\r\n collectionConfig?: CollectionConfig\r\n doc: T\r\n globalConfig?: GlobalConfig\r\n locale?: string\r\n req: PayloadRequest\r\n } & PartialDocumentInfoContext,\r\n) => Promise<string> | string\r\n\r\nexport type SEOPluginConfig = {\r\n /**\r\n * Collections to include the SEO fields in\r\n */\r\n collections?: CollectionSlug[]\r\n /**\r\n * Override the default fields inserted by the SEO plugin via a function that receives the default fields and returns the new fields\r\n *\r\n * If you need more flexibility you can insert the fields manually as needed. @link https://payloadcms.com/docs/plugins/seo#direct-use-of-fields\r\n */\r\n fields?: FieldsOverride\r\n generateDescription?: GenerateDescription\r\n generateDescriptionAi?: GenerateDescription\r\n generateImage?: GenerateImage\r\n generateTitle?: GenerateTitle\r\n generateTitleAi?: GenerateTitle\r\n /**\r\n *\r\n */\r\n generateURL?: GenerateURL\r\n /**\r\n * Globals to include the SEO fields in\r\n */\r\n globals?: GlobalSlug[]\r\n interfaceName?: string\r\n /**\r\n * OpenAI API key for generating descriptions and titles\r\n * @link https://platform.openai.com/docs/guides/authentication\r\n */\r\n openaiApiKey?: string\r\n /**\r\n * Group fields into tabs, your content will be automatically put into a general tab and the SEO fields into an SEO tab\r\n *\r\n * If you need more flexibility you can insert the fields manually as needed. @link https://payloadcms.com/docs/plugins/seo#direct-use-of-fields\r\n */\r\n tabbedUI?: boolean\r\n\r\n /**\r\n * The slug of the collection used to handle image uploads\r\n */\r\n uploadsCollection?: CollectionSlug\r\n}\r\n\r\nexport type Meta = {\r\n description?: string\r\n image?: any // TODO: type this\r\n keywords?: string\r\n title?: string\r\n}\r\n"],"names":[],"mappings":"AA+GA,WAKC"}