Gå til innhold

Tekst og oversettelser

MRBS skiller programvokabular, stedsspesifikke ordlyd, hjelpesider og denne MkDocs-manualen. Velg riktig lag slik at oppgraderinger forblir håndterbare.

Oppgave Riktig plassering
Gi nytt navn til en etikett for én installasjon $vocab_override i config.inc.php
Legg til eller forbedre et MRBS UI-språk web/lang/lang.<language>
Oversett eller tilpass hjelpesiden i applikasjonen web/site_faq/site_faq_<language>.html
Oversett denne håndboken En fil med språksuffiks under docs/

Overstyr ordlyden for ett nettsted

Ikke rediger en sendt språkfil bare for å gi nytt navn til "Rom" eller endre nettstedets tittel. Finn tokenet i web/lang/lang.en, og overstyr det:

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

Indeksrekkefølgen er alltid språk, deretter token: $vocab_override[LANG][TOKEN].

Nyttige stedsdefinerte tokens inkluderer:

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

Egendefinerte felt-tokens er beskrevet i Egendefinerte felt. Bestillingstypebeskrivelser bruker type.X, der X er den konfigurerte typekoden.

Overstyringer overlever en oppgradering fordi de lever i nettstedskonfigurasjonen. Kontroller betydningen på nytt hvis en utgivelse endrer det originale tokenet eller dets kontekst.

Ta vare på erstatningsmarkører

Språkstrenger kan inneholde printf-markører som %s, %d eller posisjonsformer som %1$d. Bevar hver markør og dens type. En oversettelse kan omorganisere argumenter bare med posisjonsformen.

Ta også vare på bevisste HTML-fragmenter, tegnsettingssemantikk og omkringliggende mellomrom. Teststrenger med antall null, én og mange der det er aktuelt.

Velg språk for brukergrensesnittet

Som standard velger MRBS et språk fra nettleseren:

$disable_automatic_language_changing = false;

For å tvinge ett språk:

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

Tokenet må samsvare med en tilgjengelig web/lang/lang.*-fil. Valg av språk for datoer og klokkeslett kan overstyres separat:

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

$override_locale må også støttes av serveroperativsystemet. $cli_language kontrollerer kommandoer som kjøres utenfor nettleseren. For diagnose skriver $language_debug = true språk- og lokalitetsinformasjon til feilloggen; deaktiver den igjen etter feilsøking.

Legg til eller vedlikehold et applikasjonsspråk

Den engelske filen er referansen og fallback. Slik oppretter du et språk hvis oppdagede token er xx:

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

Deretter:

  1. Behold PHP-åpningslinjen og hver $vocab-nøkkel.
  2. Oversett strengverdier, ikke tokennavn.
  3. Lagre filen som UTF-8.
  4. Ikke bruk HTML-enheter bortsett fra &nbsp;; skrive UTF-8-tegn direkte.
  5. Bevar erstatningsmarkører og tilsiktet markering.
  6. Valider PHP-syntaksen.
php -l web/lang/lang.xx

MRBS laster først den engelske referansen og deretter det valgte språket, så manglende tokens faller tilbake til engelsk.

Sjekk fullstendighet

checklang.php sammenligner språkfiler med lang.en. For en utviklingsforekomst, plasser eller behold den i nettkatalogen MRBS og åpne:

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

Uten språkvalg tilbyr den alle installerte språkfiler. Den valgfrie oppdateringsfunksjonen skriver filer og krever derfor skrivetilgang; unngå det på produksjon og gjennomgå genererte endringer. Begrens eller fjern dette utviklingsverktøyet fra en offentlig distribusjon når kontrollen er fullført.

Syntakskontroll og checklang.php fanger forskjellige problemer: bruk begge.

Oversett hjelpesiden i applikasjonen

Hjelpeteksten kommer ikke fra $vocab. Den lagres 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

Velg suffikset uten understrek:

$faqfilelang = 'de';

Eldre verdier som '_de' er akseptert for kompatibilitet, men avviklet. Innstillingen er uavhengig av nettleserspråket, så test at den valgte FAQ-en samsvarer med den tiltenkte målgruppen. Lokale endringer av sendte FAQ-filer må registreres og brukes på nytt eller slås sammen under en oppgradering.

Oversett denne håndboken

Dokumentasjonsnettstedet bruker 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 dokumentasjonsreserven. Disse filene påvirker ikke MRBS-applikasjonens brukergrensesnitt eller hjelpesiden.

Oppgraderingssikker arbeidsflyt

  1. Plasser kun nettstedstekst i $vocab_override.
  2. Hold en liste over lokalt vedlikeholdte språk- og FAQ-filer.
  3. Sammenlign en ny lang.en med den forrige versjonen for lagt til eller endret tokens.
  4. Kjør php -l på hver endrede språkfil.
  5. Kjør checklang.php på en begrenset utviklingsforekomst.
  6. Se endringer i vanlige spørsmål separat.
  7. Test alle aktive språk før distribusjon.

Sjekkliste for verifisering

  • Nettleserdeteksjon og tvungen standard velger det forventede språket.
  • Manglende tokens faller tilbake til forståelig engelsk.
  • Navigering, skjemaer, feil, godkjenninger og administrasjonssider gjengis riktig.
  • %s, %d og posisjonsmarkører mottar de riktige verdiene.
  • Datoer, klokkeslett, ukedager og tidssoner bruker den tiltenkte lokaliteten.
  • E-postemner og tekster, rapporter, eksporter og kommandolinjejobber bruker det tiltenkte språket.
  • Egendefinerte felt, bestillingstyper, plassholdere og valideringsmeldinger oversettes.
  • Hjelpesiden bruker den forventede site_faq-filen.
  • Logger inneholder ingen vedvarende språkfeilsøking eller sensitive skjemaverdier.