@jjlmoya/utils-audiovisual 1.18.0 → 1.19.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.
@@ -0,0 +1,205 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
+ import type { VideoMergerUI, VideoMergerLocaleContent } from '../index';
4
+
5
+ const slug = 'lacz-filmy-online';
6
+ const title = 'Łącz Filmy Online: Połącz wiele wideo szybko i za darmo';
7
+ const description = 'Połącz i scal wiele filmów w jeden, całkowicie za darmo, online i lokalnie. Bez znaków wodnych, bez przesyłania, w 100% prywatnie w Twojej przeglądarce.';
8
+
9
+ const ui: VideoMergerUI = {
10
+ uploadTitle: "Prześlij pliki wideo",
11
+ uploadFormats: "Przeciągnij i upuść filmy lub kliknij, aby je wybrać",
12
+ privacyNote: "Twoje filmy są przetwarzane w 100% lokalnie. Nic nie jest przesyłane do internetu.",
13
+ addMoreBtn: "Dodaj więcej filmów",
14
+ mergeBtn: "Połącz filmy teraz",
15
+ mergingStatus: "Łączenie filmów...",
16
+ downloadBtn: "Pobierz połączone wideo",
17
+ resetBtn: "Zacznij od nowa",
18
+ emptyList: "Przeciągnij lub wybierz filmy, aby rozpocząć łączenie.",
19
+ listTitle: "Kolejność filmów do połączenia",
20
+ optionsTitle: "Ustawienia wyjściowe",
21
+ optionResolution: "Rozdzielczość",
22
+ optionFps: "Klatki na sekundę (FPS)",
23
+ optionsQualityNote: "Rozdzielczość końcowa zostanie dostosowana z zachowaniem oryginalnych proporcji w formacie letterbox, jeśli filmy mają różne wymiary.",
24
+ faqTitle: "Często Zadawane Pytania (FAQ) o łączeniu filmów",
25
+ bibliographyTitle: "Bibliografia i Referencje",
26
+ resolutionWarning: "Uwaga: Niektóre filmy mają różne rozdzielczości i zostaną automatycznie dostosowane."
27
+ };
28
+
29
+ const faq: VideoMergerLocaleContent['faq'] = [
30
+ {
31
+ question: "Czy przesyłanie moich filmów do tego narzędzia jest bezpieczne?",
32
+ answer: "Tak, to całkowicie bezpieczne. Narzędzie działa w 100% lokalnie w Twojej przeglądarce. Twoje wideo nigdy nie jest wysyłane do internetu ani zapisywane na żadnym serwerze.",
33
+ },
34
+ {
35
+ question: "Co się stanie, jeśli moje filmy mają różne wymiary?",
36
+ answer: "Nasze narzędzie automatycznie przeskalowuje filmy, aby dopasować je do wybranej rozdzielczości wyjściowej. W przypadku proporcji, które nie pasują do siebie dokładnie, zostaną dodane czarne marginesy (letterboxing), aby zachować oryginalne proporcje.",
37
+ },
38
+ {
39
+ question: "Czy dźwięk z filmów jest zachowany podczas łączenia?",
40
+ answer: "Tak. Ścieżki audio z każdego wideo są przechwytywane i miksowane sekwencyjnie w idealnej synchronizacji z każdym fragmentem obrazu.",
41
+ },
42
+ ];
43
+
44
+ const howTo: VideoMergerLocaleContent['howTo'] = [
45
+ {
46
+ name: "Wybierz lub przeciągnij filmy",
47
+ text: "Załaduj wszystkie pliki wideo, które chcesz połączyć, bezpośrednio z komputera lub telefonu komórkowego.",
48
+ },
49
+ {
50
+ name: "Ustal kolejność",
51
+ text: "Uporządkuj przesłane filmy za pomocą przycisków w górę i w dół na liście, aby zdecydować o kolejności odtwarzania.",
52
+ },
53
+ {
54
+ name: "Dostosuj opcje",
55
+ text: "Wybierz rozdzielczość wyjściową oraz liczbę klatek na sekundę (FPS) połączonego wideo.",
56
+ },
57
+ {
58
+ name: "Połącz i wyeksportuj",
59
+ text: "Naciśnij przycisk łączenia. Poczekaj na zakończenie przetwarzania w czasie rzeczywistym i pobierz wynikowy plik.",
60
+ },
61
+ ];
62
+
63
+ const seo: VideoMergerLocaleContent['seo'] = [
64
+ {
65
+ type: 'summary',
66
+ title: 'Profesjonalne, W 100% Lokalne Łączenie Filmów',
67
+ items: [
68
+ 'Przetwarzanie w czasie rzeczywistym bezpośrednio w przeglądarce',
69
+ 'Obsługa wielu filmów o różnych rozmiarach i formatach (MP4, WEBM, MOV)',
70
+ 'Wybór rozdzielczości wyjściowej (720p, 1080p, 2K, 4K)',
71
+ 'Ścieżki audio połączone idealnie sekwencyjnie'
72
+ ]
73
+ },
74
+ { type: 'title', text: 'Łącz Filmy Online Za Darmo: Bezgraniczna Prostota i Prywatność', level: 2 },
75
+ { type: 'paragraph', html: 'Zastanawiasz się, <strong>jak połączyć dwa filmy w jeden</strong> bez komplikacji? Nie musisz już pobierać ciężkich programów ani płatnych aplikacji. Nasze narzędzie do <strong>łączenia filmów online za darmo</strong> pozwala Ci na scalenie i połączenie wszystkich potrzebnych klipów w kilka sekund. Działając w 100% lokalnie, nie musisz przesyłać plików na żaden serwer, co gwarantuje absolutną prywatność i pozwala <strong>łączyć duże pliki wideo</strong> bez czasu oczekiwania na przesłanie.' },
76
+
77
+ { type: 'title', text: 'Łącz Wideo Bez Znaku Wodnego', level: 3 },
78
+ { type: 'paragraph', html: 'Jedną z największych wad innych aplikacji jest to, że niszczą Twoje treści. Z nami możesz <strong>połączyć wideo online bez znaku wodnego</strong>. Pobrany plik będzie dokładnie Twoim dziełem, czystym, profesjonalnym i gotowym do udostępnienia na YouTube, Instagram, TikTok lub do użytku prywatnego.' },
79
+
80
+ { type: 'stats', items: [
81
+ { value: '100%', label: 'Prywatne i Lokalne', icon: 'mdi:shield-check' },
82
+ { value: '0MB', label: 'Brak Przesyłania Danych', icon: 'mdi:upload-off' },
83
+ { value: '4K', label: 'Maksymalna Rozdzielczość', icon: 'mdi:video-high-definition' }
84
+ ], columns: 3 },
85
+
86
+ { type: 'title', text: 'Częste Przypadki Użycia', level: 3 },
87
+ { type: 'comparative', items: [
88
+ {
89
+ title: 'Media Społecznościowe',
90
+ description: 'Szybkie łączenie relacji, TikToków lub rolek w jeden film',
91
+ icon: 'mdi:instagram',
92
+ points: [
93
+ 'Połącz małe klipy nagrane telefonem komórkowym',
94
+ 'Przygotuj treści sekwencyjne na Instagram lub YouTube',
95
+ 'Łączenie bez irytujących znaków wodnych'
96
+ ]
97
+ },
98
+ {
99
+ title: 'Prezentacje',
100
+ description: 'Połącz wprowadzenia i nagrania demonstracyjne',
101
+ icon: 'mdi:presentation',
102
+ points: [
103
+ 'Połącz animowane intro z resztą prezentacji',
104
+ 'Połącz krótkie dema oprogramowania',
105
+ 'Czysty eksport w standardowym formacie MP4/WEBM'
106
+ ],
107
+ highlight: true
108
+ },
109
+ {
110
+ title: 'Kompilacje Rodzinne',
111
+ description: 'Połącz wiele filmów z wakacji lub uroczystości',
112
+ icon: 'mdi:home-heart',
113
+ points: [
114
+ 'Utwórz jeden film ze wszystkimi momentami imprezy',
115
+ 'Grupuj wspomnienia z podróży chronologicznie',
116
+ 'Łatwe do udostępnienia w jednym pliku'
117
+ ]
118
+ },
119
+ {
120
+ title: 'Filmy Edukacyjne',
121
+ description: 'Połącz krótkie rozdziały szkoleniowe lub lekcje',
122
+ icon: 'mdi:school',
123
+ points: [
124
+ 'Grupuj małe niezależne samouczki',
125
+ 'Dodaj klip końcowy do swoich lekcji',
126
+ 'Zbuduj strukturę kursu w profesjonalny sposób'
127
+ ]
128
+ }
129
+ ], columns: 2 },
130
+
131
+ { type: 'title', text: 'Najlepsza Aplikacja do Łączenia Filmów z Przeglądarki', level: 2 },
132
+ { type: 'paragraph', html: 'To nie jest kolejna zwykła strona internetowa; to prawdziwa <strong>aplikacja do łączenia filmów</strong>, która działa bezpośrednio w przeglądarce dzięki nowoczesnym API wideo HTML5. Możesz <strong>łączyć filmy MP4</strong>, WEBM i inne, mieszać rozdzielczości (nasz system automatycznie stosuje letterboxing, jeśli wymiary się różnią) i wybierać liczbę klatek na sekundę (FPS) dla końcowego eksportu.' },
133
+
134
+ { type: 'title', text: 'Porównanie Metod Łączenia', level: 3 },
135
+ { type: 'table', headers: ['Cechy', 'Nasze Lokalne Narzędzie', 'Klasyczne Konwertery Online', 'Profesjonalne Edytory'], rows: [
136
+ ['Prywatność', 'Pełna (Przetwarzanie na urządzeniu)', 'Niska (Wymaga wgrania plików na serwer)', 'Pełna (Zainstalowane na urządzeniu)'],
137
+ ['Zużycie Sieci', 'Zerowe (Brak gigabajtów danych)', 'Bardzo wysokie (Przesyłanie i pobieranie)', 'Zerowe'],
138
+ ['Znak Wodny', 'NIE (W 100% czyste)', 'Tak (W wersjach darmowych)', 'NIE (Jeśli kupisz licencję)'],
139
+ ['Cena', '100% Za darmo', 'Za darmo z limitami lub subskrypcja', 'Zwykle drogie'],
140
+ ['Krzywa Uczenia', 'Bardzo niska (Przeciągnij, ułóż, połącz)', 'Niska', 'Bardzo wysoka (Wymaga szkolenia)']
141
+ ] },
142
+
143
+ { type: 'proscons', items: [
144
+ {
145
+ pro: 'Gwarantowana prywatność: Maksymalne bezpieczeństwo, pliki nie opuszczają urządzenia',
146
+ con: 'Szybkość łączenia dużych filmów zależy od pamięci RAM i procesora Twojego komputera'
147
+ },
148
+ {
149
+ pro: 'Profesjonalne rezultaty: W 100% darmowe, bez rejestracji i bez znaków wodnych',
150
+ con: 'Przy łączeniu wideo o różnych wymiarach (pionowo vs poziomo), zostaną dodane czarne marginesy'
151
+ },
152
+ {
153
+ pro: 'Wszechstronność: Szybki eksport z wydajnym kodowaniem dla internetu i mediów społecznościowych',
154
+ con: 'Nie pozwala na dodawanie złożonych przejść 3D ani kinowych efektów wizualnych między klipami'
155
+ }
156
+ ], title: 'Zalety i Kwestie do Rozważenia' },
157
+
158
+ { type: 'title', text: 'Zacznij Łączyć Swoje Filmy Już Dziś', level: 2 },
159
+ { type: 'paragraph', html: 'Nie ma już wymówek dla posiadania setek niezorganizowanych fragmentów wideo. Załaduj swoje pliki, ułóż je w odpowiedniej kolejności i naciśnij przycisk. Odkryj najszybszy, najbezpieczniejszy i najbardziej prywatny sposób na <strong>łączenie filmów online</strong>.' }
160
+ ];
161
+
162
+ const faqSchema: WithContext<FAQPage> = {
163
+ '@context': 'https://schema.org',
164
+ '@type': 'FAQPage',
165
+ mainEntity: faq.map((item) => ({
166
+ '@type': 'Question',
167
+ name: item.question,
168
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
169
+ })),
170
+ };
171
+
172
+ const howToSchema: WithContext<HowTo> = {
173
+ '@context': 'https://schema.org',
174
+ '@type': 'HowTo',
175
+ name: title,
176
+ description,
177
+ step: howTo.map((step) => ({
178
+ '@type': 'HowToStep',
179
+ name: step.name,
180
+ text: step.text,
181
+ })),
182
+ };
183
+
184
+ const appSchema: WithContext<SoftwareApplication> = {
185
+ '@context': 'https://schema.org',
186
+ '@type': 'SoftwareApplication',
187
+ name: title,
188
+ description,
189
+ applicationCategory: 'UtilitiesApplication',
190
+ operatingSystem: 'Web',
191
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
192
+ inLanguage: 'pl',
193
+ };
194
+
195
+ export const content: VideoMergerLocaleContent = {
196
+ slug,
197
+ title,
198
+ description,
199
+ ui,
200
+ seo,
201
+ faq,
202
+ bibliography,
203
+ howTo,
204
+ schemas: [faqSchema as any, howToSchema as any, appSchema],
205
+ };
@@ -0,0 +1,205 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
+ import type { VideoMergerUI, VideoMergerLocaleContent } from '../index';
4
+
5
+ const slug = 'juntar-videos-online';
6
+ const title = 'Juntar Vídeos Online: Una múltiplos vídeos rápido e grátis';
7
+ const description = 'Junte e concatene múltiplos vídeos em um só, gratuitamente, online e localmente. Sem marca d\'água, sem uploads, 100% privado no seu navegador.';
8
+
9
+ const ui: VideoMergerUI = {
10
+ uploadTitle: "Faça upload dos seus ficheiros de vídeo",
11
+ uploadFormats: "Arraste múltiplos vídeos ou clique para selecioná-los",
12
+ privacyNote: "Os seus vídeos são processados 100% localmente. Nada é enviado para a internet.",
13
+ addMoreBtn: "Adicionar mais vídeos",
14
+ mergeBtn: "Juntar vídeos agora",
15
+ mergingStatus: "A juntar vídeos...",
16
+ downloadBtn: "Descarregar vídeo unificado",
17
+ resetBtn: "Começar de novo",
18
+ emptyList: "Arraste ou selecione vídeos para começar a juntá-los.",
19
+ listTitle: "Ordem dos vídeos a juntar",
20
+ optionsTitle: "Configurações de saída",
21
+ optionResolution: "Resolução",
22
+ optionFps: "Quadros por segundo (FPS)",
23
+ optionsQualityNote: "A resolução final será ajustada mantendo a proporção original no formato letterbox se os vídeos tiverem dimensões diferentes.",
24
+ faqTitle: "Perguntas Frequentes sobre Junção de Vídeos",
25
+ bibliographyTitle: "Bibliografia e Referências",
26
+ resolutionWarning: "Atenção: Alguns vídeos têm resoluções diferentes e serão adaptados automaticamente."
27
+ };
28
+
29
+ const faq: VideoMergerLocaleContent['faq'] = [
30
+ {
31
+ question: "É seguro fazer upload dos meus vídeos nesta ferramenta?",
32
+ answer: "Sim, é totalmente seguro. A ferramenta funciona 100% localmente no seu navegador. Os seus vídeos nunca são transmitidos pela internet ou guardados em qualquer servidor.",
33
+ },
34
+ {
35
+ question: "O que acontece se os meus vídeos tiverem dimensões diferentes?",
36
+ answer: "A nossa ferramenta redimensiona automaticamente os vídeos para se adaptarem à resolução de saída escolhida. Para proporções que não correspondam exatamente, margens pretas (letterboxing) serão adicionadas para preservar a proporção original.",
37
+ },
38
+ {
39
+ question: "O áudio dos vídeos é preservado ao juntá-los?",
40
+ answer: "Sim. As faixas de áudio de cada vídeo são capturadas e misturadas sequencialmente em perfeita sincronização com cada segmento de imagem.",
41
+ },
42
+ ];
43
+
44
+ const howTo: VideoMergerLocaleContent['howTo'] = [
45
+ {
46
+ name: "Selecione ou arraste os seus vídeos",
47
+ text: "Carregue todos os ficheiros de vídeo que deseja juntar diretamente do seu computador ou telemóvel.",
48
+ },
49
+ {
50
+ name: "Organize a ordem",
51
+ text: "Ordene os vídeos carregados utilizando os botões de cima e baixo na lista para decidir a sequência de reprodução.",
52
+ },
53
+ {
54
+ name: "Ajuste as opções",
55
+ text: "Escolha a resolução de saída e os quadros por segundo (FPS) do vídeo unificado.",
56
+ },
57
+ {
58
+ name: "Juntar e exportar",
59
+ text: "Pressione o botão de juntar. Aguarde o processamento em tempo real ser concluído e descarregue o ficheiro resultante.",
60
+ },
61
+ ];
62
+
63
+ const seo: VideoMergerLocaleContent['seo'] = [
64
+ {
65
+ type: 'summary',
66
+ title: 'Junção Profissional de Vídeos 100% Local',
67
+ items: [
68
+ 'Processamento em tempo real diretamente no seu navegador',
69
+ 'Suporta múltiplos vídeos de diferentes tamanhos e formatos (MP4, WEBM, MOV)',
70
+ 'Resolução de saída selecionável (720p, 1080p, 2K, 4K)',
71
+ 'Faixas de áudio combinadas de forma perfeitamente sequencial'
72
+ ]
73
+ },
74
+ { type: 'title', text: 'Juntar Vídeos Online Grátis: Simplicidade e Privacidade sem Limites', level: 2 },
75
+ { type: 'paragraph', html: 'Pergunta-se <strong>como juntar dois vídeos num só</strong> sem complicações? Já não precisa de descarregar programas pesados ou aplicações pagas. A nossa ferramenta para <strong>juntar vídeos online grátis</strong> permite-lhe concatenar e unir todos os clipes de que necessita em segundos. Por funcionar de forma 100% local, não tem de fazer o upload dos seus ficheiros para nenhum servidor, garantindo total privacidade e permitindo-lhe <strong>juntar vídeos pesados</strong> sem tempos de espera no upload.' },
76
+
77
+ { type: 'title', text: 'Juntar Vídeos sem Marca de Água', level: 3 },
78
+ { type: 'paragraph', html: 'Um dos maiores inconvenientes de outras aplicações é que estragam o seu conteúdo. Connosco, pode <strong>juntar vídeos online sem marca de água</strong>. O ficheiro que descarregar será exatamente a sua criação, limpa, profissional e pronta para partilhar no YouTube, Instagram, TikTok ou para uso pessoal.' },
79
+
80
+ { type: 'stats', items: [
81
+ { value: '100%', label: 'Privado e Local', icon: 'mdi:shield-check' },
82
+ { value: '0MB', label: 'Sem Dados de Upload', icon: 'mdi:upload-off' },
83
+ { value: '4K', label: 'Resolução Máxima', icon: 'mdi:video-high-definition' }
84
+ ], columns: 3 },
85
+
86
+ { type: 'title', text: 'Casos de Uso Comuns para Juntar Vídeos', level: 3 },
87
+ { type: 'comparative', items: [
88
+ {
89
+ title: 'Redes Sociais',
90
+ description: 'União rápida de stories, TikToks ou reels num único vídeo',
91
+ icon: 'mdi:instagram',
92
+ points: [
93
+ 'Junte pequenos clipes gravados com o telemóvel',
94
+ 'Prepare conteúdo sequencial para o Instagram ou YouTube',
95
+ 'União sem marcas de água irritantes'
96
+ ]
97
+ },
98
+ {
99
+ title: 'Apresentações',
100
+ description: 'Junte introduções e gravações de demonstração',
101
+ icon: 'mdi:presentation',
102
+ points: [
103
+ 'Junte uma intro animada com o corpo da apresentação',
104
+ 'Junte curtas demonstrações de software',
105
+ 'Exportação limpa no formato padrão MP4/WEBM'
106
+ ],
107
+ highlight: true
108
+ },
109
+ {
110
+ title: 'Compilações Familiares',
111
+ description: 'Una múltiplos vídeos das suas férias ou celebrações',
112
+ icon: 'mdi:home-heart',
113
+ points: [
114
+ 'Crie um único vídeo com todos os momentos da festa',
115
+ 'Agrupe memórias de viagens cronologicamente',
116
+ 'Fácil de partilhar por estar num único ficheiro'
117
+ ]
118
+ },
119
+ {
120
+ title: 'Vídeos Educativos',
121
+ description: 'Concatene capítulos ou aulas curtas de formação',
122
+ icon: 'mdi:school',
123
+ points: [
124
+ 'Agrupe pequenos tutoriais independentes',
125
+ 'Adicione um clipe de encerramento às suas aulas',
126
+ 'Estruture o seu curso de forma profissional'
127
+ ]
128
+ }
129
+ ], columns: 2 },
130
+
131
+ { type: 'title', text: 'A Melhor App para Juntar Vídeos pelo Navegador', level: 2 },
132
+ { type: 'paragraph', html: 'Esta não é apenas mais uma página web; é uma verdadeira <strong>app para juntar vídeos</strong> que opera diretamente a partir do seu navegador graças às modernas APIs de vídeo HTML5. Pode <strong>juntar vídeos MP4</strong>, WEBM e mais, misturando resoluções (o nosso sistema aplica letterboxing automaticamente se as dimensões variarem) e escolhendo os quadros por segundo (FPS) da sua exportação final.' },
133
+
134
+ { type: 'title', text: 'Comparação de Abordagens de Junção', level: 3 },
135
+ { type: 'table', headers: ['Características', 'A Nossa Ferramenta Local', 'Conversores Online Clássicos', 'Editores Profissionais'], rows: [
136
+ ['Privacidade', 'Total (Processado no seu dispositivo)', 'Baixa (Exige upload para servidores)', 'Total (Instalado no dispositivo)'],
137
+ ['Consumo de Rede', 'Zero (Sem uploads de gigabytes)', 'Muito alto (Upload e download)', 'Zero'],
138
+ ['Marca de Água', 'NÃO (100% limpo)', 'Sim (Nas versões gratuitas)', 'NÃO (Se comprar a licença)'],
139
+ ['Preço', '100% Grátis', 'Grátis com limites ou subscrição', 'Normalmente caros'],
140
+ ['Curva de Aprendizagem', 'Muito baixa (Arraste, ordene e junte)', 'Baixa', 'Muito alta (Requer treino)']
141
+ ] },
142
+
143
+ { type: 'proscons', items: [
144
+ {
145
+ pro: 'Privacidade garantida: Segurança máxima pois nenhum ficheiro sai do seu dispositivo',
146
+ con: 'A velocidade de junção de vídeos pesados depende da RAM e do processador do seu computador'
147
+ },
148
+ {
149
+ pro: 'Resultados profissionais: 100% grátis, sem registos e sem marcas de água',
150
+ con: 'Ao juntar vídeos com dimensões díspares (vertical vs horizontal), serão aplicadas margens pretas'
151
+ },
152
+ {
153
+ pro: 'Versatilidade: Exportação rápida com codificação eficiente para web e redes sociais',
154
+ con: 'Não permite adicionar transições complexas (fades 3D) ou efeitos visuais cinematográficos'
155
+ }
156
+ ], title: 'Vantagens e Considerações' },
157
+
158
+ { type: 'title', text: 'Comece a Juntar os Seus Vídeos Hoje Mesmo', level: 2 },
159
+ { type: 'paragraph', html: 'Já não há desculpas para ter centenas de fragmentos de vídeo desorganizados. Faça upload dos seus ficheiros, coloque-os na ordem desejada e pressione o botão. Descubra a forma mais rápida, segura e privada de <strong>juntar vídeos online</strong>.' }
160
+ ];
161
+
162
+ const faqSchema: WithContext<FAQPage> = {
163
+ '@context': 'https://schema.org',
164
+ '@type': 'FAQPage',
165
+ mainEntity: faq.map((item) => ({
166
+ '@type': 'Question',
167
+ name: item.question,
168
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
169
+ })),
170
+ };
171
+
172
+ const howToSchema: WithContext<HowTo> = {
173
+ '@context': 'https://schema.org',
174
+ '@type': 'HowTo',
175
+ name: title,
176
+ description,
177
+ step: howTo.map((step) => ({
178
+ '@type': 'HowToStep',
179
+ name: step.name,
180
+ text: step.text,
181
+ })),
182
+ };
183
+
184
+ const appSchema: WithContext<SoftwareApplication> = {
185
+ '@context': 'https://schema.org',
186
+ '@type': 'SoftwareApplication',
187
+ name: title,
188
+ description,
189
+ applicationCategory: 'UtilitiesApplication',
190
+ operatingSystem: 'Web',
191
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
192
+ inLanguage: 'pt',
193
+ };
194
+
195
+ export const content: VideoMergerLocaleContent = {
196
+ slug,
197
+ title,
198
+ description,
199
+ ui,
200
+ seo,
201
+ faq,
202
+ bibliography,
203
+ howTo,
204
+ schemas: [faqSchema as any, howToSchema as any, appSchema],
205
+ };
@@ -0,0 +1,205 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
+ import type { VideoMergerUI, VideoMergerLocaleContent } from '../index';
4
+
5
+ const slug = 'obedinit-video-onlajn';
6
+ const title = 'Объединить Видео Онлайн: Склейте несколько видео быстро и бесплатно';
7
+ const description = 'Объединяйте и склеивайте несколько видео в одно бесплатно, онлайн и локально. Без водяных знаков, без загрузки на сервер, 100% приватно в вашем браузере.';
8
+
9
+ const ui: VideoMergerUI = {
10
+ uploadTitle: "Загрузите ваши видеофайлы",
11
+ uploadFormats: "Перетащите несколько видео или нажмите, чтобы выбрать их",
12
+ privacyNote: "Ваши видео обрабатываются 100% локально. Ничего не загружается в интернет.",
13
+ addMoreBtn: "Добавить еще видео",
14
+ mergeBtn: "Объединить видео сейчас",
15
+ mergingStatus: "Объединение видео...",
16
+ downloadBtn: "Скачать объединенное видео",
17
+ resetBtn: "Начать заново",
18
+ emptyList: "Перетащите или выберите видео, чтобы начать их объединение.",
19
+ listTitle: "Порядок объединяемых видео",
20
+ optionsTitle: "Настройки вывода",
21
+ optionResolution: "Разрешение",
22
+ optionFps: "Кадров в секунду (FPS)",
23
+ optionsQualityNote: "Итоговое разрешение будет настроено с сохранением исходного соотношения сторон в формате letterbox, если видео имеют разные размеры.",
24
+ faqTitle: "Часто задаваемые вопросы об объединении видео",
25
+ bibliographyTitle: "Библиография и Ссылки",
26
+ resolutionWarning: "Внимание: Некоторые видео имеют разное разрешение и будут адаптированы автоматически."
27
+ };
28
+
29
+ const faq: VideoMergerLocaleContent['faq'] = [
30
+ {
31
+ question: "Безопасно ли загружать мои видео в этот инструмент?",
32
+ answer: "Да, это абсолютно безопасно. Инструмент работает 100% локально в вашем браузере. Ваши видео никогда не передаются через интернет и не сохраняются ни на одном сервере.",
33
+ },
34
+ {
35
+ question: "Что произойдет, если мои видео имеют разные размеры?",
36
+ answer: "Наш инструмент автоматически масштабирует видео в соответствии с выбранным вами выходным разрешением. Для пропорций, которые не совпадают точно, будут добавлены черные поля (letterboxing), чтобы сохранить исходное соотношение сторон.",
37
+ },
38
+ {
39
+ question: "Сохраняется ли звук видео при объединении?",
40
+ answer: "Да. Звуковые дорожки каждого видео захватываются и микшируются последовательно в идеальной синхронизации с каждым фрагментом изображения.",
41
+ },
42
+ ];
43
+
44
+ const howTo: VideoMergerLocaleContent['howTo'] = [
45
+ {
46
+ name: "Выберите или перетащите ваши видео",
47
+ text: "Загрузите все видеофайлы, которые хотите объединить, прямо с вашего компьютера или мобильного телефона.",
48
+ },
49
+ {
50
+ name: "Организуйте порядок",
51
+ text: "Упорядочьте загруженные видео с помощью кнопок вверх или вниз в списке, чтобы определить последовательность воспроизведения.",
52
+ },
53
+ {
54
+ name: "Настройте параметры",
55
+ text: "Выберите выходное разрешение и количество кадров в секунду (FPS) для объединенного видео.",
56
+ },
57
+ {
58
+ name: "Объедините и экспортируйте",
59
+ text: "Нажмите кнопку объединения. Дождитесь завершения обработки в реальном времени и скачайте полученный файл.",
60
+ },
61
+ ];
62
+
63
+ const seo: VideoMergerLocaleContent['seo'] = [
64
+ {
65
+ type: 'summary',
66
+ title: '100% Локальное Профессиональное Объединение Видео',
67
+ items: [
68
+ 'Обработка в реальном времени прямо в вашем браузере',
69
+ 'Поддержка нескольких видео разных размеров и форматов (MP4, WEBM, MOV)',
70
+ 'Выбираемое выходное разрешение (720p, 1080p, 2K, 4K)',
71
+ 'Звуковые дорожки объединяются идеально последовательно'
72
+ ]
73
+ },
74
+ { type: 'title', text: 'Объединить Видео Онлайн Бесплатно: Безграничная Простота и Приватность', level: 2 },
75
+ { type: 'paragraph', html: 'Интересуетесь, <strong>как объединить два видео в одно</strong> без лишних сложностей? Вам больше не нужно скачивать тяжелые программы или платные приложения. Наш инструмент для того, чтобы <strong>объединить видео онлайн бесплатно</strong>, позволяет вам склеить все необходимые клипы за считанные секунды. Работая на 100% локально, вам не нужно загружать файлы на какой-либо сервер, что гарантирует абсолютную конфиденциальность и позволяет вам <strong>объединять большие видео</strong> без времени ожидания загрузки.' },
76
+
77
+ { type: 'title', text: 'Склеить Видео Без Водяного Знака', level: 3 },
78
+ { type: 'paragraph', html: 'Одним из самых больших недостатков других приложений является то, что они портят ваш контент. С нами вы можете <strong>склеить видео онлайн без водяного знака</strong>. Файл, который вы скачаете, будет вашей точной копией, чистой, профессиональной и готовой к публикации в YouTube, Instagram, TikTok или для личного использования.' },
79
+
80
+ { type: 'stats', items: [
81
+ { value: '100%', label: 'Приватно и Локально', icon: 'mdi:shield-check' },
82
+ { value: '0MB', label: 'Без Загрузки Данных', icon: 'mdi:upload-off' },
83
+ { value: '4K', label: 'Максимальное Разрешение', icon: 'mdi:video-high-definition' }
84
+ ], columns: 3 },
85
+
86
+ { type: 'title', text: 'Частые Варианты Использования для Объединения Видео', level: 3 },
87
+ { type: 'comparative', items: [
88
+ {
89
+ title: 'Социальные Сети',
90
+ description: 'Быстрое объединение историй, TikTok или Reels в одно видео',
91
+ icon: 'mdi:instagram',
92
+ points: [
93
+ 'Объединяйте небольшие клипы, снятые на мобильный',
94
+ 'Подготавливайте последовательный контент для Instagram или YouTube',
95
+ 'Объединение без раздражающих водяных знаков'
96
+ ]
97
+ },
98
+ {
99
+ title: 'Презентации',
100
+ description: 'Объедините введения и демонстрационные записи',
101
+ icon: 'mdi:presentation',
102
+ points: [
103
+ 'Склейте анимированное интро с основной частью презентации',
104
+ 'Объедините короткие демо-версии программного обеспечения',
105
+ 'Чистый экспорт в стандартный формат MP4/WEBM'
106
+ ],
107
+ highlight: true
108
+ },
109
+ {
110
+ title: 'Семейные Подборки',
111
+ description: 'Склейте несколько видео из отпуска или торжеств',
112
+ icon: 'mdi:home-heart',
113
+ points: [
114
+ 'Создайте одно видео со всеми моментами вечеринки',
115
+ 'Сгруппируйте воспоминания о поездках в хронологическом порядке',
116
+ 'Легко делиться, так как все в одном файле'
117
+ ]
118
+ },
119
+ {
120
+ title: 'Обучающие Видео',
121
+ description: 'Объединяйте короткие главы или уроки',
122
+ icon: 'mdi:school',
123
+ points: [
124
+ 'Группируйте небольшие независимые руководства',
125
+ 'Добавьте завершающий клип к вашим урокам',
126
+ 'Структурируйте ваш курс профессионально'
127
+ ]
128
+ }
129
+ ], columns: 2 },
130
+
131
+ { type: 'title', text: 'Лучшее Приложение для Объединения Видео в Браузере', level: 2 },
132
+ { type: 'paragraph', html: 'Это не просто очередная веб-страница; это настоящее <strong>приложение для объединения видео</strong>, которое работает прямо из вашего браузера благодаря современным видео API HTML5. Вы можете <strong>объединить видео MP4</strong>, WEBM и другие, смешивая разрешения (наша система автоматически применяет letterboxing, если размеры различаются) и выбирая количество кадров в секунду (FPS) для финального экспорта.' },
133
+
134
+ { type: 'title', text: 'Сравнение Подходов к Объединению', level: 3 },
135
+ { type: 'table', headers: ['Особенности', 'Наш Локальный Инструмент', 'Классические Онлайн-конвертеры', 'Профессиональные Редакторы'], rows: [
136
+ ['Конфиденциальность', 'Полная (Обработка на вашем устройстве)', 'Низкая (Требуется загрузка на сервер)', 'Полная (Установлено на вашем устройстве)'],
137
+ ['Потребление Сети', 'Нулевое (Нет загрузки гигабайтов)', 'Очень высокое (Загрузка и скачивание)', 'Нулевое'],
138
+ ['Водяной Знак', 'НЕТ (100% чисто)', 'Да (В бесплатных версиях)', 'НЕТ (Если вы купите лицензию)'],
139
+ ['Цена', '100% Бесплатно', 'Бесплатно с ограничениями или по подписке', 'Обычно дорого'],
140
+ ['Кривая Обучения', 'Очень низкая (Перетащить, упорядочить и объединить)', 'Низкая', 'Очень высокая (Требуется обучение)']
141
+ ] },
142
+
143
+ { type: 'proscons', items: [
144
+ {
145
+ pro: 'Гарантированная конфиденциальность: Максимальная безопасность, так как ни один файл не покидает ваше устройство',
146
+ con: 'Скорость объединения больших видео зависит от оперативной памяти и процессора вашего локального компьютера'
147
+ },
148
+ {
149
+ pro: 'Профессиональные результаты: 100% бесплатно, без регистрации и без водяных знаков',
150
+ con: 'При склеивании видео разных размеров (вертикальные и горизонтальные) будут добавлены черные поля (letterboxing)'
151
+ },
152
+ {
153
+ pro: 'Универсальность: Быстрый экспорт с эффективным кодированием, оптимизированным для веб-использования и социальных сетей',
154
+ con: 'Не позволяет добавлять сложные переходы (3D затухания) или кинематографические визуальные эффекты между клипами'
155
+ }
156
+ ], title: 'Преимущества и Недостатки' },
157
+
158
+ { type: 'title', text: 'Начните Объединять Свои Видео Прямо Сейчас', level: 2 },
159
+ { type: 'paragraph', html: 'Больше нет оправданий иметь сотни неорганизованных видеофрагментов. Загрузите свои файлы, расположите их в нужном порядке и нажмите кнопку. Откройте для себя самый быстрый, безопасный и приватный способ <strong>объединить видео онлайн</strong>.' }
160
+ ];
161
+
162
+ const faqSchema: WithContext<FAQPage> = {
163
+ '@context': 'https://schema.org',
164
+ '@type': 'FAQPage',
165
+ mainEntity: faq.map((item) => ({
166
+ '@type': 'Question',
167
+ name: item.question,
168
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
169
+ })),
170
+ };
171
+
172
+ const howToSchema: WithContext<HowTo> = {
173
+ '@context': 'https://schema.org',
174
+ '@type': 'HowTo',
175
+ name: title,
176
+ description,
177
+ step: howTo.map((step) => ({
178
+ '@type': 'HowToStep',
179
+ name: step.name,
180
+ text: step.text,
181
+ })),
182
+ };
183
+
184
+ const appSchema: WithContext<SoftwareApplication> = {
185
+ '@context': 'https://schema.org',
186
+ '@type': 'SoftwareApplication',
187
+ name: title,
188
+ description,
189
+ applicationCategory: 'UtilitiesApplication',
190
+ operatingSystem: 'Web',
191
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
192
+ inLanguage: 'ru',
193
+ };
194
+
195
+ export const content: VideoMergerLocaleContent = {
196
+ slug,
197
+ title,
198
+ description,
199
+ ui,
200
+ seo,
201
+ faq,
202
+ bibliography,
203
+ howTo,
204
+ schemas: [faqSchema as any, howToSchema as any, appSchema],
205
+ };