@jjlmoya/utils-social 1.2.0 → 1.4.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 (120) hide show
  1. package/package.json +59 -58
  2. package/src/category/i18n/de.ts +23 -0
  3. package/src/category/i18n/id.ts +23 -0
  4. package/src/category/i18n/it.ts +23 -0
  5. package/src/category/i18n/ja.ts +23 -0
  6. package/src/category/i18n/ko.ts +23 -0
  7. package/src/category/i18n/nl.ts +23 -0
  8. package/src/category/i18n/pl.ts +23 -0
  9. package/src/category/i18n/pt.ts +23 -0
  10. package/src/category/i18n/ru.ts +23 -0
  11. package/src/category/i18n/sv.ts +23 -0
  12. package/src/category/i18n/tr.ts +23 -0
  13. package/src/category/i18n/zh.ts +23 -0
  14. package/src/category/index.ts +12 -0
  15. package/src/index.ts +8 -0
  16. package/src/tests/i18n_coverage.test.ts +36 -0
  17. package/src/tests/locale_completeness.test.ts +1 -1
  18. package/src/tests/schemas_fulfillment.test.ts +23 -0
  19. package/src/tests/slug_uniqueness.test.ts +81 -0
  20. package/src/tests/title_quality.test.ts +55 -0
  21. package/src/tool/redditFormatter/i18n/de.ts +193 -0
  22. package/src/tool/redditFormatter/i18n/en.ts +1 -1
  23. package/src/tool/redditFormatter/i18n/es.ts +1 -1
  24. package/src/tool/redditFormatter/i18n/fr.ts +1 -1
  25. package/src/tool/redditFormatter/i18n/id.ts +193 -0
  26. package/src/tool/redditFormatter/i18n/it.ts +193 -0
  27. package/src/tool/redditFormatter/i18n/ja.ts +193 -0
  28. package/src/tool/redditFormatter/i18n/ko.ts +193 -0
  29. package/src/tool/redditFormatter/i18n/nl.ts +193 -0
  30. package/src/tool/redditFormatter/i18n/pl.ts +193 -0
  31. package/src/tool/redditFormatter/i18n/pt.ts +193 -0
  32. package/src/tool/redditFormatter/i18n/ru.ts +193 -0
  33. package/src/tool/redditFormatter/i18n/sv.ts +193 -0
  34. package/src/tool/redditFormatter/i18n/tr.ts +193 -0
  35. package/src/tool/redditFormatter/i18n/zh.ts +193 -0
  36. package/src/tool/redditFormatter/index.ts +15 -7
  37. package/src/tool/safeZones/i18n/de.ts +244 -0
  38. package/src/tool/safeZones/i18n/id.ts +244 -0
  39. package/src/tool/safeZones/i18n/it.ts +244 -0
  40. package/src/tool/safeZones/i18n/ja.ts +244 -0
  41. package/src/tool/safeZones/i18n/ko.ts +244 -0
  42. package/src/tool/safeZones/i18n/nl.ts +244 -0
  43. package/src/tool/safeZones/i18n/pl.ts +244 -0
  44. package/src/tool/safeZones/i18n/pt.ts +244 -0
  45. package/src/tool/safeZones/i18n/ru.ts +244 -0
  46. package/src/tool/safeZones/i18n/sv.ts +244 -0
  47. package/src/tool/safeZones/i18n/tr.ts +244 -0
  48. package/src/tool/safeZones/i18n/zh.ts +244 -0
  49. package/src/tool/safeZones/index.ts +17 -9
  50. package/src/tool/socialImageResizer/i18n/de.ts +211 -0
  51. package/src/tool/socialImageResizer/i18n/en.ts +1 -1
  52. package/src/tool/socialImageResizer/i18n/id.ts +211 -0
  53. package/src/tool/socialImageResizer/i18n/it.ts +211 -0
  54. package/src/tool/socialImageResizer/i18n/ja.ts +211 -0
  55. package/src/tool/socialImageResizer/i18n/ko.ts +211 -0
  56. package/src/tool/socialImageResizer/i18n/nl.ts +211 -0
  57. package/src/tool/socialImageResizer/i18n/pl.ts +211 -0
  58. package/src/tool/socialImageResizer/i18n/pt.ts +211 -0
  59. package/src/tool/socialImageResizer/i18n/ru.ts +211 -0
  60. package/src/tool/socialImageResizer/i18n/sv.ts +211 -0
  61. package/src/tool/socialImageResizer/i18n/tr.ts +211 -0
  62. package/src/tool/socialImageResizer/i18n/zh.ts +211 -0
  63. package/src/tool/socialImageResizer/index.ts +16 -8
  64. package/src/tool/socialValueCalculator/i18n/de.ts +306 -0
  65. package/src/tool/socialValueCalculator/i18n/es.ts +1 -1
  66. package/src/tool/socialValueCalculator/i18n/fr.ts +1 -1
  67. package/src/tool/socialValueCalculator/i18n/id.ts +306 -0
  68. package/src/tool/socialValueCalculator/i18n/it.ts +306 -0
  69. package/src/tool/socialValueCalculator/i18n/ja.ts +306 -0
  70. package/src/tool/socialValueCalculator/i18n/ko.ts +306 -0
  71. package/src/tool/socialValueCalculator/i18n/nl.ts +306 -0
  72. package/src/tool/socialValueCalculator/i18n/pl.ts +306 -0
  73. package/src/tool/socialValueCalculator/i18n/pt.ts +306 -0
  74. package/src/tool/socialValueCalculator/i18n/ru.ts +306 -0
  75. package/src/tool/socialValueCalculator/i18n/sv.ts +306 -0
  76. package/src/tool/socialValueCalculator/i18n/tr.ts +306 -0
  77. package/src/tool/socialValueCalculator/i18n/zh.ts +306 -0
  78. package/src/tool/socialValueCalculator/index.ts +17 -9
  79. package/src/tool/tinderPhotoOptimizer/i18n/de.ts +272 -0
  80. package/src/tool/tinderPhotoOptimizer/i18n/id.ts +272 -0
  81. package/src/tool/tinderPhotoOptimizer/i18n/it.ts +272 -0
  82. package/src/tool/tinderPhotoOptimizer/i18n/ja.ts +272 -0
  83. package/src/tool/tinderPhotoOptimizer/i18n/ko.ts +272 -0
  84. package/src/tool/tinderPhotoOptimizer/i18n/nl.ts +272 -0
  85. package/src/tool/tinderPhotoOptimizer/i18n/pl.ts +272 -0
  86. package/src/tool/tinderPhotoOptimizer/i18n/pt.ts +272 -0
  87. package/src/tool/tinderPhotoOptimizer/i18n/ru.ts +272 -0
  88. package/src/tool/tinderPhotoOptimizer/i18n/sv.ts +272 -0
  89. package/src/tool/tinderPhotoOptimizer/i18n/tr.ts +272 -0
  90. package/src/tool/tinderPhotoOptimizer/i18n/zh.ts +272 -0
  91. package/src/tool/tinderPhotoOptimizer/index.ts +17 -9
  92. package/src/tool/youtubeThumbnail/i18n/de.ts +207 -0
  93. package/src/tool/youtubeThumbnail/i18n/id.ts +207 -0
  94. package/src/tool/youtubeThumbnail/i18n/it.ts +207 -0
  95. package/src/tool/youtubeThumbnail/i18n/ja.ts +207 -0
  96. package/src/tool/youtubeThumbnail/i18n/ko.ts +207 -0
  97. package/src/tool/youtubeThumbnail/i18n/nl.ts +207 -0
  98. package/src/tool/youtubeThumbnail/i18n/pl.ts +207 -0
  99. package/src/tool/youtubeThumbnail/i18n/pt.ts +207 -0
  100. package/src/tool/youtubeThumbnail/i18n/ru.ts +207 -0
  101. package/src/tool/youtubeThumbnail/i18n/sv.ts +207 -0
  102. package/src/tool/youtubeThumbnail/i18n/tr.ts +207 -0
  103. package/src/tool/youtubeThumbnail/i18n/zh.ts +207 -0
  104. package/src/tool/youtubeThumbnail/index.ts +17 -9
  105. package/src/tool/youtubeThumbnailPreviewer/i18n/de.ts +321 -0
  106. package/src/tool/youtubeThumbnailPreviewer/i18n/en.ts +1 -1
  107. package/src/tool/youtubeThumbnailPreviewer/i18n/es.ts +1 -1
  108. package/src/tool/youtubeThumbnailPreviewer/i18n/fr.ts +2 -2
  109. package/src/tool/youtubeThumbnailPreviewer/i18n/id.ts +321 -0
  110. package/src/tool/youtubeThumbnailPreviewer/i18n/it.ts +321 -0
  111. package/src/tool/youtubeThumbnailPreviewer/i18n/ja.ts +321 -0
  112. package/src/tool/youtubeThumbnailPreviewer/i18n/ko.ts +321 -0
  113. package/src/tool/youtubeThumbnailPreviewer/i18n/nl.ts +321 -0
  114. package/src/tool/youtubeThumbnailPreviewer/i18n/pl.ts +321 -0
  115. package/src/tool/youtubeThumbnailPreviewer/i18n/pt.ts +321 -0
  116. package/src/tool/youtubeThumbnailPreviewer/i18n/ru.ts +321 -0
  117. package/src/tool/youtubeThumbnailPreviewer/i18n/sv.ts +321 -0
  118. package/src/tool/youtubeThumbnailPreviewer/i18n/tr.ts +321 -0
  119. package/src/tool/youtubeThumbnailPreviewer/i18n/zh.ts +321 -0
  120. package/src/tool/youtubeThumbnailPreviewer/index.ts +24 -0
@@ -0,0 +1,272 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { TinderPhotoOptimizerUI } from '../ui';
4
+
5
+ const slug = 'optymalizator-zdjec-tinder';
6
+ const title = 'Optymalizator Zdjęć na Tindera: Analiza Twarzy i Kompozycji';
7
+ const description =
8
+ 'Zoptymalizuj swoje zdjęcia na Tindera dzięki algorytmicznej analizie twarzy. Symuluj interfejs Tindera 2026, analizuj naukowe kadrowanie i linię oczu, eksportuj idealne portrety 9:16, aby zmaksymalizować liczbę matchy.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'W jaki sposób to narzędzie zwiększa liczbę moich matchy na Tinderze?',
13
+ answer:
14
+ 'Narzędzie analizuje kluczowe czynniki techniczne: stosunek wielkości twarzy (idealnie 30-50%), pozycję linii oczu względem górnej jednej trzeciej, pokrycie kadru oraz martwe strefy interfejsu Tindera. Dostosowując te parametry, Twoje zdjęcie budzi większe zaufanie i pokonuje wizualne filtry algorytmu.',
15
+ },
16
+ {
17
+ question: 'Czy przesyłanie tutaj moich zdjęć jest bezpieczne?',
18
+ answer:
19
+ 'Całkowicie bezpieczne. Całe przetwarzanie odbywa się w Twojej przeglądarce za pomocą Canvas API. Twoje zdjęcia nigdy nie są wysyłane na żaden serwer ani nigdzie przechowywane.',
20
+ },
21
+ {
22
+ question: 'Co dokładnie robi detekcja twarzy przez AI?',
23
+ answer:
24
+ 'Wykorzystuje face-api.js do wykrywania 68 punktów charakterystycznych twarzy, analizy ekspresji (uśmiech, poważna mina), oceny pozycji oczu i pomiaru nachylenia głowy. Cała analiza odbywa się lokalnie na Twoim urządzeniu.',
25
+ },
26
+ {
27
+ question: 'Dlaczego zalecacie przybliżenie 1,2x?',
28
+ answer:
29
+ 'Przednie kamery smartfonów wykorzystują optykę szerokokątną (24mm), która zniekształca twarz (efekt beczki). Przybliżenie 1,2x symuluje ogniskową 50-85mm, eliminując zniekształcenia i zapewniając bardziej naturalne i atrakcyjne proporcje twarzy.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'Prześlij zdjęcie',
36
+ text: 'Przeciągnij lub kliknij w symulator Tindera, aby załadować swój obraz.',
37
+ },
38
+ {
39
+ name: 'Analizuj kompozycję',
40
+ text: 'AI automatycznie wykrywa Twoją twarz i pokazuje metryki dotyczące wielkości twarzy, linii oczu, pokrycia i ekspresji.',
41
+ },
42
+ {
43
+ name: 'Precyzyjnie dostosuj',
44
+ text: 'Użyj kontrolek zoomu i jasności, włącz auto-kadrowanie lub ręcznie przeciągnij obraz wewnątrz symulatora.',
45
+ },
46
+ {
47
+ name: 'Zoptymalizowane pobieranie',
48
+ text: 'Eksportuj swoje zdjęcie w natywnym formacie 1080x1920 zoptymalizowanym dla Tindera, z czystymi metadanymi.',
49
+ },
50
+ ];
51
+
52
+ const faqSchema: WithContext<FAQPage> = {
53
+ '@context': 'https://schema.org',
54
+ '@type': 'FAQPage',
55
+ mainEntity: faqData.map((item) => ({
56
+ '@type': 'Question',
57
+ name: item.question,
58
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
59
+ })),
60
+ };
61
+
62
+ const howToSchema: WithContext<HowTo> = {
63
+ '@context': 'https://schema.org',
64
+ '@type': 'HowTo',
65
+ name: title,
66
+ description,
67
+ step: howToData.map((step, i) => ({
68
+ '@type': 'HowToStep',
69
+ position: i + 1,
70
+ name: step.name,
71
+ text: step.text,
72
+ })),
73
+ };
74
+
75
+ const appSchema: WithContext<SoftwareApplication> = {
76
+ '@context': 'https://schema.org',
77
+ '@type': 'SoftwareApplication',
78
+ name: title,
79
+ description,
80
+ applicationCategory: 'UtilityApplication',
81
+ operatingSystem: 'All',
82
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'PLN' },
83
+ inLanguage: 'pl',
84
+ };
85
+
86
+ export const content: ToolLocaleContent<TinderPhotoOptimizerUI> = {
87
+ slug,
88
+ title,
89
+ description,
90
+ faqTitle: 'Często Zadawane Pytania',
91
+ faq: faqData,
92
+ bibliographyTitle: 'Źródła',
93
+ bibliography: [
94
+ {
95
+ name: 'face-api.js: JavaScript Face Recognition in the Browser',
96
+ url: 'https://github.com/justadudewhohacks/face-api.js',
97
+ },
98
+ {
99
+ name: 'MDN Web Docs: Canvas API',
100
+ url: 'https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API',
101
+ },
102
+ ],
103
+ howTo: howToData,
104
+ schemas: [faqSchema, howToSchema, appSchema],
105
+ seo: [
106
+ {
107
+ type: 'title',
108
+ text: 'Optymalizator Zdjęć na Tindera: Ostateczny Przewodnik Naukowy i Techniczny (2026)',
109
+ level: 2,
110
+ },
111
+ {
112
+ type: 'paragraph',
113
+ html: 'W ekosystemie cyfrowych randek Twój profil na Tinderze jest przetwarzany przez dwa algorytmy jednocześnie: zaawansowany algorytm wizyjny samej platformy oraz ludzki mózg użytkownika, który przesuwa palcem. Nasze narzędzie integruje zasady <strong>psychologii ewolucyjnej</strong>, <strong>biometrii twarzy</strong> oraz <strong>cyfrowego przetwarzania sygnałów</strong>, aby zagwarantować, że Twój obraz projektuje maksymalną wartość społeczną i atrakcyjność techniczną.',
114
+ },
115
+ {
116
+ type: 'title',
117
+ text: 'Psychologia Pierwszego Wrażenia: Efekt 1,2 Sekundy',
118
+ level: 3,
119
+ },
120
+ {
121
+ type: 'paragraph',
122
+ html: 'Badania neuronaukowe wskazują, że ludzki mózg potrzebuje około 1/10 sekundy, aby sformułować wstępne wrażenie na temat zaufania, jakie ktoś wzbudza. Na Tinderze masz nieco ponad sekundę przed następnym swipe\'em. Nasze narzędzie analizuje czynniki, które przyspieszają podejmowanie pozytywnych decyzji:',
123
+ },
124
+ {
125
+ type: 'list',
126
+ items: [
127
+ '<strong>Kontakt Wzrokowy i Linia Spojrzenia:</strong> Bezpośrednie spojrzenie aktywuje regiony mózgu związane z nagrodą społeczną. Ustawienie oczu w górnej jednej trzeciej maksymalizuje prawdopodobieństwo, że użytkownik zatrzyma się na Twoim spojrzeniu przed przeczytaniem Twojego imienia.',
128
+ '<strong>Asymetria i Postawa:</strong> Lekkie nachylenie może złagodzić agresywne cechy, ale nadmierne nachylenie przekazuje niestabilność. Nasz algorytm mierzy dokładny kąt, aby utrzymać Cię w zakresie budzącym zaufanie.',
129
+ '<strong>Kontrast Postać-Tło:</strong> System premiuje zdjęcia, na których fotografowana osoba jest wyraźnie oddzielona od tła. Dobrze zdefiniowany profil techniczny pomaga silnikowi renderującemu wyróżnić Twoją twarz na tle konkurencji.',
130
+ ],
131
+ },
132
+ {
133
+ type: 'title',
134
+ text: 'Techniczna Analiza Soczewki: Problem Szerokiego Kąta',
135
+ level: 3,
136
+ },
137
+ {
138
+ type: 'paragraph',
139
+ html: 'Prawie wszystkie zdjęcia profilowe są robione smartfonami, których przednie aparaty są szerokokątne. Najczęstszym błędem jest podchodzenie zbyt blisko urządzenia.',
140
+ },
141
+ {
142
+ type: 'paragraph',
143
+ html: '<strong>Aberracja Beczkowa:</strong> W odległości mniejszej niż metr, obiektyw 24mm (standard w telefonach) rozszerza środek obrazu. Sprawia to, że nosy wydają się większe, a twarz bardziej okrągła niż w rzeczywistości. Nasza rekomendacja <strong>Zoomu 1,2x</strong> ma charakter korygujący: stosując lekkie cyfrowe kadrowanie, symulujesz ogniskową od 50mm do 85mm, czyli "złotą ogniskową", której fotografowie mody używają do wyszczuplenia twarzy i zachowania rzeczywistych proporcji.',
144
+ },
145
+ {
146
+ type: 'title',
147
+ text: 'Interfejs Tindera: Nauka o Martwych Strefach',
148
+ level: 3,
149
+ },
150
+ {
151
+ type: 'paragraph',
152
+ html: 'Wiele doskonałych zdjęć zawodzi, ponieważ ignorują one warstwę oprogramowania (UI), którą Tinder nakłada na zdjęcie. Przeciętny użytkownik nie widzi Twojego czystego zdjęcia; widzi amalgamat przycisków, gradientów i tekstu.',
153
+ },
154
+ {
155
+ type: 'list',
156
+ items: [
157
+ '<strong>Strefa Tytułów (Górne 15%):</strong> Tutaj znajdują się wskaźniki postępu i pasek stanu. Jeśli Twoje czoło lub oczy znajdują się tutaj, interfejs wizualnie odcina Twoją głowę.',
158
+ '<strong>Strefa Akcji (Przyciski):</strong> Ikony Like, Nope i Boost zajmują dolne boki. Jeśli Twoje ręce lub elementy stylu się tam znajdują, zostaną całkowicie utracone.',
159
+ '<strong>Gradient Czytelności (Dolne 28%):</strong> Tinder stosuje czarny gradient, aby Twoje imię i wiek były czytelne. Jeśli Twoja twarz wpadnie w tę strefę, tekst nałoży się na Twoje rysy, psując estetykę profilu.',
160
+ ],
161
+ },
162
+ {
163
+ type: 'title',
164
+ text: 'Analiza Wizyjna w Czasie Rzeczywistym: Rozszyfrowanie Algorytmu',
165
+ level: 3,
166
+ },
167
+ {
168
+ type: 'paragraph',
169
+ html: 'Nasze narzędzie wykorzystuje modele <strong>Computer Vision najnowszej generacji</strong> do audytu Twojego obrazu tak, jak zrobiliby to automatyczni moderatorzy Tindera:',
170
+ },
171
+ {
172
+ type: 'list',
173
+ items: [
174
+ '<strong>Landmark Detection:</strong> Mapujemy 68 punktów twarzy, aby analizować symetrię i otwarcie oczu. Dobrze otwarte i widoczne oczy korelują z wyższym poziomem postrzeganej ekstrawersji.',
175
+ '<strong>Mood Evaluation:</strong> Lekki uśmiech aktywuje neurony lustrzane u osoby, która na Ciebie patrzy. Wykrywamy intensywność ekspresji twarzy, aby upewnić się, że nie wydajesz się zbyt poważny lub nieprzystępny.',
176
+ '<strong>Jakość Oświetlenia:</strong> System ocenia pewność detekcji. Jeśli wynik jest niski, zdjęcie ma szumy wizualne lub twarde cienie, które algorytm Tindera mógłby oznaczyć jako treść niskiej jakości.',
177
+ ],
178
+ },
179
+ {
180
+ type: 'title',
181
+ text: 'Metadane i Eksport Zoptymalizowany dla Tindera',
182
+ level: 3,
183
+ },
184
+ {
185
+ type: 'paragraph',
186
+ html: 'Czy wiesz, że waga Twojego obrazu wpływa na algorytm? Aplikacje randkowe priorytetowo traktują treści, które ładują się szybko, aby nie przerywać przepływu użytkownika.',
187
+ },
188
+ {
189
+ type: 'list',
190
+ items: [
191
+ '<strong>Metadata Stripping (Prywatność i SEO):</strong> Usuwamy rekordy EXIF. Czyste zdjęcie daje Ci "nowe płótno" dla algorytmu platformy.',
192
+ '<strong>Inteligentna Kompresja Bezstratna:</strong> Zmniejszamy wagę pliku JPG zachowując natywną przestrzeń barw sRGB systemów iOS i Android. Twoje zdjęcie będzie wyglądać wibrująco nawet przy słabym zasięgu.',
193
+ '<strong>Immersyjny Format 9:16:</strong> Dostarczając dokładnie 1080x1920 pikseli, zapobiegamy stosowaniu przez Tindera własnego agresywnego algorytmu kompresji, który generuje artefakty obrazu.',
194
+ ],
195
+ },
196
+ {
197
+ type: 'tip',
198
+ title: 'Rada Eksperta',
199
+ html: '<p>Pierwsze zdjęcie powinno ZAWSZE być wyraźnym portretem od ramion w górę. Zdjęcia całej sylwetki lub z jakichś aktywności zachowaj na 3. lub 4. pozycję. Upewnij się, że w tym pierwszym wrażeniu Twoje spojrzenie jest wolne od przeszkód, a Twoja twarz ma optymalną wielkość (30-50%).</p>',
200
+ },
201
+ {
202
+ type: 'title',
203
+ text: 'Bezpieczeństwo i Etyka Przetwarzania',
204
+ level: 3,
205
+ },
206
+ {
207
+ type: 'paragraph',
208
+ html: 'Rozumiemy, że Twoje zdjęcia są prywatne. Ten optymalizator wykorzystuje <strong>technologię Client-Side</strong>: obrazy są przetwarzane przez silnik canvas w Twojej lokalnej przeglądarce. Żadne dane nie opuszczają Twojego urządzenia. To najbezpieczniejszy i najszybszy sposób na optymalizację profilu bez narażania Twojej prywatności.',
209
+ },
210
+ ],
211
+ ui: {
212
+ uploadTitle: 'Optymalizuj Zdjęcie',
213
+ uploadSubtitle: 'Przeciągnij lub kliknij, aby zacząć',
214
+ btnDownload: 'Pobierz Zoptymalizowane Zdjęcie',
215
+ btnRescan: 'Ponownie Skanuj Twarz',
216
+ btnAutoFocus: 'Auto-Kadrowanie',
217
+ btnMarkFace: 'Zaznacz Twarz',
218
+ panelManual: 'Regulacje Ręczne',
219
+ panelVisualization: 'Zaawansowana Wizualizacja',
220
+ panelMetrics: 'Analityka Kompozycji',
221
+ panelExport: 'Eksport na Tindera 2026',
222
+ panelExportDesc: 'Automatyczne przycięcie do 1080x1920 ze zoptymalizowanymi metadanymi.',
223
+ labelZoom: 'Zoom',
224
+ labelBrightness: 'Jasność',
225
+ toggleGrid: 'Siatka Trójpodziału',
226
+ toggleGridDesc: 'Regulacja klasycznej kompozycji',
227
+ toggleDeadzones: 'Strefy Zagrożenia',
228
+ toggleDeadzonesDesc: 'Zapobiega ukrywaniu twarzy przez UI',
229
+ toggleFaceBox: 'Zobacz Wykrytą Twarz',
230
+ toggleFaceBoxDesc: 'Punkty i obszar detekcji',
231
+ metricFaceSize: 'Wielkość Twarzy',
232
+ metricEyeLine: 'Linia Spojrzenia',
233
+ metricCoverage: 'Pokrycie',
234
+ metricMood: 'Ekspresja',
235
+ metricQuality: 'Pewność',
236
+ analysisSuccess: 'Czynniki Sukcesu',
237
+ analysisWarning: 'Optymalizacja',
238
+ analysisError: 'Błędy Krytyczne',
239
+ deadzoneTop: 'Górna Strefa UI',
240
+ deadzoneBottom: 'Strefa Informacji',
241
+ loaderAnalyzing: 'Analizowanie kompozycji...',
242
+ loaderModels: 'Ładowanie modeli wizyjnych...',
243
+ simulatorName: 'Twoje Imię, 25',
244
+ simulatorJob: 'Twój Zawód',
245
+ simulatorCity: 'Mieszka w Polsce',
246
+ simulatorDistance: '5 km od Ciebie',
247
+ statusOptimal: 'OPTYMALNA',
248
+ statusIncorrect: 'NIEPRAWIDŁOWA',
249
+ statusHigh: 'WYSOKA',
250
+ statusMedium: 'ŚREDNIA',
251
+ statusLow: 'NISKA',
252
+ statusPositive: 'POZYTYWNY',
253
+ statusNeutral: 'NEUTRALNY',
254
+ alertExcellent: 'Doskonała kompozycja techniczna.',
255
+ alertEmptySpaces: 'PUSTE MIEJSCA: Obraz nie pokrywa całego kadru. Dostosuj zoom lub pozycję.',
256
+ alertAlmostInvisible: 'PRAWIE NIEWIDOCZNY: Jesteś bardzo daleko. Przybliż, aż Twoja twarz zajmie co najmniej jedną trzecią ekranu.',
257
+ alertTooClose: 'ZA BLISKO: Ekstremalne zbliżenia mogą wydać się agresywne.',
258
+ alertPerfectSize: 'IDEALNA WIELKOŚĆ: Twoja twarz ma idealny stosunek do projektowania zaufania.',
259
+ alertImpactfulLook: 'MOCNE SPOJRZENIE: Twoje oczy są na linii maksymalnej uwagi.',
260
+ alertEyeLineMoveUp: 'LINIA OCZU: Dla profesjonalnego kadrowania, podnieś nieco twarz do górnej linii.',
261
+ alertEyeLineMoveDown: 'LINIA OCZU: Dla profesjonalnego kadrowania, opuść nieco twarz do górnej linii.',
262
+ alertTiltedHead: 'POCHYLONA GŁOWA: Zbyt krzywa postawa może przekazywać niestabilność.',
263
+ alertSmileDetected: 'WYKRYTO UŚMIECH: Uśmiech znacząco podnosi wskaźnik matchy.',
264
+ alertSevereExpression: 'POWAŻNA MINA: Spróbuj użyć zdjęcia z bardziej uprzejmym gestem.',
265
+ alertObstructedTop: 'ZASŁONIĘTY: Pasek postępu zasłania Twoją twarz.',
266
+ alertObstructedBottom: 'ZASŁONIĘTY: Blok informacji zasłania Twoją twarz.',
267
+ alertLowLight: 'SŁABE OŚWIETLENIE: AI ma trudności z Twoją twarzą. Poszukaj zdjęcia z lepszym światłem.',
268
+ alertCutOff: 'UCIĘTY: Twarz wychodzi poza pionowy kadr.',
269
+ alertProTip: 'PORADA PRO: Jeśli to selfie, użyj Zoomu (1,2x), aby uniknąć zniekształceń soczewki.',
270
+ canvasFaceDetected: 'Wykryto twarz',
271
+ },
272
+ };
@@ -0,0 +1,272 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { TinderPhotoOptimizerUI } from '../ui';
4
+
5
+ const slug = 'otimizador-fotos-tinder';
6
+ const title = 'Otimizador de Fotos para Tinder: Análise de Rosto e Composição';
7
+ const description =
8
+ 'Otimize as suas fotos para o Tinder com análise algorítmica de rosto. Simule a interface do Tinder 2026, analise o enquadramento científico e a linha dos olhos, e exporte retratos 9:16 perfeitos para maximizar os matches.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Como é que esta ferramenta melhora os meus matches no Tinder?',
13
+ answer:
14
+ 'A ferramenta analisa fatores técnicos fundamentais: o rácio do tamanho facial (idealmente entre 30-50%), a posição da linha dos olhos em relação ao terço superior, a cobertura do enquadramento e as zonas mortas da interface do Tinder. Ao ajustar estes parâmetros, a sua foto projeta mais confiança e supera os filtros visuais do algoritmo.',
15
+ },
16
+ {
17
+ question: 'É seguro carregar as minhas fotos aqui?',
18
+ answer:
19
+ 'Completamente seguro. Todo o processamento é realizado no seu navegador através da Canvas API. As suas fotos nunca são enviadas para nenhum servidor nem armazenadas em qualquer lugar.',
20
+ },
21
+ {
22
+ question: 'O que faz exatamente a deteção de rosto com IA?',
23
+ answer:
24
+ 'Utiliza face-api.js para detetar 68 pontos de referência faciais, analisar a expressão (sorriso, expressão séria), avaliar a posição dos olhos e medir a inclinação da cabeça. Toda a análise ocorre localmente no seu dispositivo.',
25
+ },
26
+ {
27
+ question: 'Por que recomendam o zoom a 1.2x?',
28
+ answer:
29
+ 'As câmaras frontais dos smartphones usam óticas grande angulares (24mm) que distorcem o rosto com a aberração de barril. Um zoom de 1.2x simula uma focal de 50-85mm, eliminando a distorção e proporcionando proporções faciais mais naturais e atraentes.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'Carregue a sua foto',
36
+ text: 'Arraste ou clique no simulador do Tinder para carregar a sua imagem.',
37
+ },
38
+ {
39
+ name: 'Analise a composição',
40
+ text: 'A IA deteta o seu rosto automaticamente e mostra métricas de tamanho facial, linha dos olhos, cobertura e expressão.',
41
+ },
42
+ {
43
+ name: 'Ajuste com precisão',
44
+ text: 'Use os controlos de zoom e brilho, ative o auto-enquadramento ou arraste manualmente a imagem dentro do simulador.',
45
+ },
46
+ {
47
+ name: 'Download otimizado',
48
+ text: 'Exporte a sua foto no formato nativo 1080x1920 otimizado para o Tinder, com metadados limpos.',
49
+ },
50
+ ];
51
+
52
+ const faqSchema: WithContext<FAQPage> = {
53
+ '@context': 'https://schema.org',
54
+ '@type': 'FAQPage',
55
+ mainEntity: faqData.map((item) => ({
56
+ '@type': 'Question',
57
+ name: item.question,
58
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
59
+ })),
60
+ };
61
+
62
+ const howToSchema: WithContext<HowTo> = {
63
+ '@context': 'https://schema.org',
64
+ '@type': 'HowTo',
65
+ name: title,
66
+ description,
67
+ step: howToData.map((step, i) => ({
68
+ '@type': 'HowToStep',
69
+ position: i + 1,
70
+ name: step.name,
71
+ text: step.text,
72
+ })),
73
+ };
74
+
75
+ const appSchema: WithContext<SoftwareApplication> = {
76
+ '@context': 'https://schema.org',
77
+ '@type': 'SoftwareApplication',
78
+ name: title,
79
+ description,
80
+ applicationCategory: 'UtilityApplication',
81
+ operatingSystem: 'All',
82
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
83
+ inLanguage: 'pt',
84
+ };
85
+
86
+ export const content: ToolLocaleContent<TinderPhotoOptimizerUI> = {
87
+ slug,
88
+ title,
89
+ description,
90
+ faqTitle: 'Perguntas Frequentes',
91
+ faq: faqData,
92
+ bibliographyTitle: 'Referências',
93
+ bibliography: [
94
+ {
95
+ name: 'face-api.js: JavaScript Face Recognition in the Browser',
96
+ url: 'https://github.com/justadudewhohacks/face-api.js',
97
+ },
98
+ {
99
+ name: 'MDN Web Docs: Canvas API',
100
+ url: 'https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API',
101
+ },
102
+ ],
103
+ howTo: howToData,
104
+ schemas: [faqSchema, howToSchema, appSchema],
105
+ seo: [
106
+ {
107
+ type: 'title',
108
+ text: 'Otimizador de Fotos para Tinder: O Guia Científico e Técnico Definitivo (2026)',
109
+ level: 2,
110
+ },
111
+ {
112
+ type: 'paragraph',
113
+ html: 'No ecossistema dos encontros digitais, o seu perfil do Tinder é processado por dois algoritmos simultaneamente: o algoritmo de visão avançada da própria plataforma e o cérebro humano do utilizador que desliza. A nossa ferramenta integra princípios de <strong>psicologia evolucionista</strong>, <strong>biometria facial</strong> e <strong>processamento de sinais digitais</strong> para garantir que a sua imagem projeta o valor social máximo e atração técnica.',
114
+ },
115
+ {
116
+ type: 'title',
117
+ text: 'A Psicologia da Primeira Impressão: O Efeito de 1.2 Segundos',
118
+ level: 3,
119
+ },
120
+ {
121
+ type: 'paragraph',
122
+ html: 'Estudos neurocientíficos indicam que o cérebro humano demora aproximadamente 1/10 de segundo a formar uma impressão inicial sobre a confiança que alguém projeta. No Tinder, dispõe de pouco mais de um segundo antes do swipe seguinte. A nossa ferramenta analisa os fatores que aceleram a tomada de decisão positiva:',
123
+ },
124
+ {
125
+ type: 'list',
126
+ items: [
127
+ '<strong>Contacto Visual e Linha de Olhar:</strong> O olhar direto ativa regiões do cérebro relacionadas com a recompensa social. Posicionar os olhos no terço superior maximiza a probabilidade de o utilizador parar no seu olhar antes de ler o seu nome.',
128
+ '<strong>Assimetria e Postura:</strong> Uma ligeira inclinação pode suavizar traços agressivos, mas uma inclinação excessiva transmite instabilidade. O nosso algoritmo mede o ângulo exato para o manter no intervalo de confiança.',
129
+ '<strong>Contraste Figura-Fundo:</strong> O sistema premeia as fotos onde o sujeito está claramente separado do fundo. Um perfil técnico bem definido ajuda o motor de renderização a destacar o seu rosto em relação à concorrência.',
130
+ ],
131
+ },
132
+ {
133
+ type: 'title',
134
+ text: 'Análise Técnica da Lente: O Problema da Grande Angular',
135
+ level: 3,
136
+ },
137
+ {
138
+ type: 'paragraph',
139
+ html: 'Quase todas as fotos de perfil são tiradas com smartphones, cujas câmaras frontais são de grande angular. O erro mais comum é aproximar-se demasiado do dispositivo.',
140
+ },
141
+ {
142
+ type: 'paragraph',
143
+ html: '<strong>A Aberração de Barril:</strong> A menos de um metro de distância, uma lente de 24mm (padrão nos telemóveis) expande o centro da imagem. Isto faz com que os narizes pareçam maiores e a cara mais redonda do que é na realidade. A nossa recomendação de <strong>Zoom 1.2x</strong> é corretiva: ao aplicar um ligeiro recorte digital, simula uma focal de 50mm a 85mm, a distância focal dourada que os fotógrafos de moda usam para emagrecer o rosto e manter as proporções reais.',
144
+ },
145
+ {
146
+ type: 'title',
147
+ text: 'Interface do Tinder: A Ciência das Zonas Mortas',
148
+ level: 3,
149
+ },
150
+ {
151
+ type: 'paragraph',
152
+ html: 'Muitas fotos excelentes falham porque ignoram a camada de software (UI) que o Tinder coloca por cima. Um utilizador médio não vê a sua foto limpa; vê uma amálgama de botões, gradientes e texto.',
153
+ },
154
+ {
155
+ type: 'list',
156
+ items: [
157
+ '<strong>Zona de Títulos (Superior 15%):</strong> Aqui residem os indicadores de progresso e a barra de estado. Se a sua testa ou os seus olhos estiverem aqui, a interface corta a sua cabeça visualmente.',
158
+ '<strong>Zona de Ação (Botões):</strong> Os ícones de Like, Nope e Boost ocupam as laterais inferiores. Se as suas mãos ou elementos de estilo estiverem lá, perdem-se totalmente.',
159
+ '<strong>O Gradiente de Legibilidade (Inferior 28%):</strong> O Tinder aplica um gradiente preto para que o seu nome e idade sejam lidos. Se o seu rosto cair nesta zona, o texto sobrepor-se-á às suas feições, arruinando a estética do perfil.',
160
+ ],
161
+ },
162
+ {
163
+ type: 'title',
164
+ text: 'Análise de Visão em Tempo Real: Traduzindo o Algoritmo',
165
+ level: 3,
166
+ },
167
+ {
168
+ type: 'paragraph',
169
+ html: 'A nossa ferramenta utiliza modelos de <strong>Computer Vision de última geração</strong> para auditar a sua imagem como o fariam os moderadores automáticos do Tinder:',
170
+ },
171
+ {
172
+ type: 'list',
173
+ items: [
174
+ '<strong>Landmark Detection:</strong> Mapeamos 68 pontos faciais para analisar a simetria e a abertura dos olhos. Olhos bem abertos e visíveis correlacionam-se com níveis mais altos de extroversão percebida.',
175
+ '<strong>Mood Evaluation:</strong> Um sorriso ligeiro ativa neurónios espelho em quem o olha. Detetamos a intensidade da expressão facial para nos assegurarmos de que não parece demasiado sério ou inacessível.',
176
+ '<strong>Qualidade de Iluminação:</strong> O sistema avalia a confiança da deteção. Se o score for baixo, a foto tem ruído visual ou sombras duras que o algoritmo do Tinder poderia marcar como conteúdo de baixa qualidade.',
177
+ ],
178
+ },
179
+ {
180
+ type: 'title',
181
+ text: 'Metadados e Exportação Otimizada para o Tinder',
182
+ level: 3,
183
+ },
184
+ {
185
+ type: 'paragraph',
186
+ html: 'Sabia que o peso da sua imagem influencia o algoritmo? As apps de encontros priorizam o conteúdo que carrega rápido para não interromper o fluxo do utilizador.',
187
+ },
188
+ {
189
+ type: 'list',
190
+ items: [
191
+ '<strong>Metadata Stripping (Privacidade e SEO):</strong> Eliminamos os registos EXIF. Uma foto limpa dá-lhe uma tela nova para o algoritmo da plataforma.',
192
+ '<strong>Compressão Inteligente sem Perda:</strong> Reduzimos o peso do ficheiro JPG mantendo o espaço de cor sRGB nativo de iOS e Android. A sua foto parecerá vibrante mesmo com pouca cobertura.',
193
+ '<strong>Formato 9:16 Imersivo:</strong> Ao entregar exatamente 1080x1920 píxeis, evitamos que o Tinder aplique o seu próprio algoritmo de compressão agressivo que gera artefactos de imagem.',
194
+ ],
195
+ },
196
+ {
197
+ type: 'tip',
198
+ title: 'Conselho de Especialista',
199
+ html: '<p>A primeira foto deve ser SEMPRE um retrato claro dos ombros para cima. Guarde as fotos de corpo inteiro ou de atividades para a 3ª ou 4ª posição. Certifique-se de que nessa primeira impressão, o seu olhar está livre de obstáculos e o seu rosto tem o tamanho ótimo (30-50%).</p>',
200
+ },
201
+ {
202
+ type: 'title',
203
+ text: 'Segurança e Ética de Processamento',
204
+ level: 3,
205
+ },
206
+ {
207
+ type: 'paragraph',
208
+ html: 'Entendemos que as suas fotos são privadas. Este otimizador utiliza <strong>tecnologia Client-Side</strong>: as imagens são processadas através de um motor de canvas no seu navegador local. Nenhum dado sai do seu dispositivo. É a forma mais segura e rápida de otimizar o seu perfil sem comprometer a sua intimidade.',
209
+ },
210
+ ],
211
+ ui: {
212
+ uploadTitle: 'Otimizar Foto',
213
+ uploadSubtitle: 'Arraste ou clique para começar',
214
+ btnDownload: 'Descarregar Foto Otimizada',
215
+ btnRescan: 'Repassar Rosto',
216
+ btnAutoFocus: 'Auto-Enquadramento',
217
+ btnMarkFace: 'Marcar Rosto',
218
+ panelManual: 'Ajustes Manuais',
219
+ panelVisualization: 'Visualização Avançada',
220
+ panelMetrics: 'Analítica de Composição',
221
+ panelExport: 'Exportar para o Tinder 2026',
222
+ panelExportDesc: 'Recorte automático para 1080x1920 com metadados otimizados.',
223
+ labelZoom: 'Zoom',
224
+ labelBrightness: 'Brilho',
225
+ toggleGrid: 'Grelha de Terços',
226
+ toggleGridDesc: 'Ajuste de composição clássica',
227
+ toggleDeadzones: 'Zonas de Perigo',
228
+ toggleDeadzonesDesc: 'Evita que a UI oculte o seu rosto',
229
+ toggleFaceBox: 'Ver Rosto Detetado',
230
+ toggleFaceBoxDesc: 'Marcos e área de deteção',
231
+ metricFaceSize: 'Rácio de Rosto',
232
+ metricEyeLine: 'Linha de Olhar',
233
+ metricCoverage: 'Cobertura',
234
+ metricMood: 'Expressão',
235
+ metricQuality: 'Confiança',
236
+ analysisSuccess: 'Fatores de Sucesso',
237
+ analysisWarning: 'Otimização',
238
+ analysisError: 'Erros Críticos',
239
+ deadzoneTop: 'Zona de UI Superior',
240
+ deadzoneBottom: 'Zona de Informação',
241
+ loaderAnalyzing: 'A analisar composição...',
242
+ loaderModels: 'A carregar modelos de visão...',
243
+ simulatorName: 'O Seu Nome, 25',
244
+ simulatorJob: 'A Sua Profissão',
245
+ simulatorCity: 'Vive em Portugal',
246
+ simulatorDistance: 'A 5 km de si',
247
+ statusOptimal: 'ÓTIMA',
248
+ statusIncorrect: 'INCORRETA',
249
+ statusHigh: 'ALTA',
250
+ statusMedium: 'MÉDIA',
251
+ statusLow: 'BAIXA',
252
+ statusPositive: 'POSITIVO',
253
+ statusNeutral: 'NEUTRO',
254
+ alertExcellent: 'Composição técnica excelente.',
255
+ alertEmptySpaces: 'ESPAÇOS VAZIOS: A imagem não cobre todo o enquadramento. Ajuste o zoom ou a posição.',
256
+ alertAlmostInvisible: 'QUASE INVISÍVEL: Está muito longe. Aumente o zoom até que o seu rosto ocupe pelo menos um terço do ecrã.',
257
+ alertTooClose: 'DEMASIADO PERTO: Primeiros planos extremos podem parecer agressivos.',
258
+ alertPerfectSize: 'TAMANHO PERFEITO: O seu rosto tem o rácio ideal para transmitir confiança.',
259
+ alertImpactfulLook: 'OLHAR IMPACTANTE: Os seus olhos estão na linha de atenção máxima.',
260
+ alertEyeLineMoveUp: 'LINHA DOS OLHOS: Para um enquadramento profissional, suba um pouco o rosto até à linha superior.',
261
+ alertEyeLineMoveDown: 'LINHA DOS OLHOS: Para um enquadramento profissional, desça um pouco o rosto até à linha superior.',
262
+ alertTiltedHead: 'CABEÇA INCLINADA: Uma postura demasiado torta pode transmitir instabilidade.',
263
+ alertSmileDetected: 'SORRISO DETETADO: Sorrisos aumentam a taxa de match significativamente.',
264
+ alertSevereExpression: 'EXPRESSÃO SEVERA: Tente usar uma foto com um gesto mais amável.',
265
+ alertObstructedTop: 'OBSTRUÍDO: A barra de progresso tapa o seu rosto.',
266
+ alertObstructedBottom: 'OBSTRUÍDO: O bloco de informação tapa o seu rosto.',
267
+ alertLowLight: 'ILUMINAÇÃO DEFICIENTE: A IA tem dificuldade em vê-lo. Procure uma foto com melhor luz.',
268
+ alertCutOff: 'CORTADO: O rosto sai do enquadramento vertical.',
269
+ alertProTip: 'CONSELHO PRO: Se for uma selfie, use o Zoom (1.2x) para evitar distorções de lente.',
270
+ canvasFaceDetected: 'Rosto detetado',
271
+ },
272
+ };