API¶
Viskas, kas žemiau, eksportuojama iš gettext_tstrings. Nieko daugiau nėra
viešo. Šis puslapis yra parašų žinynas; kiekvienos funkcijos išnagrinėtų
pavyzdžių ieškokite vadove.
Vertimas¶
Kiekviena funkcija savo t-eilutę priima poziciškai ir priima du raktažodinius
argumentus: translations (grįžtantį prie konteksto susiejimo, o tada prie
standartinės bibliotekos globalių funkcijų) ir strict (žr.
Vadovas).
| Funkcija | Parašas |
|---|---|
gettext |
(template, /, *, translations=None, strict=False) -> str |
ngettext |
(singular, plural, n, /, *, translations=None, strict=False) -> str |
pgettext |
(context, template, /, *, translations=None, strict=False) -> str |
npgettext |
(context, singular, plural, n, /, *, translations=None, strict=False) -> str |
tr |
gettext sinonimas |
ntr |
ngettext sinonimas |
Translator¶
Užšaldyta duomenų klasė, susiejanti vieną vertimo objektą, kad iškvietimo vietose jo nereikėtų kartoti.
Ji yra iškviečiama (_(t"…")) ir neša gettext, ngettext, pgettext,
npgettext bei tr / ntr sinonimus.
Konteksto susiejimas¶
| Vardas | Paskirtis |
|---|---|
use_translations(translations) |
Susieti with bloko trukmei, paskui atkurti. |
set_translations(translations) |
Susieti be bloko — karkaso valdomiems gyvavimo ciklams. |
get_translations() |
Nuskaityti dabartinį susiejimą arba None. |
Susiejimas yra ContextVar, todėl jis galioja kontekstui ir yra saugus
lygiagretumo sąlygomis.
Atidėtos eilutės¶
| Vardas | Paskirtis |
|---|---|
lazy_gettext(template, /, *, strict=False) |
Atidėti vertimą iki kiekvieno atvaizdavimo. |
lazy_pgettext(context, template, /, *, strict=False) |
Kontekstinė forma. |
LazyString |
Tai, ką grąžina abi. Atvaizduojama per str() ir format() ta kalba, kuri tuo metu yra susieta, lygybėje prilygsta savo atvaizduotam tekstui ir tyčia neturi maišos. |
Išsamūs pavyzdžiai, tarp jų ir tai, kodėl strict priklauso apibrėžimo vietai,
yra skyriuje Atidėtas vertimas.
Žemesnis lygmuo¶
compile_template(template, /) -> CompiledTemplate¶
Sukompiliuoti t-eilutę, pakartotinai panaudojant jos podėlyje esantį statinį planą.
CompiledTemplate¶
| Narys | Reikšmė |
|---|---|
.msgid |
Stabilus gettext pranešimo identifikatorius. |
.placeholders |
Vietaženklių vardai pirmojo pasitaikymo tvarka. |
.render(pattern) |
Patikrinti vieną šabloną ir jį atvaizduoti. Neatitikus visada kelia klaidą. |
Tipai ir klaidos¶
Translations¶
runtime_checkable Protocol keturiems standartiniams metodams, visiems tik
su poziciniais argumentais:
class Translations(Protocol):
def gettext(self, message: str, /) -> str: ...
def ngettext(self, singular: str, plural: str, n: int, /) -> str: ...
def pgettext(self, context: str, message: str, /) -> str: ...
def npgettext(self, context: str, singular: str, plural: str, n: int, /) -> str: ...
gettext.NullTranslations, gettext.GNUTranslations ir Babel Translations —
visi jį tenkina.
Išimtys¶
| Klasė | Kada keliama |
|---|---|
TStringError |
Bazinė klasė abiem žemiau. |
InvalidTemplateError |
Pirminė t-eilutė laužo susitarimą — sudėtinga interpoliacija arba pasikartojantis vardas su skirtingu formatavimu. |
InvalidTranslationError |
Tą daro vertimas. Numatytuoju nuolaidžiu režimu tai užrašoma į žurnalą, o vietoj to atvaizduojamas pirminis tekstas. |
Ištraukimo įėjimo taškai¶
Užregistruojami automatiškai diegiant; į juos kreipiamasi vardu, o ne importuojant.
| Grupė | Vardas | Kas naudoja |
|---|---|---|
babel.extractors |
gettext_tstrings |
method faile babel.cfg. |
babel.checkers |
gettext_tstrings |
pybabel compile, automatiškai. |
Našumas¶
Pilna istorija — kas kešuojama, pagal ką podėliai raktuojami ir kokie išmatuoti skaičiai — yra Karštasis kelias. Trumpai: tikrinimas kešuojamas, o ne praleidžiamas, ir visas atvaizdavimas kainuoja mikrosekundės dalį. Paleiskite matavimą savo pačių aplinkoje: