Vai al contenuto

Testi e traduzioni

MRBS separa il vocabolario dell'applicazione, i termini specifici del sito, le pagine della Guida e questo manuale di MkDocs. Scegli il livello corretto in modo che gli aggiornamenti rimangano gestibili.

Compito Posizione corretta
Rinominare un'etichetta per un'installazione $vocab_override in config.inc.php
Aggiungi o migliora una lingua dell'interfaccia utente MRBS web/lang/lang.<language>
Traduci o personalizza la pagina della Guida interna all'applicazione web/site_faq/site_faq_<language>.html
Traduci questo manuale Un file con suffisso linguistico di seguito docs/

Sostituisci la formulazione per un sito

Non modificare un file di lingua fornito semplicemente per rinominare "Sala" o modificare il titolo del sito. Trova il token in web/lang/lang.en, quindi sovrascrivilo:

$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'ordine dell'indice è sempre la lingua, quindi il token: $vocab_override[LANG][TOKEN].

I token utili definiti dal sito includono:

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

I token dei campi personalizzati sono descritti in Campi personalizzati. Le descrizioni dei tipi di prenotazione utilizzano type.X, dove X è il codice del tipo configurato.

Le sostituzioni sopravvivono a un aggiornamento perché risiedono nella configurazione del sito. Ricontrolla il loro significato se una versione modifica il token originale o il suo contesto.

Mantenere i segnaposto di formattazione

Le stringhe linguistiche possono contenere marcatori printf come %s, %d o forme posizionali come %1$d. Conserva ogni indicatore e il suo tipo. Una traduzione può riordinare gli argomenti solo con la forma posizionale.

Conserva anche i frammenti HTML intenzionali, la semantica della punteggiatura e gli spazi circostanti. Testare le stringhe con conteggi pari a zero, uno e molti, ove applicabile.

Selezionare la lingua dell'interfaccia

Per impostazione predefinita, MRBS sceglie una lingua dal browser:

$disable_automatic_language_changing = false;

Per forzare una lingua:

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

Il token deve corrispondere a un file web/lang/lang.* disponibile. La selezione della lingua per date e orari può essere sostituita separatamente:

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

$override_locale deve essere supportato anche dal sistema operativo del server. $cli_language controlla i comandi eseguiti all'esterno del browser. Per la diagnosi, $language_debug = true scrive le informazioni sulla lingua e sulle impostazioni locali nel registro degli errori; disabilitarlo di nuovo dopo aver risolto il problema.

Aggiungere o mantenere una lingua dell'applicazione

Il file inglese è il riferimento e il fallback. Per creare una lingua il cui token rilevato è xx:

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

Quindi:

  1. Conserva la riga di apertura PHP e ogni chiave $vocab.
  2. Traduci i valori delle stringhe, non i nomi dei token.
  3. Salva il file come UTF-8.
  4. Non utilizzare entità HTML tranne &nbsp;; scrivere direttamente i caratteri UTF-8.
  5. Conserva i marcatori di sostituzione e il markup intenzionale.
  6. Convalida la sintassi PHP.
php -l web/lang/lang.xx

MRBS carica prima il vocabolario inglese e poi quello della lingua selezionata; i token mancanti vengono quindi mostrati in inglese.

Controlla la completezza

checklang.php confronta i file di lingua con lang.en. Per un'istanza di sviluppo, posizionala o conservala nella directory web MRBS e apri:

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

Senza una selezione della lingua offre tutti i file della lingua installati. La funzione di aggiornamento opzionale scrive file e pertanto richiede l'accesso in scrittura; evitarlo durante la produzione e rivedere le modifiche generate. Limitare o rimuovere questa utilità di sviluppo da una distribuzione pubblica una volta completata la verifica.

Il controllo della sintassi e checklang.php rilevano problemi diversi: utilizzali entrambi.

Tradurre la pagina della Guida interna all'applicazione

Il testo della guida non proviene da $vocab. Viene memorizzato separatamente:

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

Seleziona il suffisso senza trattino basso:

$faqfilelang = 'de';

Valori precedenti come '_de' sono accettati per compatibilità ma deprecati. L'impostazione è indipendente dalla lingua del browser, quindi verifica che le domande frequenti selezionate corrispondano al pubblico previsto. Le modifiche locali ai file FAQ spediti devono essere registrate e riapplicate o unite durante un aggiornamento.

Traduci questo manuale

Il sito Web della documentazione utilizza file di suffisso:

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'inglese è la lingua di riserva della documentazione. Questi file non influiscono sull'interfaccia dell'applicazione MRBS né sulla relativa pagina della Guida.

Flusso di lavoro sicuro per l'aggiornamento

  1. Inserisci la dicitura solo sito in $vocab_override.
  2. Conserva un elenco dei file delle lingue e delle domande frequenti gestiti localmente.
  3. Confronta un nuovo lang.en con la versione precedente per i token aggiunti o modificati.
  4. Esegui php -l su ogni file di lingua modificato.
  5. Esegui checklang.php su un'istanza di sviluppo limitata.
  6. Esamina separatamente le modifiche alle domande frequenti.
  7. Verifica tutte le lingue attive prima della distribuzione.

Lista di controllo per la verifica

  • Il rilevamento del browser e l'impostazione predefinita forzata selezionano la lingua prevista.
  • I token mancanti vengono mostrati in un inglese comprensibile.
  • La navigazione, i moduli, gli errori, le approvazioni e le pagine di amministrazione vengono visualizzati correttamente.
  • %s, %d e gli indicatori di posizione ricevono i valori corretti.
  • Date, ore, giorni feriali e fusi orari utilizzano le impostazioni internazionali previste.
  • Gli oggetti e i corpi dei messaggi di posta elettronica, i report, le esportazioni e i processi da riga di comando utilizzano la lingua prevista.
  • I campi personalizzati, i tipi di prenotazione, i segnaposto e i messaggi di convalida vengono tradotti.
  • La pagina della Guida utilizza il file site_faq previsto.
  • I log non contengono debug persistente della lingua o valori di moduli sensibili.