Preskočiť na obsah

Text a preklady

MRBS oddeľuje slovník aplikácie, texty konkrétnej lokality, stránky pomocníka a túto príručku MkDocs. Zvoľte správnu úroveň úprav, aby zostali aktualizácie zvládnuteľné.

Úloha Správna poloha
Premenujte štítok pre jednu inštaláciu $vocab_override v config.inc.php
Pridajte alebo vylepšite jazyk používateľského rozhrania MRBS web/lang/lang.<language>
Preložte alebo prispôsobte stránku pomocníka v aplikácii web/site_faq/site_faq_<language>.html
Preložte túto príručku Súbor s jazykovou príponou nižšie docs/

Prepísať formuláciu pre jednu lokalitu

Neupravujte dodaný jazykový súbor iba za účelom premenovania „Miestnosti“ alebo zmeny názvu stránky. Nájdite token v web/lang/lang.en a potom ho prepíšte:

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

Poradie indexu je vždy jazyk, potom token: $vocab_override[LANG][TOKEN].

Medzi užitočné tokeny definované webom patria:

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

Tokeny vlastných polí sú popísané v Vlastné polia. Popisy typu rezervácie používajú type.X, kde X je nakonfigurovaný typový kód.

Prepisy prežijú inováciu, pretože sú uložené v konfigurácii lokality. Znova skontrolujte ich význam, ak vydanie zmení pôvodný token alebo jeho kontext.

Zachovajte substitučné markery

Jazykové reťazce môžu obsahovať značky printf, ako napríklad %s, %d, alebo pozičné formy, ako napríklad %1$d. Zachovajte každú značku a jej typ. Preklad môže zmeniť poradie argumentov iba s pozičnou formou.

Zachovajte tiež zámerné fragmenty HTML, sémantiku interpunkcie a okolité medzery. V prípade potreby testujte reťazce s nulou, jednotkou a mnohými.

Vyberte jazyk spustenia

MRBS predvolene vyberá jazyk z prehliadača:

$disable_automatic_language_changing = false;

Ak chcete vynútiť jeden jazyk:

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

Token sa musí zhodovať s dostupným súborom web/lang/lang.*. Výber miestneho nastavenia pre dátumy a časy je možné prepísať samostatne:

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

$override_locale musí byť podporované aj operačným systémom servera. $cli_language ovláda príkazy spúšťané mimo prehliadača. Pre diagnostiku $language_debug = true zapíše informácie o jazyku a miestnom nastavení do protokolu chýb; po odstránení problému ho znova vypnite.

Pridajte alebo udržujte jazyk aplikácie

Referenčný a záložný súbor je anglický súbor. Ak chcete vytvoriť jazyk, ktorého zistený token je xx:

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

potom:

  1. Ponechajte otvárací riadok PHP a každý kľúč $vocab.
  2. Prekladajte hodnoty reťazcov, nie názvy tokenov.
  3. Uložte súbor ako UTF-8.
  4. Nepoužívajte HTML entity okrem &nbsp;; písať znaky UTF-8 priamo.
  5. Zachovať substitučné značky a zámerné značky.
  6. Overte syntax PHP.
php -l web/lang/lang.xx

MRBS najprv načíta anglickú referenciu a potom vybraný jazyk, takže chýbajúce tokeny sa vrátia späť do angličtiny.

Skontrolujte úplnosť

checklang.php porovnáva jazykové súbory s lang.en. V prípade vývojovej inštancie ju umiestnite alebo ponechajte vo webovom adresári MRBS a otvorte:

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

Bez výberu jazyka ponúka všetky nainštalované jazykové súbory. Voliteľná funkcia aktualizácie zapisuje súbory, a preto vyžaduje prístup na zápis; vyhnite sa tomu pri výrobe a skontrolujte vygenerované zmeny. Po dokončení kontroly obmedzte alebo odstráňte tento vývojový nástroj z verejného nasadenia.

Kontrola syntaxe a checklang.php zachytávajú rôzne problémy: použite oboje.

Preložte stránku pomocníka v aplikácii

Text pomocníka nepochádza z $vocab. Ukladá sa oddelene:

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

Vyberte príponu bez podčiarknutia:

$faqfilelang = 'de';

Staršie hodnoty ako '_de' sú akceptované z dôvodu kompatibility, ale zastarané. Nastavenie je nezávislé od jazyka prehliadača, preto otestujte, či sa vybrané často kladené otázky zhodujú so zamýšľaným publikom. Miestne úpravy dodaných súborov FAQ musia byť zaznamenané a opätovne použité alebo zlúčené počas inovácie.

Preložte túto príručku

Webová stránka s dokumentáciou používa súbory s príponou:

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

Záložnou dokumentáciou je angličtina. Tieto súbory neovplyvňujú používateľské rozhranie aplikácie MRBS ani jej stránku Pomocníka.

Pracovný postup bezpečný pre upgrade

  1. Do $vocab_override vložte text len pre stránku.
  2. Uchovávajte si zoznam lokálne udržiavaných jazykových súborov a súborov FAQ.
  3. Porovnajte nový lang.en s predchádzajúcou verziou pre pridané alebo zmenené tokeny.
  4. Spustite php -l na každý zmenený jazykový súbor.
  5. Spustite checklang.php na obmedzenej vývojovej inštancii.
  6. Skontrolujte zmeny v častých otázkach samostatne.
  7. Pred nasadením otestujte všetky aktívne jazyky.

Kontrolný zoznam overenia

  • Detekcia prehliadača a vynútené predvolené nastavenie vyberú očakávaný jazyk.
  • Chýbajúce tokeny sa vrátia do zrozumiteľnej angličtiny.
  • Navigácia, formuláre, chyby, schvaľovania a stránky správy sa vykresľujú správne.
  • %s, %d a pozičné značky získajú správne hodnoty.
  • Dátumy, časy, dni v týždni a časové pásma používajú zamýšľané miestne nastavenie.
  • Predmety a telá e-mailov, zostavy, exporty a úlohy príkazového riadka používajú zamýšľaný jazyk.
  • Vlastné polia, typy rezervácie, zástupné symboly a overovacie správy sú preložené.
  • Stránka Pomocníka používa očakávaný súbor site_faq.
  • Protokoly neobsahujú žiadne trvalé ladenie jazyka ani citlivé hodnoty formulárov.