@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.
- package/package.json +4 -2
- package/src/category/i18n/fr.ts +2 -2
- package/src/category/i18n/ru.ts +1 -1
- package/src/category/index.ts +1 -1
- package/src/env.d.ts +5 -0
- package/src/layouts/PreviewLayout.astro +7 -2
- package/src/tests/diacritics_density.test.ts +118 -0
- package/src/tests/inverted_punctuation.test.ts +84 -0
- package/src/tests/no_en_dash.test.ts +70 -0
- package/src/tests/pagespeed_best_practices.test.ts +198 -0
- package/src/tests/script_density.test.ts +94 -0
- package/src/tool/redditFormatter/i18n/fr.ts +2 -2
- package/src/tool/redditFormatter/i18n/pl.ts +4 -4
- package/src/tool/redditFormatter/i18n/ru.ts +2 -2
- package/src/tool/redditFormatter/i18n/zh.ts +1 -1
- package/src/tool/safeZones/component.astro +1 -1
- package/src/tool/safeZones/i18n/de.ts +2 -2
- package/src/tool/safeZones/i18n/en.ts +2 -2
- package/src/tool/safeZones/i18n/fr.ts +11 -11
- package/src/tool/safeZones/i18n/id.ts +2 -2
- package/src/tool/safeZones/i18n/it.ts +6 -6
- package/src/tool/safeZones/i18n/nl.ts +2 -2
- package/src/tool/safeZones/i18n/pl.ts +7 -7
- package/src/tool/safeZones/i18n/pt.ts +2 -2
- package/src/tool/safeZones/i18n/ru.ts +9 -9
- package/src/tool/safeZones/i18n/sv.ts +2 -2
- package/src/tool/safeZones/i18n/zh.ts +4 -4
- package/src/tool/socialImageResizer/component.astro +2 -2
- package/src/tool/socialImageResizer/i18n/de.ts +5 -5
- package/src/tool/socialImageResizer/i18n/en.ts +8 -8
- package/src/tool/socialImageResizer/i18n/es.ts +7 -7
- package/src/tool/socialImageResizer/i18n/fr.ts +11 -11
- package/src/tool/socialImageResizer/i18n/id.ts +8 -8
- package/src/tool/socialImageResizer/i18n/it.ts +16 -16
- package/src/tool/socialImageResizer/i18n/ja.ts +7 -7
- package/src/tool/socialImageResizer/i18n/ko.ts +7 -7
- package/src/tool/socialImageResizer/i18n/nl.ts +8 -8
- package/src/tool/socialImageResizer/i18n/pl.ts +9 -9
- package/src/tool/socialImageResizer/i18n/pt.ts +8 -8
- package/src/tool/socialImageResizer/i18n/ru.ts +14 -14
- package/src/tool/socialImageResizer/i18n/sv.ts +8 -8
- package/src/tool/socialImageResizer/i18n/tr.ts +7 -7
- package/src/tool/socialImageResizer/i18n/zh.ts +7 -7
- package/src/tool/socialValueCalculator/component.astro +1 -2
- package/src/tool/socialValueCalculator/i18n/de.ts +2 -2
- package/src/tool/socialValueCalculator/i18n/en.ts +1 -1
- package/src/tool/socialValueCalculator/i18n/es.ts +2 -2
- package/src/tool/socialValueCalculator/i18n/fr.ts +6 -6
- package/src/tool/socialValueCalculator/i18n/id.ts +1 -1
- package/src/tool/socialValueCalculator/i18n/it.ts +14 -14
- package/src/tool/socialValueCalculator/i18n/ja.ts +1 -1
- package/src/tool/socialValueCalculator/i18n/ko.ts +1 -1
- package/src/tool/socialValueCalculator/i18n/nl.ts +1 -1
- package/src/tool/socialValueCalculator/i18n/pl.ts +1 -1
- package/src/tool/socialValueCalculator/i18n/pt.ts +1 -1
- package/src/tool/socialValueCalculator/i18n/ru.ts +7 -7
- package/src/tool/socialValueCalculator/i18n/sv.ts +1 -1
- package/src/tool/socialValueCalculator/i18n/tr.ts +1 -1
- package/src/tool/socialValueCalculator/i18n/zh.ts +4 -4
- package/src/tool/tinderPhotoOptimizer/component.astro +23 -6
- package/src/tool/tinderPhotoOptimizer/i18n/de.ts +3 -3
- package/src/tool/tinderPhotoOptimizer/i18n/en.ts +1 -1
- package/src/tool/tinderPhotoOptimizer/i18n/es.ts +3 -3
- package/src/tool/tinderPhotoOptimizer/i18n/fr.ts +25 -25
- package/src/tool/tinderPhotoOptimizer/i18n/ru.ts +9 -9
- package/src/tool/tinderPhotoOptimizer/i18n/zh.ts +2 -2
- package/src/tool/youtubeThumbnail/bibliography.ts +1 -1
- package/src/tool/youtubeThumbnail/component.astro +1 -0
- package/src/tool/youtubeThumbnail/i18n/de.ts +3 -3
- package/src/tool/youtubeThumbnail/i18n/en.ts +1 -1
- package/src/tool/youtubeThumbnail/i18n/fr.ts +3 -3
- package/src/tool/youtubeThumbnail/i18n/ru.ts +3 -3
- package/src/tool/youtubeThumbnail/i18n/zh.ts +2 -2
- package/src/tool/youtubeThumbnailPreviewer/i18n/de.ts +8 -8
- package/src/tool/youtubeThumbnailPreviewer/i18n/en.ts +2 -2
- package/src/tool/youtubeThumbnailPreviewer/i18n/fr.ts +9 -9
- package/src/tool/youtubeThumbnailPreviewer/i18n/id.ts +2 -2
- package/src/tool/youtubeThumbnailPreviewer/i18n/it.ts +21 -21
- package/src/tool/youtubeThumbnailPreviewer/i18n/nl.ts +4 -4
- package/src/tool/youtubeThumbnailPreviewer/i18n/pl.ts +7 -7
- package/src/tool/youtubeThumbnailPreviewer/i18n/ru.ts +11 -11
- package/src/tool/youtubeThumbnailPreviewer/i18n/sv.ts +2 -2
- package/src/tool/youtubeThumbnailPreviewer/i18n/zh.ts +10 -10
|
@@ -46,7 +46,7 @@ const howToData = [
|
|
|
46
46
|
},
|
|
47
47
|
{
|
|
48
48
|
name: 'Skopiuj i opublikuj',
|
|
49
|
-
text: 'Kliknij
|
|
49
|
+
text: 'Kliknij \"Kopiuj tekst\" i wklej go bezpośrednio na Reddit lub dowolne forum.',
|
|
50
50
|
},
|
|
51
51
|
];
|
|
52
52
|
|
|
@@ -113,7 +113,7 @@ export const content: ToolLocaleContent<RedditFormatterUI> = {
|
|
|
113
113
|
},
|
|
114
114
|
{
|
|
115
115
|
type: 'paragraph',
|
|
116
|
-
html: 'Po drugie, narzędzie usuwa niewidoczne znaki i wielokrotne spacje. Podczas kopiowania tekstu ze stron internetowych często
|
|
116
|
+
html: 'Po drugie, narzędzie usuwa niewidoczne znaki i wielokrotne spacje. Podczas kopiowania tekstu ze stron internetowych często \"przeciąga się\" znaki o zerowej szerokości, które psują formatowanie lub powodują dziwne zachowanie na forach. Czyścik usuwa te intruzywne elementy i normalizuje powtarzające się spacje do pojedynczej, czystej spacji. Opcjonalnie możesz usunąć wszystkie surowe hiperłącza ze swojej treści, aby opublikować całkowicie neutralny tekst.',
|
|
117
117
|
},
|
|
118
118
|
{
|
|
119
119
|
type: 'title',
|
|
@@ -136,7 +136,7 @@ export const content: ToolLocaleContent<RedditFormatterUI> = {
|
|
|
136
136
|
},
|
|
137
137
|
{
|
|
138
138
|
type: 'paragraph',
|
|
139
|
-
html: 'Aplikacje takie jak Microsoft Word czy Google Docs dodają niewidoczną warstwę bogatego formatowania do tekstu. Gdy kopiujesz i wklejasz tę treść bezpośrednio do podstawowego edytora lub trybu Markdown na Reddit, bogate formatowanie znika, a to, co pozostaje, to często bezkształtna mieszanina. Reddit używa dość rygorystycznego wariantu Markdown. Jeśli nie znasz składni Reddit lub po prostu chcesz usprawnić proces przenoszenia esejów lub opowiadań na forum, wcześniejsze wyczyszczenie tekstu tutaj zapobiega otrzymywaniu przez Twój post
|
|
139
|
+
html: 'Aplikacje takie jak Microsoft Word czy Google Docs dodają niewidoczną warstwę bogatego formatowania do tekstu. Gdy kopiujesz i wklejasz tę treść bezpośrednio do podstawowego edytora lub trybu Markdown na Reddit, bogate formatowanie znika, a to, co pozostaje, to często bezkształtna mieszanina. Reddit używa dość rygorystycznego wariantu Markdown. Jeśli nie znasz składni Reddit lub po prostu chcesz usprawnić proces przenoszenia esejów lub opowiadań na forum, wcześniejsze wyczyszczenie tekstu tutaj zapobiega otrzymywaniu przez Twój post \"downvote\'ów\" tylko dlatego, że nie da się go wygodnie przeczytać.',
|
|
140
140
|
},
|
|
141
141
|
{
|
|
142
142
|
type: 'title',
|
|
@@ -164,7 +164,7 @@ export const content: ToolLocaleContent<RedditFormatterUI> = {
|
|
|
164
164
|
},
|
|
165
165
|
{
|
|
166
166
|
type: 'paragraph',
|
|
167
|
-
html: 'Znalezienie właściwych odpowiedzi na temat interakcji z zasadami redakcyjnymi Reddit nie zawsze jest oczywiste. Sprawdź sekcję FAQ, w której omawiamy główne pytania dotyczące poprawnych formatów i sposobów unikania kar za potężne
|
|
167
|
+
html: 'Znalezienie właściwych odpowiedzi na temat interakcji z zasadami redakcyjnymi Reddit nie zawsze jest oczywiste. Sprawdź sekcję FAQ, w której omawiamy główne pytania dotyczące poprawnych formatów i sposobów unikania kar za potężne \"ściany tekstu\".',
|
|
168
168
|
},
|
|
169
169
|
],
|
|
170
170
|
ui: {
|
|
@@ -46,7 +46,7 @@ const howToData = [
|
|
|
46
46
|
},
|
|
47
47
|
{
|
|
48
48
|
name: 'Скопируйте и опубликуйте',
|
|
49
|
-
text: 'Нажмите
|
|
49
|
+
text: 'Нажмите \"Копировать текст\" и вставьте его прямо в Reddit или на любой форум.',
|
|
50
50
|
},
|
|
51
51
|
];
|
|
52
52
|
|
|
@@ -164,7 +164,7 @@ export const content: ToolLocaleContent<RedditFormatterUI> = {
|
|
|
164
164
|
},
|
|
165
165
|
{
|
|
166
166
|
type: 'paragraph',
|
|
167
|
-
html: 'Найти правильные ответы на вопросы о том, как взаимодействовать с правилами редактирования Reddit, не всегда просто. Ознакомьтесь с разделом часто задаваемых вопросов, где мы рассматриваем основные вопросы о допустимых форматах и о том, как избежать штрафов за огромные
|
|
167
|
+
html: 'Найти правильные ответы на вопросы о том, как взаимодействовать с правилами редактирования Reddit, не всегда просто. Ознакомьтесь с разделом часто задаваемых вопросов, где мы рассматриваем основные вопросы о допустимых форматах и о том, как избежать штрафов за огромные \"стены текста\".',
|
|
168
168
|
},
|
|
169
169
|
],
|
|
170
170
|
ui: {
|
|
@@ -86,7 +86,7 @@ const YOUTUBE_SVG = `<svg viewBox="0 0 24 24" fill="currentColor" width="24" hei
|
|
|
86
86
|
<span class="szl-section-label">{t.labelOpacity}</span>
|
|
87
87
|
<span class="szl-opacity-val" data-szl-opacity-val>85%</span>
|
|
88
88
|
</div>
|
|
89
|
-
<input type="range" class="szl-slider" data-szl-slider min="0" max="100" value="85" />
|
|
89
|
+
<input type="range" class="szl-slider" data-szl-slider min="0" max="100" value="85" aria-label={t.labelOpacity} />
|
|
90
90
|
</div>
|
|
91
91
|
|
|
92
92
|
<div class="szl-toggles">
|
|
@@ -34,7 +34,7 @@ const faqData = [
|
|
|
34
34
|
const howToData = [
|
|
35
35
|
{
|
|
36
36
|
name: 'Bild oder Video laden',
|
|
37
|
-
text: 'Laden Sie die Datei hoch, die Sie in der Vorschau sehen möchten. Die Verarbeitung erfolgt lokal und privat
|
|
37
|
+
text: 'Laden Sie die Datei hoch, die Sie in der Vorschau sehen möchten. Die Verarbeitung erfolgt lokal und privat - es wird nichts ins Internet hochgeladen.',
|
|
38
38
|
},
|
|
39
39
|
{
|
|
40
40
|
name: 'Plattform auswählen',
|
|
@@ -177,7 +177,7 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
177
177
|
},
|
|
178
178
|
{
|
|
179
179
|
type: 'paragraph',
|
|
180
|
-
html: 'Design für soziale Medien ist nicht nur Ästhetik
|
|
180
|
+
html: 'Design für soziale Medien ist nicht nur Ästhetik - es ist <strong>Benutzerfreundlichkeit</strong>. Wenn ein Benutzer kämpfen muss, um Text zu lesen, weil die Symbole der Plattform ihn verdecken, wischt er einfach zum nächsten Video weiter. Die Verweildauer (Watch Time) sinkt drastisch, wenn es visuelle Reibung gibt.',
|
|
181
181
|
},
|
|
182
182
|
{
|
|
183
183
|
type: 'paragraph',
|
|
@@ -34,7 +34,7 @@ const faqData = [
|
|
|
34
34
|
const howToData = [
|
|
35
35
|
{
|
|
36
36
|
name: 'Load your image or video',
|
|
37
|
-
text: 'Upload the file you want to preview. Processing is local and private
|
|
37
|
+
text: 'Upload the file you want to preview. Processing is local and private - nothing is uploaded to the internet.',
|
|
38
38
|
},
|
|
39
39
|
{
|
|
40
40
|
name: 'Select the platform',
|
|
@@ -177,7 +177,7 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
177
177
|
},
|
|
178
178
|
{
|
|
179
179
|
type: 'paragraph',
|
|
180
|
-
html: 'Designing for social media is not just aesthetics
|
|
180
|
+
html: 'Designing for social media is not just aesthetics - it is <strong>usability</strong>. If a user has to struggle to read text because the platform\'s icons are covering it, they will simply swipe to the next video. Retention (Watch Time) drops sharply when there is visual friction.',
|
|
181
181
|
},
|
|
182
182
|
{
|
|
183
183
|
type: 'paragraph',
|
|
@@ -4,7 +4,7 @@ import type { ToolLocaleContent } from '../../../types';
|
|
|
4
4
|
import type { SafeZonesUI } from '../ui';
|
|
5
5
|
|
|
6
6
|
const slug = 'simulateur-reseaux';
|
|
7
|
-
const title = 'Safe Zones Réseaux Sociaux
|
|
7
|
+
const title = 'Safe Zones Réseaux Sociaux: Simulateur Vidéo TikTok, Reels et Shorts';
|
|
8
8
|
const description =
|
|
9
9
|
'Prévisualisez vos images et vidéos avec la vraie interface des réseaux sociaux. Assurez-vous que votre contenu est toujours visible et évitez les recadrages accidentels.';
|
|
10
10
|
|
|
@@ -34,7 +34,7 @@ const faqData = [
|
|
|
34
34
|
const howToData = [
|
|
35
35
|
{
|
|
36
36
|
name: 'Charger votre image ou vidéo',
|
|
37
|
-
text: "Téléchargez le fichier que vous souhaitez prévisualiser. Le traitement est local et privé
|
|
37
|
+
text: "Téléchargez le fichier que vous souhaitez prévisualiser. Le traitement est local et privé - rien n'est envoyé sur internet.",
|
|
38
38
|
},
|
|
39
39
|
{
|
|
40
40
|
name: 'Sélectionner la plateforme',
|
|
@@ -95,7 +95,7 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
95
95
|
seo: [
|
|
96
96
|
{
|
|
97
97
|
type: 'title',
|
|
98
|
-
text: 'Guide Maître des Zones Sécurisées
|
|
98
|
+
text: 'Guide Maître des Zones Sécurisées: Optimisez vos Reels, TikToks et Shorts',
|
|
99
99
|
level: 2,
|
|
100
100
|
},
|
|
101
101
|
{
|
|
@@ -111,19 +111,19 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
111
111
|
columns: [
|
|
112
112
|
{
|
|
113
113
|
type: 'card',
|
|
114
|
-
title: "TikTok
|
|
115
|
-
html: "<p>TikTok possède l'interface la plus dense. Sur la droite, une colonne d'icônes occupe environ 15% de la largeur. En bas, la description peut s'étendre sur 4 ou 5 lignes si elle est longue, couvrant presque un tiers de l'écran depuis le bas.</p><ul><li><strong>Marge inférieure :</strong> Laissez libres les 250 derniers pixels pour éviter le texte de la description et le nom d'utilisateur.</li><li><strong>Marge droite :</strong> Évitez de placer du texte à moins de 100px du bord droit.</li><li><strong>Haut :</strong> Les boutons
|
|
114
|
+
title: "TikTok: L'interface la plus invasive",
|
|
115
|
+
html: "<p>TikTok possède l'interface la plus dense. Sur la droite, une colonne d'icônes occupe environ 15% de la largeur. En bas, la description peut s'étendre sur 4 ou 5 lignes si elle est longue, couvrant presque un tiers de l'écran depuis le bas.</p><ul><li><strong>Marge inférieure :</strong> Laissez libres les 250 derniers pixels pour éviter le texte de la description et le nom d'utilisateur.</li><li><strong>Marge droite :</strong> Évitez de placer du texte à moins de 100px du bord droit.</li><li><strong>Haut :</strong> Les boutons \" Abonnements \" et \" Pour toi \" occupent la bande supérieure centrale.</li></ul>",
|
|
116
116
|
},
|
|
117
117
|
{
|
|
118
118
|
type: 'card',
|
|
119
|
-
title: 'IG Reels
|
|
119
|
+
title: 'IG Reels: Le facteur du fil',
|
|
120
120
|
html: "<p>Contrairement à TikTok, Instagram Reels recadre la vidéo au format 4:5 lorsqu'elle est visualisée depuis le fil principal (pas depuis l'onglet Reels). Cela signifie que si vous placez des informations vitales dans les 15% supérieurs ou inférieurs de votre vidéo 9:16, elles disparaîtront dans le fil.</p><ul><li><strong>La règle du 4:5 :</strong> Gardez les titres et éléments clés dans la zone centrale pour assurer la visibilité dans le fil.</li><li><strong>Interface :</strong> Les icônes de Reels sont plus subtiles que celles de TikTok, permettant un peu plus de marge latérale.</li><li><strong>Bouton audio :</strong> Situé en bas à droite, il couvre généralement bien moins que le disque tournant de TikTok.</li></ul>",
|
|
121
121
|
},
|
|
122
122
|
],
|
|
123
123
|
},
|
|
124
124
|
{
|
|
125
125
|
type: 'title',
|
|
126
|
-
text: 'YouTube Shorts
|
|
126
|
+
text: 'YouTube Shorts: Attention à la droite',
|
|
127
127
|
level: 3,
|
|
128
128
|
},
|
|
129
129
|
{
|
|
@@ -135,7 +135,7 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
135
135
|
items: [
|
|
136
136
|
'<strong>Marge droite :</strong> Évitez de placer du texte ou des éléments importants dans les 20% inférieurs droits.',
|
|
137
137
|
"<strong>Marge inférieure :</strong> Laissez libres les 150 derniers pixels pour éviter le texte de la description et le nom d'utilisateur.",
|
|
138
|
-
"<strong>Haut :</strong> Les boutons
|
|
138
|
+
"<strong>Haut :</strong> Les boutons \" S'abonner \" et \" Plus \" occupent la bande supérieure centrale.",
|
|
139
139
|
],
|
|
140
140
|
},
|
|
141
141
|
{
|
|
@@ -150,7 +150,7 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
150
150
|
},
|
|
151
151
|
{
|
|
152
152
|
type: 'paragraph',
|
|
153
|
-
html: 'La
|
|
153
|
+
html: 'La \" Zone d\'Or \" pour l\'action principale est le tiers central de la vidéo. Si vous filmez une personne, assurez-vous que ses yeux et sa bouche se trouvent dans cette zone. Les éléments graphiques importants doivent être légèrement décalés vers le haut par rapport au centre géométrique pour éviter la description inférieure.',
|
|
154
154
|
},
|
|
155
155
|
{
|
|
156
156
|
type: 'title',
|
|
@@ -168,7 +168,7 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
168
168
|
},
|
|
169
169
|
{
|
|
170
170
|
type: 'paragraph',
|
|
171
|
-
html: 'Rappelez-vous que les téléphones modernes ont des
|
|
171
|
+
html: 'Rappelez-vous que les téléphones modernes ont des \" encoches \" ou des trous de caméra à l\'écran. Cet outil inclut une marge de sécurité supérieure pour que votre contenu n\'entre pas en conflit avec l\'horloge ou les icônes système (batterie, signal).',
|
|
172
172
|
},
|
|
173
173
|
{
|
|
174
174
|
type: 'title',
|
|
@@ -177,7 +177,7 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
177
177
|
},
|
|
178
178
|
{
|
|
179
179
|
type: 'paragraph',
|
|
180
|
-
html: "Concevoir pour les réseaux sociaux n'est pas seulement esthétique
|
|
180
|
+
html: "Concevoir pour les réseaux sociaux n'est pas seulement esthétique - c'est de l'<strong>utilisabilité</strong>. Si un utilisateur doit faire un effort pour lire un texte parce que les icônes de la plateforme le couvrent, il passera simplement à la vidéo suivante. La rétention (Watch Time) chute brutalement en cas de friction visuelle.",
|
|
181
181
|
},
|
|
182
182
|
{
|
|
183
183
|
type: 'paragraph',
|
|
@@ -34,7 +34,7 @@ const faqData = [
|
|
|
34
34
|
const howToData = [
|
|
35
35
|
{
|
|
36
36
|
name: 'Muat gambar atau video Anda',
|
|
37
|
-
text: 'Unggah file yang ingin Anda pratinjau. Pemrosesan bersifat lokal dan pribadi
|
|
37
|
+
text: 'Unggah file yang ingin Anda pratinjau. Pemrosesan bersifat lokal dan pribadi - tidak ada yang diunggah ke internet.',
|
|
38
38
|
},
|
|
39
39
|
{
|
|
40
40
|
name: 'Pilih platform',
|
|
@@ -177,7 +177,7 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
177
177
|
},
|
|
178
178
|
{
|
|
179
179
|
type: 'paragraph',
|
|
180
|
-
html: 'Mendesain untuk media sosial bukan hanya tentang estetika
|
|
180
|
+
html: 'Mendesain untuk media sosial bukan hanya tentang estetika - ini tentang <strong>kegunaan</strong>. Jika pengguna harus berjuang untuk membaca teks karena ikon platform menutupinya, mereka akan langsung beralih ke video berikutnya. Retensi (Watch Time) turun tajam saat terjadi gesekan visual.',
|
|
181
181
|
},
|
|
182
182
|
{
|
|
183
183
|
type: 'paragraph',
|
|
@@ -25,7 +25,7 @@ const faqData = [
|
|
|
25
25
|
"Sono molto simili ma non identiche. I pulsanti di YouTube Shorts sono posizionati diversamente rispetto a quelli di Reels. Il nostro strumento ti consente di passare da una piattaforma all'altra per verificare il tuo design su ognuna di esse.",
|
|
26
26
|
},
|
|
27
27
|
{
|
|
28
|
-
question: 'Cosa succede se metto del testo nell
|
|
28
|
+
question: 'Cosa succede se metto del testo nell\'angolo in basso a destra?',
|
|
29
29
|
answer:
|
|
30
30
|
"Probabilmente sarà invisibile o molto difficile da leggere, poiché è lì che si trovano le icone del profilo, del cuore e dei commenti. Idealmente, tieni testi e volti nell'area centrale superiore (Zona Sicura).",
|
|
31
31
|
},
|
|
@@ -34,7 +34,7 @@ const faqData = [
|
|
|
34
34
|
const howToData = [
|
|
35
35
|
{
|
|
36
36
|
name: 'Carica la tua immagine o il tuo video',
|
|
37
|
-
text: "Carica il file che desideri visualizzare in anteprima. L'elaborazione è locale e privata
|
|
37
|
+
text: "Carica il file che desideri visualizzare in anteprima. L'elaborazione è locale e privata - nulla viene caricato su internet.",
|
|
38
38
|
},
|
|
39
39
|
{
|
|
40
40
|
name: 'Seleziona la piattaforma',
|
|
@@ -111,8 +111,8 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
111
111
|
columns: [
|
|
112
112
|
{
|
|
113
113
|
type: 'card',
|
|
114
|
-
title: 'TikTok: L
|
|
115
|
-
html: "<p>TikTok ha l'interfaccia più densa. Sul lato destro, c
|
|
114
|
+
title: 'TikTok: L\'interfaccia più invasiva',
|
|
115
|
+
html: "<p>TikTok ha l'interfaccia più densa. Sul lato destro, c\'è una colonna di icone che occupa circa il 15% della larghezza. In basso, la descrizione può estendersi su 4 o 5 righe, coprendo quasi un terzo dello schermo dal basso.</p><ul><li><strong>Margine inferiore:</strong> Lascia liberi gli ultimi 250px per evitare il testo della descrizione e il nome utente.</li><li><strong>Margine destro:</strong> Evita di posizionare il testo entro 100px dal bordo destro.</li><li><strong>In alto:</strong> I pulsanti \"Seguiti\" e \"Per te\" occupano la fascia centrale superiore.</li></ul>",
|
|
116
116
|
},
|
|
117
117
|
{
|
|
118
118
|
type: 'card',
|
|
@@ -128,7 +128,7 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
128
128
|
},
|
|
129
129
|
{
|
|
130
130
|
type: 'paragraph',
|
|
131
|
-
html: "YouTube Shorts ha un
|
|
131
|
+
html: "YouTube Shorts ha un\'interfaccia asimmetrica. Il pulsante iscriviti è molto visibile e di colore solido (solitamente nero o bianco), creando un importante punto cieco visivo in basso a destra.",
|
|
132
132
|
},
|
|
133
133
|
{
|
|
134
134
|
type: 'list',
|
|
@@ -177,7 +177,7 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
177
177
|
},
|
|
178
178
|
{
|
|
179
179
|
type: 'paragraph',
|
|
180
|
-
html: "Progettare per i social media non è solo estetica
|
|
180
|
+
html: "Progettare per i social media non è solo estetica - è <strong>usabilità</strong>. Se un utente deve sforzarsi per leggere il testo perché le icone della piattaforma lo coprono, passerà semplicemente al video successivo. La ritenzione (Watch Time) cala drasticamente quando c'è un attrito visivo.",
|
|
181
181
|
},
|
|
182
182
|
{
|
|
183
183
|
type: 'paragraph',
|
|
@@ -34,7 +34,7 @@ const faqData = [
|
|
|
34
34
|
const howToData = [
|
|
35
35
|
{
|
|
36
36
|
name: 'Laad uw afbeelding of video',
|
|
37
|
-
text: 'Upload het bestand waarvan u een voorbeeld wilt zien. De verwerking is lokaal en privé
|
|
37
|
+
text: 'Upload het bestand waarvan u een voorbeeld wilt zien. De verwerking is lokaal en privé - er wordt niets naar internet geüpload.',
|
|
38
38
|
},
|
|
39
39
|
{
|
|
40
40
|
name: 'Selecteer het platform',
|
|
@@ -177,7 +177,7 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
177
177
|
},
|
|
178
178
|
{
|
|
179
179
|
type: 'paragraph',
|
|
180
|
-
html: 'Ontwerpen voor sociale media gaat niet alleen over esthetiek
|
|
180
|
+
html: 'Ontwerpen voor sociale media gaat niet alleen over esthetiek - het gaat over <strong>gebruiksvriendelijkheid</strong>. Als een gebruiker moeite moet doen om tekst te lezen omdat de iconen van het platform deze bedekken, zullen ze simpelweg naar de volgende video swipen. Retentie (kijkduur) daalt scherp als er visuele wrijving is.',
|
|
181
181
|
},
|
|
182
182
|
{
|
|
183
183
|
type: 'paragraph',
|
|
@@ -10,7 +10,7 @@ const description =
|
|
|
10
10
|
|
|
11
11
|
const faqData = [
|
|
12
12
|
{
|
|
13
|
-
question: "Czym są
|
|
13
|
+
question: "Czym są \"strefy bezpieczne\" (Safe Zones) w mediach społecznościowych?",
|
|
14
14
|
answer:
|
|
15
15
|
"Są to obszary ekranu, w których treść jest widoczna bez ryzyka zasłonięcia przez elementy interfejsu, takie jak nazwa użytkownika, opis, przyciski interakcji (polubienie, udostępnienie) lub automatyczne przycięcia stosowane przez niektóre urządzenia.",
|
|
16
16
|
},
|
|
@@ -34,7 +34,7 @@ const faqData = [
|
|
|
34
34
|
const howToData = [
|
|
35
35
|
{
|
|
36
36
|
name: 'Wczytaj zdjęcie lub film',
|
|
37
|
-
text: "Prześlij plik, który chcesz podejrzeć. Przetwarzanie odbywa się lokalnie i prywatnie
|
|
37
|
+
text: "Prześlij plik, który chcesz podejrzeć. Przetwarzanie odbywa się lokalnie i prywatnie - nic nie jest wysyłane do Internetu.",
|
|
38
38
|
},
|
|
39
39
|
{
|
|
40
40
|
name: 'Wybierz platformę',
|
|
@@ -104,7 +104,7 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
104
104
|
},
|
|
105
105
|
{
|
|
106
106
|
type: 'paragraph',
|
|
107
|
-
html: "To narzędzie pozwala wczytać pliki multimedialne i podejrzeć dokładnie, które części kadru zostaną pochłonięte przez interfejs. Nie chodzi tylko o <strong>napisy</strong>; chodzi o upewnienie się, że twarze, produkty lub główne akcje w Twoim filmie nie zostaną pogrzebane pod przyciskiem
|
|
107
|
+
html: "To narzędzie pozwala wczytać pliki multimedialne i podejrzeć dokładnie, które części kadru zostaną pochłonięte przez interfejs. Nie chodzi tylko o <strong>napisy</strong>; chodzi o upewnienie się, że twarze, produkty lub główne akcje w Twoim filmie nie zostaną pogrzebane pod przyciskiem \"Lubię to\" lub długim opisem.",
|
|
108
108
|
},
|
|
109
109
|
{
|
|
110
110
|
type: 'grid',
|
|
@@ -112,7 +112,7 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
112
112
|
{
|
|
113
113
|
type: 'card',
|
|
114
114
|
title: 'TikTok: Najbardziej inwazyjny interfejs',
|
|
115
|
-
html: "<p>TikTok posiada najbardziej zagęszczony interfejs. Po prawej stronie znajduje się kolumna ikon zajmująca około 15% szerokości. Na dole opis może rozciągać się na 4 lub 5 linii, zakrywając od dołu prawie jedną trzecią ekranu.</p><ul><li><strong>Dolny margines:</strong> Pozostaw ostatnie 250px wolne, aby uniknąć tekstu opisu i nazwy użytkownika.</li><li><strong>Prawy margines:</strong> Unikaj umieszczania tekstu w odległości mniejszej niż 100px od prawej krawędzi.</li><li><strong>Góra:</strong> Przyciski
|
|
115
|
+
html: "<p>TikTok posiada najbardziej zagęszczony interfejs. Po prawej stronie znajduje się kolumna ikon zajmująca około 15% szerokości. Na dole opis może rozciągać się na 4 lub 5 linii, zakrywając od dołu prawie jedną trzecią ekranu.</p><ul><li><strong>Dolny margines:</strong> Pozostaw ostatnie 250px wolne, aby uniknąć tekstu opisu i nazwy użytkownika.</li><li><strong>Prawy margines:</strong> Unikaj umieszczania tekstu w odległości mniejszej niż 100px od prawej krawędzi.</li><li><strong>Góra:</strong> Przyciski \"Obserwujesz\" i \"Dla Ciebie\" zajmują górny środkowy pas.</li></ul>",
|
|
116
116
|
},
|
|
117
117
|
{
|
|
118
118
|
type: 'card',
|
|
@@ -135,7 +135,7 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
135
135
|
items: [
|
|
136
136
|
'<strong>Prawy margines:</strong> Unikaj umieszczania tekstu lub ważnych elementów w prawym dolnym obszarze 20%.',
|
|
137
137
|
'<strong>Dolny margines:</strong> Pozostaw ostatnie 150px wolne, aby uniknąć tekstu opisu i nazwy użytkownika.',
|
|
138
|
-
'<strong>Góra:</strong> Przyciski
|
|
138
|
+
'<strong>Góra:</strong> Przyciski \"Subskrybuj\" i inne zajmują górny środkowy pas.',
|
|
139
139
|
],
|
|
140
140
|
},
|
|
141
141
|
{
|
|
@@ -150,7 +150,7 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
150
150
|
},
|
|
151
151
|
{
|
|
152
152
|
type: 'paragraph',
|
|
153
|
-
html: '
|
|
153
|
+
html: '\"Złota Strefa\" dla głównej akcji to środkowa jedna trzecia filmu. Jeśli filmujesz osobę, upewnij się, że jej oczy i usta znajdują się w tej strefie. Ważne elementy graficzne powinny być nieco przesunięte w górę od geometrycznego środka, aby uniknąć dolnego opisu.',
|
|
154
154
|
},
|
|
155
155
|
{
|
|
156
156
|
type: 'title',
|
|
@@ -177,7 +177,7 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
177
177
|
},
|
|
178
178
|
{
|
|
179
179
|
type: 'paragraph',
|
|
180
|
-
html: "Projektowanie dla mediów społecznościowych to nie tylko estetyka
|
|
180
|
+
html: "Projektowanie dla mediów społecznościowych to nie tylko estetyka - to <strong>użyteczność</strong>. Jeśli użytkownik musi walczyć o przeczytanie tekstu, ponieważ ikony platformy go zasłaniają, po prostu przejdzie do następnego filmu. Retencja (Watch Time) gwałtownie spada, gdy pojawia się wizualne tarcie.",
|
|
181
181
|
},
|
|
182
182
|
{
|
|
183
183
|
type: 'paragraph',
|
|
@@ -34,7 +34,7 @@ const faqData = [
|
|
|
34
34
|
const howToData = [
|
|
35
35
|
{
|
|
36
36
|
name: 'Carrega a tua imagem ou vídeo',
|
|
37
|
-
text: 'Faz o upload do ficheiro que desejas pré-visualizar. O processamento é local e privado
|
|
37
|
+
text: 'Faz o upload do ficheiro que desejas pré-visualizar. O processamento é local e privado - nada é carregado para a internet.',
|
|
38
38
|
},
|
|
39
39
|
{
|
|
40
40
|
name: 'Seleciona a plataforma',
|
|
@@ -177,7 +177,7 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
177
177
|
},
|
|
178
178
|
{
|
|
179
179
|
type: 'paragraph',
|
|
180
|
-
html: 'Desenhar para redes sociais não é apenas estética
|
|
180
|
+
html: 'Desenhar para redes sociais não é apenas estética - é <strong>usabilidade</strong>. Se um utilizador tiver de lutar para ler texto porque os ícones da plataforma o cobrem, ele simplesmente passará para o vídeo seguinte. A retenção (Watch Time) cai drasticamente quando há fricção visual.',
|
|
181
181
|
},
|
|
182
182
|
{
|
|
183
183
|
type: 'paragraph',
|
|
@@ -10,7 +10,7 @@ const description =
|
|
|
10
10
|
|
|
11
11
|
const faqData = [
|
|
12
12
|
{
|
|
13
|
-
question: 'Что такое
|
|
13
|
+
question: 'Что такое \"безопасные зоны\" в социальных сетях?',
|
|
14
14
|
answer:
|
|
15
15
|
'Это области экрана, где контент виден без риска быть перекрытым элементами интерфейса, такими как имя пользователя, описание, кнопки взаимодействия (лайк, репост) или автоматическая обрезка, применяемая некоторыми устройствами.',
|
|
16
16
|
},
|
|
@@ -34,7 +34,7 @@ const faqData = [
|
|
|
34
34
|
const howToData = [
|
|
35
35
|
{
|
|
36
36
|
name: 'Загрузите изображение или видео',
|
|
37
|
-
text: 'Загрузите файл, который хотите просмотреть. Обработка происходит локально и конфиденциально
|
|
37
|
+
text: 'Загрузите файл, который хотите просмотреть. Обработка происходит локально и конфиденциально - ничего не загружается в интернет.',
|
|
38
38
|
},
|
|
39
39
|
{
|
|
40
40
|
name: 'Выберите платформу',
|
|
@@ -100,11 +100,11 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
100
100
|
},
|
|
101
101
|
{
|
|
102
102
|
type: 'paragraph',
|
|
103
|
-
html: 'В перенасыщенном мире вертикального контента первое впечатление
|
|
103
|
+
html: 'В перенасыщенном мире вертикального контента первое впечатление - техническое. Самая большая ошибка авторов - игнорирование того, как их <strong>видео или изображение</strong> взаимодействует с нативным интерфейсом платформы. Каждая социальная сеть (TikTok, Instagram Reels и YouTube Shorts) накладывает слои кнопок, текста и профилей, которые могут свести на нет визуальный эффект вашей композиции.',
|
|
104
104
|
},
|
|
105
105
|
{
|
|
106
106
|
type: 'paragraph',
|
|
107
|
-
html: 'Этот инструмент позволяет загружать медиафайлы и просматривать, какие именно части вашего кадра будут перекрыты интерфейсом. Речь идет не только о <strong>субтитрах</strong>; речь идет о том, чтобы лица, продукты или основные действия в вашем видео не оказались погребены под кнопкой
|
|
107
|
+
html: 'Этот инструмент позволяет загружать медиафайлы и просматривать, какие именно части вашего кадра будут перекрыты интерфейсом. Речь идет не только о <strong>субтитрах</strong>; речь идет о том, чтобы лица, продукты или основные действия в вашем видео не оказались погребены под кнопкой \"Нравится\" или длинным описанием.',
|
|
108
108
|
},
|
|
109
109
|
{
|
|
110
110
|
type: 'grid',
|
|
@@ -112,7 +112,7 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
112
112
|
{
|
|
113
113
|
type: 'card',
|
|
114
114
|
title: 'TikTok: самый навязчивый интерфейс',
|
|
115
|
-
html: '<p>TikTok имеет самый плотный интерфейс. С правой стороны находится колонка иконок, занимающая примерно 15% ширины. Внизу описание может растягиваться на 4 или 5 строк, закрывая почти треть экрана снизу.</p><ul><li><strong>Нижний отступ:</strong> оставляйте последние 250 пикселей свободными, чтобы избежать перекрытия текстом описания и именем пользователя.</li><li><strong>Правый отступ:</strong> избегайте размещения текста в пределах 100 пикселей от правого края.</li><li><strong>Верх:</strong> кнопки
|
|
115
|
+
html: '<p>TikTok имеет самый плотный интерфейс. С правой стороны находится колонка иконок, занимающая примерно 15% ширины. Внизу описание может растягиваться на 4 или 5 строк, закрывая почти треть экрана снизу.</p><ul><li><strong>Нижний отступ:</strong> оставляйте последние 250 пикселей свободными, чтобы избежать перекрытия текстом описания и именем пользователя.</li><li><strong>Правый отступ:</strong> избегайте размещения текста в пределах 100 пикселей от правого края.</li><li><strong>Верх:</strong> кнопки \"Подписки\" и \"Рекомендации\" занимают верхнюю центральную полосу.</li></ul>',
|
|
116
116
|
},
|
|
117
117
|
{
|
|
118
118
|
type: 'card',
|
|
@@ -150,7 +150,7 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
150
150
|
},
|
|
151
151
|
{
|
|
152
152
|
type: 'paragraph',
|
|
153
|
-
html: '
|
|
153
|
+
html: '\"Золотая зона\" для основного действия - центральная треть видео. Если вы снимаете человека, убедитесь, что его глаза и рот находятся в этой зоне. Важные графические элементы должны быть слегка смещены вверх от геометрического центра, чтобы избежать перекрытия нижним описанием.',
|
|
154
154
|
},
|
|
155
155
|
{
|
|
156
156
|
type: 'title',
|
|
@@ -177,7 +177,7 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
177
177
|
},
|
|
178
178
|
{
|
|
179
179
|
type: 'paragraph',
|
|
180
|
-
html: 'Дизайн для социальных сетей
|
|
180
|
+
html: 'Дизайн для социальных сетей - это не только эстетика, но и <strong>удобство использования</strong>. Если пользователю приходится изо всех сил пытаться прочитать текст, потому что иконки платформы закрывают его, он просто перелистнет к следующему видео. Удержание (Watch Time) резко падает при наличии визуального дискомфорта.',
|
|
181
181
|
},
|
|
182
182
|
{
|
|
183
183
|
type: 'paragraph',
|
|
@@ -209,14 +209,14 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
209
209
|
ttFollowing: 'Подписки',
|
|
210
210
|
ttForYou: 'Рекомендации',
|
|
211
211
|
ttDescription: 'Реальный дизайн интерфейса для создателей контента. #uxdesign #socialmedia',
|
|
212
|
-
ttAudio: 'jjlmoya
|
|
212
|
+
ttAudio: 'jjlmoya - оригинальный звук',
|
|
213
213
|
ttNavHome: 'Главная',
|
|
214
214
|
ttNavFriends: 'Друзья',
|
|
215
215
|
ttNavInbox: 'Входящие',
|
|
216
216
|
ttNavProfile: 'Профиль',
|
|
217
217
|
reelsFollow: 'Подписаться',
|
|
218
218
|
reelsDescription: 'Этот интерфейс идентичен реальному. #reels #ux #simulator',
|
|
219
|
-
reelsAudio: 'Trending Music
|
|
219
|
+
reelsAudio: 'Trending Music - оригинальное аудио',
|
|
220
220
|
shortsSubscribe: 'ПОДПИСАТЬСЯ',
|
|
221
221
|
shortsDislike: 'Не нравится',
|
|
222
222
|
shortsShare: 'Поделиться',
|
|
@@ -34,7 +34,7 @@ const faqData = [
|
|
|
34
34
|
const howToData = [
|
|
35
35
|
{
|
|
36
36
|
name: 'Ladda upp din bild eller video',
|
|
37
|
-
text: 'Ladda upp filen du vill förhandsgranska. Bearbetningen sker lokalt och privat
|
|
37
|
+
text: 'Ladda upp filen du vill förhandsgranska. Bearbetningen sker lokalt och privat - inget laddas upp till internet.',
|
|
38
38
|
},
|
|
39
39
|
{
|
|
40
40
|
name: 'Välj plattform',
|
|
@@ -177,7 +177,7 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
177
177
|
},
|
|
178
178
|
{
|
|
179
179
|
type: 'paragraph',
|
|
180
|
-
html: 'Att designa för sociala medier handlar inte bara om estetik
|
|
180
|
+
html: 'Att designa för sociala medier handlar inte bara om estetik - det handlar om <strong>användbarhet</strong>. Om en användare måste kämpa för att läsa text för att plattformens ikoner täcker den, kommer de helt enkelt att svepa vidare till nästa video. Behållningen (Watch Time) sjunker kraftigt när det finns visuell friktion.',
|
|
181
181
|
},
|
|
182
182
|
{
|
|
183
183
|
type: 'paragraph',
|
|
@@ -10,7 +10,7 @@ const description =
|
|
|
10
10
|
|
|
11
11
|
const faqData = [
|
|
12
12
|
{
|
|
13
|
-
question: '
|
|
13
|
+
question: '什么是社交媒体上的\"安全区域\"?',
|
|
14
14
|
answer:
|
|
15
15
|
'安全区域是指屏幕上内容可见且不会被界面元素(如用户名、描述、交互按钮(点赞、分享))或某些设备应用的自动裁剪所遮挡的区域。',
|
|
16
16
|
},
|
|
@@ -104,7 +104,7 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
104
104
|
},
|
|
105
105
|
{
|
|
106
106
|
type: 'paragraph',
|
|
107
|
-
html: '此工具允许您加载媒体文件,并准确预览画面的哪些部分会被界面遮挡。这不仅仅关乎<strong>字幕</strong
|
|
107
|
+
html: '此工具允许您加载媒体文件,并准确预览画面的哪些部分会被界面遮挡。这不仅仅关乎<strong>字幕</strong>;它还关乎确保视频中的脸部、产品或主要动作不会被嵌入\"点赞\"按钮或冗长的描述之下。',
|
|
108
108
|
},
|
|
109
109
|
{
|
|
110
110
|
type: 'grid',
|
|
@@ -112,7 +112,7 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
112
112
|
{
|
|
113
113
|
type: 'card',
|
|
114
114
|
title: 'TikTok:最具侵入性的界面',
|
|
115
|
-
html: '<p>TikTok 的界面最为密集。在右侧,有一列图标占据了约 15% 的宽度。在底部,描述可以扩展到 4 或 5 行,从下方遮挡了近三分之一的屏幕。</p><ul><li><strong>底部边距:</strong>保留最后 250px 的自由空间,以避开描述文字和用户名。</li><li><strong>右侧边距:</strong>避免在距离右边缘 100px 范围内放置文字。</li><li><strong>顶部:</strong
|
|
115
|
+
html: '<p>TikTok 的界面最为密集。在右侧,有一列图标占据了约 15% 的宽度。在底部,描述可以扩展到 4 或 5 行,从下方遮挡了近三分之一的屏幕。</p><ul><li><strong>底部边距:</strong>保留最后 250px 的自由空间,以避开描述文字和用户名。</li><li><strong>右侧边距:</strong>避免在距离右边缘 100px 范围内放置文字。</li><li><strong>顶部:</strong>\"关注\"和\"推荐\"按钮占据了顶部中央条案。</li></ul>',
|
|
116
116
|
},
|
|
117
117
|
{
|
|
118
118
|
type: 'card',
|
|
@@ -150,7 +150,7 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
150
150
|
},
|
|
151
151
|
{
|
|
152
152
|
type: 'paragraph',
|
|
153
|
-
html: '
|
|
153
|
+
html: '主要动作的\"黄金区域\"是视频的中央三分之一。如果您正在拍摄人物,请确保他们的眼睛和嘴巴在这个区域内。重要的图形元素应从几何中心略微向上移动,以避开底部的描述。',
|
|
154
154
|
},
|
|
155
155
|
{
|
|
156
156
|
type: 'title',
|
|
@@ -73,7 +73,7 @@ const icons: Record<string, string> = {
|
|
|
73
73
|
<h2>{t.uploadTitle}</h2>
|
|
74
74
|
<p>{t.uploadSubtitle}</p>
|
|
75
75
|
</div>
|
|
76
|
-
<input type="file" id="sri-file-input" accept="image/*" hidden />
|
|
76
|
+
<input type="file" id="sri-file-input" class="file-input" accept="image/*" hidden />
|
|
77
77
|
</div>
|
|
78
78
|
|
|
79
79
|
<div class="sri-editor-view" id="sri-editor-view">
|
|
@@ -84,7 +84,7 @@ const icons: Record<string, string> = {
|
|
|
84
84
|
<div class="sri-editor-actions">
|
|
85
85
|
<div class="sri-zoom-control">
|
|
86
86
|
<span set:html={icons.zoomOut} />
|
|
87
|
-
<input type="range" id="sri-zoom-range" min="10" max="300" value="100" />
|
|
87
|
+
<input type="range" id="sri-zoom-range" min="10" max="300" value="100" aria-label="Zoom" />
|
|
88
88
|
<span set:html={icons.zoomIn} />
|
|
89
89
|
</div>
|
|
90
90
|
|
|
@@ -91,7 +91,7 @@ export const content: ToolLocaleContent<SocialImageResizerUI> = {
|
|
|
91
91
|
},
|
|
92
92
|
{
|
|
93
93
|
type: 'paragraph',
|
|
94
|
-
html: 'Im heutigen digitalen Ökosystem ist der erste Eindruck visuell. Jedes soziale Netzwerk arbeitet mit spezifischen Algorithmen, die Inhalte bevorzugen, die nativ an ihre Proportionen angepasst sind. Unser Social Media Image Resizer ist nicht nur ein technisches Werkzeug
|
|
94
|
+
html: 'Im heutigen digitalen Ökosystem ist der erste Eindruck visuell. Jedes soziale Netzwerk arbeitet mit spezifischen Algorithmen, die Inhalte bevorzugen, die nativ an ihre Proportionen angepasst sind. Unser Social Media Image Resizer ist nicht nur ein technisches Werkzeug - er ist Ihr Partner, um sicherzustellen, dass Ihre Botschaft ohne unerwünschte Zuschnitte oder Qualitätsverluste ankommt.',
|
|
95
95
|
},
|
|
96
96
|
{
|
|
97
97
|
type: 'paragraph',
|
|
@@ -105,10 +105,10 @@ export const content: ToolLocaleContent<SocialImageResizerUI> = {
|
|
|
105
105
|
{
|
|
106
106
|
type: 'grid',
|
|
107
107
|
columns: [
|
|
108
|
-
{ title: 'Instagram
|
|
109
|
-
{ title: 'Instagram
|
|
110
|
-
{ title: 'TikTok / Reels
|
|
111
|
-
{ title: 'YouTube
|
|
108
|
+
{ title: 'Instagram: Quadratischer Post', body: '1080 × 1080 px · Verhältnis 1:1' },
|
|
109
|
+
{ title: 'Instagram: Vertikaler Post', body: '1080 × 1350 px · Verhältnis 4:5' },
|
|
110
|
+
{ title: 'TikTok / Reels: Vertikal', body: '1080 × 1920 px · Verhältnis 9:16' },
|
|
111
|
+
{ title: 'YouTube: Thumbnail', body: '1280 × 720 px · Verhältnis 16:9' },
|
|
112
112
|
{ title: 'YouTube Kanal Banner', body: '2560 × 1440 px · Verhältnis 16:9' },
|
|
113
113
|
{ title: 'X (Twitter) Standard Post', body: '1200 × 675 px · Verhältnis 16:9' },
|
|
114
114
|
{ title: 'LinkedIn Profil Header', body: '1584 × 396 px · Verhältnis 4:1' },
|
|
@@ -91,7 +91,7 @@ export const content: ToolLocaleContent<SocialImageResizerUI> = {
|
|
|
91
91
|
},
|
|
92
92
|
{
|
|
93
93
|
type: 'paragraph',
|
|
94
|
-
html: "In today's digital ecosystem, first impressions are visual. Each social network operates under specific algorithms that prioritize content natively adapted to its proportions. Our social media image resizer is not just a technical tool
|
|
94
|
+
html: "In today's digital ecosystem, first impressions are visual. Each social network operates under specific algorithms that prioritize content natively adapted to its proportions. Our social media image resizer is not just a technical tool - it is your ally to ensure your message arrives without unwanted crops or quality loss.",
|
|
95
95
|
},
|
|
96
96
|
{
|
|
97
97
|
type: 'paragraph',
|
|
@@ -105,13 +105,13 @@ export const content: ToolLocaleContent<SocialImageResizerUI> = {
|
|
|
105
105
|
{
|
|
106
106
|
type: 'grid',
|
|
107
107
|
columns: [
|
|
108
|
-
{ title: 'Instagram
|
|
109
|
-
{ title: 'Instagram
|
|
110
|
-
{ title: 'TikTok / Reels
|
|
111
|
-
{ title: 'YouTube
|
|
112
|
-
{ title: 'YouTube
|
|
113
|
-
{ title: 'X (Twitter)
|
|
114
|
-
{ title: 'LinkedIn
|
|
108
|
+
{ title: 'Instagram: Square Post', body: '1080 × 1080 px · Ratio 1:1' },
|
|
109
|
+
{ title: 'Instagram: Vertical Post', body: '1080 × 1350 px · Ratio 4:5' },
|
|
110
|
+
{ title: 'TikTok / Reels: Vertical', body: '1080 × 1920 px · Ratio 9:16' },
|
|
111
|
+
{ title: 'YouTube: Thumbnail', body: '1280 × 720 px · Ratio 16:9' },
|
|
112
|
+
{ title: 'YouTube: Channel Banner', body: '2560 × 1440 px · Ratio 16:9' },
|
|
113
|
+
{ title: 'X (Twitter): Standard Post', body: '1200 × 675 px · Ratio 16:9' },
|
|
114
|
+
{ title: 'LinkedIn: Profile Cover', body: '1584 × 396 px · Ratio 4:1' },
|
|
115
115
|
],
|
|
116
116
|
},
|
|
117
117
|
{
|