@jjlmoya/utils-games-development 1.46.0 → 1.49.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.
Files changed (66) hide show
  1. package/package.json +1 -1
  2. package/src/category/index.ts +2 -1
  3. package/src/entries.ts +8 -1
  4. package/src/tests/locale_completeness.test.ts +1 -20
  5. package/src/tests/tool_validation.test.ts +2 -3
  6. package/src/tool/itchioGameTester/audit.ts +51 -0
  7. package/src/tool/itchioGameTester/bibliography.astro +6 -0
  8. package/src/tool/itchioGameTester/bibliography.ts +14 -0
  9. package/src/tool/itchioGameTester/client.ts +238 -0
  10. package/src/tool/itchioGameTester/component.astro +97 -0
  11. package/src/tool/itchioGameTester/entry.ts +28 -0
  12. package/src/tool/itchioGameTester/i18n/de.ts +107 -0
  13. package/src/tool/itchioGameTester/i18n/en.ts +164 -0
  14. package/src/tool/itchioGameTester/i18n/es.ts +172 -0
  15. package/src/tool/itchioGameTester/i18n/fr.ts +107 -0
  16. package/src/tool/itchioGameTester/i18n/id.ts +107 -0
  17. package/src/tool/itchioGameTester/i18n/it.ts +107 -0
  18. package/src/tool/itchioGameTester/i18n/ja.ts +107 -0
  19. package/src/tool/itchioGameTester/i18n/ko.ts +107 -0
  20. package/src/tool/itchioGameTester/i18n/nl.ts +107 -0
  21. package/src/tool/itchioGameTester/i18n/pl.ts +107 -0
  22. package/src/tool/itchioGameTester/i18n/pt.ts +107 -0
  23. package/src/tool/itchioGameTester/i18n/ru.ts +107 -0
  24. package/src/tool/itchioGameTester/i18n/sv.ts +107 -0
  25. package/src/tool/itchioGameTester/i18n/tr.ts +107 -0
  26. package/src/tool/itchioGameTester/i18n/zh.ts +107 -0
  27. package/src/tool/itchioGameTester/index.ts +11 -0
  28. package/src/tool/itchioGameTester/itchio-game-tester.css +273 -0
  29. package/src/tool/itchioGameTester/logic.test.ts +56 -0
  30. package/src/tool/itchioGameTester/logic.ts +266 -0
  31. package/src/tool/itchioGameTester/seo.astro +15 -0
  32. package/src/tool/itchioGameTester/ui.ts +20 -0
  33. package/src/tool/spriteSheetPacker/app-client.ts +248 -0
  34. package/src/tool/spriteSheetPacker/bibliography.astro +6 -0
  35. package/src/tool/spriteSheetPacker/bibliography.ts +12 -0
  36. package/src/tool/spriteSheetPacker/component.astro +229 -0
  37. package/src/tool/spriteSheetPacker/dropzone-client.ts +55 -0
  38. package/src/tool/spriteSheetPacker/entry.ts +28 -0
  39. package/src/tool/spriteSheetPacker/exporter.ts +116 -0
  40. package/src/tool/spriteSheetPacker/extractor-client.ts +127 -0
  41. package/src/tool/spriteSheetPacker/flipbook-client.ts +60 -0
  42. package/src/tool/spriteSheetPacker/i18n/de.ts +270 -0
  43. package/src/tool/spriteSheetPacker/i18n/en.ts +275 -0
  44. package/src/tool/spriteSheetPacker/i18n/es.ts +275 -0
  45. package/src/tool/spriteSheetPacker/i18n/fr.ts +270 -0
  46. package/src/tool/spriteSheetPacker/i18n/id.ts +270 -0
  47. package/src/tool/spriteSheetPacker/i18n/it.ts +270 -0
  48. package/src/tool/spriteSheetPacker/i18n/ja.ts +270 -0
  49. package/src/tool/spriteSheetPacker/i18n/ko.ts +270 -0
  50. package/src/tool/spriteSheetPacker/i18n/nl.ts +270 -0
  51. package/src/tool/spriteSheetPacker/i18n/pl.ts +270 -0
  52. package/src/tool/spriteSheetPacker/i18n/pt.ts +270 -0
  53. package/src/tool/spriteSheetPacker/i18n/ru.ts +266 -0
  54. package/src/tool/spriteSheetPacker/i18n/sv.ts +270 -0
  55. package/src/tool/spriteSheetPacker/i18n/tr.ts +270 -0
  56. package/src/tool/spriteSheetPacker/i18n/zh.ts +270 -0
  57. package/src/tool/spriteSheetPacker/index.ts +11 -0
  58. package/src/tool/spriteSheetPacker/logic.test.ts +155 -0
  59. package/src/tool/spriteSheetPacker/logic.ts +32 -0
  60. package/src/tool/spriteSheetPacker/packer-core.ts +121 -0
  61. package/src/tool/spriteSheetPacker/packer-ui.ts +86 -0
  62. package/src/tool/spriteSheetPacker/seo.astro +15 -0
  63. package/src/tool/spriteSheetPacker/sprite-sheet-packer.css +542 -0
  64. package/src/tool/spriteSheetPacker/types.ts +89 -0
  65. package/src/tool/spriteSheetPacker/ui.ts +42 -0
  66. package/src/tools.ts +4 -1
@@ -0,0 +1,164 @@
1
+ import type { ToolLocaleContent } from '../../../types';
2
+ import type { ItchioGameTesterUI } from '../ui';
3
+ import { bibliographyEntries } from '../bibliography';
4
+
5
+ export const content: ToolLocaleContent<ItchioGameTesterUI> = {
6
+ slug: 'itchio-game-tester',
7
+ title: 'Itch.io Web Game Inspector & Live Resolution Optimizer',
8
+ description: 'Upload HTML5 export files or ZIP archives to test viewports live, fix aspect ratio scrollbars, inspect Godot and Unity WebGL builds, and generate copyable Itch.io dashboard embed settings.',
9
+ ui: {
10
+ dropzoneTitle: 'Drag & Drop Web Game Build or ZIP Archive',
11
+ dropzoneHint: 'Drop any .ZIP file, exported folder, or HTML5 build files anywhere in this area to inspect immediately.',
12
+ chooseFiles: 'Select Game File or Folder',
13
+ engineDetected: 'Detected Engine',
14
+ compatibilityScore: 'Itch.io Compatibility Score',
15
+ viewportWidth: 'Viewport Width (px)',
16
+ viewportHeight: 'Viewport Height (px)',
17
+ presets: 'Quick Resolution Presets',
18
+ fitTest: 'Live Layout & Scrollbar Test',
19
+ copySettings: 'Copy Itch.io Embed Settings',
20
+ copied: 'Copied to Clipboard!',
21
+ embedMode: 'Embed Mode',
22
+ scrollbars: 'Enable Scrollbars',
23
+ noIssuesFound: 'All checks passed cleanly! Package is 100% compliant with Itch.io standards.',
24
+ filesInspected: 'Files Inspected',
25
+ resetViewport: 'Reset Viewport',
26
+ autoScaleToggle: 'Auto-Scale Viewport to Screen Width',
27
+ scaledNotice: 'Viewport exceeds screen width. Artificial zoom-out applied so full canvas fits. Disable auto-scale to view true broken layout.'
28
+ },
29
+ seo: [
30
+ {
31
+ type: 'title',
32
+ level: 2,
33
+ text: 'Essential Formatting Guidelines for Itch.io HTML5 Web Game Exports'
34
+ },
35
+ {
36
+ type: 'paragraph',
37
+ html: 'Publishing HTML5 and WebGL games on Itch.io requires precise configuration of viewport dimensions, archive file structures, and cross-origin security headers. Unlike desktop executable downloads, browser-based games must load seamlessly inside an embedded iframe container without generating unintended scrollbars, black letterbox borders, or canvas clipping across desktop monitors, laptops, and mobile screens.'
38
+ },
39
+ {
40
+ type: 'stats',
41
+ columns: 4,
42
+ items: [
43
+ { label: 'Standard Web Aspect Ratio', value: '16:9 Landscape' },
44
+ { label: 'Classic Itch Resolution', value: '960 x 540 px' },
45
+ { label: 'Entry Point File Requirement', value: 'index.html in Root' },
46
+ { label: 'Godot 4 Requirement', value: 'COOP / COEP Headers' }
47
+ ]
48
+ },
49
+ {
50
+ type: 'title',
51
+ level: 2,
52
+ text: 'Comparing Engine Web Export Requirements across Frameworks'
53
+ },
54
+ {
55
+ type: 'paragraph',
56
+ html: 'Different game engines produce unique web export bundles that dictate how assets and WebAssembly binaries interact with the browser context. Understanding engine-specific constraints helps developers eliminate load failures before making their game public.'
57
+ },
58
+ {
59
+ type: 'comparative',
60
+ items: [
61
+ {
62
+ title: 'Godot Engine (HTML5 Export)',
63
+ description: 'Generates index.html alongside WebAssembly (.wasm) and main data package (.pck) binaries. Godot 4 requires SharedArrayBuffer support enabled in Itch.io project settings for multi-threaded WebGL performance.'
64
+ },
65
+ {
66
+ title: 'Unity WebGL Build',
67
+ description: 'Structures builds inside a Build/ directory containing framework.js, data, and wasm files. Canvas size is fixed in unityFramework loader settings and requires explicit iframe sizing to prevent scrollbars.'
68
+ },
69
+ {
70
+ title: 'Phaser & Construct Web Exports',
71
+ description: 'Lightweight JavaScript builds utilizing HTML5 canvas or WebGL renderers. Ideal for responsive full-window scaling and low memory footprint on mobile browsers.'
72
+ }
73
+ ]
74
+ },
75
+ {
76
+ type: 'title',
77
+ level: 2,
78
+ text: 'Common Itch.io Packaging Errors and Resolution Best Practices'
79
+ },
80
+ {
81
+ type: 'table',
82
+ headers: ['Issue Type', 'Root Cause', 'Recommended Solution'],
83
+ rows: [
84
+ ['Nested index.html', 'Zipping parent folder instead of contents', 'Ensure index.html is located directly in the root directory of the archive.'],
85
+ ['Case-sensitivity 404', 'File paths matching lower/upper case mismatches', 'Keep all file extensions and asset references lowercase to prevent Linux server 404s.'],
86
+ ['Canvas Scrollbars', 'Viewport dimensions smaller than canvas size', 'Set Itch.io embed viewport dimensions 20px larger than canvas or disable canvas overflow margins.'],
87
+ ['Uncompressed Audio', 'Large WAV files included in web package', 'Compress sound effects and music tracks into OGG or MP3 formats to decrease initial download time.']
88
+ ]
89
+ },
90
+ {
91
+ type: 'tip',
92
+ html: 'When embedding a 1280x720 WebGL game on Itch.io, set your embed viewport dimensions to exactly 1280x720 with "Embed in page" enabled and "Click to launch" disabled. Always test fullscreen mode toggles to ensure the canvas scales dynamically across display aspect ratios.'
93
+ }
94
+ ],
95
+ faq: [
96
+ {
97
+ question: 'Why does my Godot 4 game display a black screen on Itch.io?',
98
+ answer: 'Godot 4 web exports use WebAssembly multi-threading which requires SharedArrayBuffer support. In your Itch.io game edit page, scroll down to Frame options and enable "SharedArrayBuffer support" to set the required COOP/COEP HTTP headers.'
99
+ },
100
+ {
101
+ question: 'Do I need to zip my game files before using this tester?',
102
+ answer: 'No! You can upload a ZIP archive or directly select your exported HTML5 files and folders. The inspector reads files directly in your browser memory.'
103
+ }
104
+ ],
105
+ howTo: [
106
+ {
107
+ name: 'Upload Game Files or ZIP',
108
+ text: 'Drag and drop your HTML5 web export ZIP archive or select your build directory containing index.html.'
109
+ },
110
+ {
111
+ name: 'Review Compatibility Audit',
112
+ text: 'Check the automated audit report for root index.html placement, case sensitivity warnings, and engine detection.'
113
+ },
114
+ {
115
+ name: 'Live Resize Viewport',
116
+ text: 'Use the interactive resolution sliders and aspect ratio chips to test live iframe embedding without scrollbars.'
117
+ },
118
+ {
119
+ name: 'Copy Itch.io Settings',
120
+ text: 'Click the Copy Settings button to grab exact viewport width and height values ready for your Itch.io game submission page.'
121
+ }
122
+ ],
123
+ schemas: [
124
+ {
125
+ '@context': 'https://schema.org',
126
+ '@type': 'SoftwareApplication',
127
+ name: 'Itch.io Web Game Inspector & Live Resolution Optimizer',
128
+ applicationCategory: 'DeveloperApplication',
129
+ operatingSystem: 'Any'
130
+ },
131
+ {
132
+ '@context': 'https://schema.org',
133
+ '@type': 'FAQPage',
134
+ mainEntity: [
135
+ {
136
+ '@type': 'Question',
137
+ name: 'Why does my Godot 4 game display a black screen on Itch.io?',
138
+ acceptedAnswer: {
139
+ '@type': 'Answer',
140
+ text: 'Godot 4 web exports use WebAssembly multi-threading which requires SharedArrayBuffer support. In your Itch.io game edit page, scroll down to Frame options and enable SharedArrayBuffer support to set the required COOP/COEP HTTP headers.'
141
+ }
142
+ }
143
+ ]
144
+ },
145
+ {
146
+ '@context': 'https://schema.org',
147
+ '@type': 'HowTo',
148
+ name: 'How to Audit and Test Your Itch.io Game Viewport',
149
+ step: [
150
+ {
151
+ '@type': 'HowToStep',
152
+ name: 'Upload Game Files or ZIP',
153
+ text: 'Drag and drop your HTML5 web export ZIP archive or select your build directory containing index.html.'
154
+ },
155
+ {
156
+ '@type': 'HowToStep',
157
+ name: 'Live Resize Viewport',
158
+ text: 'Use the interactive resolution sliders and aspect ratio chips to test live iframe embedding without scrollbars.'
159
+ }
160
+ ]
161
+ }
162
+ ],
163
+ bibliography: bibliographyEntries
164
+ };
@@ -0,0 +1,172 @@
1
+ import type { ToolLocaleContent } from '../../../types';
2
+ import type { ItchioGameTesterUI } from '../ui';
3
+ import { bibliographyEntries } from '../bibliography';
4
+
5
+ export const content: ToolLocaleContent<ItchioGameTesterUI> = {
6
+ slug: 'probador-de-juegos-itchio',
7
+ title: 'Inspector de Juegos Web para Itch.io y Optimizador de Resolución en Vivo',
8
+ description: 'Sube archivos de exportación HTML5 o archivos ZIP para probar viewports en vivo, corregir scrollbars de relación de aspecto, inspeccionar builds de Godot y Unity WebGL, y generar configuraciones de embed para Itch.io.',
9
+ ui: {
10
+ dropzoneTitle: 'Arrastra y Suelta tu Build o Archivo ZIP',
11
+ dropzoneHint: 'Suelta cualquier archivo .ZIP, carpeta exportada o archivos de build HTML5 en esta área para inspeccionarlos.',
12
+ chooseFiles: 'Seleccionar Archivo o Carpeta',
13
+ engineDetected: 'Motor Detectado',
14
+ compatibilityScore: 'Puntuación de Compatibilidad con Itch.io',
15
+ viewportWidth: 'Ancho del Viewport (px)',
16
+ viewportHeight: 'Alto del Viewport (px)',
17
+ presets: 'Presets de Resolución Rápidos',
18
+ fitTest: 'Prueba de Diseño y Scrollbars en Vivo',
19
+ copySettings: 'Copiar Configuración de Embed para Itch.io',
20
+ copied: 'Copiado al Portapapeles',
21
+ embedMode: 'Modo de Embed',
22
+ scrollbars: 'Activar Scrollbars',
23
+ noIssuesFound: 'Todas las comprobaciones pasaron correctamente. El paquete cumple al 100% los estándares de Itch.io.',
24
+ filesInspected: 'Archivos Inspeccionados',
25
+ resetViewport: 'Restablecer Viewport',
26
+ autoScaleToggle: 'Escalar Viewport Automáticamente al Ancho de Pantalla',
27
+ scaledNotice: 'El viewport supera el ancho de pantalla. Se aplicó un zoom artificial para que el canvas completo quepa en pantalla. Desactiva el auto-escalado para ver el diseño real roto.',
28
+ },
29
+ seo: [
30
+ {
31
+ type: 'title',
32
+ level: 2,
33
+ text: 'Guía de Formato para Exportaciones HTML5 de Juegos en Itch.io'
34
+ },
35
+ {
36
+ type: 'paragraph',
37
+ html: 'Publicar juegos HTML5 y WebGL en Itch.io requiere configurar correctamente las dimensiones del viewport, la estructura de archivos y las cabeceras de seguridad cross-origin. Los juegos basados en navegador deben cargarse dentro de un iframe sin generar scrollbars ni recortes de canvas.'
38
+ },
39
+ {
40
+ type: 'stats',
41
+ columns: 4,
42
+ items: [
43
+ { label: 'Relación de Aspecto Estándar', value: '16:9 Horizontal' },
44
+ { label: 'Resolución Clásica Itch', value: '960 x 540 px' },
45
+ { label: 'Archivo de Entrada Requerido', value: 'index.html en Raíz' },
46
+ { label: 'Requisito Godot 4', value: 'Cabeceras COOP / COEP' }
47
+ ]
48
+ },
49
+ {
50
+ type: 'title',
51
+ level: 2,
52
+ text: 'Requisitos de Exportación Web por Motor'
53
+ },
54
+ {
55
+ type: 'paragraph',
56
+ html: 'Distintos motores de juego generan paquetes únicos para la web. Conocer las restricciones específicas de cada motor ayuda a eliminar errores de carga antes de publicar.'
57
+ },
58
+ {
59
+ type: 'comparative',
60
+ items: [
61
+ {
62
+ title: 'Godot Engine (Exportación HTML5)',
63
+ description: 'Genera index.html junto con binarios WebAssembly (.wasm) y el paquete de datos principal (.pck). Godot 4 requiere soporte SharedArrayBuffer activado en Itch.io.'
64
+ },
65
+ {
66
+ title: 'Unity WebGL Build',
67
+ description: 'Estructura el build en un directorio Build/ con archivos framework.js, data y wasm. El tamaño del canvas es fijo y requiere dimensiones explícitas del iframe para evitar scrollbars.'
68
+ },
69
+ {
70
+ title: 'Phaser y Construct',
71
+ description: 'Builds JavaScript ligeros con canvas HTML5 o renderizador WebGL. Ideales para escalado responsive de ventana completa y bajo consumo de memoria en móvil.'
72
+ }
73
+ ]
74
+ },
75
+ {
76
+ type: 'title',
77
+ level: 2,
78
+ text: 'Errores Comunes al Empaquetar para Itch.io y Cómo Resolverlos'
79
+ },
80
+ {
81
+ type: 'table',
82
+ headers: ['Tipo de Error', 'Causa Raíz', 'Solución Recomendada'],
83
+ rows: [
84
+ ['index.html anidado', 'Comprimir la carpeta padre en lugar del contenido', 'Asegúrate de que index.html está directamente en la raíz del archivo.'],
85
+ ['Error 404 por mayúsculas', 'Rutas de archivos con diferencias de mayúsculas/minúsculas', 'Mantén todas las extensiones y referencias en minúsculas para evitar errores en servidores Linux.'],
86
+ ['Scrollbars en el canvas', 'Dimensiones del viewport menores que el canvas', 'Define las dimensiones del embed de Itch.io 20px más grandes que el canvas o elimina los márgenes de desbordamiento.'],
87
+ ['Audio sin comprimir', 'Archivos WAV grandes en el paquete web', 'Comprime los efectos de sonido y música en formato OGG o MP3 para reducir el tiempo de descarga inicial.']
88
+ ]
89
+ },
90
+ {
91
+ type: 'tip',
92
+ html: 'Al embeber un juego WebGL de 1280x720 en Itch.io, configura las dimensiones del viewport del embed exactamente a 1280x720 con "Embed in page" activado y "Click to launch" desactivado.'
93
+ }
94
+ ],
95
+ faq: [
96
+ {
97
+ question: 'Mi juego de Godot 4 muestra una pantalla negra en Itch.io. ¿Por qué sucede?',
98
+ answer: 'Las exportaciones web de Godot 4 usan multi-hilo WebAssembly, que requiere soporte SharedArrayBuffer. En la página de edición de tu juego en Itch.io, activa "SharedArrayBuffer support" en las opciones del frame para habilitar las cabeceras COOP/COEP necesarias.'
99
+ },
100
+ {
101
+ question: '¿Necesito comprimir mis archivos en ZIP antes de usar este inspector?',
102
+ answer: 'No. Puedes subir un archivo ZIP o seleccionar directamente tus archivos exportados HTML5. El inspector lee los archivos directamente en la memoria del navegador.'
103
+ }
104
+ ],
105
+ howTo: [
106
+ {
107
+ name: 'Subir Archivos del Juego o ZIP',
108
+ text: 'Arrastra y suelta tu archivo ZIP de exportación HTML5 o selecciona el directorio de build que contiene index.html.'
109
+ },
110
+ {
111
+ name: 'Revisar el Informe de Compatibilidad',
112
+ text: 'Consulta el informe de auditoría automático para verificar la posición de index.html en la raíz, advertencias de mayúsculas y detección del motor.'
113
+ },
114
+ {
115
+ name: 'Redimensionar el Viewport en Vivo',
116
+ text: 'Usa los controles de resolución y los presets de relación de aspecto para probar el embed del iframe en vivo sin scrollbars.'
117
+ },
118
+ {
119
+ name: 'Copiar Configuración para Itch.io',
120
+ text: 'Haz clic en Copiar Configuración para obtener los valores exactos de ancho y alto del viewport listos para tu página de publicación en Itch.io.'
121
+ }
122
+ ],
123
+ schemas: [
124
+ {
125
+ '@context': 'https://schema.org',
126
+ '@type': 'SoftwareApplication',
127
+ name: 'Inspector de Juegos Web para Itch.io',
128
+ applicationCategory: 'DeveloperApplication',
129
+ operatingSystem: 'Any'
130
+ },
131
+ {
132
+ '@context': 'https://schema.org',
133
+ '@type': 'FAQPage',
134
+ mainEntity: [
135
+ {
136
+ '@type': 'Question',
137
+ name: 'Mi juego de Godot 4 muestra una pantalla negra en Itch.io. ¿Por qué sucede?',
138
+ acceptedAnswer: {
139
+ '@type': 'Answer',
140
+ text: 'Las exportaciones web de Godot 4 usan multi-hilo WebAssembly, que requiere soporte SharedArrayBuffer. En la página de edición de tu juego en Itch.io, activa "SharedArrayBuffer support" en las opciones del frame para habilitar las cabeceras COOP/COEP necesarias.'
141
+ }
142
+ },
143
+ {
144
+ '@type': 'Question',
145
+ name: '¿Necesito comprimir mis archivos en ZIP antes de usar este inspector?',
146
+ acceptedAnswer: {
147
+ '@type': 'Answer',
148
+ text: 'No. Puedes subir un archivo ZIP o seleccionar directamente tus archivos exportados HTML5. El inspector lee los archivos directamente en la memoria del navegador.'
149
+ }
150
+ }
151
+ ]
152
+ },
153
+ {
154
+ '@context': 'https://schema.org',
155
+ '@type': 'HowTo',
156
+ name: 'Cómo auditar y probar el viewport de tu juego en Itch.io',
157
+ step: [
158
+ {
159
+ '@type': 'HowToStep',
160
+ name: 'Subir Archivos del Juego o ZIP',
161
+ text: 'Arrastra y suelta tu archivo ZIP de exportación HTML5 o selecciona el directorio de build que contiene index.html.'
162
+ },
163
+ {
164
+ '@type': 'HowToStep',
165
+ name: 'Redimensionar el Viewport en Vivo',
166
+ text: 'Usa los controles de resolución y los presets de relación de aspecto para probar el embed del iframe en vivo sin scrollbars.'
167
+ }
168
+ ]
169
+ }
170
+ ],
171
+ bibliography: bibliographyEntries
172
+ };
@@ -0,0 +1,107 @@
1
+ import type { ToolLocaleContent } from '../../../types';
2
+ import type { ItchioGameTesterUI } from '../ui';
3
+ import { bibliographyEntries } from '../bibliography';
4
+
5
+ export const content: ToolLocaleContent<ItchioGameTesterUI> = {
6
+ slug: 'testeur-jeux-web-itchio',
7
+ title: 'Inspecteur de Jeux Web Itch.io et Optimiseur de Résolution en Direct',
8
+ description: 'Téléchargez des fichiers HTML5 ou des archives ZIP pour tester les viewports en direct, corriger les scrollbars, inspecter les builds Godot et Unity WebGL, et générer les paramètres d\'intégration Itch.io.',
9
+ ui: {
10
+ dropzoneTitle: 'Déposez votre Build ou Archive ZIP ici',
11
+ dropzoneHint: 'Déposez un fichier .ZIP, dossier exporté ou fichiers de build HTML5 dans cette zone pour les inspecter immédiatement.',
12
+ chooseFiles: 'Sélectionner un Fichier ou Dossier',
13
+ engineDetected: 'Moteur Détecté',
14
+ compatibilityScore: 'Score de Compatibilité Itch.io',
15
+ viewportWidth: 'Largeur du Viewport (px)',
16
+ viewportHeight: 'Hauteur du Viewport (px)',
17
+ presets: 'Préréglages de Résolution Rapides',
18
+ fitTest: 'Test de Mise en Page et Scrollbars en Direct',
19
+ copySettings: 'Copier les Paramètres d\'Intégration Itch.io',
20
+ copied: 'Copié dans le Presse-papiers',
21
+ embedMode: 'Mode d\'Intégration',
22
+ scrollbars: 'Activer les Scrollbars',
23
+ noIssuesFound: 'Toutes les vérifications ont réussi. Le package est conforme à 100% aux standards Itch.io.',
24
+ filesInspected: 'Fichiers Inspectés',
25
+ resetViewport: 'Réinitialiser le Viewport',
26
+ autoScaleToggle: 'Redimensionner Automatiquement le Viewport à la Largeur de l\'Écran',
27
+ scaledNotice: 'Le viewport dépasse la largeur de l\'écran. Un zoom artificiel a été appliqué pour que le canvas complet soit visible. Désactivez le redimensionnement automatique pour voir la mise en page réelle.',
28
+ },
29
+ seo: [
30
+ {
31
+ type: 'title',
32
+ level: 2,
33
+ text: 'Directives de Formatage pour les Exports HTML5 sur Itch.io'
34
+ },
35
+ {
36
+ type: 'paragraph',
37
+ html: 'Publier des jeux HTML5 et WebGL sur Itch.io nécessite une configuration précise des dimensions du viewport, des structures d\'archives et des en-têtes de sécurité cross-origin.'
38
+ },
39
+ {
40
+ type: 'stats',
41
+ columns: 4,
42
+ items: [
43
+ { label: 'Rapport d\'Aspect Web Standard', value: '16:9 Paysage' },
44
+ { label: 'Résolution Classique Itch', value: '960 x 540 px' },
45
+ { label: 'Fichier d\'Entrée Requis', value: 'index.html à la Racine' },
46
+ { label: 'Exigence Godot 4', value: 'En-têtes COOP / COEP' }
47
+ ]
48
+ },
49
+ {
50
+ type: 'tip',
51
+ html: 'Pour intégrer un jeu WebGL 1280x720 sur Itch.io, définissez les dimensions du viewport à exactement 1280x720 avec "Embed in page" activé.'
52
+ }
53
+ ],
54
+ faq: [
55
+ {
56
+ question: 'Pourquoi mon jeu Godot 4 affiche-t-il un écran noir sur Itch.io?',
57
+ answer: 'Les exports web Godot 4 utilisent le multi-threading WebAssembly qui nécessite le support SharedArrayBuffer. Activez "SharedArrayBuffer support" dans les options de frame de votre jeu Itch.io.'
58
+ }
59
+ ],
60
+ howTo: [
61
+ { name: 'Télécharger les Fichiers du Jeu ou ZIP', text: 'Déposez votre archive ZIP d\'export HTML5 ou sélectionnez votre répertoire de build contenant index.html.' },
62
+ { name: 'Examiner le Rapport de Compatibilité', text: 'Vérifiez le rapport d\'audit automatique pour le placement de l\'index.html, les avertissements de casse et la détection du moteur.' },
63
+ { name: 'Redimensionner le Viewport en Direct', text: 'Utilisez les curseurs de résolution et les préréglages de rapport d\'aspect pour tester l\'intégration iframe en direct.' },
64
+ { name: 'Copier les Paramètres Itch.io', text: 'Cliquez sur Copier les Paramètres pour obtenir les valeurs exactes de largeur et de hauteur pour votre page de soumission Itch.io.' }
65
+ ],
66
+ schemas: [
67
+ {
68
+ '@context': 'https://schema.org',
69
+ '@type': 'SoftwareApplication',
70
+ name: 'Inspecteur de Jeux Web Itch.io',
71
+ applicationCategory: 'DeveloperApplication',
72
+ operatingSystem: 'Any'
73
+ },
74
+ {
75
+ '@context': 'https://schema.org',
76
+ '@type': 'FAQPage',
77
+ mainEntity: [
78
+ {
79
+ '@type': 'Question',
80
+ name: 'Pourquoi mon jeu Godot 4 affiche-t-il un écran noir sur Itch.io?',
81
+ acceptedAnswer: {
82
+ '@type': 'Answer',
83
+ text: 'Les exports web Godot 4 utilisent le multi-threading WebAssembly qui nécessite le support SharedArrayBuffer. Activez "SharedArrayBuffer support" dans les options de frame de votre jeu Itch.io.'
84
+ }
85
+ }
86
+ ]
87
+ },
88
+ {
89
+ '@context': 'https://schema.org',
90
+ '@type': 'HowTo',
91
+ name: 'Comment auditer et tester le viewport de votre jeu sur Itch.io',
92
+ step: [
93
+ {
94
+ '@type': 'HowToStep',
95
+ name: 'Télécharger les Fichiers du Jeu ou ZIP',
96
+ text: 'Déposez votre archive ZIP d\'export HTML5 ou sélectionnez votre répertoire de build contenant index.html.'
97
+ },
98
+ {
99
+ '@type': 'HowToStep',
100
+ name: 'Redimensionner le Viewport en Direct',
101
+ text: 'Utilisez les curseurs de résolution et les préréglages de rapport d\'aspect pour tester l\'intégration iframe en direct.'
102
+ }
103
+ ]
104
+ }
105
+ ],
106
+ bibliography: bibliographyEntries
107
+ };
@@ -0,0 +1,107 @@
1
+ import type { ToolLocaleContent } from '../../../types';
2
+ import type { ItchioGameTesterUI } from '../ui';
3
+ import { bibliographyEntries } from '../bibliography';
4
+
5
+ export const content: ToolLocaleContent<ItchioGameTesterUI> = {
6
+ slug: 'itchio-web-game-tester',
7
+ title: 'Itch.io Pemeriksa Game Web dan Pengoptimal Resolusi Langsung',
8
+ description: 'Unggah file ekspor HTML5 atau arsip ZIP untuk menguji viewport secara langsung, memperbaiki scrollbar, memeriksa build Godot dan Unity WebGL, serta menghasilkan pengaturan embed Itch.io.',
9
+ ui: {
10
+ dropzoneTitle: 'Seret dan Letakkan Build Game atau File ZIP di Sini',
11
+ dropzoneHint: 'Letakkan file .ZIP, folder yang diekspor, atau file build HTML5 di area ini untuk langsung diperiksa.',
12
+ chooseFiles: 'Pilih File Game atau Folder',
13
+ engineDetected: 'Engine yang Terdeteksi',
14
+ compatibilityScore: 'Skor Kompatibilitas Itch.io',
15
+ viewportWidth: 'Lebar Viewport (px)',
16
+ viewportHeight: 'Tinggi Viewport (px)',
17
+ presets: 'Preset Resolusi Cepat',
18
+ fitTest: 'Uji Tata Letak dan Scrollbar Langsung',
19
+ copySettings: 'Salin Pengaturan Embed Itch.io',
20
+ copied: 'Disalin ke Clipboard',
21
+ embedMode: 'Mode Embed',
22
+ scrollbars: 'Aktifkan Scrollbar',
23
+ noIssuesFound: 'Semua pemeriksaan berhasil. Paket 100% sesuai dengan standar Itch.io.',
24
+ filesInspected: 'File yang Diperiksa',
25
+ resetViewport: 'Reset Viewport',
26
+ autoScaleToggle: 'Skala Viewport Otomatis ke Lebar Layar',
27
+ scaledNotice: 'Viewport melebihi lebar layar. Zoom-out buatan diterapkan agar seluruh kanvas terlihat. Nonaktifkan penskalaan otomatis untuk melihat tata letak asli.',
28
+ },
29
+ seo: [
30
+ {
31
+ type: 'title',
32
+ level: 2,
33
+ text: 'Panduan Format untuk Ekspor Game HTML5 di Itch.io'
34
+ },
35
+ {
36
+ type: 'paragraph',
37
+ html: 'Mempublikasikan game HTML5 dan WebGL di Itch.io memerlukan konfigurasi yang tepat dari dimensi viewport, struktur file arsip, dan header keamanan cross-origin.'
38
+ },
39
+ {
40
+ type: 'stats',
41
+ columns: 4,
42
+ items: [
43
+ { label: 'Rasio Aspek Web Standar', value: '16:9 Lanskap' },
44
+ { label: 'Resolusi Klasik Itch', value: '960 x 540 px' },
45
+ { label: 'File Titik Masuk yang Diperlukan', value: 'index.html di Root' },
46
+ { label: 'Persyaratan Godot 4', value: 'Header COOP / COEP' }
47
+ ]
48
+ },
49
+ {
50
+ type: 'tip',
51
+ html: 'Saat menyematkan game WebGL 1280x720 di Itch.io, atur dimensi viewport embed tepat ke 1280x720 dengan "Embed in page" diaktifkan.'
52
+ }
53
+ ],
54
+ faq: [
55
+ {
56
+ question: 'Mengapa game Godot 4 saya menampilkan layar hitam di Itch.io?',
57
+ answer: 'Ekspor web Godot 4 menggunakan multi-threading WebAssembly yang memerlukan dukungan SharedArrayBuffer. Aktifkan "SharedArrayBuffer support" di opsi frame game Itch.io Anda.'
58
+ }
59
+ ],
60
+ howTo: [
61
+ { name: 'Unggah File Game atau ZIP', text: 'Seret dan letakkan arsip ZIP ekspor HTML5 atau pilih direktori build yang berisi index.html.' },
62
+ { name: 'Tinjau Laporan Kompatibilitas', text: 'Periksa laporan audit otomatis untuk penempatan root index.html, peringatan huruf besar-kecil, dan deteksi engine.' },
63
+ { name: 'Ubah Ukuran Viewport Secara Langsung', text: 'Gunakan kontrol resolusi dan chip rasio aspek untuk menguji penyematan iframe secara langsung tanpa scrollbar.' },
64
+ { name: 'Salin Pengaturan Itch.io', text: 'Klik Salin Pengaturan untuk mendapatkan nilai lebar dan tinggi yang tepat untuk halaman pengiriman game Itch.io Anda.' }
65
+ ],
66
+ schemas: [
67
+ {
68
+ '@context': 'https://schema.org',
69
+ '@type': 'SoftwareApplication',
70
+ name: 'Itch.io Pemeriksa Game Web',
71
+ applicationCategory: 'DeveloperApplication',
72
+ operatingSystem: 'Any'
73
+ },
74
+ {
75
+ '@context': 'https://schema.org',
76
+ '@type': 'FAQPage',
77
+ mainEntity: [
78
+ {
79
+ '@type': 'Question',
80
+ name: 'Mengapa game Godot 4 saya menampilkan layar hitam di Itch.io?',
81
+ acceptedAnswer: {
82
+ '@type': 'Answer',
83
+ text: 'Ekspor web Godot 4 menggunakan multi-threading WebAssembly yang memerlukan dukungan SharedArrayBuffer. Aktifkan "SharedArrayBuffer support" di opsi frame game Itch.io Anda.'
84
+ }
85
+ }
86
+ ]
87
+ },
88
+ {
89
+ '@context': 'https://schema.org',
90
+ '@type': 'HowTo',
91
+ name: 'Cara Mengaudit dan Menguji Viewport Game Itch.io Anda',
92
+ step: [
93
+ {
94
+ '@type': 'HowToStep',
95
+ name: 'Unggah File Game atau ZIP',
96
+ text: 'Seret dan letakkan arsip ZIP ekspor HTML5 atau pilih direktori build yang berisi index.html.'
97
+ },
98
+ {
99
+ '@type': 'HowToStep',
100
+ name: 'Ubah Ukuran Viewport Secara Langsung',
101
+ text: 'Gunakan kontrol resolusi dan chip rasio aspek untuk menguji penyematan iframe secara langsung tanpa scrollbar.'
102
+ }
103
+ ]
104
+ }
105
+ ],
106
+ bibliography: bibliographyEntries
107
+ };
@@ -0,0 +1,107 @@
1
+ import type { ToolLocaleContent } from '../../../types';
2
+ import type { ItchioGameTesterUI } from '../ui';
3
+ import { bibliographyEntries } from '../bibliography';
4
+
5
+ export const content: ToolLocaleContent<ItchioGameTesterUI> = {
6
+ slug: 'tester-giochi-web-itchio',
7
+ title: 'Ispettore di Giochi Web Itch.io e Ottimizzatore di Risoluzione Live',
8
+ description: 'Carica file di esportazione HTML5 o archivi ZIP per testare i viewport live, correggere le scrollbar, ispezionare build Godot e Unity WebGL e generare le impostazioni di incorporamento per Itch.io.',
9
+ ui: {
10
+ dropzoneTitle: 'Trascina e Rilascia il tuo Build o Archivio ZIP',
11
+ dropzoneHint: 'Rilascia un file .ZIP, cartella esportata o file di build HTML5 in questa area per ispezionarli immediatamente.',
12
+ chooseFiles: 'Seleziona File o Cartella',
13
+ engineDetected: 'Motore Rilevato',
14
+ compatibilityScore: 'Punteggio di Compatibilità Itch.io',
15
+ viewportWidth: 'Larghezza Viewport (px)',
16
+ viewportHeight: 'Altezza Viewport (px)',
17
+ presets: 'Preset di Risoluzione Rapidi',
18
+ fitTest: 'Test Live di Layout e Scrollbar',
19
+ copySettings: 'Copia Impostazioni di Incorporamento Itch.io',
20
+ copied: 'Copiato negli Appunti',
21
+ embedMode: 'Modalità di Incorporamento',
22
+ scrollbars: 'Abilita Scrollbar',
23
+ noIssuesFound: 'Tutti i controlli superati. Il pacchetto è conforme al 100% agli standard Itch.io.',
24
+ filesInspected: 'File Ispezionati',
25
+ resetViewport: 'Reimposta Viewport',
26
+ autoScaleToggle: 'Scala Automaticamente il Viewport alla Larghezza dello Schermo',
27
+ scaledNotice: 'Il viewport supera la larghezza dello schermo. È stato applicato uno zoom-out artificiale per far entrare il canvas completo. Disattiva la scala automatica per vedere il layout reale.',
28
+ },
29
+ seo: [
30
+ {
31
+ type: 'title',
32
+ level: 2,
33
+ text: 'Linee Guida di Formattazione per Esportazioni HTML5 su Itch.io'
34
+ },
35
+ {
36
+ type: 'paragraph',
37
+ html: 'Pubblicare giochi HTML5 e WebGL su Itch.io richiede una configurazione precisa delle dimensioni del viewport, delle strutture degli archivi e degli header di sicurezza cross-origin.'
38
+ },
39
+ {
40
+ type: 'stats',
41
+ columns: 4,
42
+ items: [
43
+ { label: 'Rapporto di Aspetto Web Standard', value: '16:9 Orizzontale' },
44
+ { label: 'Risoluzione Classica Itch', value: '960 x 540 px' },
45
+ { label: 'File di Ingresso Richiesto', value: 'index.html nella Root' },
46
+ { label: 'Requisito Godot 4', value: 'Header COOP / COEP' }
47
+ ]
48
+ },
49
+ {
50
+ type: 'tip',
51
+ html: 'Per incorporare un gioco WebGL 1280x720 su Itch.io, imposta le dimensioni del viewport dell\'embed esattamente a 1280x720 con "Embed in page" abilitato.'
52
+ }
53
+ ],
54
+ faq: [
55
+ {
56
+ question: 'Perché il mio gioco Godot 4 mostra uno schermo nero su Itch.io?',
57
+ answer: 'Le esportazioni web di Godot 4 usano il multi-threading WebAssembly che richiede il supporto SharedArrayBuffer. Abilita "SharedArrayBuffer support" nelle opzioni frame del tuo gioco su Itch.io.'
58
+ }
59
+ ],
60
+ howTo: [
61
+ { name: 'Carica File del Gioco o ZIP', text: 'Trascina e rilascia il tuo archivio ZIP di esportazione HTML5 o seleziona la directory di build contenente index.html.' },
62
+ { name: 'Esamina il Report di Compatibilità', text: 'Controlla il report di audit automatico per il posizionamento di index.html nella root, avvisi di maiuscole/minuscole e rilevamento del motore.' },
63
+ { name: 'Ridimensiona il Viewport Live', text: 'Usa i cursori di risoluzione e i preset del rapporto di aspetto per testare l\'incorporamento iframe live.' },
64
+ { name: 'Copia le Impostazioni Itch.io', text: 'Clicca su Copia Impostazioni per ottenere i valori esatti di larghezza e altezza per la tua pagina di invio su Itch.io.' }
65
+ ],
66
+ schemas: [
67
+ {
68
+ '@context': 'https://schema.org',
69
+ '@type': 'SoftwareApplication',
70
+ name: 'Ispettore di Giochi Web Itch.io',
71
+ applicationCategory: 'DeveloperApplication',
72
+ operatingSystem: 'Any'
73
+ },
74
+ {
75
+ '@context': 'https://schema.org',
76
+ '@type': 'FAQPage',
77
+ mainEntity: [
78
+ {
79
+ '@type': 'Question',
80
+ name: 'Perché il mio gioco Godot 4 mostra uno schermo nero su Itch.io?',
81
+ acceptedAnswer: {
82
+ '@type': 'Answer',
83
+ text: 'Le esportazioni web di Godot 4 usano il multi-threading WebAssembly che richiede il supporto SharedArrayBuffer. Abilita "SharedArrayBuffer support" nelle opzioni frame del tuo gioco su Itch.io.'
84
+ }
85
+ }
86
+ ]
87
+ },
88
+ {
89
+ '@context': 'https://schema.org',
90
+ '@type': 'HowTo',
91
+ name: 'Come esaminare e testare il viewport del tuo gioco su Itch.io',
92
+ step: [
93
+ {
94
+ '@type': 'HowToStep',
95
+ name: 'Carica File del Gioco o ZIP',
96
+ text: 'Trascina e rilascia il tuo archivio ZIP di esportazione HTML5 o seleziona la directory di build contenente index.html.'
97
+ },
98
+ {
99
+ '@type': 'HowToStep',
100
+ name: 'Ridimensiona il Viewport Live',
101
+ text: 'Usa i cursori di risoluzione e i preset del rapporto di aspetto per testare l\'incorporamento iframe live.'
102
+ }
103
+ ]
104
+ }
105
+ ],
106
+ bibliography: bibliographyEntries
107
+ };