@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.
- package/package.json +59 -58
- package/src/category/i18n/de.ts +23 -0
- package/src/category/i18n/id.ts +23 -0
- package/src/category/i18n/it.ts +23 -0
- package/src/category/i18n/ja.ts +23 -0
- package/src/category/i18n/ko.ts +23 -0
- package/src/category/i18n/nl.ts +23 -0
- package/src/category/i18n/pl.ts +23 -0
- package/src/category/i18n/pt.ts +23 -0
- package/src/category/i18n/ru.ts +23 -0
- package/src/category/i18n/sv.ts +23 -0
- package/src/category/i18n/tr.ts +23 -0
- package/src/category/i18n/zh.ts +23 -0
- package/src/category/index.ts +12 -0
- package/src/index.ts +8 -0
- package/src/tests/i18n_coverage.test.ts +36 -0
- package/src/tests/locale_completeness.test.ts +1 -1
- package/src/tests/schemas_fulfillment.test.ts +23 -0
- package/src/tests/slug_uniqueness.test.ts +81 -0
- package/src/tests/title_quality.test.ts +55 -0
- package/src/tool/redditFormatter/i18n/de.ts +193 -0
- package/src/tool/redditFormatter/i18n/en.ts +1 -1
- package/src/tool/redditFormatter/i18n/es.ts +1 -1
- package/src/tool/redditFormatter/i18n/fr.ts +1 -1
- package/src/tool/redditFormatter/i18n/id.ts +193 -0
- package/src/tool/redditFormatter/i18n/it.ts +193 -0
- package/src/tool/redditFormatter/i18n/ja.ts +193 -0
- package/src/tool/redditFormatter/i18n/ko.ts +193 -0
- package/src/tool/redditFormatter/i18n/nl.ts +193 -0
- package/src/tool/redditFormatter/i18n/pl.ts +193 -0
- package/src/tool/redditFormatter/i18n/pt.ts +193 -0
- package/src/tool/redditFormatter/i18n/ru.ts +193 -0
- package/src/tool/redditFormatter/i18n/sv.ts +193 -0
- package/src/tool/redditFormatter/i18n/tr.ts +193 -0
- package/src/tool/redditFormatter/i18n/zh.ts +193 -0
- package/src/tool/redditFormatter/index.ts +15 -7
- package/src/tool/safeZones/i18n/de.ts +244 -0
- package/src/tool/safeZones/i18n/id.ts +244 -0
- package/src/tool/safeZones/i18n/it.ts +244 -0
- package/src/tool/safeZones/i18n/ja.ts +244 -0
- package/src/tool/safeZones/i18n/ko.ts +244 -0
- package/src/tool/safeZones/i18n/nl.ts +244 -0
- package/src/tool/safeZones/i18n/pl.ts +244 -0
- package/src/tool/safeZones/i18n/pt.ts +244 -0
- package/src/tool/safeZones/i18n/ru.ts +244 -0
- package/src/tool/safeZones/i18n/sv.ts +244 -0
- package/src/tool/safeZones/i18n/tr.ts +244 -0
- package/src/tool/safeZones/i18n/zh.ts +244 -0
- package/src/tool/safeZones/index.ts +17 -9
- package/src/tool/socialImageResizer/i18n/de.ts +211 -0
- package/src/tool/socialImageResizer/i18n/en.ts +1 -1
- package/src/tool/socialImageResizer/i18n/id.ts +211 -0
- package/src/tool/socialImageResizer/i18n/it.ts +211 -0
- package/src/tool/socialImageResizer/i18n/ja.ts +211 -0
- package/src/tool/socialImageResizer/i18n/ko.ts +211 -0
- package/src/tool/socialImageResizer/i18n/nl.ts +211 -0
- package/src/tool/socialImageResizer/i18n/pl.ts +211 -0
- package/src/tool/socialImageResizer/i18n/pt.ts +211 -0
- package/src/tool/socialImageResizer/i18n/ru.ts +211 -0
- package/src/tool/socialImageResizer/i18n/sv.ts +211 -0
- package/src/tool/socialImageResizer/i18n/tr.ts +211 -0
- package/src/tool/socialImageResizer/i18n/zh.ts +211 -0
- package/src/tool/socialImageResizer/index.ts +16 -8
- package/src/tool/socialValueCalculator/i18n/de.ts +306 -0
- package/src/tool/socialValueCalculator/i18n/es.ts +1 -1
- package/src/tool/socialValueCalculator/i18n/fr.ts +1 -1
- package/src/tool/socialValueCalculator/i18n/id.ts +306 -0
- package/src/tool/socialValueCalculator/i18n/it.ts +306 -0
- package/src/tool/socialValueCalculator/i18n/ja.ts +306 -0
- package/src/tool/socialValueCalculator/i18n/ko.ts +306 -0
- package/src/tool/socialValueCalculator/i18n/nl.ts +306 -0
- package/src/tool/socialValueCalculator/i18n/pl.ts +306 -0
- package/src/tool/socialValueCalculator/i18n/pt.ts +306 -0
- package/src/tool/socialValueCalculator/i18n/ru.ts +306 -0
- package/src/tool/socialValueCalculator/i18n/sv.ts +306 -0
- package/src/tool/socialValueCalculator/i18n/tr.ts +306 -0
- package/src/tool/socialValueCalculator/i18n/zh.ts +306 -0
- package/src/tool/socialValueCalculator/index.ts +17 -9
- package/src/tool/tinderPhotoOptimizer/i18n/de.ts +272 -0
- package/src/tool/tinderPhotoOptimizer/i18n/id.ts +272 -0
- package/src/tool/tinderPhotoOptimizer/i18n/it.ts +272 -0
- package/src/tool/tinderPhotoOptimizer/i18n/ja.ts +272 -0
- package/src/tool/tinderPhotoOptimizer/i18n/ko.ts +272 -0
- package/src/tool/tinderPhotoOptimizer/i18n/nl.ts +272 -0
- package/src/tool/tinderPhotoOptimizer/i18n/pl.ts +272 -0
- package/src/tool/tinderPhotoOptimizer/i18n/pt.ts +272 -0
- package/src/tool/tinderPhotoOptimizer/i18n/ru.ts +272 -0
- package/src/tool/tinderPhotoOptimizer/i18n/sv.ts +272 -0
- package/src/tool/tinderPhotoOptimizer/i18n/tr.ts +272 -0
- package/src/tool/tinderPhotoOptimizer/i18n/zh.ts +272 -0
- package/src/tool/tinderPhotoOptimizer/index.ts +17 -9
- package/src/tool/youtubeThumbnail/i18n/de.ts +207 -0
- package/src/tool/youtubeThumbnail/i18n/id.ts +207 -0
- package/src/tool/youtubeThumbnail/i18n/it.ts +207 -0
- package/src/tool/youtubeThumbnail/i18n/ja.ts +207 -0
- package/src/tool/youtubeThumbnail/i18n/ko.ts +207 -0
- package/src/tool/youtubeThumbnail/i18n/nl.ts +207 -0
- package/src/tool/youtubeThumbnail/i18n/pl.ts +207 -0
- package/src/tool/youtubeThumbnail/i18n/pt.ts +207 -0
- package/src/tool/youtubeThumbnail/i18n/ru.ts +207 -0
- package/src/tool/youtubeThumbnail/i18n/sv.ts +207 -0
- package/src/tool/youtubeThumbnail/i18n/tr.ts +207 -0
- package/src/tool/youtubeThumbnail/i18n/zh.ts +207 -0
- package/src/tool/youtubeThumbnail/index.ts +17 -9
- package/src/tool/youtubeThumbnailPreviewer/i18n/de.ts +321 -0
- package/src/tool/youtubeThumbnailPreviewer/i18n/en.ts +1 -1
- package/src/tool/youtubeThumbnailPreviewer/i18n/es.ts +1 -1
- package/src/tool/youtubeThumbnailPreviewer/i18n/fr.ts +2 -2
- package/src/tool/youtubeThumbnailPreviewer/i18n/id.ts +321 -0
- package/src/tool/youtubeThumbnailPreviewer/i18n/it.ts +321 -0
- package/src/tool/youtubeThumbnailPreviewer/i18n/ja.ts +321 -0
- package/src/tool/youtubeThumbnailPreviewer/i18n/ko.ts +321 -0
- package/src/tool/youtubeThumbnailPreviewer/i18n/nl.ts +321 -0
- package/src/tool/youtubeThumbnailPreviewer/i18n/pl.ts +321 -0
- package/src/tool/youtubeThumbnailPreviewer/i18n/pt.ts +321 -0
- package/src/tool/youtubeThumbnailPreviewer/i18n/ru.ts +321 -0
- package/src/tool/youtubeThumbnailPreviewer/i18n/sv.ts +321 -0
- package/src/tool/youtubeThumbnailPreviewer/i18n/tr.ts +321 -0
- package/src/tool/youtubeThumbnailPreviewer/i18n/zh.ts +321 -0
- package/src/tool/youtubeThumbnailPreviewer/index.ts +24 -0
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { SafeZonesUI } from '../ui';
|
|
4
|
+
|
|
5
|
+
const slug = 'soziale-sicherheitszonen';
|
|
6
|
+
const title = 'Social Safe Zones: Videosimulator für TikTok, Reels & Shorts';
|
|
7
|
+
const description =
|
|
8
|
+
'Vorschau Ihrer Bilder und Videos mit der echten Social-Media-Oberfläche. Stellen Sie sicher, dass Ihr Inhalt immer sichtbar ist und vermeiden Sie versehentliches Zuschneiden.';
|
|
9
|
+
|
|
10
|
+
const faqData = [
|
|
11
|
+
{
|
|
12
|
+
question: "Was sind 'Safe Zones' in den sozialen Medien?",
|
|
13
|
+
answer:
|
|
14
|
+
"Dies sind die Bereiche des Bildschirms, in denen Inhalte sichtbar sind, ohne Gefahr zu laufen, von Schnittstellenelementen wie dem Benutzernamen, der Beschreibung, Interaktionsschaltflächen (Like, Teilen) oder dem von einigen Geräten angewendeten automatischen Zuschnitt verdeckt zu werden.",
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
question: 'Warum sieht mein TikTok-Video oben und unten abgeschnitten aus?',
|
|
18
|
+
answer:
|
|
19
|
+
'TikTok verwendet ein Seitenverhältnis von 9:16. Wenn Ihr Video breiter ist, zoomt die App hinein, um den Bildschirm auszufüllen, was zum Abschneiden führt. Außerdem verdeckt die untere Benutzeroberfläche einen Teil des Videos, daher sollten wichtige Elemente zentriert werden.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
question: 'Ist die Safe Zone für Instagram Reels und YouTube Shorts identisch?',
|
|
23
|
+
answer:
|
|
24
|
+
'Sie sind sehr ähnlich, aber nicht identisch. Die Schaltflächen bei YouTube Shorts sind anders positioniert als bei Reels. Unser Tool ermöglicht es Ihnen, zwischen den Plattformen zu wechseln, um Ihr Design auf allen zu überprüfen.',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
question: 'Was passiert, wenn ich Text in die untere rechte Ecke setze?',
|
|
28
|
+
answer:
|
|
29
|
+
'Er wird wahrscheinlich unsichtbar oder sehr schwer zu lesen sein, da sich dort die Symbole für Profil, Herz und Kommentare befinden. Idealerweise halten Sie Texte und Gesichter im mittleren bis oberen Bereich (Safe Zone).',
|
|
30
|
+
},
|
|
31
|
+
];
|
|
32
|
+
|
|
33
|
+
const howToData = [
|
|
34
|
+
{
|
|
35
|
+
name: 'Bild oder Video laden',
|
|
36
|
+
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.',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: 'Plattform auswählen',
|
|
40
|
+
text: 'Wählen Sie zwischen TikTok, Instagram Reels oder YouTube Shorts, um das entsprechende Interface-Overlay zu aktivieren.',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: 'Lesbarkeit prüfen',
|
|
44
|
+
text: 'Prüfen Sie, ob Texte, Untertitel oder wichtige Markenelemente von den Symbolen des sozialen Netzwerks verdeckt werden.',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: 'Anpassen und exportieren',
|
|
48
|
+
text: 'Wenn etwas verdeckt ist, verschieben Sie das Element in Ihrem ursprünglichen Video-Editor und testen Sie erneut, bis alles perfekt passt.',
|
|
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<HowToThing> = {
|
|
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: 'de',
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
87
|
+
slug,
|
|
88
|
+
title,
|
|
89
|
+
description,
|
|
90
|
+
faqTitle: 'Häufig gestellte Fragen',
|
|
91
|
+
faq: faqData,
|
|
92
|
+
bibliographyTitle: 'Offizielle Plattform-Dokumentation',
|
|
93
|
+
bibliography: [
|
|
94
|
+
{
|
|
95
|
+
name: 'TikTok Creator Portal: Video-Optimierung und Safe Zones',
|
|
96
|
+
url: 'https://www.tiktok.com/creators/creator-portal/en-us/foundation/video-optimization/',
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
name: 'Instagram Business: Best Practices für Reels',
|
|
100
|
+
url: 'https://business.instagram.com/creators/reels-best-practices',
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
name: 'YouTube Hilfe: YouTube Shorts erstellen',
|
|
104
|
+
url: 'https://support.google.com/youtube/answer/10343433',
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
name: 'Meta for Creators: Safe Zones und Seitenverhältnisse für Videos',
|
|
108
|
+
url: 'https://www.facebook.com/business/help/103816146375741',
|
|
109
|
+
},
|
|
110
|
+
],
|
|
111
|
+
howTo: howToData,
|
|
112
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
113
|
+
seo: [
|
|
114
|
+
{
|
|
115
|
+
type: 'title',
|
|
116
|
+
text: 'Master Guide für Safe Zones: Optimieren Sie Ihre Reels, TikToks und Shorts',
|
|
117
|
+
level: 2,
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
type: 'paragraph',
|
|
121
|
+
html: 'In der gesättigten Welt des vertikalen Contents ist der erste Eindruck technischer Natur. Der größte Fehler, den Ersteller machen, ist zu ignorieren, wie ihr <strong>Video oder Bild</strong> mit der nativen Oberfläche der Plattform interagiert. Jedes soziale Netzwerk (TikTok, Instagram Reels und YouTube Shorts) legt Ebenen aus Schaltflächen, Text und Profilen über das Video, die die visuelle Wirkung Ihrer Komposition zunichtemachen können.',
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
type: 'paragraph',
|
|
125
|
+
html: 'Mit diesem Tool können Sie Ihre Mediendateien laden und genau sehen, welche Teile Ihres Frames von der Benutzeroberfläche verdeckt werden. Es geht nicht nur um <strong>Untertitel</strong>; es geht darum sicherzustellen, dass Gesichter, Produkte oder Hauptaktionen in Ihrem Video nicht unter einem "Gefällt mir"-Button oder einer langen Beschreibung verschwinden.',
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
type: 'grid',
|
|
129
|
+
columns: [
|
|
130
|
+
{
|
|
131
|
+
type: 'card',
|
|
132
|
+
title: 'TikTok: Die invasivste Benutzeroberfläche',
|
|
133
|
+
html: '<p>TikTok hat die dichteste Oberfläche. Auf der rechten Seite befindet sich eine Spalte mit Symbolen, die etwa 15 % der Breite einnimmt. Am unteren Rand kann sich die Beschreibung über 4 oder 5 Zeilen erstrecken und fast ein Drittel des Bildschirms von unten her verdecken.</p><ul><li><strong>Unterer Rand:</strong> Lassen Sie die letzten 250px frei, um den Beschreibungstext und den Benutzernamen zu vermeiden.</li><li><strong>Rechter Rand:</strong> Vermeiden Sie es, Text innerhalb von 100px vom rechten Rand zu platzieren.</li><li><strong>Oben:</strong> Die Schaltflächen "Folge ich" und "Für dich" belegen den oberen mittleren Streifen.</li></ul>',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'card',
|
|
137
|
+
title: 'IG Reels: Der Feed Faktor',
|
|
138
|
+
html: '<p>Im Gegensatz zu TikTok schneidet Instagram Reels das Video auf ein 4:5-Format zu, wenn es im Haupt-Feed angezeigt wird. Das bedeutet: Wenn Sie wichtige Informationen in den oberen oder unteren 15 % Ihres 9:16-Videos platzieren, verschwinden diese im Feed.</p><ul><li><strong>Die 4:5-Regel:</strong> Halten Sie Titel und Schlüsselelemente in der zentralen Zone für die Sichtbarkeit im Feed.</li><li><strong>Oberfläche:</strong> Reels-Symbole sind dezenter als die von TikTok und lassen etwas mehr seitlichen Spielraum zu.</li><li><strong>Audio-Button:</strong> Unten rechts platziert, verdeckt er meist viel weniger als die rotierende Scheibe bei TikTok.</li></ul>',
|
|
139
|
+
},
|
|
140
|
+
],
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
type: 'title',
|
|
144
|
+
text: 'YouTube Shorts: Die rechte Seite im Blick',
|
|
145
|
+
level: 3,
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'paragraph',
|
|
149
|
+
html: 'YouTube Shorts hat eine asymmetrische Oberfläche. Die Schaltfläche "Abonnieren" ist sehr prominent und einfarbig (meist schwarz oder weiß), was einen wichtigen visuellen toten Winkel unten rechts erzeugt.',
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
type: 'list',
|
|
153
|
+
items: [
|
|
154
|
+
'<strong>Rechter Rand:</strong> Vermeiden Sie es, Text oder wichtige Elemente in den unteren rechten 20 % zu platzieren.',
|
|
155
|
+
'<strong>Unterer Rand:</strong> Lassen Sie die letzten 150px frei, um den Beschreibungstext und den Benutzernamen zu vermeiden.',
|
|
156
|
+
'<strong>Oben:</strong> Die Schaltflächen "Abonnieren" und "Mehr" belegen den oberen mittleren Streifen.',
|
|
157
|
+
],
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
type: 'title',
|
|
161
|
+
text: 'Kritische Fragen zum vertikalen Design',
|
|
162
|
+
level: 2,
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
type: 'title',
|
|
166
|
+
text: 'Wo platziere ich Schlüsselelemente (Gesichter, Text, Produkt)?',
|
|
167
|
+
level: 3,
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
type: 'paragraph',
|
|
171
|
+
html: 'Die "Goldene Zone" für die Hauptaktion ist das mittlere Drittel des Videos. Wenn Sie eine Person filmen, stellen Sie sicher, dass sich Augen und Mund in diesem Bereich befinden. Wichtige grafische Elemente sollten vom geometrischen Zentrum aus leicht nach oben verschoben werden, um die untere Beschreibung zu vermeiden.',
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
type: 'title',
|
|
175
|
+
text: 'Warum sieht mein Video nach dem Hochladen unscharf aus?',
|
|
176
|
+
level: 3,
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
type: 'paragraph',
|
|
180
|
+
html: 'Oft liegt es nicht an der Qualität, sondern an der Skalierung. Nehmen Sie immer in 1080x1920 mit 30 oder 60 fps auf. Vermeiden Sie 4K, wenn Sie viele schwere Effekte anwenden, da die Plattformen große Dateien aggressiv komprimieren.',
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
type: 'title',
|
|
184
|
+
text: 'Was ist mit den Rändern des Telefons?',
|
|
185
|
+
level: 3,
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
type: 'paragraph',
|
|
189
|
+
html: 'Denken Sie daran, dass moderne Telefone Kerben (Notches) oder Kameralöcher im Bildschirm haben. Dieses Tool enthält einen oberen Sicherheitsabstand, damit Ihr Inhalt nicht mit der Uhr oder den System-Icons (Batterie, Signal) kollidiert.',
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
type: 'title',
|
|
193
|
+
text: 'Anatomie eines viralen Videos',
|
|
194
|
+
level: 2,
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
type: 'paragraph',
|
|
198
|
+
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.',
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
type: 'paragraph',
|
|
202
|
+
html: 'Bei YouTube Shorts zum Beispiel ist die Oberfläche asymmetrisch. Die Schaltfläche "Abonnieren" ist sehr prominent. Durch die Verwendung dieses Simulators können Sie die Deckkraft anpassen, um zu verstehen, wie Ihre Farbpalette mit den nativen Farben der Benutzeroberfläche interagiert.',
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
type: 'tip',
|
|
206
|
+
title: 'Tool zur kreativen Qualitätskontrolle',
|
|
207
|
+
html: '<p>Entwickelt für Ersteller, die nichts dem Zufall überlassen.</p>',
|
|
208
|
+
},
|
|
209
|
+
],
|
|
210
|
+
ui: {
|
|
211
|
+
labelConfig: 'Einstellungen',
|
|
212
|
+
labelPlatform: 'Zielplattform',
|
|
213
|
+
labelUpload: 'Inhalt hochladen',
|
|
214
|
+
uploadPrompt: 'Bild oder Video auswählen',
|
|
215
|
+
uploadLink: 'Oder ein Beispiel verwenden',
|
|
216
|
+
loadContent: 'Inhalt laden',
|
|
217
|
+
labelOpacity: 'Schnittstellen-Relief',
|
|
218
|
+
labelMask: 'Kritische Zonen grau hinterlegen',
|
|
219
|
+
labelGrid: 'Drittel-Regel',
|
|
220
|
+
btnReset: 'Leinwand zurücksetzen',
|
|
221
|
+
bannerTiktok: 'Simulation von TikTok 9:16',
|
|
222
|
+
bannerReels: 'Simulation von Instagram Reels 9:16',
|
|
223
|
+
bannerShorts: 'Simulation von YouTube Shorts 9:16',
|
|
224
|
+
nameTiktok: 'TikTok',
|
|
225
|
+
nameReels: 'IG Reels',
|
|
226
|
+
nameShorts: 'YT Shorts',
|
|
227
|
+
ttFollowing: 'Folge ich',
|
|
228
|
+
ttForYou: 'Für dich',
|
|
229
|
+
ttDescription: 'Echtes Interface-Design für Content-Ersteller. #uxdesign #socialmedia',
|
|
230
|
+
ttAudio: 'jjlmoya - Original-Sound',
|
|
231
|
+
ttNavHome: 'Home',
|
|
232
|
+
ttNavFriends: 'Freunde',
|
|
233
|
+
ttNavInbox: 'Postfach',
|
|
234
|
+
ttNavProfile: 'Profil',
|
|
235
|
+
reelsFollow: 'Folgen',
|
|
236
|
+
reelsDescription: 'Dieses Interface ist identisch mit dem Original. #reels #ux #simulator',
|
|
237
|
+
reelsAudio: 'Trending Music - Original-Audio',
|
|
238
|
+
shortsSubscribe: 'ABONNIEREN',
|
|
239
|
+
shortsDislike: 'Mag ich nicht',
|
|
240
|
+
shortsShare: 'Teilen',
|
|
241
|
+
shortsRemix: 'Remix',
|
|
242
|
+
shortsDescription: 'Echte Schnittstellen für Shorts simulieren! #youtube #shorts',
|
|
243
|
+
},
|
|
244
|
+
};
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { SafeZonesUI } from '../ui';
|
|
4
|
+
|
|
5
|
+
const slug = 'zona-aman-sosial';
|
|
6
|
+
const title = 'Zona Aman Sosial: Simulator Video untuk TikTok, Reels & Shorts';
|
|
7
|
+
const description =
|
|
8
|
+
'Pratinjau gambar dan video Anda dengan antarmuka media sosial yang nyata. Pastikan konten Anda selalu terlihat dan hindari pemotongan yang tidak disengaja.';
|
|
9
|
+
|
|
10
|
+
const faqData = [
|
|
11
|
+
{
|
|
12
|
+
question: "Apa itu 'Zona Aman' di media sosial?",
|
|
13
|
+
answer:
|
|
14
|
+
"Zona Aman adalah area layar di mana konten terlihat tanpa risiko tertutup oleh elemen antarmuka, seperti nama pengguna, deskripsi, tombol interaksi (suka, bagikan), atau pemotongan otomatis yang diterapkan oleh beberapa perangkat.",
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
question: 'Mengapa video TikTok saya terlihat terpotong di bagian atas dan bawah?',
|
|
18
|
+
answer:
|
|
19
|
+
'TikTok menggunakan rasio aspek 9:16. Jika video Anda lebih lebar, aplikasi akan melakukan zoom untuk memenuhi layar, yang menyebabkan pemotongan. Selain itu, antarmuka bawah menutupi sebagian video, jadi elemen penting harus berada di tengah.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
question: 'Apakah zona aman sama untuk Instagram Reels dan YouTube Shorts?',
|
|
23
|
+
answer:
|
|
24
|
+
'Sangat mirip tetapi tidak identik. Tombol YouTube Shorts diposisikan secara berbeda dari Reels. Alat kami memungkinkan Anda beralih di antara platform untuk memverifikasi desain Anda di semua platform tersebut.',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
question: 'Apa yang terjadi jika saya meletakkan teks di pojok kanan bawah?',
|
|
28
|
+
answer:
|
|
29
|
+
'Kemungkinan besar teks tersebut tidak akan terlihat atau sangat sulit dibaca, karena di sanalah ikon profil, hati, dan komentar berada. Idealnya, letakkan teks dan wajah di area tengah-atas (Zona Aman).',
|
|
30
|
+
},
|
|
31
|
+
];
|
|
32
|
+
|
|
33
|
+
const howToData = [
|
|
34
|
+
{
|
|
35
|
+
name: 'Muat gambar atau video Anda',
|
|
36
|
+
text: 'Unggah file yang ingin Anda pratinjau. Pemrosesan bersifat lokal dan pribadi — tidak ada yang diunggah ke internet.',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: 'Pilih platform',
|
|
40
|
+
text: 'Pilih antara TikTok, Instagram Reels, atau YouTube Shorts untuk mengaktifkan overlay antarmuka yang sesuai.',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: 'Periksa keterbacaan',
|
|
44
|
+
text: 'Verifikasi apakah teks, subtitle, atau elemen merek utama tertutup oleh ikon jejaring sosial.',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: 'Sesuaikan dan ekspor',
|
|
48
|
+
text: 'Jika ada yang tersembunyi, pindahkan elemen di editor video asli Anda dan uji lagi hingga pas dengan sempurna.',
|
|
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<HowToThing> = {
|
|
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: 'IDR' },
|
|
83
|
+
inLanguage: 'id',
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
87
|
+
slug,
|
|
88
|
+
title,
|
|
89
|
+
description,
|
|
90
|
+
faqTitle: 'Pertanyaan yang Sering Diajukan',
|
|
91
|
+
faq: faqData,
|
|
92
|
+
bibliographyTitle: 'Dokumentasi Platform Resmi',
|
|
93
|
+
bibliography: [
|
|
94
|
+
{
|
|
95
|
+
name: 'Portal Kreator TikTok: Optimasi video dan zona aman',
|
|
96
|
+
url: 'https://www.tiktok.com/creators/creator-portal/en-us/foundation/video-optimization/',
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
name: 'Instagram Business: Praktik terbaik untuk Reels',
|
|
100
|
+
url: 'https://business.instagram.com/creators/reels-best-practices',
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
name: 'Bantuan YouTube: Membuat YouTube Shorts',
|
|
104
|
+
url: 'https://support.google.com/youtube/answer/10343433',
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
name: 'Meta for Creators: Zona aman dan rasio aspek untuk video',
|
|
108
|
+
url: 'https://www.facebook.com/business/help/103816146375741',
|
|
109
|
+
},
|
|
110
|
+
],
|
|
111
|
+
howTo: howToData,
|
|
112
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
113
|
+
seo: [
|
|
114
|
+
{
|
|
115
|
+
type: 'title',
|
|
116
|
+
text: 'Panduan Utama Zona Aman: Optimalkan Reels, TikTok, dan Shorts Anda',
|
|
117
|
+
level: 2,
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
type: 'paragraph',
|
|
121
|
+
html: 'Dalam dunia konten vertikal yang jenuh, kesan pertama bersifat teknis. Kesalahan terbesar yang dilakukan pembuat konten adalah mengabaikan bagaimana <strong>video atau gambar</strong> mereka berinteraksi dengan antarmuka asli platform. Setiap jejaring sosial (TikTok, Instagram Reels, dan YouTube Shorts) menempatkan lapisan tombol, teks, dan profil yang dapat meniadakan dampak visual dari komposisi Anda.',
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
type: 'paragraph',
|
|
125
|
+
html: 'Alat ini memungkinkan Anda memuat file media dan melihat pratinjau bagian mana dari bingkai Anda yang akan tertutup oleh antarmuka. Ini bukan hanya tentang <strong>subtitle</strong>; ini tentang memastikan bahwa wajah, produk, atau aksi utama dalam video Anda tidak tertimbun di bawah tombol "Suka" atau deskripsi yang panjang.',
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
type: 'grid',
|
|
129
|
+
columns: [
|
|
130
|
+
{
|
|
131
|
+
type: 'card',
|
|
132
|
+
title: 'TikTok: Antarmuka yang paling invasif',
|
|
133
|
+
html: '<p>TikTok memiliki antarmuka yang paling padat. Di sisi kanan, terdapat kolom ikon yang menempati sekitar 15% lebar layar. Di bagian bawah, deskripsi dapat memanjang hingga 4 atau 5 baris, menutupi hampir sepertiga layar dari bawah.</p><ul><li><strong>Margin bawah:</strong> Sisakan 250px terakhir agar bebas dari teks deskripsi dan nama pengguna.</li><li><strong>Margin kanan:</strong> Hindari meletakkan teks dalam jarak 100px dari tepi kanan.</li><li><strong>Atas:</strong> Tombol "Mengikuti" dan "Untuk Anda" menempati strip tengah atas.</li></ul>',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'card',
|
|
137
|
+
title: 'IG Reels: Faktor feed',
|
|
138
|
+
html: '<p>Berbeda dengan TikTok, Instagram Reels memotong video menjadi format 4:5 saat dilihat dari feed utama. Ini berarti jika Anda meletakkan informasi penting di 15% bagian atas atau bawah video 9:16 Anda, informasi tersebut akan hilang di feed.</p><ul><li><strong>Aturan 4:5:</strong> Letakkan judul dan elemen kunci di zona tengah untuk visibilitas feed.</li><li><strong>Antarmuka:</strong> Ikon Reels lebih halus daripada TikTok, memungkinkan sedikit lebih banyak margin lateral.</li><li><strong>Tombol audio:</strong> Terletak di kanan bawah, biasanya menutupi lebih sedikit daripada piringan berputar TikTok.</li></ul>',
|
|
139
|
+
},
|
|
140
|
+
],
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
type: 'title',
|
|
144
|
+
text: 'YouTube Shorts: Perhatikan sisi kanan',
|
|
145
|
+
level: 3,
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'paragraph',
|
|
149
|
+
html: 'YouTube Shorts memiliki antarmuka yang asimetris. Tombol berlangganan sangat menonjol dan berwarna solid (biasanya hitam atau putih), menciptakan titik buta visual yang penting di kanan bawah.',
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
type: 'list',
|
|
153
|
+
items: [
|
|
154
|
+
'<strong>Margin kanan:</strong> Hindari meletakkan teks atau elemen penting di 20% kanan bawah.',
|
|
155
|
+
'<strong>Margin bawah:</strong> Sisakan 150px terakhir agar bebas dari teks deskripsi dan nama pengguna.',
|
|
156
|
+
'<strong>Atas:</strong> Tombol "Berlangganan" dan "Lainnya" menempati strip tengah atas.',
|
|
157
|
+
],
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
type: 'title',
|
|
161
|
+
text: 'Pertanyaan Penting tentang Desain Vertikal',
|
|
162
|
+
level: 2,
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
type: 'title',
|
|
166
|
+
text: 'Di mana meletakkan elemen kunci (wajah, teks, produk)?',
|
|
167
|
+
level: 3,
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
type: 'paragraph',
|
|
171
|
+
html: '"Zona Emas" untuk aksi utama adalah sepertiga tengah video. Jika Anda merekam seseorang, pastikan mata dan mulut mereka berada di zona ini. Elemen grafis penting harus sedikit digeser ke atas dari pusat geometris untuk menghindari deskripsi bawah.',
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
type: 'title',
|
|
175
|
+
text: 'Mengapa video saya terlihat buram setelah diunggah?',
|
|
176
|
+
level: 3,
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
type: 'paragraph',
|
|
180
|
+
html: 'Seringkali ini bukan karena kualitas tetapi karena penskalaan. Selalu rekam dalam 1080x1920 pada 30 atau 60 fps. Hindari 4K jika Anda menerapkan banyak efek berat, karena platform mengompresi file besar secara agresif.',
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
type: 'title',
|
|
184
|
+
text: 'Bagaimana dengan bezel ponsel?',
|
|
185
|
+
level: 3,
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
type: 'paragraph',
|
|
189
|
+
html: 'Ingatlah bahwa ponsel modern memiliki notch atau lubang kamera pada layar. Alat ini menyertakan margin keamanan atas agar konten Anda tidak berbenturan dengan jam atau ikon sistem (baterai, sinyal).',
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
type: 'title',
|
|
193
|
+
text: 'Anatomi Video Viral',
|
|
194
|
+
level: 2,
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
type: 'paragraph',
|
|
198
|
+
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.',
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
type: 'paragraph',
|
|
202
|
+
html: 'Pada YouTube Shorts, misalnya, antarmukanya asimetris. Tombol berlangganan sangat menonjol. Dengan menggunakan simulator ini, Anda dapat menyesuaikan opasitas untuk memahami bagaimana palet warna Anda berinteraksi dengan warna UI asli.',
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
type: 'tip',
|
|
206
|
+
title: 'Alat Kontrol Kualitas Kreatif',
|
|
207
|
+
html: '<p>Dirancang untuk pembuat konten yang tidak membiarkan apa pun terjadi secara kebetulan.</p>',
|
|
208
|
+
},
|
|
209
|
+
],
|
|
210
|
+
ui: {
|
|
211
|
+
labelConfig: 'Pengaturan',
|
|
212
|
+
labelPlatform: 'Platform Target',
|
|
213
|
+
labelUpload: 'Unggah Konten',
|
|
214
|
+
uploadPrompt: 'Pilih gambar atau video',
|
|
215
|
+
uploadLink: 'Atau gunakan contoh',
|
|
216
|
+
loadContent: 'Muat konten Anda',
|
|
217
|
+
labelOpacity: 'Relief Antarmuka',
|
|
218
|
+
labelMask: 'Gelapkan Zona Kritis',
|
|
219
|
+
labelGrid: 'Aturan Sepertiga',
|
|
220
|
+
btnReset: 'Atur Ulang Kanvas',
|
|
221
|
+
bannerTiktok: 'Menyimulasikan TikTok 9:16',
|
|
222
|
+
bannerReels: 'Menyimulasikan Instagram Reels 9:16',
|
|
223
|
+
bannerShorts: 'Menyimulasikan YouTube Shorts 9:16',
|
|
224
|
+
nameTiktok: 'TikTok',
|
|
225
|
+
nameReels: 'IG Reels',
|
|
226
|
+
nameShorts: 'YT Shorts',
|
|
227
|
+
ttFollowing: 'Mengikuti',
|
|
228
|
+
ttForYou: 'Untuk Anda',
|
|
229
|
+
ttDescription: 'Desain antarmuka nyata untuk pembuat konten. #uxdesign #socialmedia',
|
|
230
|
+
ttAudio: 'jjlmoya - Suara Asli',
|
|
231
|
+
ttNavHome: 'Beranda',
|
|
232
|
+
ttNavFriends: 'Teman',
|
|
233
|
+
ttNavInbox: 'Kotak Masuk',
|
|
234
|
+
ttNavProfile: 'Profil',
|
|
235
|
+
reelsFollow: 'Ikuti',
|
|
236
|
+
reelsDescription: 'Antarmuka ini identik dengan aslinya. #reels #ux #simulator',
|
|
237
|
+
reelsAudio: 'Musik Sedang Tren - Audio Asli',
|
|
238
|
+
shortsSubscribe: 'BERLANGGANAN',
|
|
239
|
+
shortsDislike: 'Tidak Suka',
|
|
240
|
+
shortsShare: 'Bagikan',
|
|
241
|
+
shortsRemix: 'Remix',
|
|
242
|
+
shortsDescription: 'Menyimulasikan antarmuka nyata untuk Shorts! #youtube #shorts',
|
|
243
|
+
},
|
|
244
|
+
};
|