Textos y traducciones¶
MRBS separa el vocabulario de la interfaz, los textos propios del sitio, las páginas de ayuda y este manual MkDocs. Usar el nivel correcto facilita las actualizaciones.
| Tarea | Ubicación correcta |
|---|---|
| Cambiar una etiqueta en esta instalación | $vocab_override en config.inc.php |
| Añadir o mejorar un idioma de la interfaz MRBS | web/lang/lang.<idioma> |
| Traducir o adaptar la ayuda de la aplicación | web/site_faq/site_faq_<idioma>.html |
| Traducir este manual | Archivo con sufijo de idioma dentro de docs/ |
Sustituir textos de un sitio¶
No se debe editar un archivo de idioma distribuido solo para cambiar «Sala» o
el título. Se busca la clave en web/lang/lang.en y se sustituye:
$vocab_override['en']['mrbs'] = 'Resource Booking';
$vocab_override['de']['mrbs'] = 'Ressourcenbuchung';
$vocab_override['fr']['mrbs'] = 'Réservation de ressources';
$vocab_override['es']['mrbs'] = 'Reserva de recursos';
El orden siempre es idioma y luego clave: $vocab_override[LANG][TOKEN].
Ejemplos de claves propias del sitio:
$vocab_override['es']['room.coffee_machine'] = 'Cafetera';
$vocab_override['es']['entry.catering'] = 'Catering';
$vocab_override['es']['entry.description.placeholder'] =
'Añada información para el equipo de la sala';
$vocab_override['es']['users.zip_code.oninvalid'] =
'Introduzca un código postal válido';
$vocab_override['es']['type.C'] = 'Reserva de cliente';
Véase Campos personalizados. Las descripciones de tipos de
reserva usan type.X, donde X es el código configurado.
Las sustituciones sobreviven a una actualización porque están en la configuración local. Aun así, hay que revisarlas si una versión cambia el sentido o el contexto de la clave original.
Conservar los marcadores¶
Los textos pueden contener marcadores printf como %s, %d o formas
posicionales como %1$d. Hay que conservar todos los marcadores y sus tipos.
Solo las formas posicionales permiten reordenar argumentos.
También deben conservarse los fragmentos HTML intencionados, la puntuación significativa y los espacios necesarios. Probar los textos con cero, uno y varios elementos.
Elegir el idioma de ejecución¶
De forma predeterminada, MRBS usa el idioma del navegador:
Para imponer un idioma:
El valor debe coincidir con un archivo web/lang/lang.*. La configuración
regional de fechas y horas se puede indicar por separado:
El sistema operativo del servidor debe admitir $override_locale.
$cli_language se aplica a comandos sin navegador. Para diagnosticar,
$language_debug = true escribe información de idioma y configuración regional
en el registro de errores; debe desactivarse después.
Añadir o mantener un idioma¶
El inglés es la referencia y el idioma de reserva. Para el código detectado
xx:
Después:
- Conservar la línea inicial de PHP y todas las claves
$vocab. - Traducir los valores, no los nombres de clave.
- Guardar el archivo como UTF-8.
- No usar entidades HTML salvo
; escribir directamente caracteres UTF-8. - Conservar los marcadores de sustitución y el marcado intencionado.
- Validar la sintaxis PHP.
MRBS carga primero la referencia inglesa y después el idioma seleccionado. Por eso, una clave ausente vuelve al texto inglés.
Comprobar que está completo¶
checklang.php compara los idiomas con lang.en. En una instancia de
desarrollo, el script se encuentra en el directorio web de MRBS:
Sin selección ofrece todos los idiomas instalados. La función opcional de actualización escribe archivos y necesita permisos de escritura; no debe usarse en producción y sus cambios deben revisarse. Al terminar, proteger o retirar esta herramienta de cualquier sitio público.
La validación sintáctica y checklang.php detectan problemas distintos; se
deben usar ambas.
Traducir la ayuda de la aplicación¶
La ayuda no procede de $vocab, sino de archivos separados:
web/site_faq/site_faq.html
web/site_faq/site_faq_de.html
web/site_faq/site_faq_fr.html
web/site_faq/site_faq_es.html
Se selecciona el sufijo sin guion bajo:
Valores antiguos como '_es' siguen aceptándose, pero están obsoletos. Este
ajuste es independiente del idioma del navegador. Las modificaciones locales
de archivos FAQ deben documentarse y combinarse durante cada actualización.
Traducir este manual¶
El sitio de documentación usa sufijos:
docs/admin-guide/custom-fields.md
docs/admin-guide/custom-fields.de.md
docs/admin-guide/custom-fields.fr.md
docs/admin-guide/custom-fields.es.md
El inglés es el idioma de reserva de la documentación. Estos archivos no modifican la interfaz MRBS ni su página de ayuda.
Flujo resistente a actualizaciones¶
- Guardar los textos propios del sitio en
$vocab_override. - Inventariar los archivos de idioma y FAQ mantenidos localmente.
- Comparar el
lang.ennuevo y el anterior para detectar claves añadidas o modificadas. - Ejecutar
php -len cada archivo de idioma cambiado. - Ejecutar
checklang.phpen una instancia de desarrollo protegida. - Revisar por separado los cambios de FAQ.
- Probar todos los idiomas activos antes del despliegue.
Lista de comprobación¶
- La detección del navegador y el idioma impuesto eligen el valor esperado.
- Las claves ausentes vuelven a un inglés comprensible.
- Navegación, formularios, errores, aprobaciones y administración se muestran bien.
%s,%dy los marcadores posicionales reciben los valores correctos.- Fechas, horas, días y zonas horarias usan la configuración regional prevista.
- Correos, informes, exportaciones y comandos usan el idioma esperado.
- Campos personalizados, tipos, textos indicativos y errores de validación están traducidos.
- La ayuda usa el archivo
site_faqesperado. - Los registros no conservan depuración de idioma ni datos sensibles.