Aistrigh teachtaireachtaí iomlána
le t-strings Python¶
Ceanglaíonn gettext-tstrings t-strings Python 3.14+ le catalóga
caighdeánacha gettext agus le huirlisí Babel. Fanann na luachanna agus an
formáidiú i gcód an fheidhmchláir; oibríonn na haistritheoirí le
teachtaireachtaí iomlána agus le sealbhóirí ionaid shimplí {name}:
import gettext
from gettext_tstrings import Translator
_ = Translator(gettext.translation("messages", localedir="locales"))
name = "Ada"
print(_(t"Hello {name}")) # with a Japanese catalog: こんにちは Ada
Tá Hello {name} sa chatalóg. Tá cead ag aistriúchán {name} a bhogadh nó a
athdhéanamh. Má bhaineann sé an sealbhóir ionaid, má athainmníonn sé é nó má
athfhormáidíonn sé é, tuairiscíonn bailíochtú na catalóige an earráid. Má
shroicheann iontráil neamhbhailí an táirgeadh mar sin féin, logálann an
leabharlann rabhadh agus rindreálann sí an teachtaireacht fhoinseach seachas
tuairteáil.
Tosaigh an rang teagaisc cúig nóiméad Déan comparáid leis na roghanna eile
Alfa · Python 3.14+ · catalóga caighdeánacha PO/MO · gan spleáchais tríú páirtí ag am rite
Cleachtann an suíomh seo an rud a dhoiciméadaíonn sé: rindreáiltear gach
eagrán teanga — an nascleanúint, na lipéid agus an tuairisc tógála a
thuigeann an t-iolra — ó chatalóga PO le
gettext-tstrings féin.
An bhfuil sé seo duitse?¶
Feileann sé inniu nuair a ritheann d'fheidhmchlár ar Python 3.14 nó níos nuaí; nuair a úsáideann tú gettext agus Babel cheana, nó nuair is mian leat glacadh lena sreabhadh oibre PO/MO; agus nuair atá comhréir t-string uait le sealbhóirí ionaid ainmnithe a sheiceáiltear sula rindreáiltear iad.
Ní fheileann sé fós nuair a theastaíonn Python 3.13 nó níos sine uait; nuair a theastaíonn API cobhsaí Python uait — is alfa é seo, agus is í an tsonraíocht an chuid de atá socraithe; nó nuair a bhíonn beagnach gach téacs inaistrithe agat i dteanga teimpléid seachas i bhfoinse Python.
Catalóga agat cheana? Leanann siad ag obair. Táirgeann
_("Hello {name}").format(name=name) agus tr(t"Hello {name}") an msgid
céanna, mar sin maireann na haistriúcháin atá ann tríd an athrú — siúlann
Aistriú anonn an bogadh iomlán.
A bhfuil cead ag an gcatalóg a rá¶
Ní féidir le haistriúchán struchtúr na teachtaireachta a aistríonn sé a
athrú. Sin an gealltanas ar fad, agus leanann an chuid eile den suíomh seo
as. Tá cead ag aistriúchán {name} a athordú nó a athdhéanamh, agus gach
focal eile timpeall air a athscríobh. Níl cead aige an sealbhóir ionaid a
fhágáil ar lár, ceann nua a chumadh, síneadh tríd isteach i do chuid
oibiachtaí, ná formáidiú dá chuid féin a cheangal leis.
Seiceálann an leabharlann é sin ar an mbealach isteach — nuair a thiomsaítear na catalóga — agus arís ag am rindreála, agus sin an difríocht idir botún a aimsítear i léirmheas agus botún a aimsíonn úsáideoir.
gettext nua duit? An sreabhadh oibre iomlán i gceithre abairt
Is é gettext an bealach caighdeánach a aistrítear bogearraí, i bPython
agus i bhfad níos faide anonn. Marcálann do chód na teachtaireachtaí is féidir a
aistriú; bailíonn eastóscóir iad i gcomhad teimpléid (.pot); líonann
aistritheoir — nach programmer é de ghnáth — comhad catalóige (.po)
amháin in aghaidh na teanga, agus tiomsaítear é sin ina .mo dénártha a
luchtaíonn d'fheidhmchlár ag am rite. Is é _ an t-ainm traidisiúnta ar an
bhfeidhm aistriúcháin, agus mar sin léitear _(t"Hello {name}") mar
"aistrigh an teachtaireacht seo". Siúlann an rang teagaisc an
cosán ar fad — marcáil, eastóscadh, aistriú, tiomsú, rith — i thart ar
chúig nóiméad.
An fhadhb a réitíonn sé¶
Bíonn f-string idirshuite cheana féin faoin am a fheiceann leabharlann ar
bith é — tá f"Hello {name}" ina "Hello Ada" faoin bpointe sin, agus
briseann aistriú na mblúirí timpeall ar luach gramadach fhormhór na
dteangacha. Coinníonn t-string (PEP 750) an téacs statach, na luachanna
measúnaithe, na sloinn fhoinseacha, na tiontuithe agus na sonruithe formáide
scartha óna chéile — agus sin díreach an deighilt a theastaíonn ó chatalóg
teachtaireachtaí.
Cad a athraíonn sé sin, i gcomparáid le %(name)s,
.format() agus $-strings.
Níl aon rud i gettext ná i mBabel a deir conas a éiríonn teachtaireacht as t-string, áfach. Déanann an leabharlann seo an rogha sin, scríobhann síos í mar shonraíocht le leagan uirthi, agus seolann sí an tsraith comhréireachta chun í a sheiceáil.
Na rialacha deartha¶
- Aistrigh teachtaireachtaí iomlána, riamh blúirí abairte.
- Ná glac ach le hainmneacha simplí athróg ar nós
{name}. - Coinnigh
!ragus:.2ffaoi smacht an fheidhmchláir, amuigh as an gcatalóg. - Ceadaigh d'aistriúcháin sealbhóirí ionaid aitheanta a athordú agus a athdhéanamh, agus cosc a chur orthu ag an am céanna síneadh chuig tréithe nó formáidiú a chur leis.
- Athúsáid gnáthchomhaid POT, PO agus MO, agus na huirlisí a léann cheana iad.
Agus an liosta comhoiriúnach den rud a fhágann sé faoi d'aon ghnó: ní logánaíonn sé uimhreacha, airgeadraí ná dátaí — formáidigh iad sin ar dtús, le Babel; ní éalaíonn sé an t-aschur rindreáilte le haghaidh HTML, blaoisce ná teirminéil; agus ní féidir leis a mheas an bhfuil aistriúchán ceart, gan ach an bhfuil a chuid sealbhóirí ionaid slán.
Suiteáil¶
Python 3.14 nó níos nuaí. Níl aon spleáchas ag an rindreáil — ní
úsáideann sí ach gettext na leabharlainne caighdeánaí agus faic eile.
Ritheann an t-eastóscadh agus bailíochtú na gcatalóg trí Babel, mar sin
suiteáil an breiseán sin cibé áit a ritheann pybabel, rud is gnách a bheith
i dtimpeallacht forbartha nó CI seachas in íomhá tháirgthe:
Cá háit le dul ar aghaidh¶
Tosaigh anseo — ní ghlactar le haon taithí ar gettext:
- Rang teagaisc — ó chomhadlann fholamh go haistriúchán Seapáinise atá ag rith, i gcúig chéim, gach ordú á thaispeáint lena aschur.
- Cén fáth t-strings — an teachtaireacht chéanna scríofa
ar cheithre bhealach, agus an rud a shíneann
%(name)s,.format()agus$-strings chuig an gcatalóg.
Bain úsáid as — na tagairtí oibre:
- Treoir — an API ag am rite: cén pointe iontrála le húsáid, iolraí, teangacha in aghaidh an iarratais, teaghráin iarchurtha, agus a tharlaíonn nuair a bhíonn catalóg mícheart.
- Eastóscadh — an tagairt do
pybabel: cumraíocht, ainmneacha feidhme saincheaptha, agus an chaoi a mbailíochtaíonn uirlisí atá ann cheana na catalóga seo saor in aisce. - I dtáirgeadh — an lúb mar a ritheann foireann í: an
timthriall nuashonraithe, iontrálacha
fuzzy, geataí CI, ardáin aistriúcháin, agus an seoladh. - Aistriú anonn — é seo a ghlacadh chugat i dtionscadal a bhfuil catalóga aige cheana, láithreán glaonna amháin sa turas.
- D'aistritheoirí — leathanach amháin le tabhairt do
cibé duine a chuireann na comhaid
.poin eagar.
Tuig é — ón stair go dtí an cur i bhfeidhm:
- Cúlra — cén fáth a bhfuil an leabharlann seo ann: tríocha bliain de gettext, dhá PEP, agus an plé sa leabharlann chaighdeánach a dúnadh gan freagra.
- Gaistí — an rud a bhris aistriú an tsuímh seo go cúig theanga is tríocha i ndáiríre, agus cé acu leath is féidir le huirlis a cheapadh.
- Conas a oibríonn sé — ó oibiacht teimpléid PEP 750 go dtí an teaghrán rindreáilte, agus na taiscí a fhágann go bhfuil an tseiceáil saor.
Tagairt — na conarthaí:
- API — gach rud a easpórtálann an pacáiste, ar leathanach amháin.
- Sonraíocht — an coinbhinsiún t-string ↔ msgid mar chonradh cobhsaí le leagan air, agus sraith comhréireachta inléite ag meaisín leis.
Stádas¶
| Leagan an phacáiste | 0.1.0a8 |
| Cobhsaíocht an API | alfa — d'fhéadfadh an API Python athrú fós |
| Sonraíocht | v1, le sraith comhréireachta |
| Python | 3.14 agus níos nuaí; tástáilte ar 3.14, 3.14t (saorshnáithithe), agus 3.15 |
| Babel | 2.18 nó níos nuaí, agus ach amháin san áit a ritheann pybabel |
| Spleáchais ama rite | ceann ar bith — gettext na leabharlainne caighdeánaí |
| Formáid na catalóige | POT, PO agus MO gnáth |
| Athruithe | CHANGELOG |
Alfa atá ann. Tá an conradh beag d'aon ghnó, agus is í an tsonraíocht an chuid chobhsaí de; d'fhéadfadh an API Python bogadh fós. Roimh eisiúint chobhsaí teastaíonn feisteáin teanga níos leithne, rianú feidhmíochta leanúnach, athbhreithniú API ó dhaoine a úsáideann gettext agus Babel i ndáiríre, agus tástáil chomhoiriúnachta ar gach eisiúint Python agus Babel a dtacaítear léi.
Tá fáilte roimh shaincheisteanna agus iarratais tarraingthe — is í an alfa díreach an tráth is fiú fós argóint a dhéanamh faoin gcomhéadan.
Bí páirteach sa phobal¶
- Roghnaigh good first issue le haghaidh ranníocaíochta teoranta.
- Cuir ceisteanna faoin úsáid i Q&A Discussions.
- Tabhair sreafaí oibre gettext ó thimpeallachtaí táirgthe agus smaointe API chuig Ideas Discussions.
- Léigh an treoir ranníocaíochta sula n-osclaíonn tú iarratas tarraingthe.