Salta el contingut

Text i traduccions

MRBS separa el vocabulari de l'aplicació, la redacció específica del lloc, les pàgines d'ajuda i aquest manual de MkDocs. Trieu la capa correcta perquè les actualitzacions siguin gestionables.

Tasca Localització correcta
Canvieu el nom d'una etiqueta per a una instal·lació $vocab_override en config.inc.php
Afegir o millorar una llengua de la interfície d'MRBS web/lang/lang.<language>
Traduir o personalitzar la pàgina d'ajuda de l'aplicació web/site_faq/site_faq_<language>.html
Traduir aquest manual Un fitxer amb sufix de llengua dins de docs/

Substituïu la redacció d'un lloc

No editeu un fitxer de llengua distribuït amb l'aplicació només per canviar el nom d'«Aula» o el títol del lloc. Localitzeu la clau corresponent a web/lang/lang.en i sobreescriviu-la:

$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';

L'ordre dels índexs és sempre la llengua seguida de la clau: $vocab_override[LANG][TOKEN].

Algunes claus útils que pot definir el lloc són:

$vocab_override['en']['room.coffee_machine'] = 'Coffee machine';
$vocab_override['en']['entry.catering'] = 'Catering';
$vocab_override['en']['entry.description.placeholder'] =
    'Add information for the room team';
$vocab_override['en']['users.zip_code.oninvalid'] =
    'Enter a valid ZIP code';
$vocab_override['en']['type.C'] = 'Customer booking';

Les claus dels camps personalitzats es descriuen a Camps personalitzats. Per a les descripcions dels tipus de reserva, utilitzeu type.X, on X és el codi de tipus configurat.

Les substitucions es conserven durant les actualitzacions perquè formen part de la configuració del lloc. Torneu-ne a comprovar el significat si una versió modifica la clau original o el seu context.

Conservar els marcadors de substitució

Les cadenes traduïbles poden contenir marcadors de printf, com ara %s i %d, o formes posicionals com %1$d. Conserveu tots els marcadors i els tipus respectius. Una traducció només pot canviar l'ordre dels arguments si utilitza la forma posicional.

Preserveu també els fragments HTML deliberats, la semàntica de puntuació i els espais circumdants. Proveu les cadenes amb recomptes de zero, un i molts si escau.

Seleccioneu l'idioma d'execució

Per defecte, MRBS tria un idioma al navegador:

$disable_automatic_language_changing = false;

Per forçar un idioma:

$disable_automatic_language_changing = true;
$default_language_tokens = 'de';

El codi de llengua ha de correspondre a un fitxer web/lang/lang.* disponible. La configuració regional de les dates i les hores es pot sobreescriure per separat:

$override_locale = 'de-DE';
$cli_language = 'de';

$override_locale també ha de ser compatible amb el sistema operatiu del servidor. $cli_language controla les ordres que s'executen fora del navegador. Per al diagnòstic, $language_debug = true escriu informació sobre l'idioma i la configuració regional al registre d'errors; torneu a desactivar-lo després de resoldre el problema.

Afegir o mantenir un idioma d'aplicació

El fitxer anglès és la referència i també la llengua de reserva. Per crear una llengua amb el codi xx:

cp web/lang/lang.en web/lang/lang.xx

Llavors:

  1. Conserveu la línia inicial de PHP i totes les claus de $vocab.
  2. Traduïu els valors de les cadenes, no els noms de les claus.
  3. Deseu el fitxer com a UTF-8.
  4. No utilitzeu entitats HTML, excepte &nbsp;; escriviu directament els caràcters UTF-8.
  5. Preserveu els marcadors de substitució i el marcatge intencionat.
  6. Valideu la sintaxi PHP.
php -l web/lang/lang.xx

MRBS carrega primer el fitxer anglès de referència i després la llengua seleccionada; per tant, les claus que hi faltin es mostraran en anglès.

Comproveu la integritat

checklang.php compara fitxers d'idioma amb lang.en. Per a una instància de desenvolupament, col·loqueu-la o mantingueu-la al directori web MRBS i obriu:

https://example.invalid/mrbs/checklang.php?lang[]=xx

Si no seleccioneu cap llengua, l'eina mostra tots els fitxers instal·lats. La funció d'actualització opcional modifica fitxers i, per tant, necessita permisos d'escriptura; no la utilitzeu en producció i reviseu sempre els canvis generats. Quan acabeu la comprovació, restringiu o suprimiu aquesta utilitat de desenvolupament dels desplegaments públics.

La comprovació de sintaxi i checklang.php detecten problemes diferents; utilitzeu totes dues.

Traducció de la pàgina d'ajuda de l'aplicació

El text d'ajuda no prové de $vocab. S'emmagatzema per separat:

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

Seleccioneu el sufix sense guió baix:

$faqfilelang = 'de';

Els valors antics com '_de' s'accepten per compatibilitat, però estan obsolets. Aquest paràmetre és independent de la llengua del navegador; comproveu, doncs, que la pàgina seleccionada sigui adequada per al públic destinatari. Documenteu les modificacions locals dels fitxers de preguntes freqüents distribuïts i torneu-les a aplicar o combineu-les durant cada actualització.

Traducció d'aquest manual

El lloc web de documentació utilitza fitxers amb un sufix de llengua:

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

L'anglès és el text de referència de la documentació. Aquests fitxers no afecten ni la interfície de l'aplicació MRBS ni la seva pàgina d'ajuda.

Flux de treball segur per a l'actualització

  1. Deseu a $vocab_override els textos específics del lloc.
  2. Manteniu una llista d'idiomes locals i fitxers de preguntes freqüents.
  3. Compareu el nou lang.en amb la versió anterior per identificar les claus afegides o modificades.
  4. Executeu php -l per a cada fitxer de llengua modificat.
  5. Executeu checklang.php en una instància de desenvolupament amb accés restringit.
  6. Reviseu els canvis de les PMF per separat.
  7. Proveu tots els idiomes actius abans del desplegament.

Llista de verificació

  • La detecció del navegador i la llengua predeterminada forçada seleccionen l'idioma previst.
  • Les claus que falten recorren a un text anglès comprensible.
  • Les pàgines de navegació, formularis, errors, aprovacions i administració es mostren correctament.
  • %s, %d, i els marcadors de posició reben els valors correctes.
  • Les dates, hores, dies laborables i zones horàries utilitzen la configuració regional prevista.
  • Els assumptes i cossos del correu electrònic, els informes, les exportacions i els treballs de línia d'ordres utilitzen l'idioma previst.
  • Es tradueixen camps personalitzats, tipus de reserva, marcadors de posició i missatges de validació.
  • La pàgina d'ajuda utilitza el fitxer site_faq previst.
  • Els registres no contenen cap depuració de llenguatge persistent ni valors de formulari sensibles.