speaklater είναι μια ενότητα Python που παρέχει τεμπέλης χορδές για μεταφράσεις & nbsp?. Βασικά μπορείτε να πάρετε ένα αντικείμενο που φαίνεται να είναι ένα string, αλλά αλλάζει την τιμή κάθε φορά που η αξία εκτιμάται με βάση έναν εξαγοράσιμο σας παρέχουμε.
Για παράδειγμα, μπορείτε να έχετε μια παγκόσμια λειτουργία lazy_gettext που επιστρέφει ένα χαλαρό string με την τιμή του ρεύματος σετ γλώσσα.
Παράδειγμα:
>>> Από speaklater make_lazy_string εισαγωγής
>>> Sval = u'Hello Κόσμος »
>>> Κορδόνι = make_lazy_string (λάμδα: sval)
Αυτό τεμπέλης string θα υπολογιστεί στην αξία της sval μεταβλητής.
>>> Κορδόνι
lu'Hello Κόσμος »
>>> Unicode (κορδόνι)
u'Hello Κόσμος »
>>> String.upper ()
u'HELLO WORLD '
Εάν αλλάξετε την τιμή, ο τεμπέλης χορδή θα αλλάξει, καθώς:
>>> Sval = u'Hallo Welt »
>>> String.upper ()
u'HALLO WELT »
Αυτό είναι ιδιαίτερα βολικό όταν συνδυάζεται με ένα νήμα τοπικές και gettext μεταφράσεις ή DICTS μεταφράσιμων χορδές:
>>> Από speaklater make_lazy_gettext εισαγωγής
>>> Σπείρωμα από την εισαγωγή των τοπικών
>>> L = τοπική ()
>>> L.translations = {u'Yes »:« Ja »}
>>> Lazy_gettext = make_lazy_gettext (λάμδα: l.translations.get)
>>> Ναι = lazy_gettext (u'Yes »)
>>> Εκτύπωσης ναι
Ja
>>> L.translations [u'Yes '] = u'Si »
>>> Εκτύπωσης ναι
Σι
Lazy χορδές υπάρχουν έγχορδων οπότε αν έχετε περάσει αυτό το είδος των χορδών σε μια λειτουργία που εκτελεί έναν έλεγχο παράδειγμα, θα αποτύχει. Σε αυτή την περίπτωση θα πρέπει να το μετατρέψετε ρητά με unicode ή / και κορδόνι ανάλογα με το ποια χορδή πληκτρολογήστε το τεμπέλης κορδόνι συμπυκνώνει.
Για να ελέγξετε αν ένα string είναι τεμπέλης, μπορείτε να χρησιμοποιήσετε τη λειτουργία is_lazy_string:
>>> Από speaklater is_lazy_string εισαγωγής
>>> Is_lazy_string (u'yes »)
Ψευδής
>>> Is_lazy_string (ναι)
Αληθινή
Απαιτήσεις :
- Python
Τα σχόλια δεν βρέθηκε