Gå til indholdet

Tekst og oversættelser

MRBS adskiller applikationens ordforråd, lokale tekster, hjælpesider og denne MkDocs-manual. Foretag ændringen i det rette lag, så den kan håndteres ved opgraderinger.

Opgave Korrekt placering
Omdøb en etiket for én installation $vocab_override i config.inc.php
Tilføj eller forbedr et sprog i MRBS-brugerfladen web/lang/lang.<language>
Oversæt eller tilpas hjælpesiden i applikationen web/site_faq/site_faq_<language>.html
Oversæt denne manual En fil med sprogsuffiks under docs/

Skift teksten for én installation

Rediger ikke en medfølgende sprogfil blot for at omdøbe "Lokaler" eller ændre webstedets titel. Find tokenet i web/lang/lang.en, og skift det i konfigurationen:

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

Indeksrækkefølgen er altid sprog, derefter token: $vocab_override[LANG][TOKEN].

Nyttige webstedsdefinerede tokens omfatter:

$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 til brugerdefinerede felter beskrives i Brugerdefinerede felter. Betegnelser for bookingtyper bruger type.X, hvor X er den konfigurerede typekode.

Ændringerne bevares ved en opgradering, fordi de ligger i installationens konfiguration. Kontrollér deres betydning igen, hvis en udgivelse ændrer det oprindelige token eller dets kontekst.

Bevar substitutionsmarkører

Sprogstrenge kan indeholde printf-markører såsom %s, %d eller positionsformer såsom %1$d. Bevar hver markør og dens type. En oversættelse kan kun omarrangere argumenter med positionsformen.

Bevar også tilsigtede HTML-fragmenter, betydningen af tegnsætningen og omgivende mellemrum. Test om muligt strenge med antal på nul, én og flere.

Vælg sprog under drift

Som standard vælger MRBS et sprog fra browseren:

$disable_automatic_language_changing = false;

For at tvinge ét sprog:

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

Tokenet skal svare til en tilgængelig web/lang/lang.*-fil. Landestandard for datoer og klokkeslæt kan ændres separat:

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

$override_locale skal også understøttes af serverens operativsystem. $cli_language styrer kommandoer, der kører uden for browseren. Ved diagnosticering skriver $language_debug = true oplysninger om sprog og landestandard i fejlloggen; deaktivér indstillingen igen efter fejlfinding.

Tilføj eller vedligehold et applikationssprog

Den engelske fil er reference og reserve. Sådan oprettes et sprog, hvis registrerede token er xx:

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

Derefter:

  1. Behold PHP åbningslinjen og hver $vocab nøgle.
  2. Oversæt strengværdier, ikke tokennavne.
  3. Gem filen som UTF-8.
  4. Brug ikke HTML-entiteter bortset fra &nbsp;; skriv UTF-8-tegn direkte.
  5. Bevar substitutionsmarkører og bevidst markup.
  6. Valider PHP-syntaksen.
php -l web/lang/lang.xx

MRBS indlæser først den engelske reference og derefter det valgte sprog, så manglende tokens falder tilbage til engelsk.

Tjek fuldstændigheden

checklang.php sammenligner sprogfiler med lang.en. For en udviklingsforekomst skal du placere eller beholde den i webbiblioteket MRBS og åbne:

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

Uden et sprogvalg viser værktøjet alle installerede sprogfiler. Den valgfrie opdateringsfunktion skriver til filer og kræver derfor skriveadgang. Brug den ikke i produktionen, og gennemgå altid de genererede ændringer. Begræns eller fjern udviklingsværktøjet fra en offentlig installation, når kontrollen er afsluttet.

Syntakskontrol og checklang.php fanger forskellige problemer: brug begge.

Oversæt hjælpesiden i applikationen

Hjælpeteksten kommer ikke fra $vocab. Den opbevares 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

Vælg suffikset uden understregning:

$faqfilelang = 'de';

Ældre værdier som '_de' accepteres af hensyn til bagudkompatibilitet, men frarådes. Indstillingen er uafhængig af browserens sprog, så kontrollér, at den valgte hjælpeside passer til målgruppen. Dokumentér lokale ændringer af de medfølgende FAQ-filer, og genanvend eller flet dem ved en opgradering.

Oversæt denne manual

Dokumentationswebstedet bruger suffiksfiler:

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

Engelsk er dokumentationens reservesprog. Filerne påvirker hverken MRBS-applikationens brugerflade eller dens hjælpeside.

Arbejdsgang, der tåler opgraderinger

  1. Læg kun tekst til den konkrete installation i $vocab_override.
  2. Hold en liste over lokalt vedligeholdte sprog- og FAQ-filer.
  3. Sammenlign en ny lang.en med den tidligere version for tilføjede eller ændrede tokens.
  4. Kør php -l på hver ændret sprogfil.
  5. Kør checklang.php på en ikke-offentlig udviklingsinstallation.
  6. Gennemgå ofte stillede spørgsmål separat.
  7. Test alle aktive sprog før implementering.

Verifikationstjekliste

  • Browserregistrering og et tvunget standardsprog vælger det forventede sprog.
  • Manglende tokens falder tilbage til forståeligt engelsk.
  • Navigation, formularer, fejl, godkendelser og administrationssider gengives korrekt.
  • %s, %d og positionsmarkører modtager de rigtige værdier.
  • Datoer, klokkeslæt, ugedage og tidszoner bruger den tilsigtede lokalitet.
  • E-mailemner og tekster, rapporter, eksporter og kommandolinjejob bruger det tilsigtede sprog.
  • Brugerdefinerede felter, reservationstyper, pladsholdere og valideringsmeddelelser oversættes.
  • Hjælpesiden bruger den forventede site_faq-fil.
  • Logfiler indeholder ingen vedvarende sprogfejlretning eller følsomme formularværdier.