Tekst en vertalingen¶
MRBS scheidt de toepassingsvocabulaire, sitespecifieke bewoordingen, Help-pagina's en deze MkDocs-handleiding. Kies de juiste laag zodat upgrades beheersbaar blijven.
| Taak | Correcte locatie |
|---|---|
| Hernoem een label voor één installatie | $vocab_override in config.inc.php |
| Voeg een MRBS UI-taal toe of verbeter deze | web/lang/lang.<language> |
| Vertaal of pas de Help-pagina van de toepassing aan | web/site_faq/site_faq_<language>.html |
| Vertaal deze handleiding | Een bestand met een taalachtervoegsel hieronder docs/ |
Formulering voor één site negeren¶
Bewerk een verzonden taalbestand niet alleen maar om de naam “Ruimte” te wijzigen of de titel van de site te wijzigen. Zoek het token in web/lang/lang.en en overschrijf het:
$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';
De indexvolgorde is altijd taal en vervolgens token: $vocab_override[LANG][TOKEN].
Nuttige, door de site gedefinieerde tokens zijn onder meer:
$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';
Tokens met aangepaste velden worden beschreven in Aangepaste velden. Beschrijvingen van het boekingstype gebruiken type.X, waarbij X de geconfigureerde typecode is.
Overschrijvingen overleven een upgrade omdat ze in de siteconfiguratie voorkomen. Controleer hun betekenis opnieuw als een release het originele token of de context ervan verandert.
Behoud vervangingsmarkeringen¶
Taalreeksen kunnen printf-markeringen bevatten, zoals %s, %d, of positionele vormen zoals %1$d. Bewaar elke markering en het type ervan. Een vertaling kan argumenten alleen herschikken met de positionele vorm.
Bewaar ook opzettelijke HTML-fragmenten, interpunctie-semantiek en omringende spaties. Test tekenreeksen met tellingen van nul, één en veel, waar van toepassing.
Selecteer de taal van de gebruikersinterface¶
Standaard kiest MRBS een taal uit de browser:
Eén taal forceren:
Het token moet overeenkomen met een beschikbaar bestand web/lang/lang.*. De lokale selectie voor datums en tijden kan afzonderlijk worden overschreven:
$override_locale moet ook worden ondersteund door het serverbesturingssysteem. $cli_language besturingsopdrachten worden buiten de browser uitgevoerd. Voor diagnose schrijft $language_debug = true taal- en landinstellingsinformatie naar het foutenlogboek; schakel het opnieuw uit na het oplossen van problemen.
Een toepassingstaal toevoegen of onderhouden¶
Het Engelstalige bestand is de referentie en fallback. Om een taal te maken waarvan het gedetecteerde token xx is:
Dan:
- Bewaar de openingszin PHP en elke sleutel
$vocab. - Vertaal tekenreekswaarden, niet tokennamen.
- Sla het bestand op als UTF-8.
- Gebruik geen HTML-entiteiten behalve
; schrijf UTF-8-tekens rechtstreeks. - Behoud vervangingsmarkeringen en opzettelijke markeringen.
- Valideer de syntaxis PHP.
MRBS laadt eerst de Engelse referentie en vervolgens de geselecteerde taal, zodat ontbrekende tokens terugvallen op het Engels.
Controleer de volledigheid¶
checklang.php vergelijkt taalbestanden met lang.en. Voor een ontwikkelingsinstantie plaatst of bewaart u deze in de webmap MRBS en opent u:
Zonder taalselectie biedt het alle geïnstalleerde taalbestanden aan. De optionele updatefunctie schrijft bestanden en vereist daarom schrijftoegang; vermijd dat bij productie en beoordeling gegenereerde wijzigingen optreden. Beperk of verwijder dit ontwikkelingshulpprogramma uit een openbare implementatie wanneer de controle is voltooid.
Syntaxiscontrole en checklang.php vangen verschillende problemen op: gebruik beide.
Vertaal de Help-pagina van de toepassing¶
De Help-tekst komt niet van $vocab. Het wordt apart opgeslagen:
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
Selecteer het achtervoegsel zonder onderstrepingsteken:
Oudere waarden zoals '_de' worden geaccepteerd voor compatibiliteit, maar zijn verouderd. De instelling is onafhankelijk van de browsertaal, dus test of de geselecteerde FAQ overeenkomt met de beoogde doelgroep. Lokale bewerkingen van verzonden FAQ-bestanden moeten tijdens een upgrade worden vastgelegd en opnieuw worden toegepast of samengevoegd.
Vertaal deze handleiding¶
De documentatiewebsite gebruikt achtervoegselbestanden:
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
Engels is de fallback voor documentatie. Deze bestanden hebben geen invloed op de gebruikersinterface van de toepassing MRBS of de Help-pagina ervan.
Upgradeveilige workflow¶
- Plaats de tekst voor alleen de site in
$vocab_override. - Houd een lijst bij van lokaal onderhouden taal- en FAQ-bestanden.
- Vergelijk een nieuwe
lang.enmet de vorige versie voor toegevoegde of gewijzigde tokens. - Voer
php -luit op elk gewijzigd taalbestand. - Voer
checklang.phpuit op een beperkt ontwikkelingsexemplaar. - Bekijk de wijzigingen in de veelgestelde vragen afzonderlijk.
- Test alle actieve talen vóór implementatie.
Controlelijst voor verificatie¶
- Browserdetectie en de geforceerde standaard selecteren de verwachte taal.
- Ontbrekende tokens vallen terug op begrijpelijk Engels.
- Navigatie-, formulieren-, fouten-, goedkeurings- en beheerpagina's worden correct weergegeven.
%s,%den positiemarkeringen krijgen de juiste waarden.- Datums, tijden, weekdagen en tijdzones gebruiken de beoogde landinstelling.
- E-mailonderwerpen en -teksten, rapporten, exports en opdrachtregeltaken gebruiken de bedoelde taal.
- Aangepaste velden, boekingstypen, tijdelijke aanduidingen en validatieberichten worden vertaald.
- De Help-pagina gebruikt het verwachte bestand
site_faq. - Logboeken bevatten geen permanente taalfoutopsporing of gevoelige formulierwaarden.