Traducciones
Blockstudio incluye sus traducciones en la carpeta languages. WordPress las utiliza cuando el idioma del sitio o el idioma del perfil de un usuario coincide con alguno de ellos. Funciona igual cuando Blockstudio se ejecuta como plugin, como plugin de uso obligatorio o como paquete Composer.
Idiomas disponibles
Blockstudio incluye traducciones para las WordPress configuraciones regionales registradas en su languages/locales.json incluido, incluidas variantes regionales y formales e informales. El inglés (en_US) es el idioma de origen y no necesita un archivo de traducción. La lista combina las configuraciones regionales compatibles con WordPress de GlotPress con las variantes disponibles en el WordPress de traducción del núcleo de API.
Se conservan las traducciones existentes al alemán (de_DE) y al alemán formal (de_DE_formal). Las traducciones adicionales se generan con IA mediante GPT-6 Luna y se marcan como generadas por máquina en sus encabezados .po. Superan las comprobaciones automatizadas de integridad y formato, pero no todas han sido revisadas por hablantes nativos. Se agradecen las correcciones.
Las traducciones abarcan los controles de campos del editor de bloques, la página de administración, el lienzo, la superposición de herramientas de desarrollo y los mensajes de los endpoints REST. Las etiquetas y los textos de ayuda de tus propios archivos block.json pertenecen a tu tema o plugin y utilizan su dominio de texto.
Selecciona el idioma en Settings > General > Site Language o elige un idioma personal en tu perfil de WordPress. Blockstudio utiliza esa configuración regional automáticamente. No añade idiomas al selector de idioma de WordPress: la configuración regional también debe estar disponible en tu instalación de WordPress. No se necesita ninguna solicitud a la IA, suscripción de traducción ni ajuste adicional en tiempo de ejecución en tu sitio.
Sobrescribir una traducción
Los archivos de traducción de wp-content/languages/plugins tienen prioridad sobre los incluidos, tanto para las cadenas de PHP (blockstudio-de_DE.mo o blockstudio-de_DE.l10n.php) como para los scripts (un archivo por cada identificador de script, por ejemplo blockstudio-de_DE-blockstudio-blocks.json).
Contribuir con una traducción
Cada idioma es un archivo .po que puedes editar con cualquier editor de texto o con una herramienta de traducción como Poedit. Se agradecen las correcciones y los nuevos idiomas en forma de solicitudes de cambios.
- Para añadir un idioma, copia
languages/blockstudio.potenlanguages/blockstudio-<locale>.po, por ejemploblockstudio-fr_FR.po, y establece los encabezadosLanguageyPlural-Forms. Para mejorar un idioma, edita su archivo.poexistente. - Traduce las cadenas. Conserva en la traducción los marcadores de posición como
%1$s. - Ejecuta
npm run i18n. Escribe los archivos.mo,.l10n.phpy.jsonque carga WordPress. - Confirma el archivo
.pojunto con los archivos generados y abre una solicitud de cambios.
Si no puedes ejecutar npm, basta con una solicitud de cambios que incluya únicamente el archivo .po. Los archivos generados pueden añadirse antes de la fusión.
Generar las traducciones que faltan
Los responsables del mantenimiento pueden generar las entradas que faltan con un Codex CLI autenticado. Este es un comando de desarrollo opcional, no algo que WordPress ejecute:
npm run i18n:translate -- --dry-run
npm run i18n:translate
El modelo predeterminado es gpt-6-luna. Para trabajar en una configuración regional, usa npm run i18n:translate -- --locale fr_FR. El comando extrae las cadenas de origen más recientes, completa las traducciones que faltan y luego compila los archivos .mo, .l10n.php y .json para cada script. Solo se envían a Codex cadenas de la interfaz pública, su contexto y las formas existentes; no se envía contenido del sitio ni datos de usuarios.
Las traducciones existentes que no estén vacías nunca se sustituyen. Los lotes completados se guardan, así que, si se vuelve a ejecutar el comando tras una interrupción, se reanuda el trabajo pendiente. Antes de guardar, se validan los marcadores de posición como %1$s, el marcado HTML, los identificadores técnicos y las formas plurales requeridas. Las entradas difusas y los plurales de origen modificados quedan pendientes de revisión por parte de un traductor. No se recurre a otro modelo si el solicitado no está disponible.
npm run i18n:locales actualiza explícitamente la lista de configuraciones regionales y las reglas de pluralización desde WordPress/GlotPress. npm run i18n:coverage comprueba que todas las configuraciones regionales de la lista incluida en el repositorio estén completas. Ni las comprobaciones de cobertura ni la integración continua habitual llaman a la IA o recuperan datos de configuraciones regionales. Consulta el README del repositorio para ver las opciones de procesamiento por lotes, concurrencia y recuperación.
Cadenas traducibles en el código
- PHP: use las funciones WordPress con el dominio de texto
blockstudio, por ejemplo__( 'Invalid block.', 'blockstudio' ). - JavaScript: importa
__desde@/utils/__y pasa una cadena literal, por ejemplo__( 'Add row' ). Una cadena que se construye en tiempo de ejecución no se puede traducir, así que usa una cadena literal por variante. - Un nuevo paquete de scripts con cadenas traducibles necesita una entrada en
scripts/i18n.tsy una llamada awp_set_script_translations()con el mismo identificador yTranslations::script_path().
Después de cambiar las cadenas, ejecuta npm run i18n. Actualiza languages/blockstudio.pot y todos los archivos .po. Las cadenas nuevas permanecen en inglés hasta que un traductor o npm run i18n:translate las complete. CI ejecuta npm run i18n:check y npm run i18n:coverage, que rechazan archivos compilados obsoletos, problemas de extracción o una cobertura incompleta de las configuraciones regionales. La generación sigue siendo una acción explícita del mantenedor.