API¶
Az alábbi mindegyike a gettext_tstrings csomagból van exportálva. Semmi más
nem publikus. Ez az oldal a szignatúrareferencia; az egyes függvények
kidolgozott példáiért lásd a kézikönyvet.
Fordítás¶
Minden függvény pozicionálisan veszi át a t-stringjét, és két kulcsszavas
argumentumot fogad el: translations (amely a kontextuskötésre, majd a
standard könyvtár globális függvényeire esik vissza) és strict (lásd
Kézikönyv).
| Függvény | Szignatúra |
|---|---|
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 |
a gettext aliasa |
ntr |
az ngettext aliasa |
Translator¶
Fagyasztott dataclass, amely egyetlen fordításobjektumot köt be, hogy a hívási helyeknek ne kelljen megismételniük.
Hívható (_(t"…")), és hordozza a gettext, ngettext, pgettext,
npgettext metódusokat, valamint a tr / ntr aliasokat.
Kontextuskötés¶
| Név | Mire való |
|---|---|
use_translations(translations) |
Bekötés egy with blokk idejére, majd visszaállítás. |
set_translations(translations) |
Bekötés blokk nélkül, keretrendszer által kezelt életciklushoz. |
get_translations() |
Az aktuális kötés kiolvasása, vagy None. |
A kötés ContextVar, tehát kontextusonkénti és biztonságos párhuzamosság
mellett.
Késleltetett szövegek¶
| Név | Mire való |
|---|---|
lazy_gettext(template, /, *, strict=False) |
A fordítás elhalasztása minden egyes megjelenítésig. |
lazy_pgettext(context, template, /, *, strict=False) |
A kontextusos alak. |
LazyString |
Amit mindkettő visszaad. A str() és a format() révén abban a nyelvben jelenik meg, amelyik az adott pillanatban be van kötve, egyenlőnek bizonyul a renderelt szövegével, és szándékosan nem hashelhető. |
Kidolgozott példák — köztük az is, hogy a strict miért a definícióhoz
tartozik — a Késleltetett fordítás alatt
találhatók.
Alacsonyabb szint¶
compile_template(template, /) -> CompiledTemplate¶
Lefordít egy t-stringet, újrahasznosítva a gyorsítótárazott statikus tervét.
CompiledTemplate¶
| Tag | Jelentése |
|---|---|
.msgid |
A stabil gettext-üzenetazonosító. |
.placeholders |
A helyőrzők nevei az első előfordulásuk sorrendjében. |
.render(pattern) |
Egyetlen minta validálása és renderelése. Eltérés esetén mindig kivételt vált ki. |
Típusok és hibák¶
Translations¶
Egy runtime_checkable Protocol a négy szabványos metódusra, mind
pozicionális-only:
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: ...
A gettext.NullTranslations, a gettext.GNUTranslations és a Babel
Translations osztálya egyaránt kielégíti.
Kivételek¶
| Osztály | Mikor váltódik ki |
|---|---|
TStringError |
Az alatta lévő kettő ősosztálya. |
InvalidTemplateError |
A forrás t-string sérti a konvenciót — összetett interpoláció, vagy eltérő formázással ismételt név. |
InvalidTranslationError |
A fordítás sérti. Az alapértelmezett elnéző módban ezt naplózzuk, és helyette a forrásszöveg jelenik meg. |
Kinyerési belépési pontok¶
Telepítéskor automatikusan regisztrálódnak; név szerint hivatkozol rájuk, nem importtal.
| Csoport | Név | Mi használja |
|---|---|---|
babel.extractors |
gettext_tstrings |
A method a babel.cfg fájlban. |
babel.checkers |
gettext_tstrings |
A pybabel compile, automatikusan. |
Teljesítmény¶
A teljes beszámoló — mit gyorsítótárazunk, mire kulcsolnak a gyorsítótárak, és mik a mért számok — A forró útvonal oldalon olvasható. Röviden: a validálás gyorsítótárazódik, sosem marad ki, és az egész renderelés a mikroszekundum töredékébe kerül. Futtasd a benchmarkot a saját célkörnyezeteden: