@jjlmoya/utils-social 1.14.0 → 1.16.0

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 (83) hide show
  1. package/package.json +4 -2
  2. package/src/category/i18n/fr.ts +2 -2
  3. package/src/category/i18n/ru.ts +1 -1
  4. package/src/category/index.ts +1 -1
  5. package/src/env.d.ts +5 -0
  6. package/src/layouts/PreviewLayout.astro +7 -2
  7. package/src/tests/diacritics_density.test.ts +118 -0
  8. package/src/tests/inverted_punctuation.test.ts +84 -0
  9. package/src/tests/no_en_dash.test.ts +70 -0
  10. package/src/tests/pagespeed_best_practices.test.ts +198 -0
  11. package/src/tests/script_density.test.ts +94 -0
  12. package/src/tool/redditFormatter/i18n/fr.ts +2 -2
  13. package/src/tool/redditFormatter/i18n/pl.ts +4 -4
  14. package/src/tool/redditFormatter/i18n/ru.ts +2 -2
  15. package/src/tool/redditFormatter/i18n/zh.ts +1 -1
  16. package/src/tool/safeZones/component.astro +1 -1
  17. package/src/tool/safeZones/i18n/de.ts +2 -2
  18. package/src/tool/safeZones/i18n/en.ts +2 -2
  19. package/src/tool/safeZones/i18n/fr.ts +11 -11
  20. package/src/tool/safeZones/i18n/id.ts +2 -2
  21. package/src/tool/safeZones/i18n/it.ts +6 -6
  22. package/src/tool/safeZones/i18n/nl.ts +2 -2
  23. package/src/tool/safeZones/i18n/pl.ts +7 -7
  24. package/src/tool/safeZones/i18n/pt.ts +2 -2
  25. package/src/tool/safeZones/i18n/ru.ts +9 -9
  26. package/src/tool/safeZones/i18n/sv.ts +2 -2
  27. package/src/tool/safeZones/i18n/zh.ts +4 -4
  28. package/src/tool/socialImageResizer/component.astro +2 -2
  29. package/src/tool/socialImageResizer/i18n/de.ts +5 -5
  30. package/src/tool/socialImageResizer/i18n/en.ts +8 -8
  31. package/src/tool/socialImageResizer/i18n/es.ts +7 -7
  32. package/src/tool/socialImageResizer/i18n/fr.ts +11 -11
  33. package/src/tool/socialImageResizer/i18n/id.ts +8 -8
  34. package/src/tool/socialImageResizer/i18n/it.ts +16 -16
  35. package/src/tool/socialImageResizer/i18n/ja.ts +7 -7
  36. package/src/tool/socialImageResizer/i18n/ko.ts +7 -7
  37. package/src/tool/socialImageResizer/i18n/nl.ts +8 -8
  38. package/src/tool/socialImageResizer/i18n/pl.ts +9 -9
  39. package/src/tool/socialImageResizer/i18n/pt.ts +8 -8
  40. package/src/tool/socialImageResizer/i18n/ru.ts +14 -14
  41. package/src/tool/socialImageResizer/i18n/sv.ts +8 -8
  42. package/src/tool/socialImageResizer/i18n/tr.ts +7 -7
  43. package/src/tool/socialImageResizer/i18n/zh.ts +7 -7
  44. package/src/tool/socialValueCalculator/component.astro +1 -2
  45. package/src/tool/socialValueCalculator/i18n/de.ts +2 -2
  46. package/src/tool/socialValueCalculator/i18n/en.ts +1 -1
  47. package/src/tool/socialValueCalculator/i18n/es.ts +2 -2
  48. package/src/tool/socialValueCalculator/i18n/fr.ts +6 -6
  49. package/src/tool/socialValueCalculator/i18n/id.ts +1 -1
  50. package/src/tool/socialValueCalculator/i18n/it.ts +14 -14
  51. package/src/tool/socialValueCalculator/i18n/ja.ts +1 -1
  52. package/src/tool/socialValueCalculator/i18n/ko.ts +1 -1
  53. package/src/tool/socialValueCalculator/i18n/nl.ts +1 -1
  54. package/src/tool/socialValueCalculator/i18n/pl.ts +1 -1
  55. package/src/tool/socialValueCalculator/i18n/pt.ts +1 -1
  56. package/src/tool/socialValueCalculator/i18n/ru.ts +7 -7
  57. package/src/tool/socialValueCalculator/i18n/sv.ts +1 -1
  58. package/src/tool/socialValueCalculator/i18n/tr.ts +1 -1
  59. package/src/tool/socialValueCalculator/i18n/zh.ts +4 -4
  60. package/src/tool/tinderPhotoOptimizer/component.astro +23 -6
  61. package/src/tool/tinderPhotoOptimizer/i18n/de.ts +3 -3
  62. package/src/tool/tinderPhotoOptimizer/i18n/en.ts +1 -1
  63. package/src/tool/tinderPhotoOptimizer/i18n/es.ts +3 -3
  64. package/src/tool/tinderPhotoOptimizer/i18n/fr.ts +25 -25
  65. package/src/tool/tinderPhotoOptimizer/i18n/ru.ts +9 -9
  66. package/src/tool/tinderPhotoOptimizer/i18n/zh.ts +2 -2
  67. package/src/tool/youtubeThumbnail/bibliography.ts +1 -1
  68. package/src/tool/youtubeThumbnail/component.astro +1 -0
  69. package/src/tool/youtubeThumbnail/i18n/de.ts +3 -3
  70. package/src/tool/youtubeThumbnail/i18n/en.ts +1 -1
  71. package/src/tool/youtubeThumbnail/i18n/fr.ts +3 -3
  72. package/src/tool/youtubeThumbnail/i18n/ru.ts +3 -3
  73. package/src/tool/youtubeThumbnail/i18n/zh.ts +2 -2
  74. package/src/tool/youtubeThumbnailPreviewer/i18n/de.ts +8 -8
  75. package/src/tool/youtubeThumbnailPreviewer/i18n/en.ts +2 -2
  76. package/src/tool/youtubeThumbnailPreviewer/i18n/fr.ts +9 -9
  77. package/src/tool/youtubeThumbnailPreviewer/i18n/id.ts +2 -2
  78. package/src/tool/youtubeThumbnailPreviewer/i18n/it.ts +21 -21
  79. package/src/tool/youtubeThumbnailPreviewer/i18n/nl.ts +4 -4
  80. package/src/tool/youtubeThumbnailPreviewer/i18n/pl.ts +7 -7
  81. package/src/tool/youtubeThumbnailPreviewer/i18n/ru.ts +11 -11
  82. package/src/tool/youtubeThumbnailPreviewer/i18n/sv.ts +2 -2
  83. package/src/tool/youtubeThumbnailPreviewer/i18n/zh.ts +10 -10
@@ -22,12 +22,12 @@ const faqData = [
22
22
  {
23
23
  question: 'Загружаются ли мои дизайны на ваш сервер?',
24
24
  answer:
25
- 'Абсолютно нет. Конфиденциальность — наш главный приоритет. Когда вы выбираете файл, он загружается локально в память вашего браузера через временный URL-адрес. Никто, кроме вас, не может видеть дизайн, который вы тестируете.',
25
+ 'Абсолютно нет. Конфиденциальность - наш главный приоритет. Когда вы выбираете файл, он загружается локально в память вашего браузера через временный URL-адрес. Никто, кроме вас, не может видеть дизайн, который вы тестируете.',
26
26
  },
27
27
  {
28
28
  question: 'Как этот инструмент помогает улучшить CTR?',
29
29
  answer:
30
- 'CTR (Click-Through Rate) — это процент людей, которые кликают по значку при просмотре. Симулируя реальную среду (темный vs светлый фон, мобильный vs ПК), вы можете исправить ошибки в контрасте и композиции перед публикацией, тем самым увеличивая количество кликов.',
30
+ 'CTR (Click-Through Rate) - это процент людей, которые кликают по значку при просмотре. Симулируя реальную среду (темный vs светлый фон, мобильный vs ПК), вы можете исправить ошибки в контрасте и композиции перед публикацией, тем самым увеличивая количество кликов.',
31
31
  },
32
32
  {
33
33
  question: 'Работает ли это с официальной темной темой YouTube?',
@@ -47,7 +47,7 @@ const howToData = [
47
47
  },
48
48
  {
49
49
  name: 'Смените устройство',
50
- text: 'Переключайтесь между режимами «ПК» и «Мобильный», чтобы проверить читаемость на экранах разных размеров.',
50
+ text: 'Переключайтесь между режимами \"ПК\" и \"Мобильный\", чтобы проверить читаемость на экранах разных размеров.',
51
51
  },
52
52
  {
53
53
  name: 'Проверьте контраст',
@@ -105,7 +105,7 @@ export const content: ToolLocaleContent<YoutubeThumbnailPreviewerUI> = {
105
105
  },
106
106
  {
107
107
  type: 'paragraph',
108
- html: 'В экосистеме YouTube значок (или миниатюра) — это входная дверь в ваш контент. У вас может быть лучшее видео в мире с голливудским монтажом и сценарием, достойным Оскара, но если на него никто не нажмет, ваша работа останется невидимой для алгоритма. Именно здесь вступает в игру <strong>CTR (показатель кликабельности)</strong>, и значок является решающим фактором.',
108
+ html: 'В экосистеме YouTube значок (или миниатюра) - это входная дверь в ваш контент. У вас может быть лучшее видео в мире с голливудским монтажом и сценарием, достойным Оскара, но если на него никто не нажмет, ваша работа останется невидимой для алгоритма. Именно здесь вступает в игру <strong>CTR (показатель кликабельности)</strong>, и значок является решающим фактором.',
109
109
  },
110
110
  {
111
111
  type: 'title',
@@ -125,7 +125,7 @@ export const content: ToolLocaleContent<YoutubeThumbnailPreviewerUI> = {
125
125
  },
126
126
  {
127
127
  type: 'paragraph',
128
- html: 'Многие авторы совершают ошибку, проектируя значки на больших мониторах и просматривая их в полноэкранном режиме в своих любимых редакторах. Проблема в том, что конечный пользователь редко видит их такими. Большинство потребляет контент на мобильном устройстве во время бесконечной прокрутки или в углу монитора в темном режиме. Наш <strong>Инструмент предпросмотра значков YouTube</strong> позволяет разрушить «иллюзию дизайнера» и увидеть суровую реальность ленты.',
128
+ html: 'Многие авторы совершают ошибку, проектируя значки на больших мониторах и просматривая их в полноэкранном режиме в своих любимых редакторах. Проблема в том, что конечный пользователь редко видит их такими. Большинство потребляет контент на мобильном устройстве во время бесконечной прокрутки или в углу монитора в темном режиме. Наш <strong>Инструмент предпросмотра значков YouTube</strong> позволяет разрушить \"иллюзию дизайнера\" и увидеть суровую реальность ленты.',
129
129
  },
130
130
  {
131
131
  type: 'title',
@@ -148,11 +148,11 @@ export const content: ToolLocaleContent<YoutubeThumbnailPreviewerUI> = {
148
148
  },
149
149
  {
150
150
  type: 'paragraph',
151
- html: 'Человеческий мозг обрабатывает изображения в тысячи раз быстрее, чем текст. Однако на YouTube конкуренция жесточайшая. Ваш значок должен быть не просто «красивым» — он должен быть <strong>читаемым</strong> и иметь <strong>контраст</strong>.',
151
+ html: 'Человеческий мозг обрабатывает изображения в тысячи раз быстрее, чем текст. Однако на YouTube конкуренция жесточайшая. Ваш значок должен быть не просто \"красивым\" - он должен быть <strong>читаемым</strong> и иметь <strong>контраст</strong>.',
152
152
  },
153
153
  {
154
154
  type: 'paragraph',
155
- html: 'Распространенная ошибка — использование цветов, которые сливаются с фоном YouTube. Если вы используете темно-серые тона, а ваш зритель находится в темном режиме, ваше видео просто исчезнет из его периферийного зрения. Используя этот тестер, вы можете переключаться между темами и убедиться, что ваш дизайн «выстреливает» (выделяется) в любом сценарии.',
155
+ html: 'Распространенная ошибка - использование цветов, которые сливаются с фоном YouTube. Если вы используете темно-серые тона, а ваш зритель находится в темном режиме, ваше видео просто исчезнет из его периферийного зрения. Используя этот тестер, вы можете переключаться между темами и убедиться, что ваш дизайн \"выстреливает\" (выделяется) в любом сценарии.',
156
156
  },
157
157
  {
158
158
  type: 'title',
@@ -161,7 +161,7 @@ export const content: ToolLocaleContent<YoutubeThumbnailPreviewerUI> = {
161
161
  },
162
162
  {
163
163
  type: 'paragraph',
164
- html: 'Стоит ли тратить 30 секунд на тестирование значка? Ответ — решительное ДА. Оптимизированный значок может удвоить количество просмотров в первые 24 часа, давая искусственному интеллекту YouTube сигнал о том, что у вашего контента есть «зацепка».',
164
+ html: 'Стоит ли тратить 30 секунд на тестирование значка? Ответ - решительное ДА. Оптимизированный значок может удвоить количество просмотров в первые 24 часа, давая искусственному интеллекту YouTube сигнал о том, что у вашего контента есть \"зацепка\".',
165
165
  },
166
166
  {
167
167
  type: 'grid',
@@ -218,7 +218,7 @@ export const content: ToolLocaleContent<YoutubeThumbnailPreviewerUI> = {
218
218
  },
219
219
  {
220
220
  title: 'Размытый фон',
221
- body: 'Разделение планов · Добавляет глубину, чтобы основной объект «выпрыгивал» из экрана.',
221
+ body: 'Разделение планов · Добавляет глубину, чтобы основной объект \"выпрыгивал\" из экрана.',
222
222
  },
223
223
  {
224
224
  title: 'Место для индикатора времени',
@@ -228,7 +228,7 @@ export const content: ToolLocaleContent<YoutubeThumbnailPreviewerUI> = {
228
228
  },
229
229
  {
230
230
  type: 'tip',
231
- title: 'Трюк с «мертвой зоной»',
231
+ title: 'Трюк с \"мертвой зоной\"',
232
232
  html: '<p>YouTube всегда размещает черный прямоугольник с длительностью видео в правом нижнем углу значка. Тысячи авторов ставят важные элементы в эту зону, только чтобы обнаружить, что приложение их перекрывает. Наш инструмент имитирует этот прямоугольник, чтобы вы никогда не закрывали свой лучший кадр.</p>',
233
233
  },
234
234
  {
@@ -278,7 +278,7 @@ export const content: ToolLocaleContent<YoutubeThumbnailPreviewerUI> = {
278
278
  },
279
279
  {
280
280
  type: 'paragraph',
281
- html: 'Перестаньте гадать и начните проверять. <strong>Инструмент предпросмотра значков YouTube</strong> от JJLMoya — это бесплатное решение, которое отличает авторов-любителей от профессионалов контента. Небольшая корректировка размера шрифта или положения объекта может стать решающим фактором между незамеченным видео и виральным успехом.',
281
+ html: 'Перестаньте гадать и начните проверять. <strong>Инструмент предпросмотра значков YouTube</strong> от JJLMoya - это бесплатное решение, которое отличает авторов-любителей от профессионалов контента. Небольшая корректировка размера шрифта или положения объекта может стать решающим фактором между незамеченным видео и виральным успехом.',
282
282
  },
283
283
  {
284
284
  type: 'paragraph',
@@ -105,7 +105,7 @@ export const content: ToolLocaleContent<YoutubeThumbnailPreviewerUI> = {
105
105
  },
106
106
  {
107
107
  type: 'paragraph',
108
- html: 'I YouTubes ekosystem är miniatyrbilden (eller thumbnailen) ingången till ditt innehåll. Du kan ha världens bästa video — med redigering i Hollywood-klass och ett manus värdigt en Oscar — men om ingen klickar kommer ditt arbete att vara osynligt för algoritmen. Det är här <strong>CTR (Click-Through Rate)</strong> kommer in, och miniatyrbilden är den avgörande faktorn.',
108
+ html: 'I YouTubes ekosystem är miniatyrbilden (eller thumbnailen) ingången till ditt innehåll. Du kan ha världens bästa video - med redigering i Hollywood-klass och ett manus värdigt en Oscar - men om ingen klickar kommer ditt arbete att vara osynligt för algoritmen. Det är här <strong>CTR (Click-Through Rate)</strong> kommer in, och miniatyrbilden är den avgörande faktorn.',
109
109
  },
110
110
  {
111
111
  type: 'title',
@@ -148,7 +148,7 @@ export const content: ToolLocaleContent<YoutubeThumbnailPreviewerUI> = {
148
148
  },
149
149
  {
150
150
  type: 'paragraph',
151
- html: 'Den mänskliga hjärnan bearbetar bilder tusentals gånger snabbare än text. Men på YouTube är konkurrensen brutal. Din miniatyrbild får inte bara vara "snygg" — den måste vara <strong>läsbar</strong> och ha <strong>kontrast</strong>.',
151
+ html: 'Den mänskliga hjärnan bearbetar bilder tusentals gånger snabbare än text. Men på YouTube är konkurrensen brutal. Din miniatyrbild får inte bara vara "snygg" - den måste vara <strong>läsbar</strong> och ha <strong>kontrast</strong>.',
152
152
  },
153
153
  {
154
154
  type: 'paragraph',
@@ -47,11 +47,11 @@ const howToData = [
47
47
  },
48
48
  {
49
49
  name: '切换设备',
50
- text: '在“桌面端”和“移动端”视图之间切换,验证在不同尺寸屏幕上的可读性。',
50
+ text: '在\"桌面端\"和\"移动端\"视图之间切换,验证在不同尺寸屏幕上的可读性。',
51
51
  },
52
52
  {
53
53
  name: '测试对比度',
54
- text: '开启“暗黑”主题,查看颜色在 YouTube 黑色背景下是否依然醒目。',
54
+ text: '开启\"暗黑\"主题,查看颜色在 YouTube 黑色背景下是否依然醒目。',
55
55
  },
56
56
  ];
57
57
 
@@ -105,7 +105,7 @@ export const content: ToolLocaleContent<YoutubeThumbnailPreviewerUI> = {
105
105
  },
106
106
  {
107
107
  type: 'paragraph',
108
- html: '在 YouTube 生态系统中,缩略图是进入您内容的门户。您可能有世界上最好的视频——好莱坞级别的剪辑、奥斯卡级别的剧本——但如果没有人点击,您的工作在算法眼中就是透明的。这就是 <strong>CTR(点击率)</strong> 发挥作用的地方,而缩略图是决定性因素。',
108
+ html: '在 YouTube 生态系统中,缩略图是进入您内容的门户。您可能有世界上最好的视频-好莱坞级别的剪辑、奥斯卡级别的剧本-但如果没有人点击,您的工作在算法眼中就是透明的。这就是 <strong>CTR(点击率)</strong> 发挥作用的地方,而缩略图是决定性因素。',
109
109
  },
110
110
  {
111
111
  type: 'title',
@@ -125,7 +125,7 @@ export const content: ToolLocaleContent<YoutubeThumbnailPreviewerUI> = {
125
125
  },
126
126
  {
127
127
  type: 'paragraph',
128
- html: '许多创作者常犯的错误是在大显示器上进行缩略图设计,并在他们常用的编辑器中全屏查看。问题在于,终端用户很少这样看图片。大多数人是在手机上刷视频时,或者在暗黑模式下的显示器角落里看到它。我们的 <strong>YouTube 缩略图预览器</strong> 让您打破这种“设计师幻觉”,看到最真实的首页竞争环境。',
128
+ html: '许多创作者常犯的错误是在大显示器上进行缩略图设计,并在他们常用的编辑器中全屏查看。问题在于,终端用户很少这样看图片。大多数人是在手机上刷视频时,或者在暗黑模式下的显示器角落里看到它。我们的 <strong>YouTube 缩略图预览器</strong> 让您打破这种\"设计师幻觉\",看到最真实的首页竞争环境。',
129
129
  },
130
130
  {
131
131
  type: 'title',
@@ -148,11 +148,11 @@ export const content: ToolLocaleContent<YoutubeThumbnailPreviewerUI> = {
148
148
  },
149
149
  {
150
150
  type: 'paragraph',
151
- html: '人类大脑处理图片的速度比处理文字快数千倍。然而在 YouTube 上,竞争是残酷的。您的缩略图不仅要“好看”,还必须 <strong>易读</strong> 且具有 <strong>对比度</strong>。',
151
+ html: '人类大脑处理图片的速度比处理文字快数千倍。然而在 YouTube 上,竞争是残酷的。您的缩略图不仅要\"好看\",还必须 <strong>易读</strong> 且具有 <strong>对比度</strong>。',
152
152
  },
153
153
  {
154
154
  type: 'paragraph',
155
- html: '一个常见的错误是使用的颜色与 YouTube 背景融为一体。如果您大量使用深灰色,而您的观众处于暗黑模式,您的视频就会从他们的余光中消失。通过使用此预览工具,您可以切换主题,确保您的设计在任何场景下都能“跳”出来。',
155
+ html: '一个常见的错误是使用的颜色与 YouTube 背景融为一体。如果您大量使用深灰色,而您的观众处于暗黑模式,您的视频就会从他们的余光中消失。通过使用此预览工具,您可以切换主题,确保您的设计在任何场景下都能\"跳\"出来。',
156
156
  },
157
157
  {
158
158
  type: 'title',
@@ -161,7 +161,7 @@ export const content: ToolLocaleContent<YoutubeThumbnailPreviewerUI> = {
161
161
  },
162
162
  {
163
163
  type: 'paragraph',
164
- html: '花 30 秒测试缩略图值得吗?答案是肯定的“值得”。一个优化过的缩略图可以在最初的 24 小时内让浏览量翻倍,从而向 YouTube AI 发出信号,表明您的内容具有“吸引力”。',
164
+ html: '花 30 秒测试缩略图值得吗?答案是肯定的\"值得\"。一个优化过的缩略图可以在最初的 24 小时内让浏览量翻倍,从而向 YouTube AI 发出信号,表明您的内容具有\"吸引力\"。',
165
165
  },
166
166
  {
167
167
  type: 'grid',
@@ -218,7 +218,7 @@ export const content: ToolLocaleContent<YoutubeThumbnailPreviewerUI> = {
218
218
  },
219
219
  {
220
220
  title: '虚化背景',
221
- body: '画面分离感 · 增加深度,让主要主体从屏幕中“跃出”。',
221
+ body: '画面分离感 · 增加深度,让主要主体从屏幕中\"跃出\"。',
222
222
  },
223
223
  {
224
224
  title: '时长标签预留位',
@@ -228,7 +228,7 @@ export const content: ToolLocaleContent<YoutubeThumbnailPreviewerUI> = {
228
228
  },
229
229
  {
230
230
  type: 'tip',
231
- title: '避开“死区”小技巧',
231
+ title: '避开\"死区\"小技巧',
232
232
  html: '<p>YouTube 总是在缩略图右下角放置一个黑色时长框。成千上万的创作者会在该位置放置关键元素,结果发现被 App 挡住了。我们的工具真实模拟了这个框,因此您永远不会挡住最好的镜头。</p>',
233
233
  },
234
234
  {
@@ -255,7 +255,7 @@ export const content: ToolLocaleContent<YoutubeThumbnailPreviewerUI> = {
255
255
  },
256
256
  {
257
257
  type: 'title',
258
- text: '使用“分屏 (Split)”模式(直接对比)',
258
+ text: '使用\"分屏 (Split)\"模式(直接对比)',
259
259
  level: 3,
260
260
  },
261
261
  {