@jjlmoya/utils-audiovisual 1.7.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 +2 -1
- package/src/category/i18n/de.ts +198 -0
- package/src/category/i18n/id.ts +198 -0
- package/src/category/i18n/it.ts +198 -0
- package/src/category/i18n/ja.ts +198 -0
- package/src/category/i18n/ko.ts +198 -0
- package/src/category/i18n/nl.ts +198 -0
- package/src/category/i18n/pl.ts +198 -0
- package/src/category/i18n/pt.ts +198 -0
- package/src/category/i18n/ru.ts +198 -0
- package/src/category/i18n/sv.ts +198 -0
- package/src/category/i18n/tr.ts +198 -0
- package/src/category/i18n/zh.ts +198 -0
- package/src/category/index.ts +31 -3
- package/src/tests/i18n_coverage.test.ts +36 -0
- package/src/tool/chromaticLens/i18n/de.ts +246 -0
- package/src/tool/chromaticLens/i18n/id.ts +246 -0
- package/src/tool/chromaticLens/i18n/it.ts +246 -0
- package/src/tool/chromaticLens/i18n/ja.ts +246 -0
- package/src/tool/chromaticLens/i18n/ko.ts +246 -0
- package/src/tool/chromaticLens/i18n/nl.ts +246 -0
- package/src/tool/chromaticLens/i18n/pl.ts +246 -0
- package/src/tool/chromaticLens/i18n/pt.ts +246 -0
- package/src/tool/chromaticLens/i18n/ru.ts +246 -0
- package/src/tool/chromaticLens/i18n/sv.ts +246 -0
- package/src/tool/chromaticLens/i18n/tr.ts +246 -0
- package/src/tool/chromaticLens/i18n/zh.ts +246 -0
- package/src/tool/chromaticLens/index.ts +15 -7
- package/src/tool/collageMaker/i18n/de.ts +233 -0
- package/src/tool/collageMaker/i18n/id.ts +233 -0
- package/src/tool/collageMaker/i18n/it.ts +233 -0
- package/src/tool/collageMaker/i18n/ja.ts +233 -0
- package/src/tool/collageMaker/i18n/ko.ts +233 -0
- package/src/tool/collageMaker/i18n/nl.ts +233 -0
- package/src/tool/collageMaker/i18n/pl.ts +233 -0
- package/src/tool/collageMaker/i18n/pt.ts +233 -0
- package/src/tool/collageMaker/i18n/ru.ts +233 -0
- package/src/tool/collageMaker/i18n/sv.ts +233 -0
- package/src/tool/collageMaker/i18n/tr.ts +233 -0
- package/src/tool/collageMaker/i18n/zh.ts +233 -0
- package/src/tool/collageMaker/index.ts +15 -6
- package/src/tool/exifCleaner/i18n/de.ts +277 -0
- package/src/tool/exifCleaner/i18n/fr.ts +1 -1
- package/src/tool/exifCleaner/i18n/id.ts +277 -0
- package/src/tool/exifCleaner/i18n/it.ts +277 -0
- package/src/tool/exifCleaner/i18n/ja.ts +277 -0
- package/src/tool/exifCleaner/i18n/ko.ts +277 -0
- package/src/tool/exifCleaner/i18n/nl.ts +277 -0
- package/src/tool/exifCleaner/i18n/pl.ts +277 -0
- package/src/tool/exifCleaner/i18n/pt.ts +277 -0
- package/src/tool/exifCleaner/i18n/ru.ts +277 -0
- package/src/tool/exifCleaner/i18n/sv.ts +277 -0
- package/src/tool/exifCleaner/i18n/tr.ts +277 -0
- package/src/tool/exifCleaner/i18n/zh.ts +277 -0
- package/src/tool/exifCleaner/index.ts +16 -8
- package/src/tool/imageCompressor/i18n/de.ts +242 -0
- package/src/tool/imageCompressor/i18n/en.ts +1 -1
- package/src/tool/imageCompressor/i18n/es.ts +1 -1
- package/src/tool/imageCompressor/i18n/id.ts +242 -0
- package/src/tool/imageCompressor/i18n/it.ts +242 -0
- package/src/tool/imageCompressor/i18n/ja.ts +242 -0
- package/src/tool/imageCompressor/i18n/ko.ts +242 -0
- package/src/tool/imageCompressor/i18n/nl.ts +242 -0
- package/src/tool/imageCompressor/i18n/pl.ts +242 -0
- package/src/tool/imageCompressor/i18n/pt.ts +242 -0
- package/src/tool/imageCompressor/i18n/ru.ts +242 -0
- package/src/tool/imageCompressor/i18n/sv.ts +242 -0
- package/src/tool/imageCompressor/i18n/tr.ts +242 -0
- package/src/tool/imageCompressor/i18n/zh.ts +244 -0
- package/src/tool/imageCompressor/index.ts +15 -7
- package/src/tool/printQualityCalculator/i18n/de.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/fr.ts +1 -1
- package/src/tool/printQualityCalculator/i18n/id.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/it.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/ja.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/ko.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/nl.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/pl.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/pt.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/ru.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/sv.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/tr.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/zh.ts +261 -0
- package/src/tool/printQualityCalculator/index.ts +15 -7
- package/src/tool/privacyBlur/i18n/de.ts +238 -0
- package/src/tool/privacyBlur/i18n/id.ts +238 -0
- package/src/tool/privacyBlur/i18n/it.ts +238 -0
- package/src/tool/privacyBlur/i18n/ja.ts +238 -0
- package/src/tool/privacyBlur/i18n/ko.ts +238 -0
- package/src/tool/privacyBlur/i18n/nl.ts +238 -0
- package/src/tool/privacyBlur/i18n/pl.ts +238 -0
- package/src/tool/privacyBlur/i18n/pt.ts +238 -0
- package/src/tool/privacyBlur/i18n/ru.ts +238 -0
- package/src/tool/privacyBlur/i18n/sv.ts +238 -0
- package/src/tool/privacyBlur/i18n/tr.ts +238 -0
- package/src/tool/privacyBlur/i18n/zh.ts +238 -0
- package/src/tool/privacyBlur/index.ts +15 -7
- package/src/tool/subtitleSync/i18n/de.ts +241 -0
- package/src/tool/subtitleSync/i18n/fr.ts +5 -5
- package/src/tool/subtitleSync/i18n/id.ts +241 -0
- package/src/tool/subtitleSync/i18n/it.ts +241 -0
- package/src/tool/subtitleSync/i18n/ja.ts +241 -0
- package/src/tool/subtitleSync/i18n/ko.ts +241 -0
- package/src/tool/subtitleSync/i18n/nl.ts +241 -0
- package/src/tool/subtitleSync/i18n/pl.ts +241 -0
- package/src/tool/subtitleSync/i18n/pt.ts +241 -0
- package/src/tool/subtitleSync/i18n/ru.ts +241 -0
- package/src/tool/subtitleSync/i18n/sv.ts +241 -0
- package/src/tool/subtitleSync/i18n/tr.ts +241 -0
- package/src/tool/subtitleSync/i18n/zh.ts +241 -0
- package/src/tool/subtitleSync/index.ts +15 -7
- package/src/tool/timelapseCalculator/i18n/de.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/fr.ts +2 -2
- package/src/tool/timelapseCalculator/i18n/id.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/it.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/ja.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/ko.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/nl.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/pl.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/pt.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/ru.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/sv.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/tr.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/zh.ts +169 -0
- package/src/tool/timelapseCalculator/index.ts +16 -8
- package/src/tool/tvDistance/i18n/de.ts +223 -0
- package/src/tool/tvDistance/i18n/id.ts +223 -0
- package/src/tool/tvDistance/i18n/it.ts +223 -0
- package/src/tool/tvDistance/i18n/ja.ts +223 -0
- package/src/tool/tvDistance/i18n/ko.ts +223 -0
- package/src/tool/tvDistance/i18n/nl.ts +223 -0
- package/src/tool/tvDistance/i18n/pl.ts +223 -0
- package/src/tool/tvDistance/i18n/pt.ts +223 -0
- package/src/tool/tvDistance/i18n/ru.ts +223 -0
- package/src/tool/tvDistance/i18n/sv.ts +223 -0
- package/src/tool/tvDistance/i18n/tr.ts +223 -0
- package/src/tool/tvDistance/i18n/zh.ts +223 -0
- package/src/tool/tvDistance/index.ts +15 -7
- package/src/tool/videoFrameExtractor/i18n/de.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/id.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/it.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/ja.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/ko.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/nl.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/pl.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/pt.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/ru.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/sv.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/tr.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/zh.ts +235 -0
- package/src/tool/videoFrameExtractor/index.ts +16 -8
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { PrivacyBlurUI, PrivacyBlurLocaleContent } from '../index';
|
|
3
|
+
|
|
4
|
+
const slug = 'editor-privacy-online-pixellare-sfocare-volti-foto';
|
|
5
|
+
const title = 'Privay Editor Online: Pixella e nascondi i volti nelle foto';
|
|
6
|
+
const description = 'Proteggi la tua identità censurando le aree sensibili delle tue foto. Pixella i volti, sfoca i documenti o copri le informazioni private al 100% localmente.';
|
|
7
|
+
|
|
8
|
+
const ui: PrivacyBlurUI = {
|
|
9
|
+
toolPixel: "Pixella",
|
|
10
|
+
toolBlur: "Sfoca",
|
|
11
|
+
toolSolid: "Solido",
|
|
12
|
+
intensityLabel: "Intensità",
|
|
13
|
+
undoButton: "Annulla",
|
|
14
|
+
downloadButton: "Salva",
|
|
15
|
+
dropTitle: "Privacy Editor",
|
|
16
|
+
dropSubtitle: "Trascina la tua immagine qui o clicca per iniziare",
|
|
17
|
+
privacySecureLabel: "100% Locale",
|
|
18
|
+
offlineLabel: "Offline",
|
|
19
|
+
autoDetectFaces: "Auto Rilevamento",
|
|
20
|
+
loadingModels: "Caricamento modelli...",
|
|
21
|
+
noFacesDetected: "Nessun volto rilevato automaticamente.",
|
|
22
|
+
faqTitle: "Domande Frequenti",
|
|
23
|
+
bibliographyTitle: "Riferimenti"
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
const faq: PrivacyBlurLocaleContent['faq'] = [
|
|
27
|
+
{
|
|
28
|
+
question: "Le mie foto vengono caricate su qualche server?",
|
|
29
|
+
answer: "No. L'editor della privacy funziona interamente nel tuo browser. I pixel vengono modificati localmente e nulla viene inviato all'esterno del tuo dispositivo.",
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
question: "Come funziona il rilevamento automatico dei volti?",
|
|
33
|
+
answer: "Utilizziamo una rete neurale leggera (TinyFaceDetector) che gira nel tuo browser per identificare i tratti del viso senza bisogno di una connessione esterna.",
|
|
34
|
+
},
|
|
35
|
+
];
|
|
36
|
+
|
|
37
|
+
const howTo: PrivacyBlurLocaleContent['howTo'] = [
|
|
38
|
+
{
|
|
39
|
+
name: "Carica la tua foto",
|
|
40
|
+
text: "Trascina o seleziona l'immagine che contiene informazioni sensibili che desideri nascondere.",
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: "Scegli lo strumento",
|
|
44
|
+
text: "Seleziona tra pixellatura, sfocatura o copertura solida a seconda del livello di privacy di cui hai bisogno.",
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: "Segna l'area",
|
|
48
|
+
text: "Clicca e trascina sulla zona che vuoi proteggere (volti, targhe, nomi, ecc.).",
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
name: "Salva il risultato",
|
|
52
|
+
text: "Scarica l'immagine elaborata con la sicurezza che i dati originali siano inaccessibili.",
|
|
53
|
+
},
|
|
54
|
+
];
|
|
55
|
+
|
|
56
|
+
const bibliography: PrivacyBlurLocaleContent['bibliography'] = [
|
|
57
|
+
{
|
|
58
|
+
name: "Privacy by Design (PbD) - AGPD",
|
|
59
|
+
url: "https://www.aepd.es/es/guias-y-herramientas/guias/guia-de-privacidad-desde-el-diseno",
|
|
60
|
+
},
|
|
61
|
+
];
|
|
62
|
+
|
|
63
|
+
const seo: PrivacyBlurLocaleContent['seo'] = [
|
|
64
|
+
{
|
|
65
|
+
type: 'summary',
|
|
66
|
+
title: 'Privacy Editor: Pixella, Sfoca e Nascondi',
|
|
67
|
+
items: [
|
|
68
|
+
'Tre strumenti di editing: Pixella, Sfoca, Copertura Solida',
|
|
69
|
+
'Rilevamento automatico dei volti con IA (TinyFaceDetector)',
|
|
70
|
+
'Elaborazione 100% locale - le tue foto non lasciano mai il browser',
|
|
71
|
+
'Senza filigrana, senza limiti, completamente gratuito'
|
|
72
|
+
]
|
|
73
|
+
},
|
|
74
|
+
{ type: 'title', text: 'Privacy Digitale: Come Proteggere i Tuoi Dati Visuali', level: 2 },
|
|
75
|
+
{ type: 'paragraph', html: 'Nell\'era dei social media, condividere foto senza controllo può esporre dati personali sensibili. Il nostro strumento ti consente di nascondere informazioni critiche (volti, targhe, nomi, indirizzi) prima di caricarle su Internet, garantendo che la tua privacy rimanga sotto il tuo pieno controllo.' },
|
|
76
|
+
|
|
77
|
+
{ type: 'stats', items: [
|
|
78
|
+
{ value: '3', label: 'Metodi di Oscuramento', icon: 'mdi:tools' },
|
|
79
|
+
{ value: '100%', label: 'Privacy Locale', icon: 'mdi:shield-check' },
|
|
80
|
+
{ value: 'IA', label: 'Rilevamento Volti', icon: 'mdi:brain' }
|
|
81
|
+
], columns: 3 },
|
|
82
|
+
|
|
83
|
+
{ type: 'title', text: 'I Tre Metodi di Oscuramento Spiegati', level: 3 },
|
|
84
|
+
{ type: 'comparative', items: [
|
|
85
|
+
{
|
|
86
|
+
title: 'Pixella',
|
|
87
|
+
description: 'Divide l\'area in quadrati, impossibile da riconoscere',
|
|
88
|
+
icon: 'mdi:blur',
|
|
89
|
+
points: [
|
|
90
|
+
'Massimo oscuramento irreversibile',
|
|
91
|
+
'Più sicuro contro il riconoscimento facciale',
|
|
92
|
+
'Visibile, chiaro che qualcosa è stato nascosto',
|
|
93
|
+
'Ideale: volti in foto pubbliche'
|
|
94
|
+
]
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
title: 'Sfoca',
|
|
98
|
+
description: 'Sfocatura Gaussiana - aspetto più naturale',
|
|
99
|
+
icon: 'mdi:blur-off',
|
|
100
|
+
points: [
|
|
101
|
+
'Aspetto visivo più elegante',
|
|
102
|
+
'Mantiene una certa coerenza cromatica',
|
|
103
|
+
'Matematicamente reversibile (teoricamente)',
|
|
104
|
+
'Ideale: informazioni meno sensibili'
|
|
105
|
+
],
|
|
106
|
+
highlight: true
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
title: 'Copertura Solida',
|
|
110
|
+
description: 'Blocco di colore opaco - massima privacy',
|
|
111
|
+
icon: 'mdi:rectangle',
|
|
112
|
+
points: [
|
|
113
|
+
'Oscuramento visibile ed evidente',
|
|
114
|
+
'Massima sicurezza legale/privacy',
|
|
115
|
+
'Cambia la composizione visiva',
|
|
116
|
+
'Ideale: documenti, dati sensibili'
|
|
117
|
+
]
|
|
118
|
+
}
|
|
119
|
+
], columns: 3 },
|
|
120
|
+
|
|
121
|
+
{ type: 'title', text: 'Rilevamento Automatico dei Volti con IA', level: 3 },
|
|
122
|
+
{ type: 'paragraph', html: 'Il nostro strumento utilizza TinyFaceDetector, una rete neurale compatta che gira direttamente nel tuo browser per identificare i volti automaticamente:' },
|
|
123
|
+
{ type: 'list', items: [
|
|
124
|
+
'<strong>100% Locale:</strong> Il modello IA gira sulla tua GPU/CPU, non su server remoti.',
|
|
125
|
+
'<strong>Senza Internet:</strong> Dopo il download iniziale, funziona completamente offline.',
|
|
126
|
+
'<strong>Privacy Garantita:</strong> Nessuno vede i volti: né Google, né OpenAI, né noi.',
|
|
127
|
+
'<strong>Automatico One-Click:</strong> Rileva i volti e ti permette di scegliere di nasconderli con un solo clic.'
|
|
128
|
+
], icon: 'mdi:check' },
|
|
129
|
+
|
|
130
|
+
{ type: 'card', title: 'Privacy by Design', html: 'Elaborando le immagini utilizzando la GPU e la CPU locali del tuo browser, garantiamo che le foto originali non lascino mai il tuo dispositivo. Anche se cambi idea, nulla è stato trasmesso. Questo è il massimo standard di privacy digitale.' },
|
|
131
|
+
|
|
132
|
+
{ type: 'title', text: 'Casi d\'Uso della Privacy', level: 3 },
|
|
133
|
+
{ type: 'table', headers: ['Informazioni Sensibili', 'Metodo Raccomandato', 'Urgenza'], rows: [
|
|
134
|
+
['Volti di persone', 'Pixella o Sfoca', 'Critica'],
|
|
135
|
+
['Targhe di veicoli', 'Pixella (irreversibile)', 'Critica'],
|
|
136
|
+
['Documenti d\'identità', 'Copertura Solida o Pixella', 'Critica'],
|
|
137
|
+
['Nomi/Indirizzi scritti', 'Copertura Solida o Pixella', 'Alta'],
|
|
138
|
+
['Numeri di telefono', 'Pixella o Copertura', 'Alta'],
|
|
139
|
+
['Informazioni mediche', 'Copertura Solida', 'Critica'],
|
|
140
|
+
['Segnali WiFi visibili', 'Pixella', 'Media']
|
|
141
|
+
] },
|
|
142
|
+
|
|
143
|
+
{ type: 'proscons', items: [
|
|
144
|
+
{
|
|
145
|
+
pro: 'Privacy totale: elaborazione 100% locale, nessun server, nessuna archiviazione',
|
|
146
|
+
con: 'Richiede un browser moderno con supporto Canvas e WebGL'
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
pro: 'Il rilevamento automatico dei volti fa risparmiare tempo manuale',
|
|
150
|
+
con: 'L\'IA non è perfetta - i volti di profilo o parziali potrebbero non essere rilevati'
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
pro: 'Tre metodi permettono di scegliere tra sicurezza ed estetica',
|
|
154
|
+
con: 'Nessuna opzione avanzata (smart warp, riempimento contestuale)'
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
pro: 'Completamente gratuito, nessuna pubblicità, nessun limite',
|
|
158
|
+
con: 'Non equivalente a software professionali come Photoshop'
|
|
159
|
+
}
|
|
160
|
+
], proTitle: 'Vantaggi', conTitle: 'Limitazioni' },
|
|
161
|
+
|
|
162
|
+
{ type: 'diagnostic', variant: 'warning', title: 'Attenzione: Sfocare NON è sicuro al 100%', icon: 'mdi:alert', badge: 'Sicurezza', html: 'La sfocatura gaussiana è matematicamente reversibile attraverso sofisticati algoritmi inversi. Se l\'informazione è CRITICA (documenti legali, identità), usa <strong>Pixella o Copertura Solida</strong>. La sfocatura è esteticamente migliore ma meno sicura.' },
|
|
163
|
+
|
|
164
|
+
{ type: 'glossary', items: [
|
|
165
|
+
{
|
|
166
|
+
term: 'Pixellatura',
|
|
167
|
+
definition: 'Riduzione della risoluzione dividendo l\'area in blocchi di colore uniforme. Irreversibile. Massima sicurezza contro il riconoscimento facciale IA.'
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
term: 'Sfocatura Gaussiana',
|
|
171
|
+
definition: 'Levigatura matematica basata sulla distribuzione normale. Teoricamente reversibile tramite deconvolution, ma praticamente molto difficile.'
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
term: 'Copertura Solida',
|
|
175
|
+
definition: 'Blocco opaco di colore uniforme. Massima sicurezza, massima privacy legale, meno elegante visivamente.'
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
term: 'TinyFaceDetector',
|
|
179
|
+
definition: 'Rete neurale convoluzionale leggera (CNN) per il rilevamento dei volti. Gira localmente nel browser senza bisogno di un server esterno.'
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
term: 'Privacy by Design (PbD)',
|
|
183
|
+
definition: 'Approccio in cui la privacy è integrata a partire dalla progettazione del sistema, non aggiunta successivamente. Il nostro approccio locale è Privacy by Design.'
|
|
184
|
+
}
|
|
185
|
+
] },
|
|
186
|
+
|
|
187
|
+
{ type: 'message', title: 'Privacy sotto il Tuo Controllo', ariaLabel: 'Informazioni sulla protezione della privacy', html: 'Non memorizziamo né elaboriamo le tue foto su server remoti. Non ci sono cookie di tracciamento. Nessuna cronologia di editing. Non sappiamo cosa nascondi perché non vediamo mai le tue immagini. Pieno controllo, piena privacy, piena libertà.' },
|
|
188
|
+
|
|
189
|
+
{ type: 'title', text: 'Condividi in Sicurezza sui Social Network', level: 3 },
|
|
190
|
+
{ type: 'paragraph', html: 'Prima di pubblicare qualsiasi foto su Internet, chiediti: ci sono informazioni che preferirei non fossero pubbliche? Volti di bambini, targhe, indirizzi, numeri di documenti. Una sessione di privacy di 2 minuti ora evita anni di problemi.' }
|
|
191
|
+
];
|
|
192
|
+
|
|
193
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
194
|
+
'@context': 'https://schema.org',
|
|
195
|
+
'@type': 'FAQPage',
|
|
196
|
+
mainEntity: faq.map((item) => ({
|
|
197
|
+
'@type': 'Question',
|
|
198
|
+
name: item.question,
|
|
199
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
200
|
+
})),
|
|
201
|
+
};
|
|
202
|
+
|
|
203
|
+
const howToSchema: WithContext<HowTo> = {
|
|
204
|
+
'@context': 'https://schema.org',
|
|
205
|
+
'@type': 'HowTo',
|
|
206
|
+
name: title,
|
|
207
|
+
description,
|
|
208
|
+
step: howTo.map((step) => ({
|
|
209
|
+
'@type': 'HowToStep',
|
|
210
|
+
name: step.name,
|
|
211
|
+
text: step.text,
|
|
212
|
+
})),
|
|
213
|
+
};
|
|
214
|
+
|
|
215
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
216
|
+
'@context': 'https://schema.org',
|
|
217
|
+
'@type': 'SoftwareApplication',
|
|
218
|
+
name: title,
|
|
219
|
+
description,
|
|
220
|
+
applicationCategory: 'UtilitiesApplication',
|
|
221
|
+
operatingSystem: 'Web',
|
|
222
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
223
|
+
inLanguage: 'it',
|
|
224
|
+
};
|
|
225
|
+
|
|
226
|
+
export const content: PrivacyBlurLocaleContent = {
|
|
227
|
+
slug,
|
|
228
|
+
title,
|
|
229
|
+
description,
|
|
230
|
+
ui,
|
|
231
|
+
seo,
|
|
232
|
+
faqTitle: "Domande Frequenti",
|
|
233
|
+
faq,
|
|
234
|
+
bibliographyTitle: "Riferimenti",
|
|
235
|
+
bibliography,
|
|
236
|
+
howTo,
|
|
237
|
+
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
238
|
+
};
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { PrivacyBlurUI, PrivacyBlurLocaleContent } from '../index';
|
|
3
|
+
|
|
4
|
+
const slug = 'online-privacy-editor-pixelate-blur-faces-photos';
|
|
5
|
+
const title = 'オンライン・プライバシー・エディター:写真の顔をモザイク・ぼかしで隠す';
|
|
6
|
+
const description = '写真の機密箇所を検閲してプライバシーを守ります。顔へのモザイク、書類へのぼかし、情報の塗りつぶしを100%ローカルで実行します。';
|
|
7
|
+
|
|
8
|
+
const ui: PrivacyBlurUI = {
|
|
9
|
+
toolPixel: "モザイク",
|
|
10
|
+
toolBlur: "ぼかし",
|
|
11
|
+
toolSolid: "塗りつぶし",
|
|
12
|
+
intensityLabel: "強度",
|
|
13
|
+
undoButton: "元に戻す",
|
|
14
|
+
downloadButton: "保存",
|
|
15
|
+
dropTitle: "プライバシー・エディター",
|
|
16
|
+
dropSubtitle: "画像をここにドラッグするか、クリックして開始",
|
|
17
|
+
privacySecureLabel: "100% ローカル",
|
|
18
|
+
offlineLabel: "オフライン",
|
|
19
|
+
autoDetectFaces: "自動検出",
|
|
20
|
+
loadingModels: "モデルを読み込み中...",
|
|
21
|
+
noFacesDetected: "顔は自動検出されませんでした。",
|
|
22
|
+
faqTitle: "よくある質問",
|
|
23
|
+
bibliographyTitle: "リファレンス"
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
const faq: PrivacyBlurLocaleContent['faq'] = [
|
|
27
|
+
{
|
|
28
|
+
question: "写真はサーバーにアップロードされますか?",
|
|
29
|
+
answer: "いいえ。このエディターは完全にブラウザ内で動作します。ピクセルの加工はローカルで行われ、デバイスの外に送信されることはありません。",
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
question: "自動顔検出はどのように機能しますか?",
|
|
33
|
+
answer: "軽量なニューラルネットワーク(TinyFaceDetector)をブラウザで実行し、外部接続なしで顔の情報を識別します。",
|
|
34
|
+
},
|
|
35
|
+
];
|
|
36
|
+
|
|
37
|
+
const howTo: PrivacyBlurLocaleContent['howTo'] = [
|
|
38
|
+
{
|
|
39
|
+
name: "写真をアップロード",
|
|
40
|
+
text: "隠したい機密情報が含まれている画像をドラッグまたは選択します。",
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: "ツールを選択",
|
|
44
|
+
text: "必要なプライバシーレベルに応じて、モザイク、ぼかし、または塗りつぶしを選択します。",
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: "エリアを指定",
|
|
48
|
+
text: "保護したい範囲(顔、ナンバープレート、名前など)をクリックしてドラッグします。",
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
name: "結果を保存",
|
|
52
|
+
text: "元のデータが復元不可能な状態になった画像をダウンロードします。安心して共有できます。",
|
|
53
|
+
},
|
|
54
|
+
];
|
|
55
|
+
|
|
56
|
+
const bibliography: PrivacyBlurLocaleContent['bibliography'] = [
|
|
57
|
+
{
|
|
58
|
+
name: "Privacy by Design (PbD) - AGPD",
|
|
59
|
+
url: "https://www.aepd.es/es/guias-y-herramientas/guias/guia-de-privacidad-desde-el-diseno",
|
|
60
|
+
},
|
|
61
|
+
];
|
|
62
|
+
|
|
63
|
+
const seo: PrivacyBlurLocaleContent['seo'] = [
|
|
64
|
+
{
|
|
65
|
+
type: 'summary',
|
|
66
|
+
title: 'プライバシー・エディター:モザイク、ぼかし、非表示',
|
|
67
|
+
items: [
|
|
68
|
+
'3つの編集ツール:モザイク、ぼかし、塗りつぶし',
|
|
69
|
+
'AIによる自動顔検出(TinyFaceDetector)',
|
|
70
|
+
'100% ローカル処理 - 写真がブラウザの外に出ることはありません',
|
|
71
|
+
'透かしなし、制限なし、完全無料'
|
|
72
|
+
]
|
|
73
|
+
},
|
|
74
|
+
{ type: 'title', text: 'デジタル・プライバシー:視覚データの守り方', level: 2 },
|
|
75
|
+
{ type: 'paragraph', html: 'SNSの時代において、無防備に写真を共有することは機密性の高い個人情報を露出させるリスクを伴います。当ツールでは、インターネットにアップロードする前に、重要な情報(顔、ナンバープレート、名前、住所)を隠すことができ、プライバシーを完全にコントロール下に置くことができます。' },
|
|
76
|
+
|
|
77
|
+
{ type: 'stats', items: [
|
|
78
|
+
{ value: '3', label: '加工メソッド', icon: 'mdi:tools' },
|
|
79
|
+
{ value: '100%', label: 'ローカル・プライバシー', icon: 'mdi:shield-check' },
|
|
80
|
+
{ value: 'AI', label: '顔検出機能', icon: 'mdi:brain' }
|
|
81
|
+
], columns: 3 },
|
|
82
|
+
|
|
83
|
+
{ type: 'title', text: '3つの加工メソッドの解説', level: 3 },
|
|
84
|
+
{ type: 'comparative', items: [
|
|
85
|
+
{
|
|
86
|
+
title: 'モザイク (Pixelate)',
|
|
87
|
+
description: 'エリアを正方形に分割し、認識不可能にします',
|
|
88
|
+
icon: 'mdi:blur',
|
|
89
|
+
points: [
|
|
90
|
+
'不可逆的な難読化を最大化',
|
|
91
|
+
'顔認識技術に対してより安全',
|
|
92
|
+
'何かが隠されていることが明確に分かる',
|
|
93
|
+
'理想的:公的な写真に含まれる顔'
|
|
94
|
+
]
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
title: 'ぼかし (Blur)',
|
|
98
|
+
description: 'ガウスぼかし - より自然な見た目',
|
|
99
|
+
icon: 'mdi:blur-off',
|
|
100
|
+
points: [
|
|
101
|
+
'視覚的に洗練された外観',
|
|
102
|
+
'色調の連続性をある程度維持',
|
|
103
|
+
'数学的に復元される可能性が(理論上)ある',
|
|
104
|
+
'理想的:機密性の低い情報'
|
|
105
|
+
],
|
|
106
|
+
highlight: true
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
title: '塗りつぶし (Solid)',
|
|
110
|
+
description: '不透明な色ブロック - 最大のプライバシー',
|
|
111
|
+
icon: 'mdi:rectangle',
|
|
112
|
+
points: [
|
|
113
|
+
'視覚的にはっきりとした隠蔽',
|
|
114
|
+
'法的・プライバシー面での最大級の安全性',
|
|
115
|
+
'画像の構図が変化する',
|
|
116
|
+
'理想的:書類、極めて機密性の高いデータ'
|
|
117
|
+
]
|
|
118
|
+
}
|
|
119
|
+
], columns: 3 },
|
|
120
|
+
|
|
121
|
+
{ type: 'title', text: 'AIによる自動顔検出', level: 3 },
|
|
122
|
+
{ type: 'paragraph', html: '当ツールはTinyFaceDetectorを使用しています。これはブラウザ内で直接動作し、顔を自動的に識別するコンパクトなニューラルネットワークです。' },
|
|
123
|
+
{ type: 'list', items: [
|
|
124
|
+
'<strong>100% ローカル:</strong> AIモデルはリモートサーバーではなく、あなたのGPU/CPUで動作します。',
|
|
125
|
+
'<strong>オフライン動作:</strong> 最初の読み込み後は、インターネット接続なしで使用できます。',
|
|
126
|
+
'<strong>プライバシー保証:</strong> 誰もあなたの写真を見ません。GoogleもOpenAIも、そして私たちも。',
|
|
127
|
+
'<strong>ワンクリック自動化:</strong> 顔を検出し、ワンクリックで隠すエリアを選択できます。'
|
|
128
|
+
], icon: 'mdi:check' },
|
|
129
|
+
|
|
130
|
+
{ type: 'card', title: 'Privacy by Design', html: 'ブラウザのローカルGPUとCPUを使用して画像を処理することにより、元の写真がデバイスから離れないことを保証します。たとえ途中で止めたとしても、何も送信されていません。これがデジタルプライバシーの最高水準です。' },
|
|
131
|
+
|
|
132
|
+
{ type: 'title', text: 'プライバシー対策のユースケース', level: 3 },
|
|
133
|
+
{ type: 'table', headers: ['機密情報', '推奨されるメソッド', '緊急性'], rows: [
|
|
134
|
+
['人物の顔', 'モザイク または ぼかし', '致命的'],
|
|
135
|
+
['車のナンバープレート', 'モザイク (不可逆)', '致命的'],
|
|
136
|
+
['身分証明書', '塗りつぶし または モザイク', '致命的'],
|
|
137
|
+
['記載された名前・住所', '塗りつぶし または モザイク', '高い'],
|
|
138
|
+
['電話番号', 'モザイク または 塗りつぶし', '高い'],
|
|
139
|
+
['医療情報', '塗りつぶし', '致命的'],
|
|
140
|
+
['映り込んだWiFiパスワード等', 'モザイク', '中程度']
|
|
141
|
+
] },
|
|
142
|
+
|
|
143
|
+
{ type: 'proscons', items: [
|
|
144
|
+
{
|
|
145
|
+
pro: '完全なプライバシー:100% ローカル処理、サーバーなし、保存なし',
|
|
146
|
+
con: 'CanvasとWebGLをサポートする最新のブラウザが必要'
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
pro: '自動顔検出により手作業の時間を短縮',
|
|
150
|
+
con: 'AIは完璧ではありません。横顔や顔の一部が隠れている場合は検出されないことがあります'
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
pro: '3つのメソッドから安全性と美観のバランスを選択可能',
|
|
154
|
+
con: '高度な機能(スマートワープ、コンテンツに応じた塗りつぶし等)は未搭載'
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
pro: '完全無料、広告なし、制限なし',
|
|
158
|
+
con: 'Photoshopのようなプロ用ソフトウェアとは用途が異なります'
|
|
159
|
+
}
|
|
160
|
+
], proTitle: 'メリット', conTitle: '制限事項' },
|
|
161
|
+
|
|
162
|
+
{ type: 'diagnostic', variant: 'warning', title: '警告:ぼかしは100%安全ではありません', icon: 'mdi:alert', badge: 'セキュリティ', html: 'ガウスぼかしは、高度なアルゴリズムによって数学的に復元される可能性があります。情報が「極めて重要」な場合(法的書類、個人特定情報)は、<strong>モザイクまたは塗りつぶし</strong>を使用してください。ぼかしは見た目は良いですが、安全性では劣ります。' },
|
|
163
|
+
|
|
164
|
+
{ type: 'glossary', items: [
|
|
165
|
+
{
|
|
166
|
+
term: 'モザイク (Pixelation)',
|
|
167
|
+
definition: 'エリアを均一な色のブロックに分割して解像度を下げる手法。不可逆。AIによる顔認識に対する最大の防御策。'
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
term: 'ガウスぼかし (Gaussian Blur)',
|
|
171
|
+
definition: '正規分布に基づいた数学的な平滑化。理論上は逆演算(デコンボリューション)で復元可能ですが、実際には非常に困難です。'
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
term: '塗りつぶし (Solid Cover)',
|
|
175
|
+
definition: '均一な色の不透明なブロック。最大の安全性と法的なプライバシーを確保しますが、見た目の優雅さには欠けます。'
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
term: 'TinyFaceDetector',
|
|
179
|
+
definition: '顔検出用の軽量な畳み込みニューラルネットワーク(CNN)。外部サーバーなしでブラウザ内で動作します。'
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
term: 'Privacy by Design (PbD)',
|
|
183
|
+
definition: 'システムの設計段階からプライバシーを統合する手法。当ツールのローカル処理アプローチはまさにこれに該当します。'
|
|
184
|
+
}
|
|
185
|
+
] },
|
|
186
|
+
|
|
187
|
+
{ type: 'message', title: 'あなたのコントロール下にあるプライバシー', ariaLabel: 'プライバシー保護に関する情報', html: '私たちはあなたの写真をリモートサーバーに保存も処理もしません。追跡用クッキーも、編集履歴もありません。あなたが何を隠したのか、私たちは知ることができません。完全なコントロール、完全なプライバシー、完全な自由を提供します。' },
|
|
188
|
+
|
|
189
|
+
{ type: 'title', text: 'SNSで安全にシェアするために', level: 3 },
|
|
190
|
+
{ type: 'paragraph', html: 'インターネットに写真を投稿する前に、自分に問いかけてみてください。「公開したくない情報が含まれていないか?」子供の顔、ナンバープレート、住所、書類の番号。今2分のプライバシー対策をするだけで、将来のトラブルを防げます。' }
|
|
191
|
+
];
|
|
192
|
+
|
|
193
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
194
|
+
'@context': 'https://schema.org',
|
|
195
|
+
'@type': 'FAQPage',
|
|
196
|
+
mainEntity: faq.map((item) => ({
|
|
197
|
+
'@type': 'Question',
|
|
198
|
+
name: item.question,
|
|
199
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
200
|
+
})),
|
|
201
|
+
};
|
|
202
|
+
|
|
203
|
+
const howToSchema: WithContext<HowTo> = {
|
|
204
|
+
'@context': 'https://schema.org',
|
|
205
|
+
'@type': 'HowTo',
|
|
206
|
+
name: title,
|
|
207
|
+
description,
|
|
208
|
+
step: howTo.map((step) => ({
|
|
209
|
+
'@type': 'HowToStep',
|
|
210
|
+
name: step.name,
|
|
211
|
+
text: step.text,
|
|
212
|
+
})),
|
|
213
|
+
};
|
|
214
|
+
|
|
215
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
216
|
+
'@context': 'https://schema.org',
|
|
217
|
+
'@type': 'SoftwareApplication',
|
|
218
|
+
name: title,
|
|
219
|
+
description,
|
|
220
|
+
applicationCategory: 'UtilitiesApplication',
|
|
221
|
+
operatingSystem: 'Web',
|
|
222
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
223
|
+
inLanguage: 'ja',
|
|
224
|
+
};
|
|
225
|
+
|
|
226
|
+
export const content: PrivacyBlurLocaleContent = {
|
|
227
|
+
slug,
|
|
228
|
+
title,
|
|
229
|
+
description,
|
|
230
|
+
ui,
|
|
231
|
+
seo,
|
|
232
|
+
faqTitle: "よくある質問",
|
|
233
|
+
faq,
|
|
234
|
+
bibliographyTitle: "リファレンス",
|
|
235
|
+
bibliography,
|
|
236
|
+
howTo,
|
|
237
|
+
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
238
|
+
};
|