In Mercurial, molte delle estensioni di avvolgere il loro stringa di aiuto/sintassi in una chiamata a una funzione di sottolineatura, in questo modo:Mercurial/Python - Cosa fa la funzione Underscore?
_('[OPTION] [QUEUE]')
Questo mi confonde, perché non sembra necessario (le istruzioni Writing Extensions non lo fanno menzionarlo) e non sembra esserci un _ definito nella classe, quindi mi chiedo se questa è una sintassi speciale che non capisco, forse un altro modo per dire lambda, o forse la funzione di identità? Inoltre mi chiedo quale sia il vantaggio di questa metodologia (qualunque essa sia) rispetto alla semplice stringa grezza, come suggerisce la documentazione.
Nulla di ciò che ho visto nella documentazione di Python menziona tale funzione, quindi non sono sicuro che si tratti di una domanda Python o di una domanda Mercurial.
Ecco due esempi che utilizzano questa struttura (guardare il cmdtable
dizionario vicino alla parte inferiore del file)
- https://www.mercurial-scm.org/repo/hg/file/42408cd43f55/hgext/mq.py
- https://www.mercurial-scm.org/repo/hg/file/42408cd43f55/hgext/graphlog.py
Ahaha! Ok grazie! Quindi questo è per comodità se qualcuno volesse eseguirlo nella propria lingua, ma dovrebbero comunque fornire/impegnare le proprie traduzioni, giusto? Se uso gettext non mi aspetto di fornire il mio, giusto? – dimo414
@ dimo414, con 'gettext' della libreria standard (e con GNU per le altre lingue), sei _definitamente_ ci si aspetta che fornisca le tue traduzioni - ciò che il codice' gettext' fa è recuperare e usare quelle frasi tradotte, sicuramente ** non fa la traduzione automatica automatica tra diverse lingue naturali !!! –
@Alex, mi dispiace non essere stato chiaro: la domanda riguardava le aspettative, non la funzionalità. Dal punto di vista del "fornire un programma completato", mi sono aspettato di creare personalmente queste traduzioni, oppure è giusto che io rilasci il codice senza di loro? – dimo414