fix(plugin-seo): removes duplicative json translations (#8206)

The SEO Plugin defines duplicative translations in both TS and JSON,
even though JSON translations are no longer in use. Translations were
still being maintained in JSON, despite this fact. This PR removes all
JSON files, replacing them with TS, and improving file organization and
overall types.
This commit is contained in:
Jacob Fletcher
2024-09-14 20:19:12 -04:00
committed by GitHub
parent ff1c1e0c59
commit 64f2395c58
18 changed files with 264 additions and 404 deletions

View File

@@ -1,22 +0,0 @@
{
"$schema": "./translation-schema.json",
"plugin-seo": {
"almostThere": "Almost there",
"autoGenerate": "Auto-generate",
"bestPractices": "best practices",
"characterCount": "{{current}}/{{minLength}}-{{maxLength}} chars, ",
"charactersLeftOver": "{{characters}} left over",
"charactersToGo": "{{characters}} to go",
"charactersTooMany": "{{characters}} too many",
"checksPassing": "{{current}}/{{max}} checks are passing",
"good": "Good",
"imageAutoGenerationTip": "Auto-generation will retrieve the selected hero image.",
"lengthTipDescription": "This should be between {{minLength}} and {{maxLength}} characters. For help in writing quality meta descriptions, see ",
"lengthTipTitle": "This should be between {{minLength}} and {{maxLength}} characters. For help in writing quality meta titles, see ",
"noImage": "No image",
"preview": "Preview",
"previewDescription": "Exact result listings may vary based on content and search relevancy.",
"tooLong": "Too long",
"tooShort": "Too short"
}
}

View File

@@ -0,0 +1,26 @@
import type { GenericTranslationsObject } from '@payloadcms/translations'
export const en: GenericTranslationsObject = {
$schema: './translation-schema.json',
'plugin-seo': {
almostThere: 'Almost there',
autoGenerate: 'Auto-generate',
bestPractices: 'best practices',
characterCount: '{{current}}/{{minLength}}-{{maxLength}} chars, ',
charactersLeftOver: '{{characters}} left over',
charactersToGo: '{{characters}} to go',
charactersTooMany: '{{characters}} too many',
checksPassing: '{{current}}/{{max}} checks are passing',
good: 'Good',
imageAutoGenerationTip: 'Auto-generation will retrieve the selected hero image.',
lengthTipDescription:
'This should be between {{minLength}} and {{maxLength}} characters. For help in writing quality meta descriptions, see ',
lengthTipTitle:
'This should be between {{minLength}} and {{maxLength}} characters. For help in writing quality meta titles, see ',
noImage: 'No image',
preview: 'Preview',
previewDescription: 'Exact result listings may vary based on content and search relevancy.',
tooLong: 'Too long',
tooShort: 'Too short',
},
}

View File

@@ -1,22 +0,0 @@
{
"$schema": "./translation-schema.json",
"plugin-seo": {
"almostThere": "Ya casi está",
"autoGenerate": "Autogénerar",
"bestPractices": "mejores prácticas",
"characterCount": "{{current}}/{{minLength}}-{{maxLength}} letras, ",
"charactersLeftOver": "{{characters}} letras sobrantes",
"charactersToGo": "{{characters}} letras sobrantes",
"charactersTooMany": "{{characters}} letras demasiados",
"checksPassing": "{{current}}/{{max}} las comprobaciones están pasando",
"good": "Bien",
"imageAutoGenerationTip": "La autogeneración recuperará la imagen de héroe seleccionada.",
"lengthTipDescription": "Esto debe estar entre {{minLength}} y {{maxLength}} caracteres. Para obtener ayuda sobre cómo escribir meta descripciones de calidad, consulte ",
"lengthTipTitle": "Debe tener entre {{minLength}} y {{maxLength}} caracteres. Para obtener ayuda sobre cómo escribir metatítulos de calidad, consulte ",
"noImage": "Sin imagen",
"preview": "Vista previa",
"previewDescription": "Las listas de resultados pueden variar segun la relevancia de buesqueda y el contenido.",
"tooLong": "Demasiado largo",
"tooShort": "Demasiado corto"
}
}

View File

@@ -0,0 +1,27 @@
import type { GenericTranslationsObject } from '@payloadcms/translations'
export const es: GenericTranslationsObject = {
$schema: './translation-schema.json',
'plugin-seo': {
almostThere: 'Ya casi está',
autoGenerate: 'Autogénerar',
bestPractices: 'mejores prácticas',
characterCount: '{{current}}/{{minLength}}-{{maxLength}} letras, ',
charactersLeftOver: '{{characters}} letras sobrantes',
charactersToGo: '{{characters}} letras sobrantes',
charactersTooMany: '{{characters}} letras demasiados',
checksPassing: '{{current}}/{{max}} las comprobaciones están pasando',
good: 'Bien',
imageAutoGenerationTip: 'La autogeneración recuperará la imagen de héroe seleccionada.',
lengthTipDescription:
'Esto debe estar entre {{minLength}} y {{maxLength}} caracteres. Para obtener ayuda sobre cómo escribir meta descripciones de calidad, consulte ',
lengthTipTitle:
'Debe tener entre {{minLength}} y {{maxLength}} caracteres. Para obtener ayuda sobre cómo escribir metatítulos de calidad, consulte ',
noImage: 'Sin imagen',
preview: 'Vista previa',
previewDescription:
'Las listas de resultados pueden variar segun la relevancia de buesqueda y el contenido.',
tooLong: 'Demasiado largo',
tooShort: 'Demasiado corto',
},
}

View File

@@ -1,22 +0,0 @@
{
"$schema": "./translation-schema.json",
"plugin-seo": {
"almostThere": "چیزیی باقی نمونده",
"autoGenerate": "تولید خودکار",
"bestPractices": "آموزش بیشتر",
"characterCount": "{{current}}/{{minLength}}-{{maxLength}} کلمه، ",
"charactersLeftOver": "{{characters}} باقی مانده",
"charactersToGo": "{{characters}} باقی مانده",
"charactersTooMany": "{{characters}} بیش از حد",
"checksPassing": "{{current}}/{{max}} بررسی‌ها با موفقیت انجام شده است",
"good": "خوب",
"imageAutoGenerationTip": "این قابلیت، تصویر فعلی بارگذاری شده در مجموعه محتوای شما را بازیابی می‌کند",
"lengthTipDescription": "این باید بین {{minLength}} و {{maxLength}} کلمه باشد. برای کمک در نوشتن توضیحات متا با کیفیت، مراجعه کنید به ",
"lengthTipTitle": "این باید بین {{minLength}} و {{maxLength}} کلمه باشد. برای کمک در نوشتن عناوین متا با کیفیت، مراجعه کنید به ",
"noImage": "بدون تصویر",
"preview": "پیش‌نمایش",
"previewDescription": "فهرست نتایج ممکن است بر اساس محتوا و متناسب با کلمه کلیدی جستجو شده باشند",
"tooLong": "خیلی طولانی",
"tooShort": "خیلی کوتاه"
}
}

View File

@@ -0,0 +1,27 @@
import type { GenericTranslationsObject } from '@payloadcms/translations'
export const fa: GenericTranslationsObject = {
$schema: './translation-schema.json',
'plugin-seo': {
almostThere: 'چیزیی باقی نمونده',
autoGenerate: 'تولید خودکار',
bestPractices: 'آموزش بیشتر',
characterCount: '{{current}}/{{minLength}}-{{maxLength}} کلمه، ',
charactersLeftOver: '{{characters}} باقی مانده',
charactersToGo: '{{characters}} باقی مانده',
charactersTooMany: '{{characters}} بیش از حد',
checksPassing: '{{current}}/{{max}} بررسی‌ها با موفقیت انجام شده است',
good: 'خوب',
imageAutoGenerationTip:
'این قابلیت، تصویر فعلی بارگذاری شده در مجموعه محتوای شما را بازیابی می‌کند',
lengthTipDescription:
'این باید بین {{minLength}} و {{maxLength}} کلمه باشد. برای کمک در نوشتن توضیحات متا با کیفیت، مراجعه کنید به ',
lengthTipTitle:
'این باید بین {{minLength}} و {{maxLength}} کلمه باشد. برای کمک در نوشتن عناوین متا با کیفیت، مراجعه کنید به ',
noImage: 'بدون تصویر',
preview: 'پیش‌نمایش',
previewDescription: 'فهرست نتایج ممکن است بر اساس محتوا و متناسب با کلمه کلیدی جستجو شده باشند',
tooLong: 'خیلی طولانی',
tooShort: 'خیلی کوتاه',
},
}

View File

@@ -1,22 +0,0 @@
{
"$schema": "./translation-schema.json",
"plugin-seo": {
"almostThere": "On y est presque",
"autoGenerate": "Auto-générer",
"bestPractices": "bonnes pratiques",
"characterCount": "{{current}}/{{minLength}}-{{maxLength}} caractères, ",
"charactersLeftOver": "{{characters}} restants",
"charactersToGo": "{{characters}} à ajouter",
"charactersTooMany": "{{characters}} en trop",
"checksPassing": "{{current}}/{{max}} vérifications réussies",
"good": "Bien",
"imageAutoGenerationTip": "L'auto-génération récupérera l'image principale sélectionnée.",
"lengthTipDescription": "Ceci devrait contenir entre {{minLength}} et {{maxLength}} caractères. Pour obtenir de l'aide pour rédiger des descriptions meta de qualité, consultez les ",
"lengthTipTitle": "Ceci devrait contenir entre {{minLength}} et {{maxLength}} caractères. Pour obtenir de l'aide pour rédiger des titres meta de qualité, consultez les ",
"noImage": "Pas d'image",
"preview": "Aperçu",
"previewDescription": "Les résultats exacts peuvent varier en fonction du contenu et de la pertinence de la recherche.",
"tooLong": "Trop long",
"tooShort": "Trop court"
}
}

View File

@@ -0,0 +1,27 @@
import type { GenericTranslationsObject } from '@payloadcms/translations'
export const fr: GenericTranslationsObject = {
$schema: './translation-schema.json',
'plugin-seo': {
almostThere: 'On y est presque',
autoGenerate: 'Auto-générer',
bestPractices: 'bonnes pratiques',
characterCount: '{{current}}/{{minLength}}-{{maxLength}} caractères, ',
charactersLeftOver: '{{characters}} restants',
charactersToGo: '{{characters}} à ajouter',
charactersTooMany: '{{characters}} en trop',
checksPassing: '{{current}}/{{max}} vérifications réussies',
good: 'Bien',
imageAutoGenerationTip: "L'auto-génération récupérera l'image principale sélectionnée.",
lengthTipDescription:
"Ceci devrait contenir entre {{minLength}} et {{maxLength}} caractères. Pour obtenir de l'aide pour rédiger des descriptions meta de qualité, consultez les ",
lengthTipTitle:
"Ceci devrait contenir entre {{minLength}} et {{maxLength}} caractères. Pour obtenir de l'aide pour rédiger des titres meta de qualité, consultez les ",
noImage: "Pas d'image",
preview: 'Aperçu',
previewDescription:
'Les résultats exacts peuvent varier en fonction du contenu et de la pertinence de la recherche.',
tooLong: 'Trop long',
tooShort: 'Trop court',
},
}

View File

@@ -1,234 +1,27 @@
import type { NestedKeysStripped } from '@payloadcms/translations'
import type { GenericTranslationsObject, NestedKeysStripped } from '@payloadcms/translations'
import { en } from './en.js'
import { es } from './es.js'
import { fa } from './fa.js'
import { fr } from './fr.js'
import { it } from './it.js'
import { nb } from './nb.js'
import { pl } from './pl.js'
import { ru } from './ru.js'
import { uk } from './uk.js'
export const translations = {
en: {
$schema: './translation-schema.json',
'plugin-seo': {
almostThere: 'Almost there',
autoGenerate: 'Auto-generate',
bestPractices: 'best practices',
characterCount: '{{current}}/{{minLength}}-{{maxLength}} chars, ',
charactersLeftOver: '{{characters}} left over',
charactersToGo: '{{characters}} to go',
charactersTooMany: '{{characters}} too many',
checksPassing: '{{current}}/{{max}} checks are passing',
good: 'Good',
imageAutoGenerationTip: 'Auto-generation will retrieve the selected hero image.',
lengthTipDescription:
'This should be between {{minLength}} and {{maxLength}} characters. For help in writing quality meta descriptions, see ',
lengthTipTitle:
'This should be between {{minLength}} and {{maxLength}} characters. For help in writing quality meta titles, see ',
noImage: 'No image',
preview: 'Preview',
previewDescription: 'Exact result listings may vary based on content and search relevancy.',
tooLong: 'Too long',
tooShort: 'Too short',
},
},
es: {
$schema: './translation-schema.json',
'plugin-seo': {
almostThere: 'Ya casi está',
autoGenerate: 'Autogénerar',
bestPractices: 'mejores prácticas',
characterCount: '{{current}}/{{minLength}}-{{maxLength}} letras, ',
charactersLeftOver: '{{characters}} letras sobrantes',
charactersToGo: '{{characters}} letras sobrantes',
charactersTooMany: '{{characters}} letras demasiados',
checksPassing: '{{current}}/{{max}} las comprobaciones están pasando',
good: 'Bien',
imageAutoGenerationTip: 'La autogeneración recuperará la imagen de héroe seleccionada.',
lengthTipDescription:
'Esto debe estar entre {{minLength}} y {{maxLength}} caracteres. Para obtener ayuda sobre cómo escribir meta descripciones de calidad, consulte ',
lengthTipTitle:
'Debe tener entre {{minLength}} y {{maxLength}} caracteres. Para obtener ayuda sobre cómo escribir metatítulos de calidad, consulte ',
noImage: 'Sin imagen',
preview: 'Vista previa',
previewDescription:
'Las listas de resultados pueden variar segun la relevancia de buesqueda y el contenido.',
tooLong: 'Demasiado largo',
tooShort: 'Demasiado corto',
},
},
fa: {
$schema: './translation-schema.json',
'plugin-seo': {
almostThere: 'چیزیی باقی نمونده',
autoGenerate: 'تولید خودکار',
bestPractices: 'آموزش بیشتر',
characterCount: '{{current}}/{{minLength}}-{{maxLength}} کلمه، ',
charactersLeftOver: '{{characters}} باقی مانده',
charactersToGo: '{{characters}} باقی مانده',
charactersTooMany: '{{characters}} بیش از حد',
checksPassing: '{{current}}/{{max}} بررسی‌ها با موفقیت انجام شده است',
good: 'خوب',
imageAutoGenerationTip:
'این قابلیت، تصویر فعلی بارگذاری شده در مجموعه محتوای شما را بازیابی می‌کند',
lengthTipDescription:
'این باید بین {{minLength}} و {{maxLength}} کلمه باشد. برای کمک در نوشتن توضیحات متا با کیفیت، مراجعه کنید به ',
lengthTipTitle:
'این باید بین {{minLength}} و {{maxLength}} کلمه باشد. برای کمک در نوشتن عناوین متا با کیفیت، مراجعه کنید به ',
noImage: 'بدون تصویر',
preview: 'پیش‌نمایش',
previewDescription:
'فهرست نتایج ممکن است بر اساس محتوا و متناسب با کلمه کلیدی جستجو شده باشند',
tooLong: 'خیلی طولانی',
tooShort: 'خیلی کوتاه',
},
},
fr: {
$schema: './translation-schema.json',
'plugin-seo': {
almostThere: 'On y est presque',
autoGenerate: 'Auto-générer',
bestPractices: 'bonnes pratiques',
characterCount: '{{current}}/{{minLength}}-{{maxLength}} caractères, ',
charactersLeftOver: '{{characters}} restants',
charactersToGo: '{{characters}} à ajouter',
charactersTooMany: '{{characters}} en trop',
checksPassing: '{{current}}/{{max}} vérifications réussies',
good: 'Bien',
imageAutoGenerationTip: "L'auto-génération récupérera l'image principale sélectionnée.",
lengthTipDescription:
"Ceci devrait contenir entre {{minLength}} et {{maxLength}} caractères. Pour obtenir de l'aide pour rédiger des descriptions meta de qualité, consultez les ",
lengthTipTitle:
"Ceci devrait contenir entre {{minLength}} et {{maxLength}} caractères. Pour obtenir de l'aide pour rédiger des titres meta de qualité, consultez les ",
noImage: "Pas d'image",
preview: 'Aperçu',
previewDescription:
'Les résultats exacts peuvent varier en fonction du contenu et de la pertinence de la recherche.',
tooLong: 'Trop long',
tooShort: 'Trop court',
},
},
it: {
$schema: './translation-schema.json',
'plugin-seo': {
almostThere: 'Ci siamo quasi',
autoGenerate: 'Generazione automatica',
bestPractices: 'migliori pratiche',
characterCount: '{{current}}/{{minLength}}-{{maxLength}} caratteri, ',
charactersLeftOver: '{{characters}} rimasti',
charactersToGo: '{{characters}} mancanti',
charactersTooMany: '{{characters}} in più',
checksPassing: '{{current}}/{{max}} controlli superati',
good: 'Bene',
imageAutoGenerationTip:
"La generazione automatica recupererà l'immagine selezionata per l'hero",
lengthTipDescription:
'Dovrebbe essere compreso tra {{minLength}} e {{maxLength}} caratteri. Per assistenza nella scrittura di meta descrizioni di qualità, vedere ',
lengthTipTitle:
'Dovrebbe essere compreso tra {{minLength}} e {{maxLength}} caratteri. Per assistenza nella scrittura di meta titoli di qualità, vedere ',
noImage: 'Nessuna Immagine',
preview: 'Anteprima',
previewDescription:
'I risultati esatti possono variare in base al contenuto e alla pertinenza della ricerca.',
tooLong: 'Troppo lungo',
tooShort: 'Troppo corto',
},
},
nb: {
$schema: './translation-schema.json',
'plugin-seo': {
almostThere: 'Nesten der',
autoGenerate: 'Auto-generer',
bestPractices: 'beste praksis',
characterCount: '{{current}}/{{minLength}}-{{maxLength}} tegn, ',
charactersLeftOver: '{{characters}} til overs',
charactersToGo: '{{characters}} igjen',
charactersTooMany: '{{characters}} for mange',
checksPassing: '{{current}}/{{max}} sjekker bestått',
good: 'Bra',
imageAutoGenerationTip: 'Auto-generering vil hente det valgte hero-bildet.',
lengthTipDescription:
'Dette bør være mellom {{minLength}} og {{maxLength}} tegn. For hjelp til å skrive beskrivelser av god kvalitet, se ',
lengthTipTitle:
'Dette bør være mellom {{minLength}} og {{maxLength}} tegn. For hjelp til å skrive metatitler av god kvalitet, se ',
noImage: 'Bilde mangler',
preview: 'Forhåndsvisning',
previewDescription:
'Eksakte resultatoppføringer kan variere basert på innhold og søke relevans.',
tooLong: 'For lang',
tooShort: 'For kort',
},
},
pl: {
$schema: './translation-schema.json',
'plugin-seo': {
almostThere: 'Prawie gotowe',
autoGenerate: 'Wygeneruj automatycznie',
bestPractices: 'najlepsze praktyki',
characterCount: '{{current}}/{{minLength}}-{{maxLength}} znaków, ',
charactersLeftOver: 'zostało {{characters}} znaków',
charactersToGo: 'pozostało {{characters}} znaków',
charactersTooMany: '{{characters}} znaków za dużo',
checksPassing: '{{current}}/{{max}} testów zakończonych pomyślnie',
good: 'Dobrze',
imageAutoGenerationTip: 'Automatyczne generowanie pobierze wybrany główny obraz.',
lengthTipDescription:
'Długość powinna wynosić od {{minLength}} do {{maxLength}} znaków. Po porady dotyczące pisania wysokiej jakości meta opisów zobacz ',
lengthTipTitle:
'Długość powinna wynosić od {{minLength}} do {{maxLength}} znaków. Po porady dotyczące pisania wysokiej jakości meta tytułów zobacz ',
noImage: 'Brak obrazu',
preview: 'Podgląd',
previewDescription:
'Dokładne wyniki listowania mogą się różnić w zależności od treści i zgodności z kryteriami wyszukiwania.',
tooLong: 'Zbyt długie',
tooShort: 'Zbyt krótkie',
},
},
ru: {
$schema: './translation-schema.json',
'plugin-seo': {
almostThere: 'Почти готово',
autoGenerate: 'Сгенерировать автоматически',
bestPractices: 'лучшие практики',
characterCount: '{{current}}/{{minLength}}-{{maxLength}} символов, ',
charactersLeftOver: 'осталось {{characters}} символов',
charactersToGo: 'на {{characters}} символов меньше',
charactersTooMany: 'на {{characters}} символов больше',
checksPassing: '{{current}}/{{max}} проверок пройдено',
good: 'Хорошо',
imageAutoGenerationTip: 'Автогенерация использует выбранное главное изображение.',
lengthTipDescription:
'Должно быть от {{minLength}} до {{maxLength}} символов. Для помощи в написании качественных метаописаний см.',
lengthTipTitle:
'Должно быть от {{minLength}} до {{maxLength}} символов. Для помощи в написании качественных метазаголовков см.',
noImage: 'Нет изображения',
preview: 'Предварительный просмотр',
previewDescription:
'Фактические результаты могут отличаться в зависимости от контента и релевантности поиска.',
tooLong: 'Слишком длинно',
tooShort: 'Слишком коротко',
},
},
uk: {
$schema: './translation-schema.json',
'plugin-seo': {
almostThere: 'Ще трошки',
autoGenerate: 'Згенерувати',
bestPractices: 'найкращі практики',
characterCount: '{{current}}/{{minLength}}-{{maxLength}} символів, ',
charactersLeftOver: 'залишилось {{characters}} символів',
charactersToGo: ' на {{characters}} символів коротше',
charactersTooMany: 'на {{characters}} символів довше',
checksPassing: '{{current}}/{{max}} перевірок пройдено',
good: 'Чудово',
imageAutoGenerationTip: 'Автоматична генерація використає зображення з головного блоку',
lengthTipDescription:
'Має бути від {{minLength}} до {{maxLength}} символів. Щоб дізнатися, як писати якісні метаописи — перегляньте ',
lengthTipTitle:
'Має бути від {{minLength}} до {{maxLength}} символів. Щоб дізнатися, як писати якісні метазаголовки — перегляньте ',
noImage: 'Немає зображення',
preview: 'Попередній перегляд',
previewDescription:
'Реальне відображення може відрізнятися в залежності від вмісту та релевантності пошуку.',
tooLong: 'Задовгий',
tooShort: 'Закороткий',
},
},
en,
es,
fa,
fr,
it,
nb,
pl,
ru,
uk,
}
export type PluginSEOTranslations = typeof translations.en
export type PluginSEOTranslations = GenericTranslationsObject
export type PluginSEOTranslationKeys = NestedKeysStripped<PluginSEOTranslations>

View File

@@ -1,22 +0,0 @@
{
"$schema": "./translation-schema.json",
"plugin-seo": {
"almostThere": "Ci siamo quasi",
"autoGenerate": "Generazione automatica",
"bestPractices": "migliori pratiche",
"characterCount": "{{current}}/{{minLength}}-{{maxLength}} caratteri, ",
"charactersLeftOver": "{{characters}} rimasti",
"charactersToGo": "{{characters}} mancanti",
"charactersTooMany": "{{characters}} in più",
"checksPassing": "{{current}}/{{max}} controlli superati",
"good": "Bene",
"imageAutoGenerationTip": "La generazione automatica recupererà l'immagine selezionata per l'hero.",
"lengthTipDescription": "Dovrebbe essere compreso tra {{minLength}} e {{maxLength}} caratteri. Per assistenza nella scrittura di meta descrizioni di qualità, vedere ",
"lengthTipTitle": "Dovrebbe essere compreso tra {{minLength}} e {{maxLength}} caratteri. Per assistenza nella scrittura di meta titoli di qualità, vedere ",
"noImage": "Nessuna Immagine",
"preview": "Anteprima",
"previewDescription": "I risultati esatti possono variare in base al contenuto e alla pertinenza della ricerca.",
"tooLong": "Troppo lungo",
"tooShort": "Troppo corto"
}
}

View File

@@ -0,0 +1,28 @@
import type { GenericTranslationsObject } from '@payloadcms/translations'
export const it: GenericTranslationsObject = {
$schema: './translation-schema.json',
'plugin-seo': {
almostThere: 'Ci siamo quasi',
autoGenerate: 'Generazione automatica',
bestPractices: 'migliori pratiche',
characterCount: '{{current}}/{{minLength}}-{{maxLength}} caratteri, ',
charactersLeftOver: '{{characters}} rimasti',
charactersToGo: '{{characters}} mancanti',
charactersTooMany: '{{characters}} in più',
checksPassing: '{{current}}/{{max}} controlli superati',
good: 'Bene',
imageAutoGenerationTip:
"La generazione automatica recupererà l'immagine selezionata per l'hero",
lengthTipDescription:
'Dovrebbe essere compreso tra {{minLength}} e {{maxLength}} caratteri. Per assistenza nella scrittura di meta descrizioni di qualità, vedere ',
lengthTipTitle:
'Dovrebbe essere compreso tra {{minLength}} e {{maxLength}} caratteri. Per assistenza nella scrittura di meta titoli di qualità, vedere ',
noImage: 'Nessuna Immagine',
preview: 'Anteprima',
previewDescription:
'I risultati esatti possono variare in base al contenuto e alla pertinenza della ricerca.',
tooLong: 'Troppo lungo',
tooShort: 'Troppo corto',
},
}

View File

@@ -0,0 +1,27 @@
import type { GenericTranslationsObject } from '@payloadcms/translations'
export const nb: GenericTranslationsObject = {
$schema: './translation-schema.json',
'plugin-seo': {
almostThere: 'Nesten der',
autoGenerate: 'Auto-generer',
bestPractices: 'beste praksis',
characterCount: '{{current}}/{{minLength}}-{{maxLength}} tegn, ',
charactersLeftOver: '{{characters}} til overs',
charactersToGo: '{{characters}} igjen',
charactersTooMany: '{{characters}} for mange',
checksPassing: '{{current}}/{{max}} sjekker bestått',
good: 'Bra',
imageAutoGenerationTip: 'Auto-generering vil hente det valgte hero-bildet.',
lengthTipDescription:
'Dette bør være mellom {{minLength}} og {{maxLength}} tegn. For hjelp til å skrive beskrivelser av god kvalitet, se ',
lengthTipTitle:
'Dette bør være mellom {{minLength}} og {{maxLength}} tegn. For hjelp til å skrive metatitler av god kvalitet, se ',
noImage: 'Bilde mangler',
preview: 'Forhåndsvisning',
previewDescription:
'Eksakte resultatoppføringer kan variere basert på innhold og søke relevans.',
tooLong: 'For lang',
tooShort: 'For kort',
},
}

View File

@@ -1,22 +0,0 @@
{
"$schema": "./translation-schema.json",
"plugin-seo": {
"almostThere": "Prawie gotowe",
"autoGenerate": "Wygeneruj automatycznie",
"bestPractices": "najlepsze praktyki",
"characterCount": "{{current}}/{{minLength}}-{{maxLength}} znaków, ",
"charactersLeftOver": "zostało {{characters}} znaków",
"charactersToGo": "pozostało {{characters}} znaków",
"charactersTooMany": "{{characters}} znaków za dużo",
"checksPassing": "{{current}}/{{max}} testów zakończonych pomyślnie",
"good": "Dobrze",
"imageAutoGenerationTip": "Automatyczne generowanie pobierze wybrany główny obraz.",
"lengthTipDescription": "Długość powinna wynosić od {{minLength}} do {{maxLength}} znaków. Po porady dotyczące pisania wysokiej jakości meta opisów zobacz ",
"lengthTipTitle": "Długość powinna wynosić od {{minLength}} do {{maxLength}} znaków. Po porady dotyczące pisania wysokiej jakości meta tytułów zobacz ",
"noImage": "Brak obrazu",
"preview": "Podgląd",
"previewDescription": "Dokładne wyniki listowania mogą się różnić w zależności od treści i zgodności z kryteriami wyszukiwania.",
"tooLong": "Zbyt długie",
"tooShort": "Zbyt krótkie"
}
}

View File

@@ -0,0 +1,27 @@
import type { GenericTranslationsObject } from '@payloadcms/translations'
export const pl: GenericTranslationsObject = {
$schema: './translation-schema.json',
'plugin-seo': {
almostThere: 'Prawie gotowe',
autoGenerate: 'Wygeneruj automatycznie',
bestPractices: 'najlepsze praktyki',
characterCount: '{{current}}/{{minLength}}-{{maxLength}} znaków, ',
charactersLeftOver: 'zostało {{characters}} znaków',
charactersToGo: 'pozostało {{characters}} znaków',
charactersTooMany: '{{characters}} znaków za dużo',
checksPassing: '{{current}}/{{max}} testów zakończonych pomyślnie',
good: 'Dobrze',
imageAutoGenerationTip: 'Automatyczne generowanie pobierze wybrany główny obraz.',
lengthTipDescription:
'Długość powinna wynosić od {{minLength}} do {{maxLength}} znaków. Po porady dotyczące pisania wysokiej jakości meta opisów zobacz ',
lengthTipTitle:
'Długość powinna wynosić od {{minLength}} do {{maxLength}} znaków. Po porady dotyczące pisania wysokiej jakości meta tytułów zobacz ',
noImage: 'Brak obrazu',
preview: 'Podgląd',
previewDescription:
'Dokładne wyniki listowania mogą się różnić w zależności od treści i zgodności z kryteriami wyszukiwania.',
tooLong: 'Zbyt długie',
tooShort: 'Zbyt krótkie',
},
}

View File

@@ -1,22 +0,0 @@
{
"$schema": "./translation-schema.json",
"plugin-seo": {
"almostThere": "Почти готово",
"autoGenerate": "Сгенерировать автоматически",
"bestPractices": "лучшие практики",
"characterCount": "{{current}}/{{minLength}}-{{maxLength}} символов, ",
"charactersLeftOver": "осталось {{characters}} символов",
"charactersToGo": "на {{characters}} символов меньше",
"charactersTooMany": "на {{characters}} символов больше",
"checksPassing": "{{current}}/{{max}} проверок пройдено",
"good": "Хорошо",
"imageAutoGenerationTip": "Автогенерация использует выбранное главное изображение.",
"lengthTipDescription": "Должно быть от {{minLength}} до {{maxLength}} символов. Для помощи в написании качественных метаописаний см.",
"lengthTipTitle": "Должно быть от {{minLength}} до {{maxLength}} символов. Для помощи в написании качественных метазаголовков см.",
"noImage": "Нет изображения",
"preview": "Предварительный просмотр",
"previewDescription": "Фактические результаты могут отличаться в зависимости от контента и релевантности поиска.",
"tooLong": "Слишком длинно",
"tooShort": "Слишком коротко"
}
}

View File

@@ -0,0 +1,27 @@
import type { GenericTranslationsObject } from '@payloadcms/translations'
export const ru: GenericTranslationsObject = {
$schema: './translation-schema.json',
'plugin-seo': {
almostThere: 'Почти готово',
autoGenerate: 'Сгенерировать автоматически',
bestPractices: 'лучшие практики',
characterCount: '{{current}}/{{minLength}}-{{maxLength}} символов, ',
charactersLeftOver: 'осталось {{characters}} символов',
charactersToGo: 'на {{characters}} символов меньше',
charactersTooMany: 'на {{characters}} символов больше',
checksPassing: '{{current}}/{{max}} проверок пройдено',
good: 'Хорошо',
imageAutoGenerationTip: 'Автогенерация использует выбранное главное изображение.',
lengthTipDescription:
'Должно быть от {{minLength}} до {{maxLength}} символов. Для помощи в написании качественных метаописаний см.',
lengthTipTitle:
'Должно быть от {{minLength}} до {{maxLength}} символов. Для помощи в написании качественных метазаголовков см.',
noImage: 'Нет изображения',
preview: 'Предварительный просмотр',
previewDescription:
'Фактические результаты могут отличаться в зависимости от контента и релевантности поиска.',
tooLong: 'Слишком длинно',
tooShort: 'Слишком коротко',
},
}

View File

@@ -1,22 +0,0 @@
{
"$schema": "./translation-schema.json",
"plugin-seo": {
"almostThere": "Ще трошки",
"autoGenerate": "Згенерувати",
"bestPractices": "найкращі практики",
"characterCount": "{{current}}/{{minLength}}-{{maxLength}} символів, ",
"charactersLeftOver": "залишилось {{characters}} символів",
"charactersToGo": " на {{characters}} символів коротше",
"charactersTooMany": "на {{characters}} символів довше",
"checksPassing": "{{current}}/{{max}} перевірок пройдено",
"good": "Чудово",
"imageAutoGenerationTip": "Автоматична генерація використає зображення з головного блоку",
"lengthTipDescription": "Має бути від {{minLength}} до {{maxLength}} символів. Щоб дізнатися, як писати якісні метаописи — перегляньте ",
"lengthTipTitle": "Має бути від {{minLength}} до {{maxLength}} символів. Щоб дізнатися, як писати якісні метазаголовки — перегляньте ",
"noImage": "Немає зображення",
"preview": "Попередній перегляд",
"previewDescription": "Реальне відображення може відрізнятися в залежності від вмісту та релевантності пошуку.",
"tooLong": "Задовгий",
"tooShort": "Закороткий"
}
}

View File

@@ -0,0 +1,27 @@
import type { GenericTranslationsObject } from '@payloadcms/translations'
export const uk: GenericTranslationsObject = {
$schema: './translation-schema.json',
'plugin-seo': {
almostThere: 'Ще трошки',
autoGenerate: 'Згенерувати',
bestPractices: 'найкращі практики',
characterCount: '{{current}}/{{minLength}}-{{maxLength}} символів, ',
charactersLeftOver: 'залишилось {{characters}} символів',
charactersToGo: ' на {{characters}} символів коротше',
charactersTooMany: 'на {{characters}} символів довше',
checksPassing: '{{current}}/{{max}} перевірок пройдено',
good: 'Чудово',
imageAutoGenerationTip: 'Автоматична генерація використає зображення з головного блоку',
lengthTipDescription:
'Має бути від {{minLength}} до {{maxLength}} символів. Щоб дізнатися, як писати якісні метаописи — перегляньте ',
lengthTipTitle:
'Має бути від {{minLength}} до {{maxLength}} символів. Щоб дізнатися, як писати якісні метазаголовки — перегляньте ',
noImage: 'Немає зображення',
preview: 'Попередній перегляд',
previewDescription:
'Реальне відображення може відрізнятися в залежності від вмісту та релевантності пошуку.',
tooLong: 'Задовгий',
tooShort: 'Закороткий',
},
}