@jjlmoya/utils-creative 1.6.0 → 1.8.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 +63 -62
- package/src/category/i18n/de.ts +9 -0
- package/src/category/i18n/id.ts +9 -0
- package/src/category/i18n/it.ts +9 -0
- package/src/category/i18n/ja.ts +9 -0
- package/src/category/i18n/ko.ts +9 -0
- package/src/category/i18n/nl.ts +9 -0
- package/src/category/i18n/pl.ts +9 -0
- package/src/category/i18n/pt.ts +9 -0
- package/src/category/i18n/ru.ts +9 -0
- package/src/category/i18n/sv.ts +9 -0
- package/src/category/i18n/tr.ts +9 -0
- package/src/category/i18n/zh.ts +9 -0
- package/src/category/index.ts +12 -0
- package/src/tests/faq_count.test.ts +1 -1
- package/src/tests/i18n_coverage.test.ts +36 -0
- package/src/tests/locale_completeness.test.ts +2 -2
- package/src/tests/schemas_fulfillment.test.ts +23 -0
- package/src/tests/title_quality.test.ts +55 -0
- package/src/tests/tool_validation.test.ts +2 -2
- package/src/tool/bead-pattern-generator/i18n/de.ts +115 -0
- package/src/tool/bead-pattern-generator/i18n/en.ts +59 -17
- package/src/tool/bead-pattern-generator/i18n/es.ts +59 -17
- package/src/tool/bead-pattern-generator/i18n/fr.ts +59 -17
- package/src/tool/bead-pattern-generator/i18n/id.ts +115 -0
- package/src/tool/bead-pattern-generator/i18n/it.ts +115 -0
- package/src/tool/bead-pattern-generator/i18n/ja.ts +115 -0
- package/src/tool/bead-pattern-generator/i18n/ko.ts +115 -0
- package/src/tool/bead-pattern-generator/i18n/nl.ts +115 -0
- package/src/tool/bead-pattern-generator/i18n/pl.ts +115 -0
- package/src/tool/bead-pattern-generator/i18n/pt.ts +115 -0
- package/src/tool/bead-pattern-generator/i18n/ru.ts +115 -0
- package/src/tool/bead-pattern-generator/i18n/sv.ts +115 -0
- package/src/tool/bead-pattern-generator/i18n/tr.ts +115 -0
- package/src/tool/bead-pattern-generator/i18n/zh.ts +115 -0
- package/src/tool/bead-pattern-generator/index.ts +12 -0
- package/src/tool/dice-roller/i18n/de.ts +138 -0
- package/src/tool/dice-roller/i18n/en.ts +74 -32
- package/src/tool/dice-roller/i18n/es.ts +74 -32
- package/src/tool/dice-roller/i18n/fr.ts +74 -32
- package/src/tool/dice-roller/i18n/id.ts +138 -0
- package/src/tool/dice-roller/i18n/it.ts +138 -0
- package/src/tool/dice-roller/i18n/ja.ts +138 -0
- package/src/tool/dice-roller/i18n/ko.ts +138 -0
- package/src/tool/dice-roller/i18n/nl.ts +138 -0
- package/src/tool/dice-roller/i18n/pl.ts +138 -0
- package/src/tool/dice-roller/i18n/pt.ts +138 -0
- package/src/tool/dice-roller/i18n/ru.ts +138 -0
- package/src/tool/dice-roller/i18n/sv.ts +138 -0
- package/src/tool/dice-roller/i18n/tr.ts +138 -0
- package/src/tool/dice-roller/i18n/zh.ts +138 -0
- package/src/tool/dice-roller/index.ts +12 -0
- package/src/tool/excuse-generator/i18n/de.ts +122 -0
- package/src/tool/excuse-generator/i18n/en.ts +60 -18
- package/src/tool/excuse-generator/i18n/es.ts +60 -18
- package/src/tool/excuse-generator/i18n/fr.ts +60 -18
- package/src/tool/excuse-generator/i18n/id.ts +122 -0
- package/src/tool/excuse-generator/i18n/it.ts +122 -0
- package/src/tool/excuse-generator/i18n/ja.ts +122 -0
- package/src/tool/excuse-generator/i18n/ko.ts +122 -0
- package/src/tool/excuse-generator/i18n/nl.ts +122 -0
- package/src/tool/excuse-generator/i18n/pl.ts +122 -0
- package/src/tool/excuse-generator/i18n/pt.ts +122 -0
- package/src/tool/excuse-generator/i18n/ru.ts +122 -0
- package/src/tool/excuse-generator/i18n/sv.ts +122 -0
- package/src/tool/excuse-generator/i18n/tr.ts +122 -0
- package/src/tool/excuse-generator/i18n/zh.ts +122 -0
- package/src/tool/excuse-generator/index.ts +12 -0
- package/src/tool/fortune-cookie/i18n/de.ts +127 -0
- package/src/tool/fortune-cookie/i18n/en.ts +60 -18
- package/src/tool/fortune-cookie/i18n/es.ts +60 -18
- package/src/tool/fortune-cookie/i18n/fr.ts +60 -18
- package/src/tool/fortune-cookie/i18n/id.ts +127 -0
- package/src/tool/fortune-cookie/i18n/it.ts +127 -0
- package/src/tool/fortune-cookie/i18n/ja.ts +127 -0
- package/src/tool/fortune-cookie/i18n/ko.ts +127 -0
- package/src/tool/fortune-cookie/i18n/nl.ts +127 -0
- package/src/tool/fortune-cookie/i18n/pl.ts +127 -0
- package/src/tool/fortune-cookie/i18n/pt.ts +127 -0
- package/src/tool/fortune-cookie/i18n/ru.ts +127 -0
- package/src/tool/fortune-cookie/i18n/sv.ts +127 -0
- package/src/tool/fortune-cookie/i18n/tr.ts +127 -0
- package/src/tool/fortune-cookie/i18n/zh.ts +127 -0
- package/src/tool/fortune-cookie/index.ts +12 -0
- package/src/tool/synesthesia-painter/i18n/de.ts +122 -0
- package/src/tool/synesthesia-painter/i18n/en.ts +74 -32
- package/src/tool/synesthesia-painter/i18n/es.ts +74 -32
- package/src/tool/synesthesia-painter/i18n/fr.ts +75 -33
- package/src/tool/synesthesia-painter/i18n/id.ts +122 -0
- package/src/tool/synesthesia-painter/i18n/it.ts +122 -0
- package/src/tool/synesthesia-painter/i18n/ja.ts +122 -0
- package/src/tool/synesthesia-painter/i18n/ko.ts +122 -0
- package/src/tool/synesthesia-painter/i18n/nl.ts +122 -0
- package/src/tool/synesthesia-painter/i18n/pl.ts +122 -0
- package/src/tool/synesthesia-painter/i18n/pt.ts +122 -0
- package/src/tool/synesthesia-painter/i18n/ru.ts +122 -0
- package/src/tool/synesthesia-painter/i18n/sv.ts +122 -0
- package/src/tool/synesthesia-painter/i18n/tr.ts +122 -0
- package/src/tool/synesthesia-painter/i18n/zh.ts +122 -0
- package/src/tool/synesthesia-painter/index.ts +12 -0
- package/src/tool/zalgo-generator/i18n/de.ts +113 -0
- package/src/tool/zalgo-generator/i18n/en.ts +58 -16
- package/src/tool/zalgo-generator/i18n/es.ts +58 -16
- package/src/tool/zalgo-generator/i18n/fr.ts +58 -16
- package/src/tool/zalgo-generator/i18n/id.ts +113 -0
- package/src/tool/zalgo-generator/i18n/it.ts +113 -0
- package/src/tool/zalgo-generator/i18n/ja.ts +113 -0
- package/src/tool/zalgo-generator/i18n/ko.ts +113 -0
- package/src/tool/zalgo-generator/i18n/nl.ts +113 -0
- package/src/tool/zalgo-generator/i18n/pl.ts +113 -0
- package/src/tool/zalgo-generator/i18n/pt.ts +113 -0
- package/src/tool/zalgo-generator/i18n/ru.ts +113 -0
- package/src/tool/zalgo-generator/i18n/sv.ts +113 -0
- package/src/tool/zalgo-generator/i18n/tr.ts +113 -0
- package/src/tool/zalgo-generator/i18n/zh.ts +113 -0
- package/src/tool/zalgo-generator/index.ts +12 -0
- package/src/tools.ts +14 -1
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { SynesthesiaPainterLocaleContent } from '../index';
|
|
3
|
+
|
|
4
|
+
const slug = 'sinestezi-ressami';
|
|
5
|
+
const title = 'Sinestezi Ressamı';
|
|
6
|
+
const description = 'Grafem-renk sinestezisine göre kelimelerin rengini görselleştirin. Her harfin kendine özgü rengi vardır, metni kromatik sanata dönüştürür.';
|
|
7
|
+
|
|
8
|
+
const faq: SynesthesiaPainterLocaleContent['faq'] = [
|
|
9
|
+
{
|
|
10
|
+
question: 'Tüm sinestezikler her harf için aynı renkleri mi görür?',
|
|
11
|
+
answer: 'Hayır. Sinestetik renkler her birey için benzersizdir. İstatistiksel eğilimler olsa da (birçok kişi için A kırmızı olma eğilimindedir), hiçbir iki sinestezik tam olarak aynı palete sahip değildir. Bu araç, "doğru" olanları değil, toplum çalışmalarında en sık bildirilen renkleri kullanır.',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
question: 'Bu aracı sürekli kullanarak sinestezi geliştirebilir miyim?',
|
|
15
|
+
answer: 'Kesin nörolojik anlamda hayır. Gerçek sinestezi öğrenilen bir beceri değil, sinir sisteminin bir özelliğidir. Ancak, renk-harf ilişkilendirmelerinin tekrarlanan kullanımı güçlü çağrışımsal hafızalar oluşturabilir. Bazı çalışmalar, bu ilişkilendirmelerin uygulanmasının metin hafızasını geliştirebileceğini öne sürmektedir.',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
question: '"Aura" modu ne işe yarar?',
|
|
19
|
+
answer: 'Aura modu, bazı sinesteziklerin renkleri harflere entegre değil de harflerin etrafında "yüzen" veya "parlayan" şeklinde görmelerini simüle eder. Özellikle karanlık bir arka planda daha atmosferik ve sürükleyici bir görsel deneyim yaratır.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
question: '"Noktalar" modunun herhangi bir bilimsel temeli var mı?',
|
|
23
|
+
answer: 'Bu sanatsal bir soyutlamadır. Harflerin tanınabilir şeklini ortadan kaldırarak metni "kromatik özüne" indirger. Sonuç, kromatik veri görselleştirmelerine veya noktalı resimlere (puantilizm) benzer ve bir metnin "renk imzasını" anlam karışıklığı olmadan görmenizi sağlar.',
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
question: 'I ve O gibi bazı harfler neden beyaz veya siyah?',
|
|
27
|
+
answer: 'Sinestezi çalışmalarında, I ve O ünlüleri ile W harfi sıklıkla beyaz, şeffaf veya siyah olarak tanımlanır. Bu araç, görünürlüğü her zaman garanti altına almak için bu renkleri aktif arka plana uyarlar: karanlık arka planda beyaz, açık arka planda siyah.',
|
|
28
|
+
},
|
|
29
|
+
];
|
|
30
|
+
|
|
31
|
+
const howTo: SynesthesiaPainterLocaleContent['howTo'] = [
|
|
32
|
+
{ name: 'Metin yaz', text: 'Yazma alanına tıklayın ve yazmaya başlayın. Her harf, istatistiksel sinestetik çağrışımına göre renkli görünecektir.' },
|
|
33
|
+
{ name: 'Görselleştirme modunu değiştir', text: 'Harfler (renkli metin), Noktalar (renkli daireler) ve Aura (kromatik haleli ışıklı harfler) arasında geçiş yapmak için sağ üstteki düğmeleri kullanın.' },
|
|
34
|
+
{ name: 'Farklı metinleri keşfet', text: 'Benzersiz kromatik paletlerini keşfetmek için isimler, farklı dillerdeki kelimeler veya cümleler yazın. Uzun kelimeler büyüleyici görsel gradyanlar oluşturur.' },
|
|
35
|
+
{ name: 'Temizle ve yeniden başla', text: 'Tuvali boşaltmak ve yeni bir metni keşfetmek için alt çubuktaki "Temizle" düğmesini kullanın.' },
|
|
36
|
+
];
|
|
37
|
+
|
|
38
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
39
|
+
'@context': 'https://schema.org',
|
|
40
|
+
'@type': 'FAQPage',
|
|
41
|
+
mainEntity: faq.map((item) => ({
|
|
42
|
+
'@type': 'Question',
|
|
43
|
+
name: item.question,
|
|
44
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
45
|
+
})),
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
const howToSchema: WithContext<HowTo> = {
|
|
49
|
+
'@context': 'https://schema.org',
|
|
50
|
+
'@type': 'HowTo',
|
|
51
|
+
name: title,
|
|
52
|
+
description,
|
|
53
|
+
step: howTo.map((step) => ({
|
|
54
|
+
'@type': 'HowToStep',
|
|
55
|
+
name: step.name,
|
|
56
|
+
text: step.text,
|
|
57
|
+
})),
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
61
|
+
'@context': 'https://schema.org',
|
|
62
|
+
'@type': 'SoftwareApplication',
|
|
63
|
+
name: title,
|
|
64
|
+
description,
|
|
65
|
+
applicationCategory: 'UtilitiesApplication',
|
|
66
|
+
operatingSystem: 'Web',
|
|
67
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
68
|
+
inLanguage: 'tr',
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
export const content: SynesthesiaPainterLocaleContent = {
|
|
72
|
+
slug,
|
|
73
|
+
title,
|
|
74
|
+
description,
|
|
75
|
+
faqTitle: 'Sıkça Sorulan Sorular',
|
|
76
|
+
bibliographyTitle: 'Zihin Kaynakçası',
|
|
77
|
+
ui: {
|
|
78
|
+
title: 'Sinestezi Ressamı',
|
|
79
|
+
description: 'Kelimelerinizi kromatik sanata dönüştürün.',
|
|
80
|
+
modeLetters: 'Harfler',
|
|
81
|
+
modeDots: 'Noktalar',
|
|
82
|
+
modeAura: 'Aura',
|
|
83
|
+
placeholder: 'Buraya yazın...',
|
|
84
|
+
footerText: 'Kişisel renk paletinizi keşfetmek için yazın',
|
|
85
|
+
clearBtn: 'Temizle',
|
|
86
|
+
faqTitle: 'FAQ',
|
|
87
|
+
bibliographyTitle: 'Referanslar'
|
|
88
|
+
},
|
|
89
|
+
seo: [
|
|
90
|
+
{ type: 'title', text: 'Grafem-Renk Sinestezisi Nedir?', level: 2 },
|
|
91
|
+
{ type: 'paragraph', html: '<strong>Sinestezi</strong>, bir duyunun uyarılmasının otomatik olarak başka bir duyuda tepkiyi tetiklediği nörolojik bir durumdur. En çok çalışılan ve yaygın varyantı <strong>grafem-renk sinestezisidir</strong>: Buna sahip olanlar, her harfi veya sayıyı içsel, sabit ve canlı bir renkle algılarlar. Bu hayal gücü veya metafor değildir; bir sinestezik için "A" harfi, ateşin sıcak olması gibi kırmızıdır. Bu araç, toplum çalışmalarında her grafem için en sık bildirilen renklere dayalı bir <em>istatistiksel palet</em> uygular.' },
|
|
92
|
+
{ type: 'title', text: 'Nörobilim: Çapraz Aktivasyon Teorisi', level: 3 },
|
|
93
|
+
{ type: 'paragraph', html: 'Grafem-renk sinestezisi için en yaygın kabul gören nörolojik model <strong>çapraz aktivasyondur</strong>. Harf şekillerini tanımada yer alan temporal korteks alanları (fusiform girus), rengi işleyen bölgelerle (V4 alanı) anatomik olarak bitişiktir. Sinestezisi olan kişilerde, bu bölgeler arasında daha büyük yapısal veya işlevsel bağlantı vardır, bu nedenle bir harfi tanımak aynı zamanda renk nöronlarını da etkinleştirir. İşlevsel nörogörüntüleme (fMRI) araştırmaları, sinesteziklerin tek renkli olsa bile metin okurken V4\'te gerçek bir aktivasyon gösterdiğini doğrulamıştır.' },
|
|
94
|
+
{ type: 'tip', title: 'Üç Görselleştirme Modu', html: '<strong>Harfler:</strong> Grafem bazında renklendirilmiş orijinal metin. Tam bir metnin "kromatik melodisini" görmek için idealdir. <strong>Noktalar:</strong> Her karakter kendi renginde bir daireye dönüşür; metin kaybolur ve sadece renk müziği kalır. <strong>Aura:</strong> Harfler, sanki metin kendi enerjisiyle parlıyormuş gibi kendi renklerinde bir hale yayar.' },
|
|
95
|
+
{ type: 'title', text: 'İstatistikler ve Renk Evrenselleri', level: 3 },
|
|
96
|
+
{ type: 'paragraph', html: 'Sinestetik renkler her fert için benzersiz olsa da, Simner ve ark. (2006) ve Eagleman ve ark. (2007) tarafından yapılan çalışmalar önemli istatistiksel modeller bulmuştur. <strong>A</strong> sesli harfi çoğu kişi için kırmızı olma eğilimindedir; <strong>O</strong> beyaz veya siyahtır; <strong>S</strong> turkuaz veya yeşil tonlarında görünür; <strong>E</strong> yeşil veya beyaz olarak görünür. İlginç bir şekilde, renk-harf ilişkilendirmeleri farklı kültürler arasında olduğundan ziyade bir dil kültürü içinde daha tutarlıdır; bu da erken dönem alfabe öğreniminin rolünü düşündürür.' },
|
|
97
|
+
{ type: 'list', items: [
|
|
98
|
+
'<strong>Yaygınlık:</strong> Nüfusun yaklaşık %4\'ü bir dereceye kadar grafem-renk sinestezisine sahiptir, ancak daha yeni çalışmalar klinik altı formlar dahil edildiğinde bu rakamı %6-8\'e çıkarmaktadır.',
|
|
99
|
+
'<strong>Cinsiyet yanlılığı:</strong> Nedenleri henüz tam olarak açıklanmasa da sinestezi kadınlarda erkeklere göre 3 ila 6 kat daha yaygındır.',
|
|
100
|
+
'<strong>Kalıtımsallık:</strong> Belirgin bir genetik bileşeni vardır: Her zaman aynı tip sinesteziyle olmasa da ailelerde görülme eğilimindedir.',
|
|
101
|
+
'<strong>Tutarlılık:</strong> Öğrenilmiş çağrışımların aksine, sinestetik renkler zaman içinde olağanüstü derecede kararlıdır. 10 yıllık takip çalışmaları, grafem-renk çağrışımlarında %90\'ın üzerinde tutarlılık göstermektedir.',
|
|
102
|
+
'<strong>Ünlü sinestezikler:</strong> Vladimir Nabokov, Wassily Kandinsky, Nikola Tesla ve Billy Joel, eserlerini etkileyen sinestetik deneyimlerini açıkça tanımlamışlardır.',
|
|
103
|
+
]},
|
|
104
|
+
{ type: 'stats', items: [
|
|
105
|
+
{ value: '%4–8', label: 'Sinestezili nüfus', icon: 'mdi:brain' },
|
|
106
|
+
{ value: '%90+', label: '10 yıllık renk tutarlılığı', icon: 'mdi:check-circle' },
|
|
107
|
+
{ value: '3–6 kat', label: 'Kadınlarda daha yaygın', icon: 'mdi:gender-female' },
|
|
108
|
+
{ value: '26+10', label: 'Renkli harf ve rakamlar', icon: 'mdi:alphabetical' },
|
|
109
|
+
], columns: 4 },
|
|
110
|
+
{ type: 'title', text: 'Sanat ve Sinestezi: Duyular Birleştiğinde', level: 3 },
|
|
111
|
+
{ type: 'paragraph', html: 'Soyut dışavurumculuğun kurucusu <strong>Wassily Kandinsky</strong>, hem grafem-renk hem de müzik-renk sinestezisi yaşadı: Enstrümanları renklerde duydu (sarı bir trompetti, derin mavi bir çello) ve bu algıları soyut sanat teorisini oluşturmak için kullandı. Müzikte <strong>Alexander Scriabin</strong>, her notaya karşılık gelen renkleri yansıtmak üzere tasarlanmış bir "tastiera per luce" (ışık klavyesi) parçası içeren <em>Prometheus: The Poem of Fire</em>\'ı besteledi.' },
|
|
112
|
+
{ type: 'tip', title: 'Bu Aracın Renk Paleti', html: 'Renk atamaları, bilimsel literatürdeki en yaygın istatistiksel verilerden esinlenmiştir. <strong>A → kırmızı</strong>, <strong>E → yeşil</strong>, <strong>I → arka plana göre beyaz/siyah</strong>, <strong>O → siyah/beyaz</strong>, <strong>U → kehribar</strong>. Ünsüzler daha az üniform modeller izlese de, okunabilirliği garanti etmek için arka planla kontrast her zaman önceliklidir.' },
|
|
113
|
+
],
|
|
114
|
+
faq,
|
|
115
|
+
bibliography: [
|
|
116
|
+
{ name: 'Simner et al. (2006) – Sinestezi: Atipik çapraz-modal deneyimlerin yaygınlığı', url: 'https://www.ncbi.nlm.nih.gov/pmc/articles/PMC1626536/' },
|
|
117
|
+
{ name: 'Eagleman et al. (2007) – Sinestezi çalışması için standartlaştırılmış bir test bataryası', url: 'https://www.sciencedirect.com/science/article/pii/S0010945207000087' },
|
|
118
|
+
{ name: 'Kandinsky, W. – Sanatta Spiritüel Üzerine (1911)', url: 'https://tr.wikipedia.org/wiki/Spritüel_Üstüne' },
|
|
119
|
+
],
|
|
120
|
+
howTo,
|
|
121
|
+
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
122
|
+
};
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { SynesthesiaPainterLocaleContent } from '../index';
|
|
3
|
+
|
|
4
|
+
const slug = 'synesthesia-painter-zh';
|
|
5
|
+
const title = '联觉绘画家';
|
|
6
|
+
const description = '根据“书记素-色彩联觉”可视化文字颜色。每个字母都有其专属色彩,将文本转化为色度艺术。';
|
|
7
|
+
|
|
8
|
+
const faq: SynesthesiaPainterLocaleContent['faq'] = [
|
|
9
|
+
{
|
|
10
|
+
question: '所有的联觉者看到的字母颜色都一样吗?',
|
|
11
|
+
answer: '不。联觉颜色对每个人来说都是独特的。虽然存在统计学上的倾向(对许多人来说 A 趋向于红色),但没有两个联觉者的调色板是完全相同的。此工具使用的是人口研究中最常报告的颜色,而非某种“正确”的色彩。',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
question: '不断使用这个工具能让我产生联觉吗?',
|
|
15
|
+
answer: '严格意义上,从神经学上讲是不可能的。真正的联觉是神经系统的一种特征,而非习得的技能。然而,重复使用颜色-字母关联可以建立强大的关联记忆。一些研究表明,练习这些关联可以提高对文本的记忆力。',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
question: '“光环”模式有什么用?',
|
|
19
|
+
answer: '光晕(Aura)模式模拟了一些联觉者的描述,即看到颜色“漂浮”或“发光”在字母周围,而不是融入其中。它创造了一种更具氛围感和沉浸式的视觉体验,尤其是在深色背景下。',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
question: '“圆点”模式有科学依据吗?',
|
|
23
|
+
answer: '这是一种艺术抽象。它通过消除字母的可识别形状,将文本简化为其“色彩本质”。结果类似于色彩数据可视化或点彩画,让您在没有任何含义干扰的情况下看到文本的“色彩签名”。',
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
question: '为什么像 I 和 O 这样的字母是白色或黑色的?',
|
|
27
|
+
answer: '在联觉研究中,元音 I 和 O,以及字母 W,经常被描述为白色、透明或黑色。此工具会根据当前背景调整这些颜色:深色背景为白色,浅色背景为黑色,以始终确保可见性。',
|
|
28
|
+
},
|
|
29
|
+
];
|
|
30
|
+
|
|
31
|
+
const howTo: SynesthesiaPainterLocaleContent['howTo'] = [
|
|
32
|
+
{ name: '编写文本', text: '点击书写区域并开始输入。每个字母都会根据其统计联觉关联显示颜色。' },
|
|
33
|
+
{ name: '更改可视化模式', text: '使用右上角的按钮在“字母”(彩色文本)、“圆点”(彩色圆圈)和“光环”(带有色彩光晕的发光字母)之间切换。' },
|
|
34
|
+
{ name: '探索不同的文本', text: '编写姓名、不同语言的单词或句子,以发现它们独特的色彩调色板。长单词会创造出迷人的视觉渐变。' },
|
|
35
|
+
{ name: '清除并重新开始', text: '使用底部栏的“清除”按钮清空画布并探索新文本。' },
|
|
36
|
+
];
|
|
37
|
+
|
|
38
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
39
|
+
'@context': 'https://schema.org',
|
|
40
|
+
'@type': 'FAQPage',
|
|
41
|
+
mainEntity: faq.map((item) => ({
|
|
42
|
+
'@type': 'Question',
|
|
43
|
+
name: item.question,
|
|
44
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
45
|
+
})),
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
const howToSchema: WithContext<HowTo> = {
|
|
49
|
+
'@context': 'https://schema.org',
|
|
50
|
+
'@type': 'HowTo',
|
|
51
|
+
name: title,
|
|
52
|
+
description,
|
|
53
|
+
step: howTo.map((step) => ({
|
|
54
|
+
'@type': 'HowToStep',
|
|
55
|
+
name: step.name,
|
|
56
|
+
text: step.text,
|
|
57
|
+
})),
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
61
|
+
'@context': 'https://schema.org',
|
|
62
|
+
'@type': 'SoftwareApplication',
|
|
63
|
+
name: title,
|
|
64
|
+
description,
|
|
65
|
+
applicationCategory: 'UtilitiesApplication',
|
|
66
|
+
operatingSystem: 'Web',
|
|
67
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
68
|
+
inLanguage: 'zh',
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
export const content: SynesthesiaPainterLocaleContent = {
|
|
72
|
+
slug,
|
|
73
|
+
title,
|
|
74
|
+
description,
|
|
75
|
+
faqTitle: '常见问题解答',
|
|
76
|
+
bibliographyTitle: '精神文献',
|
|
77
|
+
ui: {
|
|
78
|
+
title: '联觉绘画家',
|
|
79
|
+
description: '将您的文字转化为色度艺术。',
|
|
80
|
+
modeLetters: '字母',
|
|
81
|
+
modeDots: '圆点',
|
|
82
|
+
modeAura: '光环',
|
|
83
|
+
placeholder: '在此输入...',
|
|
84
|
+
footerText: '输入以发现您的个人调色板',
|
|
85
|
+
clearBtn: '清除',
|
|
86
|
+
faqTitle: 'FAQ',
|
|
87
|
+
bibliographyTitle: '参考资料'
|
|
88
|
+
},
|
|
89
|
+
seo: [
|
|
90
|
+
{ type: 'title', text: '什么是书记素-色彩联觉?', level: 2 },
|
|
91
|
+
{ type: 'paragraph', html: '<strong>联觉(Synesthesia)</strong>是一种神经系统状况,其中一种感觉的刺激会自动触发另一种感觉的反应。研究最广泛且最普遍的变体是<strong>书记素-色彩联觉</strong>:拥有这种体质的人会感知每个字母或数字具有内在的、恒定的且鲜明的颜色。这并非想象或比喻;对于联觉者来说,字母“A”是红色的,就像火是热的一样。此工具应用了基于人口研究中每个书记素最常报告的颜色的<em>统计调色板</em>。' },
|
|
92
|
+
{ type: 'title', text: '神经科学:交叉激活理论', level: 3 },
|
|
93
|
+
{ type: 'paragraph', html: '书记素-色彩联觉最被广泛接受的神经学模型是<strong>交叉激活</strong>。颞叶皮层中涉及识别字母形状的区域(梭状回)在解剖学上邻近处理颜色的区域(V4 区)。在联觉者中,这些区域之间存在更强的结构或功能连接,因此识别字母也会激活颜色神经元。功能性核磁共振成像(fMRI)研究已确认,联觉者在阅读文本时(即使文本是单色的)在 V4 区显示出真实的激活。' },
|
|
94
|
+
{ type: 'tip', title: '三种可视化模式', html: '<strong>字母:</strong> 按书记素着色的原始文本。非常适合观察完整文本的“色彩旋律”。<strong>圆点:</strong> 每个字符都变成其所属颜色的圆圈;文本消失,只剩下色彩音乐。<strong>光环:</strong> 字母散发出其所属颜色的光晕,仿佛文本正散发着自身的能量。' },
|
|
95
|
+
{ type: 'title', text: '统计学与色彩普遍性', level: 3 },
|
|
96
|
+
{ type: 'paragraph', html: '虽然联觉颜色对每个人来说都是独特的,但 Simner 等(2006)和 Eagleman 等(2007)的研究发现了显著的统计模式。元音 <strong>A</strong> 对大多数人来说往往是红色的;<strong>O</strong> 是白色或黑色;<strong>S</strong> 出现在青色或绿色调中;<strong>E</strong> 表现为绿色或白色。有趣的是,颜色-字母关联在同一种语言文化中比在不同文化之间更具一致性,这暗示了早期字母学习的作用。' },
|
|
97
|
+
{ type: 'list', items: [
|
|
98
|
+
'<strong>流行率:</strong> 大约 4% 的人口在一定程度上拥有书记素-色彩联觉,不过如果包括临床以下表现,最近的研究将这一数字提高到 6-8%。',
|
|
99
|
+
'<strong>性别偏差:</strong> 尽管原因尚未完全解释,但联觉在女性中发生的频率是男性的 3 到 6 倍。',
|
|
100
|
+
'<strong>遗传性:</strong> 它具有明显的遗传成分:它倾向于在家族中出现,尽管并不总是表现为同一种类型的联觉。',
|
|
101
|
+
'<strong>一致性:</strong> 与后天学习习惯不同,联觉颜色随时间推移表现出极高的稳定性。长达 10 年的随访研究表明,书记素-色彩关联的一致性超过 90%。',
|
|
102
|
+
'<strong>著名的联觉者:</strong> 弗拉基米尔·纳博科夫、瓦西里·康定斯基、尼古拉·特斯拉和比利·乔尔都曾公开描述过联觉体验,这些体验也影响了他们的作品。'
|
|
103
|
+
]},
|
|
104
|
+
{ type: 'stats', items: [
|
|
105
|
+
{ value: '4–8%', label: '拥有联觉的人口', icon: 'mdi:brain' },
|
|
106
|
+
{ value: '90%+', label: '10 年间的颜色一致性', icon: 'mdi:check-circle' },
|
|
107
|
+
{ value: '3–6倍', label: '在女性中更常见', icon: 'mdi:gender-female' },
|
|
108
|
+
{ value: '26+10', label: '彩色字母与数字', icon: 'mdi:alphabetical' }
|
|
109
|
+
], columns: 4 },
|
|
110
|
+
{ type: 'title', text: '艺术与联觉:当感官融合', level: 3 },
|
|
111
|
+
{ type: 'paragraph', html: '抽象表现主义的创始人<strong>瓦西里·康定斯基</strong>同时经历了书记素-色彩和音乐-色彩联觉:他能听到色彩中的乐器声(黄色是小号,深蓝色是大提琴),并利用这些感知创造了他的抽象艺术理论。在音乐方面,<strong>亚历山大·斯克里亚宾</strong>为《普罗米修斯:火之诗》创作了一个“光键盘”(tastiera per luce)声部,旨在投射出与每个音符相对应的颜色。' },
|
|
112
|
+
{ type: 'tip', title: '此工具的色盘', html: '颜色分配受到科学文献中最常见的统计数据的启发。<strong>A → 红色</strong>,<strong>E → 绿色</strong>,<strong>I → 根据背景显示白/黑</strong>,<strong>O → 黑/白</strong>,<strong>U → 琥珀色</strong>。辅音遵循较不统一的模式,但始终优先考虑与背景的对比度,以保证可读性。' }
|
|
113
|
+
],
|
|
114
|
+
faq,
|
|
115
|
+
bibliography: [
|
|
116
|
+
{ name: 'Simner et al. (2006) – 联觉:非典型跨模态体验的流行率', url: 'https://www.ncbi.nlm.nih.gov/pmc/articles/PMC1626536/' },
|
|
117
|
+
{ name: 'Eagleman et al. (2007) – 用于联觉研究的标准化测试电池', url: 'https://www.sciencedirect.com/science/article/pii/S0010945207000087' },
|
|
118
|
+
{ name: '康定斯基,《艺术中的精神性》(1911)', url: 'https://zh.wikipedia.org/wiki/瓦西里·康定斯基' }
|
|
119
|
+
],
|
|
120
|
+
howTo,
|
|
121
|
+
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
122
|
+
};
|
|
@@ -26,6 +26,18 @@ export const synesthesiaPainter: CreativeToolEntry<SynesthesiaPainterUI> = {
|
|
|
26
26
|
es: () => import('./i18n/es').then((m) => m.content),
|
|
27
27
|
en: () => import('./i18n/en').then((m) => m.content),
|
|
28
28
|
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
29
|
+
de: () => import('./i18n/de').then((m) => m.content),
|
|
30
|
+
id: () => import('./i18n/id').then((m) => m.content),
|
|
31
|
+
it: () => import('./i18n/it').then((m) => m.content),
|
|
32
|
+
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
33
|
+
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
34
|
+
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
35
|
+
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
36
|
+
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
37
|
+
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
38
|
+
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
39
|
+
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
40
|
+
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
29
41
|
},
|
|
30
42
|
};
|
|
31
43
|
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ZalgoGeneratorLocaleContent } from '../index';
|
|
3
|
+
|
|
4
|
+
const slug = 'zalgo-generator-de';
|
|
5
|
+
const title = 'Zalgo Generator';
|
|
6
|
+
const description = 'Korrumpieren Sie Ihre Nachrichten mit kaskadierenden, überlaufenden Unicode-Zeichen. Passen Sie Intensität und Richtung des Glitch-Effekts an.';
|
|
7
|
+
|
|
8
|
+
const faq: ZalgoGeneratorLocaleContent['faq'] = [
|
|
9
|
+
{ question: 'Was ist Zalgo Text?', answer: 'Es handelt sich um eine Art von Text, der übermäßig viele Unicode-Kombinationszeichen (diakritische Zeichen) verwendet. Wenn diese vertikal gestapelt werden, „laufen sie über“ ihre ursprüngliche Zeile hinaus und erzeugen einen visuellen Effekt von Korruption, Unordnung oder Horror, der in der Internetkultur beliebt ist.' },
|
|
10
|
+
{ question: 'Warum sieht Zalgo-Text so seltsam aus?', answer: 'Er nutzt eine Funktion des Unicode-Standards aus, die das Hinzufügen von Markierungen über, unter oder durch einen Basisbuchstaben ermöglicht. Da es keine strikte Begrenzung für die Anzahl der Markierungen gibt, kann der Text in die Zeilen darüber oder darunter „eindringen“.' },
|
|
11
|
+
{ question: 'Kann ich diesen Text in sozialen Medien verwenden?', answer: 'Ja, die meisten modernen Plattformen (Instagram, Twitter, Discord) unterstützen Unicode. Einige Netzwerke oder Geräte können jedoch übermäßige Zeichen bei sehr hoher Intensität filtern oder abschneiden, um die Lesbarkeit der Benutzeroberfläche zu erhalten.' },
|
|
12
|
+
{ question: 'Wie kann ich den Zalgo-Effekt aus dem Text entfernen?', answer: 'Um korrumpierten Text zu bereinigen, können Sie die JavaScript-String-Normalisierung verwenden oder ihn einfach in einen einfachen Texteditor einfügen, der nur Nur-Text akzeptiert. Unser Tool ist rein kreativ und beschädigt den Originalinhalt nicht.' },
|
|
13
|
+
];
|
|
14
|
+
|
|
15
|
+
const howTo: ZalgoGeneratorLocaleContent['howTo'] = [
|
|
16
|
+
{ name: 'Basistext schreiben', text: 'Geben Sie den Text, den Sie „korrumpieren“ möchten, in das Haupttextfeld ein.' },
|
|
17
|
+
{ name: 'Chaos-Intensität anpassen', text: 'Bewegen Sie den Schieberegler, um festzulegen, wie viele Kombinationszeichen gestapelt werden sollen. Höhere Intensität = schwerer zu lesen.' },
|
|
18
|
+
{ name: 'Überlaufrichtung wählen', text: 'Wählen Sie, ob die Korruption nach oben, nach unten oder gleichzeitig in alle Richtungen wachsen soll.' },
|
|
19
|
+
{ name: 'Ergebnis kopieren', text: 'Klicken Sie auf die Schaltfläche zum Kopieren. Der resultierende Text enthält alle unsichtbaren Bytes, die für den Glitch-Effekt erforderlich sind.' },
|
|
20
|
+
];
|
|
21
|
+
|
|
22
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
23
|
+
'@context': 'https://schema.org',
|
|
24
|
+
'@type': 'FAQPage',
|
|
25
|
+
mainEntity: faq.map((item) => ({
|
|
26
|
+
'@type': 'Question',
|
|
27
|
+
name: item.question,
|
|
28
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
29
|
+
})),
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
const howToSchema: WithContext<HowTo> = {
|
|
33
|
+
'@context': 'https://schema.org',
|
|
34
|
+
'@type': 'HowTo',
|
|
35
|
+
name: title,
|
|
36
|
+
description,
|
|
37
|
+
step: howTo.map((step) => ({
|
|
38
|
+
'@type': 'HowToStep',
|
|
39
|
+
name: step.name,
|
|
40
|
+
text: step.text,
|
|
41
|
+
})),
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
45
|
+
'@context': 'https://schema.org',
|
|
46
|
+
'@type': 'SoftwareApplication',
|
|
47
|
+
name: title,
|
|
48
|
+
description,
|
|
49
|
+
applicationCategory: 'UtilitiesApplication',
|
|
50
|
+
operatingSystem: 'Web',
|
|
51
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
52
|
+
inLanguage: 'de',
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
export const content: ZalgoGeneratorLocaleContent = {
|
|
56
|
+
slug,
|
|
57
|
+
title,
|
|
58
|
+
description,
|
|
59
|
+
faqTitle: 'Häufig gestellte Fragen',
|
|
60
|
+
bibliographyTitle: 'Chaos-Bibliographie',
|
|
61
|
+
ui: {
|
|
62
|
+
title: 'Zalgo Generator',
|
|
63
|
+
description: 'A̵l̸l̸e̵s̶ ̵i̶s̷t̶ ̵k̶o̸r̸r̸u̶p̸t̷',
|
|
64
|
+
inputPlaceholder: 'Geben Sie hier Ihre normale Nachricht ein...',
|
|
65
|
+
intensityLabel: 'Korruptionsstufe',
|
|
66
|
+
outputLabel: 'Korrumpierte Nachricht',
|
|
67
|
+
copyBtn: 'Chaos kopieren',
|
|
68
|
+
copied: 'Kopiert!',
|
|
69
|
+
faqTitle: 'FAQ',
|
|
70
|
+
bibliographyTitle: 'Referenzen',
|
|
71
|
+
configTitle: 'Konfiguration',
|
|
72
|
+
intensity: 'Intensität',
|
|
73
|
+
upLabel: 'Obere Korruption',
|
|
74
|
+
midLabel: 'Mittleres Rauschen',
|
|
75
|
+
downLabel: 'Untere Korruption',
|
|
76
|
+
resetBtn: 'Werte zurücksetzen',
|
|
77
|
+
warningText: 'WARNUNG: Zalgo-Text verwendet kombinierte Unicode-Zeichen, die visuell über ihren Container hinausgehen können. Mit Vorsicht in sozialen Medien verwenden.',
|
|
78
|
+
previewLabel: 'Echtzeit-Vorschau',
|
|
79
|
+
emptyLabel: 'Leer',
|
|
80
|
+
charLabel: 'ZEICHEN',
|
|
81
|
+
noteText: 'Hinweis: Einige Browser können die Darstellung kombinierter Zeichen einschränken'
|
|
82
|
+
},
|
|
83
|
+
seo: [
|
|
84
|
+
{ type: 'title', text: 'Was ist Zalgo Text und wie funktioniert visuelle Korruption?', level: 2 },
|
|
85
|
+
{ type: 'paragraph', html: 'Zalgo-Text ist eine Form der typografischen Manipulation, die eine spezifische Funktion des Unicode-Standards nutzt: <strong>Kombinationszeichen</strong>. Im Gegensatz zu normalen Zeichen belegen diese diakritischen Zeichen keinen horizontalen Platz — sie stapeln sich vertikal auf dem Basisbuchstaben und erzeugen so die in der Internetkultur beliebte Ästhetik des „digitalen Chaos“ oder „kosmischen Horrors“.' },
|
|
86
|
+
{ type: 'title', text: 'Anatomie des Prozesses', level: 3 },
|
|
87
|
+
{ type: 'paragraph', html: 'Unser Generator verarbeitet jedes Zeichen unabhängig und injiziert zufällige Unicode-Codepunkte in drei verschiedenen Vektoren: <strong>oben</strong> (diakritische Zeichen, die sich darüber stapeln), <strong>mitte</strong> (die den Buchstaben durchdringen) und <strong>unten</strong> (die darunter hängen).' },
|
|
88
|
+
{ type: 'tip', title: 'Korruptionsalgorithmus', html: 'Für jedes Basiszeichen wird ein Wert von <code>Anzahl = Intensität × 30</code> berechnet. So viele zufällige diakritische Zeichen werden in jedem Vektor hinzugefügt. Bei einer Intensität von 1,5 können Sie bis zu 45 Kombinationszeichen pro Buchstabe erhalten.' },
|
|
89
|
+
{ type: 'title', text: 'Knigge und Anwendungen', level: 3 },
|
|
90
|
+
{ type: 'list', items: [
|
|
91
|
+
'<strong>Soziale Medien:</strong> Erregen Sie Aufmerksamkeit auf Instagram oder TikTok. Perfekt für Bios, die mit Konventionen brechen wollen.',
|
|
92
|
+
'<strong>Horror-Storytelling:</strong> Dramatisieren Sie fiktionale Erzählungen, Creepypastas oder Simulationen kompromittierter Systeme.',
|
|
93
|
+
'<strong>Barrierefreiheit:</strong> Warnung — Zalgo-Text ist für Screenreader unlesbar. Verwenden Sie ihn nur als visuelle Dekoration, niemals für kritische Inhalte.',
|
|
94
|
+
'<strong>SEO:</strong> Verwenden Sie Zalgo niemals in Kern-Keywords (H1, Meta-Titel). Indexierungs-Bots können diese Zeichen möglicherweise nicht normalisieren.',
|
|
95
|
+
]},
|
|
96
|
+
{ type: 'title', text: 'Der Ursprung: Von Something Awful zu Glitch Art', level: 3 },
|
|
97
|
+
{ type: 'paragraph', html: 'Zalgo begann nicht als Generator, sondern als Intervention in klassischen Comic-Strips. Der Benutzer Shmorky begann Mitte der 2000er Jahre, Charaktere wie Nancy oder Archie zu deformieren und Flecken sowie Verzerrungen hinzuzufügen. Der Satz <strong>„Er kommt“</strong> besiegelte das Schicksal dieser Werke und kündigte die Ankunft einer Entität an, die die Realität verschlingt.' },
|
|
98
|
+
{ type: 'glossary', items: [
|
|
99
|
+
{ term: 'Kombinationszeichen', definition: 'Ein Unicode-Codepunkt, der dazu bestimmt ist, über, unter oder durch ein Basiszeichen platziert zu werden. Wird legitim in Sprachen wie Arabisch, Vietnamesisch und Hindi verwendet.' },
|
|
100
|
+
{ term: 'Diakritisches Zeichen', definition: 'Ein Markenzeichen, das einem Basisbuchstaben hinzugefügt wird, um seine Aussprache oder Bedeutung zu ändern. Zalgo missbraucht diese, um einen visuellen Überlauf zu erzeugen.' },
|
|
101
|
+
{ term: 'Unicode-Block', definition: 'Ein zusammenhängender Bereich von Unicode-Codepunkten. Zalgo-Zeichen stammen meist aus dem Block „Kombinierende diakritische Zeichen“ (U+0300–U+036F).' },
|
|
102
|
+
{ term: 'Glitch Art', definition: 'Eine Ästhetik, die absichtlich Fehler, Artefakte und Korruptionen in digitalen Medien als Ausdrucksmittel einbezieht oder simuliert.' },
|
|
103
|
+
]},
|
|
104
|
+
],
|
|
105
|
+
faq,
|
|
106
|
+
bibliography: [
|
|
107
|
+
{ name: 'Unicode-Standard - Kombinationszeichen (Englisch)', url: 'https://www.unicode.org/standard/principles.html#Combining_Characters' },
|
|
108
|
+
{ name: 'Das Zalgo-Text-Phänomen (Englisch)', url: 'https://knowyourmeme.com/memes/zalgo' },
|
|
109
|
+
{ name: 'MDN - String-Normalisierung', url: 'https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/String/normalize' },
|
|
110
|
+
],
|
|
111
|
+
howTo,
|
|
112
|
+
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
113
|
+
};
|
|
@@ -1,9 +1,61 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
1
2
|
import type { ZalgoGeneratorLocaleContent } from '../index';
|
|
2
3
|
|
|
4
|
+
const slug = 'zalgo-generator';
|
|
5
|
+
const title = 'Zalgo Generator';
|
|
6
|
+
const description = 'Corrupt your messages with cascading overflowing Unicode characters. Adjust intensity and direction of the glitch effect.';
|
|
7
|
+
|
|
8
|
+
const faq: ZalgoGeneratorLocaleContent['faq'] = [
|
|
9
|
+
{ question: 'What is Zalgo text?', answer: 'It is a type of text that uses Unicode combining characters (diacritics) excessively. When stacked vertically, these characters "overflow" their original line, creating a visual effect of corruption, disorder, or horror popular in internet culture.' },
|
|
10
|
+
{ question: 'Why does Zalgo text look so strange?', answer: 'It exploits a feature of the Unicode standard that allows adding marks above, below, or through a base letter. Since there is no strict limit on how many marks can be added, the text can "invade" lines above or below.' },
|
|
11
|
+
{ question: 'Can I use this text on social media?', answer: 'Yes, most modern platforms (Instagram, Twitter, Discord) support Unicode. However, some networks or devices may filter or truncate excess characters at very high intensity to maintain interface readability.' },
|
|
12
|
+
{ question: 'How can I remove the Zalgo effect from text?', answer: 'To clean corrupted text, you can use JavaScript string normalization or simply paste it into a basic text editor that only accepts plain text. Our tool is purely creative and does not damage the original content.' },
|
|
13
|
+
];
|
|
14
|
+
|
|
15
|
+
const howTo: ZalgoGeneratorLocaleContent['howTo'] = [
|
|
16
|
+
{ name: 'Write the base message', text: 'Enter the text you want to "corrupt" in the main text box.' },
|
|
17
|
+
{ name: 'Adjust the chaos intensity', text: 'Move the slider to define how many combining characters to stack. Higher intensity = harder to read.' },
|
|
18
|
+
{ name: 'Select the overflow direction', text: 'Choose whether corruption should grow upward, downward, or in all directions simultaneously.' },
|
|
19
|
+
{ name: 'Copy the result', text: 'Click the copy button. The resulting text includes all the invisible bytes needed to maintain the glitch effect.' },
|
|
20
|
+
];
|
|
21
|
+
|
|
22
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
23
|
+
'@context': 'https://schema.org',
|
|
24
|
+
'@type': 'FAQPage',
|
|
25
|
+
mainEntity: faq.map((item) => ({
|
|
26
|
+
'@type': 'Question',
|
|
27
|
+
name: item.question,
|
|
28
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
29
|
+
})),
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
const howToSchema: WithContext<HowTo> = {
|
|
33
|
+
'@context': 'https://schema.org',
|
|
34
|
+
'@type': 'HowTo',
|
|
35
|
+
name: title,
|
|
36
|
+
description,
|
|
37
|
+
step: howTo.map((step) => ({
|
|
38
|
+
'@type': 'HowToStep',
|
|
39
|
+
name: step.name,
|
|
40
|
+
text: step.text,
|
|
41
|
+
})),
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
45
|
+
'@context': 'https://schema.org',
|
|
46
|
+
'@type': 'SoftwareApplication',
|
|
47
|
+
name: title,
|
|
48
|
+
description,
|
|
49
|
+
applicationCategory: 'UtilitiesApplication',
|
|
50
|
+
operatingSystem: 'Web',
|
|
51
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
52
|
+
inLanguage: 'en',
|
|
53
|
+
};
|
|
54
|
+
|
|
3
55
|
export const content: ZalgoGeneratorLocaleContent = {
|
|
4
|
-
slug
|
|
5
|
-
title
|
|
6
|
-
description
|
|
56
|
+
slug,
|
|
57
|
+
title,
|
|
58
|
+
description,
|
|
7
59
|
faqTitle: 'Frequently Asked Questions',
|
|
8
60
|
bibliographyTitle: 'Chaos Bibliography',
|
|
9
61
|
ui: {
|
|
@@ -50,22 +102,12 @@ export const content: ZalgoGeneratorLocaleContent = {
|
|
|
50
102
|
{ term: 'Glitch Art', definition: 'An aesthetic that intentionally incorporates or simulates errors, artifacts, and corruptions in digital media as an expressive technique.' },
|
|
51
103
|
]},
|
|
52
104
|
],
|
|
53
|
-
faq
|
|
54
|
-
{ question: 'What is Zalgo text?', answer: 'It is a type of text that uses Unicode combining characters (diacritics) excessively. When stacked vertically, these characters "overflow" their original line, creating a visual effect of corruption, disorder, or horror popular in internet culture.' },
|
|
55
|
-
{ question: 'Why does Zalgo text look so strange?', answer: 'It exploits a feature of the Unicode standard that allows adding marks above, below, or through a base letter. Since there is no strict limit on how many marks can be added, the text can "invade" lines above or below.' },
|
|
56
|
-
{ question: 'Can I use this text on social media?', answer: 'Yes, most modern platforms (Instagram, Twitter, Discord) support Unicode. However, some networks or devices may filter or truncate excess characters at very high intensity to maintain interface readability.' },
|
|
57
|
-
{ question: 'How can I remove the Zalgo effect from text?', answer: 'To clean corrupted text, you can use JavaScript string normalization or simply paste it into a basic text editor that only accepts plain text. Our tool is purely creative and does not damage the original content.' },
|
|
58
|
-
],
|
|
105
|
+
faq,
|
|
59
106
|
bibliography: [
|
|
60
107
|
{ name: 'Unicode Standard - Combining Characters', url: 'https://www.unicode.org/standard/principles.html#Combining_Characters' },
|
|
61
108
|
{ name: 'The Zalgo Text Phenomenon', url: 'https://knowyourmeme.com/memes/zalgo' },
|
|
62
109
|
{ name: 'MDN - String normalization', url: 'https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize' },
|
|
63
110
|
],
|
|
64
|
-
howTo
|
|
65
|
-
|
|
66
|
-
{ name: 'Adjust the chaos intensity', text: 'Move the slider to define how many combining characters to stack. Higher intensity = harder to read.' },
|
|
67
|
-
{ name: 'Select the overflow direction', text: 'Choose whether corruption should grow upward, downward, or in all directions simultaneously.' },
|
|
68
|
-
{ name: 'Copy the result', text: 'Click the copy button. The resulting text includes all the invisible bytes needed to maintain the glitch effect.' },
|
|
69
|
-
],
|
|
70
|
-
schemas: []
|
|
111
|
+
howTo,
|
|
112
|
+
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
71
113
|
};
|
|
@@ -1,9 +1,61 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
1
2
|
import type { ZalgoGeneratorLocaleContent } from '../index';
|
|
2
3
|
|
|
4
|
+
const slug = 'generador-zalgo';
|
|
5
|
+
const title = 'Generador Zalgo';
|
|
6
|
+
const description = 'Corrompe tus mensajes con cascadas de caracteres Unicode desbordantes.';
|
|
7
|
+
|
|
8
|
+
const faq: ZalgoGeneratorLocaleContent['faq'] = [
|
|
9
|
+
{ question: '¿Qué es el texto Zalgo?', answer: 'Es un tipo de texto que utiliza caracteres Unicode de combinación (diacríticos) de forma excesiva. Al apilarse verticalmente, estos caracteres "desbordan" su línea original, creando un efecto visual de corrupción, desorden o terror muy popular en la cultura de internet.' },
|
|
10
|
+
{ question: '¿Por qué el texto Zalgo se ve tan extraño?', answer: 'Se aprovecha de una característica del estándar Unicode que permite añadir marcas encima, debajo o en medio de una letra base. Como no hay un límite estricto de cuántas marcas se pueden añadir, el texto puede "invadir" párrafos superiores o inferiores.' },
|
|
11
|
+
{ question: '¿Puedo usar este texto en redes sociales?', answer: 'Sí, la mayoría de plataformas modernas (Instagram, Twitter, Discord) soportan Unicode. Sin embargo, algunas redes o dispositivos pueden filtrar o recortar el exceso de caracteres si la intensidad es muy alta para mantener la legibilidad de la interfaz.' },
|
|
12
|
+
{ question: '¿Cómo puedo quitar el efecto Zalgo de un texto?', answer: 'Para limpiar un texto corrupto, puedes usar la normalización de strings de JavaScript o simplemente copiarlo en un editor básico que solo admita texto plano. Nuestra herramienta es puramente creativa y no daña el contenido original.' },
|
|
13
|
+
];
|
|
14
|
+
|
|
15
|
+
const howTo: ZalgoGeneratorLocaleContent['howTo'] = [
|
|
16
|
+
{ name: 'Escribir el mensaje base', text: 'Introduce el texto que quieres "corromper" en el cuadro principal de la herramienta.' },
|
|
17
|
+
{ name: 'Ajustar la intensidad del caos', text: 'Mueve el selector para definir cuántos caracteres de combinación quieres apilar. A más intensidad, más difícil será de leer.' },
|
|
18
|
+
{ name: 'Seleccionar la dirección del desbordamiento', text: 'Elige si quieres que la corrupción crezca hacia arriba, hacia abajo o en todas las direcciones simultáneamente.' },
|
|
19
|
+
{ name: 'Copiar el texto resultante', text: 'Haz clic en el botón de copiar. El texto resultante incluirá todos los bytes invisibles necesarios para mantener el efecto glitch.' },
|
|
20
|
+
];
|
|
21
|
+
|
|
22
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
23
|
+
'@context': 'https://schema.org',
|
|
24
|
+
'@type': 'FAQPage',
|
|
25
|
+
mainEntity: faq.map((item) => ({
|
|
26
|
+
'@type': 'Question',
|
|
27
|
+
name: item.question,
|
|
28
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
29
|
+
})),
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
const howToSchema: WithContext<HowTo> = {
|
|
33
|
+
'@context': 'https://schema.org',
|
|
34
|
+
'@type': 'HowTo',
|
|
35
|
+
name: title,
|
|
36
|
+
description,
|
|
37
|
+
step: howTo.map((step) => ({
|
|
38
|
+
'@type': 'HowToStep',
|
|
39
|
+
name: step.name,
|
|
40
|
+
text: step.text,
|
|
41
|
+
})),
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
45
|
+
'@context': 'https://schema.org',
|
|
46
|
+
'@type': 'SoftwareApplication',
|
|
47
|
+
name: title,
|
|
48
|
+
description,
|
|
49
|
+
applicationCategory: 'UtilitiesApplication',
|
|
50
|
+
operatingSystem: 'Web',
|
|
51
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
52
|
+
inLanguage: 'es',
|
|
53
|
+
};
|
|
54
|
+
|
|
3
55
|
export const content: ZalgoGeneratorLocaleContent = {
|
|
4
|
-
slug
|
|
5
|
-
title
|
|
6
|
-
description
|
|
56
|
+
slug,
|
|
57
|
+
title,
|
|
58
|
+
description,
|
|
7
59
|
faqTitle: 'Preguntas Frecuentes',
|
|
8
60
|
bibliographyTitle: 'Bibliografía del Caos',
|
|
9
61
|
ui: {
|
|
@@ -57,22 +109,12 @@ export const content: ZalgoGeneratorLocaleContent = {
|
|
|
57
109
|
{ term: 'Glitch Art', definition: 'Estética que incorpora intencionalmente errores, artefactos y corrupciones en medios digitales como técnica expresiva.' },
|
|
58
110
|
]},
|
|
59
111
|
],
|
|
60
|
-
faq
|
|
61
|
-
{ question: '¿Qué es el texto Zalgo?', answer: 'Es un tipo de texto que utiliza caracteres Unicode de combinación (diacríticos) de forma excesiva. Al apilarse verticalmente, estos caracteres "desbordan" su línea original, creando un efecto visual de corrupción, desorden o terror muy popular en la cultura de internet.' },
|
|
62
|
-
{ question: '¿Por qué el texto Zalgo se ve tan extraño?', answer: 'Se aprovecha de una característica del estándar Unicode que permite añadir marcas encima, debajo o en medio de una letra base. Como no hay un límite estricto de cuántas marcas se pueden añadir, el texto puede "invadir" párrafos superiores o inferiores.' },
|
|
63
|
-
{ question: '¿Puedo usar este texto en redes sociales?', answer: 'Sí, la mayoría de plataformas modernas (Instagram, Twitter, Discord) soportan Unicode. Sin embargo, algunas redes o dispositivos pueden filtrar o recortar el exceso de caracteres si la intensidad es muy alta para mantener la legibilidad de la interfaz.' },
|
|
64
|
-
{ question: '¿Cómo puedo quitar el efecto Zalgo de un texto?', answer: 'Para limpiar un texto corrupto, puedes usar la normalización de strings de JavaScript o simplemente copiarlo en un editor básico que solo admita texto plano. Nuestra herramienta es puramente creativa y no daña el contenido original.' },
|
|
65
|
-
],
|
|
112
|
+
faq,
|
|
66
113
|
bibliography: [
|
|
67
114
|
{ name: 'Unicode Standard - Combining Characters', url: 'https://www.unicode.org/standard/principles.html#Combining_Characters' },
|
|
68
115
|
{ name: 'The Zalgo Text Phenomenon', url: 'https://knowyourmeme.com/memes/zalgo' },
|
|
69
116
|
{ name: 'MDN - String normalization', url: 'https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize' },
|
|
70
117
|
],
|
|
71
|
-
howTo
|
|
72
|
-
|
|
73
|
-
{ name: 'Ajustar la intensidad del caos', text: 'Mueve el selector para definir cuántos caracteres de combinación quieres apilar. A más intensidad, más difícil será de leer.' },
|
|
74
|
-
{ name: 'Seleccionar la dirección del desbordamiento', text: 'Elige si quieres que la corrupción crezca hacia arriba, hacia abajo o en todas las direcciones simultáneamente.' },
|
|
75
|
-
{ name: 'Copiar el texto resultante', text: 'Haz clic en el botón de copiar. El texto resultante incluirá todos los bytes invisibles necesarios para mantener el efecto glitch.' },
|
|
76
|
-
],
|
|
77
|
-
schemas: []
|
|
118
|
+
howTo,
|
|
119
|
+
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
78
120
|
};
|