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:
Per forzare una lingua:
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 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:
Quindi:
- Conserva la riga di apertura PHP e ogni chiave
$vocab. - Traduci i valori delle stringhe, non i nomi dei token.
- Salva il file come UTF-8.
- Non utilizzare entità HTML tranne
; scrivere direttamente i caratteri UTF-8. - Conserva i marcatori di sostituzione e il markup intenzionale.
- Convalida la sintassi PHP.
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:
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:
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¶
- Inserisci la dicitura solo sito in
$vocab_override. - Conserva un elenco dei file delle lingue e delle domande frequenti gestiti localmente.
- Confronta un nuovo
lang.encon la versione precedente per i token aggiunti o modificati. - Esegui
php -lsu ogni file di lingua modificato. - Esegui
checklang.phpsu un'istanza di sviluppo limitata. - Esamina separatamente le modifiche alle domande frequenti.
- 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,%de 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_faqprevisto. - I log non contengono debug persistente della lingua o valori di moduli sensibili.