@jjlmoya/utils-creative 1.26.0 → 1.27.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 +2 -2
- package/src/category/i18n/de.ts +2 -2
- package/src/category/i18n/en.ts +2 -2
- package/src/category/i18n/es.ts +2 -2
- package/src/category/i18n/fr.ts +2 -2
- package/src/category/i18n/id.ts +2 -2
- package/src/category/i18n/it.ts +2 -2
- package/src/category/i18n/ja.ts +2 -2
- package/src/category/i18n/ko.ts +2 -2
- package/src/category/i18n/nl.ts +2 -2
- package/src/category/i18n/pl.ts +2 -2
- package/src/category/i18n/pt.ts +2 -2
- package/src/category/i18n/ru.ts +2 -2
- package/src/category/i18n/sv.ts +2 -2
- package/src/category/i18n/tr.ts +2 -2
- package/src/category/i18n/zh.ts +2 -2
- package/src/category/seo.astro +1 -1
- package/src/components/PreviewNavSidebar.astro +1 -1
- package/src/components/PreviewToolbar.astro +1 -1
- package/src/env.d.ts +1 -1
- package/src/pages/index.astro +1 -1
- package/src/tests/bibliography_wellformed_export.test.ts +46 -0
- package/src/tests/category_seo_quality.test.ts +74 -0
- package/src/tests/faq_count.test.ts +1 -1
- package/src/tests/mocks/astro_mock.js +1 -1
- package/src/tests/no_h1_in_components.test.ts +1 -1
- package/src/tests/seo_parity.test.ts +2 -2
- package/src/tests/seo_translation_completeness.test.ts +69 -0
- package/src/tests/seo_wellformed_export.test.ts +65 -0
- package/src/tests/tool_validation.test.ts +17 -17
- package/src/tool/bead-pattern-generator/bibliography.astro +8 -8
- package/src/tool/bead-pattern-generator/i18n/de.ts +111 -111
- package/src/tool/bead-pattern-generator/i18n/en.ts +111 -111
- package/src/tool/bead-pattern-generator/i18n/es.ts +104 -104
- package/src/tool/bead-pattern-generator/i18n/fr.ts +111 -111
- package/src/tool/bead-pattern-generator/i18n/id.ts +111 -111
- package/src/tool/bead-pattern-generator/i18n/it.ts +111 -111
- package/src/tool/bead-pattern-generator/i18n/ja.ts +111 -111
- package/src/tool/bead-pattern-generator/i18n/ko.ts +111 -111
- package/src/tool/bead-pattern-generator/i18n/nl.ts +111 -111
- package/src/tool/bead-pattern-generator/i18n/pl.ts +111 -111
- package/src/tool/bead-pattern-generator/i18n/pt.ts +111 -111
- package/src/tool/bead-pattern-generator/i18n/ru.ts +111 -111
- package/src/tool/bead-pattern-generator/i18n/sv.ts +111 -111
- package/src/tool/bead-pattern-generator/i18n/tr.ts +111 -111
- package/src/tool/bead-pattern-generator/i18n/zh.ts +111 -111
- package/src/tool/bead-pattern-generator/seo.astro +19 -19
- package/src/tool/dice-roller/bibliography.astro +8 -8
- package/src/tool/dice-roller/i18n/de.ts +134 -134
- package/src/tool/dice-roller/i18n/en.ts +134 -134
- package/src/tool/dice-roller/i18n/es.ts +125 -125
- package/src/tool/dice-roller/i18n/fr.ts +134 -134
- package/src/tool/dice-roller/i18n/id.ts +134 -134
- package/src/tool/dice-roller/i18n/it.ts +134 -134
- package/src/tool/dice-roller/i18n/ja.ts +134 -134
- package/src/tool/dice-roller/i18n/ko.ts +134 -134
- package/src/tool/dice-roller/i18n/nl.ts +134 -134
- package/src/tool/dice-roller/i18n/pl.ts +134 -134
- package/src/tool/dice-roller/i18n/pt.ts +134 -134
- package/src/tool/dice-roller/i18n/ru.ts +134 -134
- package/src/tool/dice-roller/i18n/sv.ts +134 -134
- package/src/tool/dice-roller/i18n/tr.ts +134 -134
- package/src/tool/dice-roller/i18n/zh.ts +134 -134
- package/src/tool/dice-roller/seo.astro +15 -15
- package/src/tool/excuse-generator/bibliography.astro +8 -8
- package/src/tool/excuse-generator/i18n/de.ts +120 -120
- package/src/tool/excuse-generator/i18n/en.ts +120 -120
- package/src/tool/excuse-generator/i18n/es.ts +118 -118
- package/src/tool/excuse-generator/i18n/fr.ts +120 -120
- package/src/tool/excuse-generator/i18n/id.ts +120 -120
- package/src/tool/excuse-generator/i18n/it.ts +120 -120
- package/src/tool/excuse-generator/i18n/ja.ts +120 -120
- package/src/tool/excuse-generator/i18n/ko.ts +120 -120
- package/src/tool/excuse-generator/i18n/nl.ts +120 -120
- package/src/tool/excuse-generator/i18n/pl.ts +120 -120
- package/src/tool/excuse-generator/i18n/pt.ts +120 -120
- package/src/tool/excuse-generator/i18n/ru.ts +120 -120
- package/src/tool/excuse-generator/i18n/sv.ts +120 -120
- package/src/tool/excuse-generator/i18n/tr.ts +120 -120
- package/src/tool/excuse-generator/i18n/zh.ts +120 -120
- package/src/tool/excuse-generator/seo.astro +15 -15
- package/src/tool/fortune-cookie/bibliography.astro +8 -8
- package/src/tool/fortune-cookie/i18n/de.ts +124 -124
- package/src/tool/fortune-cookie/i18n/en.ts +124 -124
- package/src/tool/fortune-cookie/i18n/es.ts +125 -125
- package/src/tool/fortune-cookie/i18n/fr.ts +124 -124
- package/src/tool/fortune-cookie/i18n/id.ts +124 -124
- package/src/tool/fortune-cookie/i18n/it.ts +124 -124
- package/src/tool/fortune-cookie/i18n/ja.ts +124 -124
- package/src/tool/fortune-cookie/i18n/ko.ts +124 -124
- package/src/tool/fortune-cookie/i18n/nl.ts +124 -124
- package/src/tool/fortune-cookie/i18n/pl.ts +124 -124
- package/src/tool/fortune-cookie/i18n/pt.ts +124 -124
- package/src/tool/fortune-cookie/i18n/ru.ts +124 -124
- package/src/tool/fortune-cookie/i18n/sv.ts +124 -124
- package/src/tool/fortune-cookie/i18n/tr.ts +124 -124
- package/src/tool/fortune-cookie/i18n/zh.ts +124 -124
- package/src/tool/fortune-cookie/seo.astro +15 -15
- package/src/tool/synesthesia-painter/bibliography.astro +8 -8
- package/src/tool/synesthesia-painter/i18n/de.ts +118 -118
- package/src/tool/synesthesia-painter/i18n/en.ts +118 -118
- package/src/tool/synesthesia-painter/i18n/es.ts +110 -110
- package/src/tool/synesthesia-painter/i18n/fr.ts +118 -118
- package/src/tool/synesthesia-painter/i18n/id.ts +118 -118
- package/src/tool/synesthesia-painter/i18n/it.ts +118 -118
- package/src/tool/synesthesia-painter/i18n/ja.ts +118 -118
- package/src/tool/synesthesia-painter/i18n/ko.ts +118 -118
- package/src/tool/synesthesia-painter/i18n/nl.ts +118 -118
- package/src/tool/synesthesia-painter/i18n/pl.ts +118 -118
- package/src/tool/synesthesia-painter/i18n/pt.ts +118 -118
- package/src/tool/synesthesia-painter/i18n/ru.ts +118 -118
- package/src/tool/synesthesia-painter/i18n/sv.ts +118 -118
- package/src/tool/synesthesia-painter/i18n/tr.ts +118 -118
- package/src/tool/synesthesia-painter/i18n/zh.ts +118 -118
- package/src/tool/synesthesia-painter/seo.astro +15 -15
- package/src/tool/zalgo-generator/bibliography.astro +8 -8
- package/src/tool/zalgo-generator/i18n/de.ts +109 -109
- package/src/tool/zalgo-generator/i18n/en.ts +109 -109
- package/src/tool/zalgo-generator/i18n/es.ts +109 -109
- package/src/tool/zalgo-generator/i18n/fr.ts +109 -109
- package/src/tool/zalgo-generator/i18n/id.ts +109 -109
- package/src/tool/zalgo-generator/i18n/it.ts +109 -109
- package/src/tool/zalgo-generator/i18n/ja.ts +109 -109
- package/src/tool/zalgo-generator/i18n/ko.ts +109 -109
- package/src/tool/zalgo-generator/i18n/nl.ts +109 -109
- package/src/tool/zalgo-generator/i18n/pl.ts +109 -109
- package/src/tool/zalgo-generator/i18n/pt.ts +109 -109
- package/src/tool/zalgo-generator/i18n/ru.ts +109 -109
- package/src/tool/zalgo-generator/i18n/sv.ts +109 -109
- package/src/tool/zalgo-generator/i18n/tr.ts +109 -109
- package/src/tool/zalgo-generator/i18n/zh.ts +109 -109
- package/src/tool/zalgo-generator/seo.astro +15 -15
- package/src/types.ts +1 -1
|
@@ -1,109 +1,109 @@
|
|
|
1
|
-
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
-
import { bibliography } from '../bibliography';
|
|
3
|
-
import type { ZalgoGeneratorLocaleContent } from '../index';
|
|
4
|
-
|
|
5
|
-
const slug = 'zalgo-olusturucu';
|
|
6
|
-
const title = 'Zalgo Oluşturucu';
|
|
7
|
-
const description = 'Mesajlarınızı kademeli olarak taşan Unicode karakterleriyle bozun. Glitch efektinin yoğunluğunu ve yönünü ayarlayın.';
|
|
8
|
-
|
|
9
|
-
const faq: ZalgoGeneratorLocaleContent['faq'] = [
|
|
10
|
-
{ question: 'Zalgo metni nedir?', answer: 'Unicode birleştirme karakterlerini (diyakritikler) aşırı derecede kullanan bir metin türüdür. Dikey olarak istiflendiklerinde, bu karakterler orijinal satırlarından "taşarak" internet kültüründe popüler olan bozulma, düzensizlik veya korku görsel efekti oluşturur.' },
|
|
11
|
-
{ question: 'Zalgo metni neden bu kadar garip görünüyor?', answer: 'Temel bir harfin üzerine, altına veya ortasına işaretler eklenmesine izin veren Unicode standardının bir özelliğini kullanır. Kaç işaret eklenebileceğine dair kesin bir sınır olmadığı için metin, üstteki veya alttaki satırları "işgal" edebilir.' },
|
|
12
|
-
{ question: 'Bu metni sosyal medyada kullanabilir miyim?', answer: 'Evet, çoğu modern platform (Instagram, Twitter, Discord) Unicode\'u destekler. Ancak bazı ağlar veya cihazlar, arayüz okunabilirliğini korumak için çok yüksek yoğunluktaki fazla karakterleri filtreleyebilir veya kesebilir.' },
|
|
13
|
-
{ question: 'Metinden Zalgo efektini nasıl kaldırabilirim?', answer: 'Bozulmuş metni temizlemek için JavaScript dize normalleştirmesini kullanabilir veya sadece düz metin kabul eden temel bir metin düzenleyiciye yapıştırabilirsiniz. Aracımız tamamen yaratıcı amaçlıdır ve orijinal içeriğe zarar vermez.' },
|
|
14
|
-
];
|
|
15
|
-
|
|
16
|
-
const howTo: ZalgoGeneratorLocaleContent['howTo'] = [
|
|
17
|
-
{ name: 'Temel mesajı yaz', text: 'Ana metin kutusuna "bozmak" istediğiniz metni girin.' },
|
|
18
|
-
{ name: 'Kaos yoğunluğunu ayarla', text: 'Kaç tane birleştirme karakterinin istifleneceğini belirlemek için kaydırıcıyı hareket ettirin. Yüksek yoğunluk = okunması daha zor.' },
|
|
19
|
-
{ name: 'Taşma yönünü seç', text: 'Bozulmanın yukarıya mı, aşağıya mı yoksa aynı anda tüm yönlere mi doğru büyüyeceğini seçin.' },
|
|
20
|
-
{ name: 'Sonucu kopyala', text: 'Kopyala düğmesine tıklayın. Sonuç metni, glitch efektini korumak için gereken tüm görünmez baytları içerir.' },
|
|
21
|
-
];
|
|
22
|
-
|
|
23
|
-
const faqSchema: WithContext<FAQPage> = {
|
|
24
|
-
'@context': 'https://schema.org',
|
|
25
|
-
'@type': 'FAQPage',
|
|
26
|
-
mainEntity: faq.map((item) => ({
|
|
27
|
-
'@type': 'Question',
|
|
28
|
-
name: item.question,
|
|
29
|
-
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
30
|
-
})),
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
const howToSchema: WithContext<HowTo> = {
|
|
34
|
-
'@context': 'https://schema.org',
|
|
35
|
-
'@type': 'HowTo',
|
|
36
|
-
name: title,
|
|
37
|
-
description,
|
|
38
|
-
step: howTo.map((step) => ({
|
|
39
|
-
'@type': 'HowToStep',
|
|
40
|
-
name: step.name,
|
|
41
|
-
text: step.text,
|
|
42
|
-
})),
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
const appSchema: WithContext<SoftwareApplication> = {
|
|
46
|
-
'@context': 'https://schema.org',
|
|
47
|
-
'@type': 'SoftwareApplication',
|
|
48
|
-
name: title,
|
|
49
|
-
description,
|
|
50
|
-
applicationCategory: 'UtilitiesApplication',
|
|
51
|
-
operatingSystem: 'Web',
|
|
52
|
-
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
53
|
-
inLanguage: 'tr',
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
export const content: ZalgoGeneratorLocaleContent = {
|
|
57
|
-
slug,
|
|
58
|
-
title,
|
|
59
|
-
description,
|
|
60
|
-
faqTitle: 'Sıkça Sorulan Sorular',
|
|
61
|
-
ui: {
|
|
62
|
-
title: 'Zalgo Oluşturucu',
|
|
63
|
-
description: 'H̸e̵r̵ ̸ş̵e̸y̴ ̷b̵o̶z̵u̸k̷',
|
|
64
|
-
inputPlaceholder: 'Normal mesajınızı buraya yazın...',
|
|
65
|
-
intensityLabel: 'Bozulma Seviyesi',
|
|
66
|
-
outputLabel: 'Bozulmuş Sonuç',
|
|
67
|
-
copyBtn: 'Kaosu Kopyala',
|
|
68
|
-
copied: 'Kopyalandı!',
|
|
69
|
-
faqTitle: 'FAQ',
|
|
70
|
-
bibliographyTitle: 'Referanslar',
|
|
71
|
-
configTitle: 'Yapılandırma',
|
|
72
|
-
intensity: 'Yoğunluk',
|
|
73
|
-
upLabel: 'Üst Bozulma',
|
|
74
|
-
midLabel: 'Orta Gürültü',
|
|
75
|
-
downLabel: 'Alt Bozulma',
|
|
76
|
-
resetBtn: 'Değerleri Sıfırla',
|
|
77
|
-
warningText: 'UYARI: Zalgo metni, kapsayıcısından görsel olarak taşabilecek birleşik Unicode karakterleri kullanır. Sosyal medyada dikkatli kullanın.',
|
|
78
|
-
previewLabel: 'Gerçek Zamanlı Önizleme',
|
|
79
|
-
emptyLabel: 'Boş',
|
|
80
|
-
charLabel: 'KARAKTERLER',
|
|
81
|
-
noteText: 'Not: Bazı tarayıcılar birleşik karakterlerin oluşturulmasını sınırlayabilir'
|
|
82
|
-
},
|
|
83
|
-
seo: [
|
|
84
|
-
{ type: 'title', text: 'Zalgo Metni Nedir ve Görsel Bozulma Nasıl Çalışır?', level: 2 },
|
|
85
|
-
{ type: 'paragraph', html: 'Zalgo Metni, Unicode standardının belirli bir özelliğini kullanan bir tipografik manipülasyon biçimidir: <strong>birleştirme karakterleri</strong>. Normal karakterlerin aksine, bu diyakritikler yatay yer kaplamaz - temel harfin üzerinde dikey olarak istiflenirler ve internet kültüründe çok popüler olan o "dijital kaos" veya "kozmik korku" estetiğini yaratırlar.' },
|
|
86
|
-
{ type: 'title', text: 'Sürecin Anatomisi', level: 3 },
|
|
87
|
-
{ type: 'paragraph', html: 'Oluşturucumuz her karakteri bağımsız olarak işleyerek üç farklı vektörde rastgele Unicode kod noktaları enjekte eder: <strong>üst</strong> (yukarıda istiflenen diyakritikler), <strong>orta</strong> (harfin içinden geçenler) ve <strong>alt</strong> (aşağıda sarkanlar).' },
|
|
88
|
-
{ type: 'tip', title: 'Bozulma Algoritması', html: 'Her temel karakter için <code>sayı = yoğunluk × 30</code> hesaplanır. Her vektöre o kadar rastgele diyakritik eklenir. 1.5 yoğunlukta harf başına 45 adede kadar birleştirme karakteri elde edebilirsiniz.' },
|
|
89
|
-
{ type: 'title', text: 'Etik ve Uygulamalar', level: 3 },
|
|
90
|
-
{ type: 'list', items: [
|
|
91
|
-
'<strong>Sosyal Medya:</strong> Instagram veya TikTok\'ta dikkat çekin. Alışılmışın dışına çıkmak isteyen biyografiler için mükemmeldir.',
|
|
92
|
-
'<strong>Korku Hikayesi Anlatımı:</strong> Kurgusal anlatıları, creepypasta\'ları veya ele geçirilmiş sistem simülasyonlarını dramatize edin.',
|
|
93
|
-
'<strong>Erişilebilirlik:</strong> Uyarı - Zalgo metni ekran okuyucular tarafından okunamaz. Sadece görsel dekorasyon olarak kullanın, asla kritik içerikler için kullanmayın.',
|
|
94
|
-
'<strong>SEO:</strong> Çekirdek anahtar kelimelerde (H1, meta başlıklar) asla Zalgo kullanmayın. İndeksleme botları bu karakterleri normalleştiremeyebilir.',
|
|
95
|
-
]},
|
|
96
|
-
{ type: 'title', text: 'Köken: Something Awful\'dan Glitch Art\'a', level: 3 },
|
|
97
|
-
{ type: 'paragraph', html: 'Zalgo bir oluşturucu olarak değil, klasik çizgi romanlara bir müdahale olarak başladı. Kullanıcı Shmorky, 2000\'lerin ortalarında Nancy veya Archie gibi karakterleri deforme etmeye, lekeler ve çarpıtmalar eklemeye başladı. <strong>"O geliyor" (He comes)</strong> ifadesi, gerçekliği yiyip bitiren bir varlığın gelişini duyurarak bu eserlerin kaderini mühürledi.' },
|
|
98
|
-
{ type: 'glossary', items: [
|
|
99
|
-
{ term: 'Birleştirme Karakteri', definition: 'Temel bir karakterin üzerine, altına veya içinden geçecek şekilde yerleştirilmek üzere tasarlanmış bir Unicode kod noktası. Arapça, Vietnamca ve Hintçe gibi dillerde meşru olarak kullanılır.' },
|
|
100
|
-
{ term: 'Diyakritik', definition: 'Telaffuzunu veya anlamını değiştirmek için temel bir harfe eklenen işaret. Zalgo, görsel taşma oluşturmak için bunları kötüye kullanır.' },
|
|
101
|
-
{ term: 'Unicode Bloğu', definition: 'Bitişik Unicode kod noktaları aralığı. Zalgo karakterleri çoğunlukla "Birleşen Diyakritik İşaretler" bloğundan (U+0300-U+036F) gelir.' },
|
|
102
|
-
{ term: 'Glitch Art', definition: 'Dijital medyadaki hataları, kusurları ve bozulmaları bilinçli olarak etkileyici bir teknik olarak dahil eden veya simüle eden bir estetik.' },
|
|
103
|
-
]},
|
|
104
|
-
],
|
|
105
|
-
faq,
|
|
106
|
-
bibliography,
|
|
107
|
-
howTo,
|
|
108
|
-
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
109
|
-
};
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import { bibliography } from '../bibliography';
|
|
3
|
+
import type { ZalgoGeneratorLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'zalgo-olusturucu';
|
|
6
|
+
const title = 'Zalgo Oluşturucu';
|
|
7
|
+
const description = 'Mesajlarınızı kademeli olarak taşan Unicode karakterleriyle bozun. Glitch efektinin yoğunluğunu ve yönünü ayarlayın.';
|
|
8
|
+
|
|
9
|
+
const faq: ZalgoGeneratorLocaleContent['faq'] = [
|
|
10
|
+
{ question: 'Zalgo metni nedir?', answer: 'Unicode birleştirme karakterlerini (diyakritikler) aşırı derecede kullanan bir metin türüdür. Dikey olarak istiflendiklerinde, bu karakterler orijinal satırlarından "taşarak" internet kültüründe popüler olan bozulma, düzensizlik veya korku görsel efekti oluşturur.' },
|
|
11
|
+
{ question: 'Zalgo metni neden bu kadar garip görünüyor?', answer: 'Temel bir harfin üzerine, altına veya ortasına işaretler eklenmesine izin veren Unicode standardının bir özelliğini kullanır. Kaç işaret eklenebileceğine dair kesin bir sınır olmadığı için metin, üstteki veya alttaki satırları "işgal" edebilir.' },
|
|
12
|
+
{ question: 'Bu metni sosyal medyada kullanabilir miyim?', answer: 'Evet, çoğu modern platform (Instagram, Twitter, Discord) Unicode\'u destekler. Ancak bazı ağlar veya cihazlar, arayüz okunabilirliğini korumak için çok yüksek yoğunluktaki fazla karakterleri filtreleyebilir veya kesebilir.' },
|
|
13
|
+
{ question: 'Metinden Zalgo efektini nasıl kaldırabilirim?', answer: 'Bozulmuş metni temizlemek için JavaScript dize normalleştirmesini kullanabilir veya sadece düz metin kabul eden temel bir metin düzenleyiciye yapıştırabilirsiniz. Aracımız tamamen yaratıcı amaçlıdır ve orijinal içeriğe zarar vermez.' },
|
|
14
|
+
];
|
|
15
|
+
|
|
16
|
+
const howTo: ZalgoGeneratorLocaleContent['howTo'] = [
|
|
17
|
+
{ name: 'Temel mesajı yaz', text: 'Ana metin kutusuna "bozmak" istediğiniz metni girin.' },
|
|
18
|
+
{ name: 'Kaos yoğunluğunu ayarla', text: 'Kaç tane birleştirme karakterinin istifleneceğini belirlemek için kaydırıcıyı hareket ettirin. Yüksek yoğunluk = okunması daha zor.' },
|
|
19
|
+
{ name: 'Taşma yönünü seç', text: 'Bozulmanın yukarıya mı, aşağıya mı yoksa aynı anda tüm yönlere mi doğru büyüyeceğini seçin.' },
|
|
20
|
+
{ name: 'Sonucu kopyala', text: 'Kopyala düğmesine tıklayın. Sonuç metni, glitch efektini korumak için gereken tüm görünmez baytları içerir.' },
|
|
21
|
+
];
|
|
22
|
+
|
|
23
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
24
|
+
'@context': 'https://schema.org',
|
|
25
|
+
'@type': 'FAQPage',
|
|
26
|
+
mainEntity: faq.map((item) => ({
|
|
27
|
+
'@type': 'Question',
|
|
28
|
+
name: item.question,
|
|
29
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
30
|
+
})),
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
const howToSchema: WithContext<HowTo> = {
|
|
34
|
+
'@context': 'https://schema.org',
|
|
35
|
+
'@type': 'HowTo',
|
|
36
|
+
name: title,
|
|
37
|
+
description,
|
|
38
|
+
step: howTo.map((step) => ({
|
|
39
|
+
'@type': 'HowToStep',
|
|
40
|
+
name: step.name,
|
|
41
|
+
text: step.text,
|
|
42
|
+
})),
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
46
|
+
'@context': 'https://schema.org',
|
|
47
|
+
'@type': 'SoftwareApplication',
|
|
48
|
+
name: title,
|
|
49
|
+
description,
|
|
50
|
+
applicationCategory: 'UtilitiesApplication',
|
|
51
|
+
operatingSystem: 'Web',
|
|
52
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
53
|
+
inLanguage: 'tr',
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
export const content: ZalgoGeneratorLocaleContent = {
|
|
57
|
+
slug,
|
|
58
|
+
title,
|
|
59
|
+
description,
|
|
60
|
+
faqTitle: 'Sıkça Sorulan Sorular',
|
|
61
|
+
ui: {
|
|
62
|
+
title: 'Zalgo Oluşturucu',
|
|
63
|
+
description: 'H̸e̵r̵ ̸ş̵e̸y̴ ̷b̵o̶z̵u̸k̷',
|
|
64
|
+
inputPlaceholder: 'Normal mesajınızı buraya yazın...',
|
|
65
|
+
intensityLabel: 'Bozulma Seviyesi',
|
|
66
|
+
outputLabel: 'Bozulmuş Sonuç',
|
|
67
|
+
copyBtn: 'Kaosu Kopyala',
|
|
68
|
+
copied: 'Kopyalandı!',
|
|
69
|
+
faqTitle: 'FAQ',
|
|
70
|
+
bibliographyTitle: 'Referanslar',
|
|
71
|
+
configTitle: 'Yapılandırma',
|
|
72
|
+
intensity: 'Yoğunluk',
|
|
73
|
+
upLabel: 'Üst Bozulma',
|
|
74
|
+
midLabel: 'Orta Gürültü',
|
|
75
|
+
downLabel: 'Alt Bozulma',
|
|
76
|
+
resetBtn: 'Değerleri Sıfırla',
|
|
77
|
+
warningText: 'UYARI: Zalgo metni, kapsayıcısından görsel olarak taşabilecek birleşik Unicode karakterleri kullanır. Sosyal medyada dikkatli kullanın.',
|
|
78
|
+
previewLabel: 'Gerçek Zamanlı Önizleme',
|
|
79
|
+
emptyLabel: 'Boş',
|
|
80
|
+
charLabel: 'KARAKTERLER',
|
|
81
|
+
noteText: 'Not: Bazı tarayıcılar birleşik karakterlerin oluşturulmasını sınırlayabilir'
|
|
82
|
+
},
|
|
83
|
+
seo: [
|
|
84
|
+
{ type: 'title', text: 'Zalgo Metni Nedir ve Görsel Bozulma Nasıl Çalışır?', level: 2 },
|
|
85
|
+
{ type: 'paragraph', html: 'Zalgo Metni, Unicode standardının belirli bir özelliğini kullanan bir tipografik manipülasyon biçimidir: <strong>birleştirme karakterleri</strong>. Normal karakterlerin aksine, bu diyakritikler yatay yer kaplamaz - temel harfin üzerinde dikey olarak istiflenirler ve internet kültüründe çok popüler olan o "dijital kaos" veya "kozmik korku" estetiğini yaratırlar.' },
|
|
86
|
+
{ type: 'title', text: 'Sürecin Anatomisi', level: 3 },
|
|
87
|
+
{ type: 'paragraph', html: 'Oluşturucumuz her karakteri bağımsız olarak işleyerek üç farklı vektörde rastgele Unicode kod noktaları enjekte eder: <strong>üst</strong> (yukarıda istiflenen diyakritikler), <strong>orta</strong> (harfin içinden geçenler) ve <strong>alt</strong> (aşağıda sarkanlar).' },
|
|
88
|
+
{ type: 'tip', title: 'Bozulma Algoritması', html: 'Her temel karakter için <code>sayı = yoğunluk × 30</code> hesaplanır. Her vektöre o kadar rastgele diyakritik eklenir. 1.5 yoğunlukta harf başına 45 adede kadar birleştirme karakteri elde edebilirsiniz.' },
|
|
89
|
+
{ type: 'title', text: 'Etik ve Uygulamalar', level: 3 },
|
|
90
|
+
{ type: 'list', items: [
|
|
91
|
+
'<strong>Sosyal Medya:</strong> Instagram veya TikTok\'ta dikkat çekin. Alışılmışın dışına çıkmak isteyen biyografiler için mükemmeldir.',
|
|
92
|
+
'<strong>Korku Hikayesi Anlatımı:</strong> Kurgusal anlatıları, creepypasta\'ları veya ele geçirilmiş sistem simülasyonlarını dramatize edin.',
|
|
93
|
+
'<strong>Erişilebilirlik:</strong> Uyarı - Zalgo metni ekran okuyucular tarafından okunamaz. Sadece görsel dekorasyon olarak kullanın, asla kritik içerikler için kullanmayın.',
|
|
94
|
+
'<strong>SEO:</strong> Çekirdek anahtar kelimelerde (H1, meta başlıklar) asla Zalgo kullanmayın. İndeksleme botları bu karakterleri normalleştiremeyebilir.',
|
|
95
|
+
]},
|
|
96
|
+
{ type: 'title', text: 'Köken: Something Awful\'dan Glitch Art\'a', level: 3 },
|
|
97
|
+
{ type: 'paragraph', html: 'Zalgo bir oluşturucu olarak değil, klasik çizgi romanlara bir müdahale olarak başladı. Kullanıcı Shmorky, 2000\'lerin ortalarında Nancy veya Archie gibi karakterleri deforme etmeye, lekeler ve çarpıtmalar eklemeye başladı. <strong>"O geliyor" (He comes)</strong> ifadesi, gerçekliği yiyip bitiren bir varlığın gelişini duyurarak bu eserlerin kaderini mühürledi.' },
|
|
98
|
+
{ type: 'glossary', items: [
|
|
99
|
+
{ term: 'Birleştirme Karakteri', definition: 'Temel bir karakterin üzerine, altına veya içinden geçecek şekilde yerleştirilmek üzere tasarlanmış bir Unicode kod noktası. Arapça, Vietnamca ve Hintçe gibi dillerde meşru olarak kullanılır.' },
|
|
100
|
+
{ term: 'Diyakritik', definition: 'Telaffuzunu veya anlamını değiştirmek için temel bir harfe eklenen işaret. Zalgo, görsel taşma oluşturmak için bunları kötüye kullanır.' },
|
|
101
|
+
{ term: 'Unicode Bloğu', definition: 'Bitişik Unicode kod noktaları aralığı. Zalgo karakterleri çoğunlukla "Birleşen Diyakritik İşaretler" bloğundan (U+0300-U+036F) gelir.' },
|
|
102
|
+
{ term: 'Glitch Art', definition: 'Dijital medyadaki hataları, kusurları ve bozulmaları bilinçli olarak etkileyici bir teknik olarak dahil eden veya simüle eden bir estetik.' },
|
|
103
|
+
]},
|
|
104
|
+
],
|
|
105
|
+
faq,
|
|
106
|
+
bibliography,
|
|
107
|
+
howTo,
|
|
108
|
+
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
109
|
+
};
|
|
@@ -1,109 +1,109 @@
|
|
|
1
|
-
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
-
import { bibliography } from '../bibliography';
|
|
3
|
-
import type { ZalgoGeneratorLocaleContent } from '../index';
|
|
4
|
-
|
|
5
|
-
const slug = 'zalgo-generator';
|
|
6
|
-
const title = 'Zalgo 文本生成器';
|
|
7
|
-
const description = '使用级联溢出的 Unicode 字符破坏您的信息。调整故障效果的强度和方向。';
|
|
8
|
-
|
|
9
|
-
const faq: ZalgoGeneratorLocaleContent['faq'] = [
|
|
10
|
-
{ question: '什么是 Zalgo 文本?', answer: '这是一种过度使用 Unicode 组合字符(变音符号)的文本类型。当垂直堆叠时,这些字符会\"溢出\"其原始行,创造出在互联网文化中流行的破坏、混乱或恐怖的视觉效果。' },
|
|
11
|
-
{ question: '为什么 Zalgo 文本看起来如此奇怪?', answer: '它利用了 Unicode 标准的一个特性,即允许在基础字母上方、下方或中间添加标记。由于对可以添加多少个标记没有严格限制,文本可以\"侵入\"上方或下方的行。' },
|
|
12
|
-
{ question: '我可以在社交媒体上使用这种文本吗?', answer: '是的,大多数现代平台(Instagram、Twitter、Discord)都支持 Unicode。但是,为了保持界面可读性,某些网络或设备可能会在强度极高时过滤或截断多余字符。' },
|
|
13
|
-
{ question: '如何从文本中移除 Zalgo 效果?', answer: '要清除损坏的文本,您可以使用 JavaScript 字符串规范化,或者只需将其粘贴到仅接受纯文本的基础文本编辑器中。我们的工具纯粹是出于创意目的,不会损坏原始内容。' },
|
|
14
|
-
];
|
|
15
|
-
|
|
16
|
-
const howTo: ZalgoGeneratorLocaleContent['howTo'] = [
|
|
17
|
-
{ name: '编写基础消息', text: '在主文本框中输入您想要\"破坏\"的文本。' },
|
|
18
|
-
{ name: '调整混乱强度', text: '移动滑块以定义要堆叠多少个组合字符。强度越高 = 越难阅读。' },
|
|
19
|
-
{ name: '选择溢出方向', text: '选择破坏是向上增长、向下增长,还是同时向所有方向增长。' },
|
|
20
|
-
{ name: '复制结果', text: '点击复制按钮。生成的文本包含维持故障效果所需的所有不可见字节。' },
|
|
21
|
-
];
|
|
22
|
-
|
|
23
|
-
const faqSchema: WithContext<FAQPage> = {
|
|
24
|
-
'@context': 'https://schema.org',
|
|
25
|
-
'@type': 'FAQPage',
|
|
26
|
-
mainEntity: faq.map((item) => ({
|
|
27
|
-
'@type': 'Question',
|
|
28
|
-
name: item.question,
|
|
29
|
-
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
30
|
-
})),
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
const howToSchema: WithContext<HowTo> = {
|
|
34
|
-
'@context': 'https://schema.org',
|
|
35
|
-
'@type': 'HowTo',
|
|
36
|
-
name: title,
|
|
37
|
-
description,
|
|
38
|
-
step: howTo.map((step) => ({
|
|
39
|
-
'@type': 'HowToStep',
|
|
40
|
-
name: step.name,
|
|
41
|
-
text: step.text,
|
|
42
|
-
})),
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
const appSchema: WithContext<SoftwareApplication> = {
|
|
46
|
-
'@context': 'https://schema.org',
|
|
47
|
-
'@type': 'SoftwareApplication',
|
|
48
|
-
name: title,
|
|
49
|
-
description,
|
|
50
|
-
applicationCategory: 'UtilitiesApplication',
|
|
51
|
-
operatingSystem: 'Web',
|
|
52
|
-
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
53
|
-
inLanguage: 'zh',
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
export const content: ZalgoGeneratorLocaleContent = {
|
|
57
|
-
slug,
|
|
58
|
-
title,
|
|
59
|
-
description,
|
|
60
|
-
faqTitle: '常见问题解答',
|
|
61
|
-
ui: {
|
|
62
|
-
title: 'Zalgo 生成器',
|
|
63
|
-
description: '一̵切̷都̵已̵损̷坏̷',
|
|
64
|
-
inputPlaceholder: '在此处输入您的正常信息...',
|
|
65
|
-
intensityLabel: '损坏级别',
|
|
66
|
-
outputLabel: '损坏结果',
|
|
67
|
-
copyBtn: '复制混乱',
|
|
68
|
-
copied: '已复制!',
|
|
69
|
-
faqTitle: 'FAQ',
|
|
70
|
-
bibliographyTitle: '参考资料',
|
|
71
|
-
configTitle: '配置',
|
|
72
|
-
intensity: '强度',
|
|
73
|
-
upLabel: '上方损坏',
|
|
74
|
-
midLabel: '中间噪点',
|
|
75
|
-
downLabel: '下方损坏',
|
|
76
|
-
resetBtn: '重置数值',
|
|
77
|
-
warningText: '警告:Zalgo 文本使用组合 Unicode 字符,可能会在视觉上溢出其容器。在社交媒体上请谨慎使用。',
|
|
78
|
-
previewLabel: '实时预览',
|
|
79
|
-
emptyLabel: '空',
|
|
80
|
-
charLabel: '字符',
|
|
81
|
-
noteText: '注意:某些浏览器可能会限制组合字符的渲染'
|
|
82
|
-
},
|
|
83
|
-
seo: [
|
|
84
|
-
{ type: 'title', text: '什么是 Zalgo 文本以及视觉损坏如何运作?', level: 2 },
|
|
85
|
-
{ type: 'paragraph', html: 'Zalgo 文本是一种利用 Unicode 标准特定特性的排版操作形式:<strong>组合字符</strong>。与普通字符不同,这些变音符号不占用水平空间-它们垂直堆叠在基础字母顶部,创造出互联网文化中非常流行的\"数字混乱\"或\"宇宙恐怖\"美感。' },
|
|
86
|
-
{ type: 'title', text: '过程分析', level: 3 },
|
|
87
|
-
{ type: 'paragraph', html: '我们的生成器独立处理每个字符,在三个不同的向量中注入随机的 Unicode 码位:<strong>上方</strong>(堆叠在上面的变音符号)、<strong>中间</strong>(穿透字母的符号)和<strong>下方</strong>(悬挂在下面的符号)。' },
|
|
88
|
-
{ type: 'tip', title: '损坏算法', html: '对于每个基础字符,计算 <code>数量 = 强度 × 30</code>。在每个向量中添加那么多元随机变音符号。在强度为 1.5 时,每个字母最多可获得 45 个组合字符。' },
|
|
89
|
-
{ type: 'title', text: '礼仪与应用', level: 3 },
|
|
90
|
-
{ type: 'list', items: [
|
|
91
|
-
'<strong>社交媒体:</strong>在 Instagram 或 TikTok 上吸引注意力。非常适合寻求打破常规的个人简介。',
|
|
92
|
-
'<strong>恐怖叙事:</strong>将虚构叙事、克里皮帕斯塔 (creepypasta) 或受损系统模拟剧本化。',
|
|
93
|
-
'<strong>无障碍:</strong>警告 - 屏幕阅读器无法读取 Zalgo 文本。仅将其用作视觉装饰,切勿用于关键内容。',
|
|
94
|
-
'<strong>SEO:</strong>切勿在核心关键词(H1、元标题)中使用 Zalgo。索引机器人可能无法规范化这些字符。'
|
|
95
|
-
]},
|
|
96
|
-
{ type: 'title', text: '起源:从 Something Awful 到故障艺术', level: 3 },
|
|
97
|
-
{ type: 'paragraph', html: 'Zalgo 最初并不是作为生成器出现的,而是作为对经典连环画的干预。用户 Shmorky 在 2000 年代中期开始变形南希 (Nancy) 或阿奇 (Archie) 等角色,添加污渍和扭曲。短语 <strong>\"他来了\" (He comes)</strong> 封印了这些作品的命运,宣布了一个吞噬现实的实体的到来。' },
|
|
98
|
-
{ type: 'glossary', items: [
|
|
99
|
-
{ term: '组合字符', definition: '一种 Unicode 码位,旨在放置在基础字符的顶部、底部或中间。在阿拉伯语、越南语和印地语等语言中被合法使用。' },
|
|
100
|
-
{ term: '变音符号', definition: '添加到基础字母上的标记,用于修改其发音或含义。Zalgo 滥用这些符号来产生视觉溢出。' },
|
|
101
|
-
{ term: 'Unicode 区段', definition: '一系列连续的 Unicode 码位。Zalgo 字符主要来自\"组合变音符号\"区段 (U+0300-U+036F)。' },
|
|
102
|
-
{ term: '故障艺术', definition: '一种在数字媒体中故意包含或模拟错误、伪影和损坏作为表现技术的审美。' }
|
|
103
|
-
]},
|
|
104
|
-
],
|
|
105
|
-
faq,
|
|
106
|
-
bibliography,
|
|
107
|
-
howTo,
|
|
108
|
-
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
109
|
-
};
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import { bibliography } from '../bibliography';
|
|
3
|
+
import type { ZalgoGeneratorLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'zalgo-generator';
|
|
6
|
+
const title = 'Zalgo 文本生成器';
|
|
7
|
+
const description = '使用级联溢出的 Unicode 字符破坏您的信息。调整故障效果的强度和方向。';
|
|
8
|
+
|
|
9
|
+
const faq: ZalgoGeneratorLocaleContent['faq'] = [
|
|
10
|
+
{ question: '什么是 Zalgo 文本?', answer: '这是一种过度使用 Unicode 组合字符(变音符号)的文本类型。当垂直堆叠时,这些字符会\"溢出\"其原始行,创造出在互联网文化中流行的破坏、混乱或恐怖的视觉效果。' },
|
|
11
|
+
{ question: '为什么 Zalgo 文本看起来如此奇怪?', answer: '它利用了 Unicode 标准的一个特性,即允许在基础字母上方、下方或中间添加标记。由于对可以添加多少个标记没有严格限制,文本可以\"侵入\"上方或下方的行。' },
|
|
12
|
+
{ question: '我可以在社交媒体上使用这种文本吗?', answer: '是的,大多数现代平台(Instagram、Twitter、Discord)都支持 Unicode。但是,为了保持界面可读性,某些网络或设备可能会在强度极高时过滤或截断多余字符。' },
|
|
13
|
+
{ question: '如何从文本中移除 Zalgo 效果?', answer: '要清除损坏的文本,您可以使用 JavaScript 字符串规范化,或者只需将其粘贴到仅接受纯文本的基础文本编辑器中。我们的工具纯粹是出于创意目的,不会损坏原始内容。' },
|
|
14
|
+
];
|
|
15
|
+
|
|
16
|
+
const howTo: ZalgoGeneratorLocaleContent['howTo'] = [
|
|
17
|
+
{ name: '编写基础消息', text: '在主文本框中输入您想要\"破坏\"的文本。' },
|
|
18
|
+
{ name: '调整混乱强度', text: '移动滑块以定义要堆叠多少个组合字符。强度越高 = 越难阅读。' },
|
|
19
|
+
{ name: '选择溢出方向', text: '选择破坏是向上增长、向下增长,还是同时向所有方向增长。' },
|
|
20
|
+
{ name: '复制结果', text: '点击复制按钮。生成的文本包含维持故障效果所需的所有不可见字节。' },
|
|
21
|
+
];
|
|
22
|
+
|
|
23
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
24
|
+
'@context': 'https://schema.org',
|
|
25
|
+
'@type': 'FAQPage',
|
|
26
|
+
mainEntity: faq.map((item) => ({
|
|
27
|
+
'@type': 'Question',
|
|
28
|
+
name: item.question,
|
|
29
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
30
|
+
})),
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
const howToSchema: WithContext<HowTo> = {
|
|
34
|
+
'@context': 'https://schema.org',
|
|
35
|
+
'@type': 'HowTo',
|
|
36
|
+
name: title,
|
|
37
|
+
description,
|
|
38
|
+
step: howTo.map((step) => ({
|
|
39
|
+
'@type': 'HowToStep',
|
|
40
|
+
name: step.name,
|
|
41
|
+
text: step.text,
|
|
42
|
+
})),
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
46
|
+
'@context': 'https://schema.org',
|
|
47
|
+
'@type': 'SoftwareApplication',
|
|
48
|
+
name: title,
|
|
49
|
+
description,
|
|
50
|
+
applicationCategory: 'UtilitiesApplication',
|
|
51
|
+
operatingSystem: 'Web',
|
|
52
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
53
|
+
inLanguage: 'zh',
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
export const content: ZalgoGeneratorLocaleContent = {
|
|
57
|
+
slug,
|
|
58
|
+
title,
|
|
59
|
+
description,
|
|
60
|
+
faqTitle: '常见问题解答',
|
|
61
|
+
ui: {
|
|
62
|
+
title: 'Zalgo 生成器',
|
|
63
|
+
description: '一̵切̷都̵已̵损̷坏̷',
|
|
64
|
+
inputPlaceholder: '在此处输入您的正常信息...',
|
|
65
|
+
intensityLabel: '损坏级别',
|
|
66
|
+
outputLabel: '损坏结果',
|
|
67
|
+
copyBtn: '复制混乱',
|
|
68
|
+
copied: '已复制!',
|
|
69
|
+
faqTitle: 'FAQ',
|
|
70
|
+
bibliographyTitle: '参考资料',
|
|
71
|
+
configTitle: '配置',
|
|
72
|
+
intensity: '强度',
|
|
73
|
+
upLabel: '上方损坏',
|
|
74
|
+
midLabel: '中间噪点',
|
|
75
|
+
downLabel: '下方损坏',
|
|
76
|
+
resetBtn: '重置数值',
|
|
77
|
+
warningText: '警告:Zalgo 文本使用组合 Unicode 字符,可能会在视觉上溢出其容器。在社交媒体上请谨慎使用。',
|
|
78
|
+
previewLabel: '实时预览',
|
|
79
|
+
emptyLabel: '空',
|
|
80
|
+
charLabel: '字符',
|
|
81
|
+
noteText: '注意:某些浏览器可能会限制组合字符的渲染'
|
|
82
|
+
},
|
|
83
|
+
seo: [
|
|
84
|
+
{ type: 'title', text: '什么是 Zalgo 文本以及视觉损坏如何运作?', level: 2 },
|
|
85
|
+
{ type: 'paragraph', html: 'Zalgo 文本是一种利用 Unicode 标准特定特性的排版操作形式:<strong>组合字符</strong>。与普通字符不同,这些变音符号不占用水平空间-它们垂直堆叠在基础字母顶部,创造出互联网文化中非常流行的\"数字混乱\"或\"宇宙恐怖\"美感。' },
|
|
86
|
+
{ type: 'title', text: '过程分析', level: 3 },
|
|
87
|
+
{ type: 'paragraph', html: '我们的生成器独立处理每个字符,在三个不同的向量中注入随机的 Unicode 码位:<strong>上方</strong>(堆叠在上面的变音符号)、<strong>中间</strong>(穿透字母的符号)和<strong>下方</strong>(悬挂在下面的符号)。' },
|
|
88
|
+
{ type: 'tip', title: '损坏算法', html: '对于每个基础字符,计算 <code>数量 = 强度 × 30</code>。在每个向量中添加那么多元随机变音符号。在强度为 1.5 时,每个字母最多可获得 45 个组合字符。' },
|
|
89
|
+
{ type: 'title', text: '礼仪与应用', level: 3 },
|
|
90
|
+
{ type: 'list', items: [
|
|
91
|
+
'<strong>社交媒体:</strong>在 Instagram 或 TikTok 上吸引注意力。非常适合寻求打破常规的个人简介。',
|
|
92
|
+
'<strong>恐怖叙事:</strong>将虚构叙事、克里皮帕斯塔 (creepypasta) 或受损系统模拟剧本化。',
|
|
93
|
+
'<strong>无障碍:</strong>警告 - 屏幕阅读器无法读取 Zalgo 文本。仅将其用作视觉装饰,切勿用于关键内容。',
|
|
94
|
+
'<strong>SEO:</strong>切勿在核心关键词(H1、元标题)中使用 Zalgo。索引机器人可能无法规范化这些字符。'
|
|
95
|
+
]},
|
|
96
|
+
{ type: 'title', text: '起源:从 Something Awful 到故障艺术', level: 3 },
|
|
97
|
+
{ type: 'paragraph', html: 'Zalgo 最初并不是作为生成器出现的,而是作为对经典连环画的干预。用户 Shmorky 在 2000 年代中期开始变形南希 (Nancy) 或阿奇 (Archie) 等角色,添加污渍和扭曲。短语 <strong>\"他来了\" (He comes)</strong> 封印了这些作品的命运,宣布了一个吞噬现实的实体的到来。' },
|
|
98
|
+
{ type: 'glossary', items: [
|
|
99
|
+
{ term: '组合字符', definition: '一种 Unicode 码位,旨在放置在基础字符的顶部、底部或中间。在阿拉伯语、越南语和印地语等语言中被合法使用。' },
|
|
100
|
+
{ term: '变音符号', definition: '添加到基础字母上的标记,用于修改其发音或含义。Zalgo 滥用这些符号来产生视觉溢出。' },
|
|
101
|
+
{ term: 'Unicode 区段', definition: '一系列连续的 Unicode 码位。Zalgo 字符主要来自\"组合变音符号\"区段 (U+0300-U+036F)。' },
|
|
102
|
+
{ term: '故障艺术', definition: '一种在数字媒体中故意包含或模拟错误、伪影和损坏作为表现技术的审美。' }
|
|
103
|
+
]},
|
|
104
|
+
],
|
|
105
|
+
faq,
|
|
106
|
+
bibliography,
|
|
107
|
+
howTo,
|
|
108
|
+
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
109
|
+
};
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
---
|
|
2
|
-
import { SEORenderer } from '@jjlmoya/utils-shared';
|
|
3
|
-
import { zalgoGenerator } from './index';
|
|
4
|
-
import type { KnownLocale } from '../../types';
|
|
5
|
-
|
|
6
|
-
interface Props {
|
|
7
|
-
locale?: KnownLocale;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
const { locale = 'es' } = Astro.props;
|
|
11
|
-
const content = await zalgoGenerator.i18n[locale]?.();
|
|
12
|
-
if (!content) return null;
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
{content.seo?.length > 0 && <SEORenderer content={{ locale, sections: content.seo }} />}
|
|
1
|
+
---
|
|
2
|
+
import { SEORenderer } from '@jjlmoya/utils-shared';
|
|
3
|
+
import { zalgoGenerator } from './index';
|
|
4
|
+
import type { KnownLocale } from '../../types';
|
|
5
|
+
|
|
6
|
+
interface Props {
|
|
7
|
+
locale?: KnownLocale;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const { locale = 'es' } = Astro.props;
|
|
11
|
+
const content = await zalgoGenerator.i18n[locale]?.();
|
|
12
|
+
if (!content) return null;
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
{content.seo?.length > 0 && <SEORenderer content={{ locale, sections: content.seo }} />}
|
package/src/types.ts
CHANGED