- •1 Ақшалық сомма форматына арналған деңгей
- •2 Gettext – хабарламаны ана тілінде шығару
- •2.1 Gnu gettext интерфейсі
- •Install(domain [, localedir [, unicode]])
- •3 Аударылған хабарламалардың каталогын дайындау.
- •4 Математикалық аппарат
- •4.1 Math – заттық сандармен жұмыс істейтін математикалық функция
- •Қорытынды
- •4.3 Random – әртүрлі орналасқан кездейсоқ сандар.
- •Vonmisesvariate(mu, kappa)
Install(domain [, localedir [, unicode]])
‘translation(domain, localedir).install(unicode)’ шақыруына эквивалентті. Бұл функция функциясын хабарламаның аудармасын орындайтын _(), орнатудың ең қарапайым жолын ұсынады. Аттың баптауларының барлығына орнатылады, сондықтан бағдарлама жұмыс істейтін барлық модульдерде қолжетімді болады.
Төменде жолдық хабарламалардың аудармасын орындайтын класстар сипатталады.
NullTranslations([fp])
Қалған аудармашы-класстар үшін базалық класс ретінде қолданылады және негізгі интерфейстә орнатады. Орындау барысында _аргумент None мәніне тең болса, info және _charset қорғалған атрибуттарын қондырады. Егер аргумент берілмесе және None мәніне тең болмаса fp аргументі туынды кластарда қайта анықтайтын _parse(fp) әдісін шақырады.
NullTranslations экземпляры келесі әдістері бар:
_parse(fp) базалық класта ештеңе істемейді. Туынды кластарда бұл әдіс fp файлдық обьектісімен берілген файлдағы мәліметтерді оқып, хабарлама каталогтарының көшірмесін тексеру керек.
gettext(message)
базалық класта message хабарламасын өзгеріссіз қайтарады. Туынды кластарда хабарламаның аудармасын қайтарады.
ugettext(message)
базалық класта message хабарламасын Unicodе жолы түрінде қайтарады. Туынды кластарда хабарламаның аудармасын Unicodе жолы түрінде қайтарады.
info()
_info (сөздік түріндегі метамәліметті каталог) қорғалған атрибутының мәнін қайтарады.
charset()
_ charset (каталогтағы хабарламасының аудармасының коды) қорғалған атрибутының мәнін қайтарады
install([unicode])
егер unicode аргументі қате болса, немесе жалған болса, орнатылған аттарға өзінің gettext() әдісін қондырады. Басқа жағдайда өзінің ugettext() әдісін орнатады.
Орнатылған аттардың бағдарламаның барлық модульдерінде іске асатынын ескеру керек. Модульдердің өзі бұл әдісті қолданбау керек. Модульді импорттайтын бағдарлама _() атын қондырмайтын жағдайда модульдердің дұрыс жұмысын қамтамасыз ету үшін модульдің басында келесі кодты енгізу қажет:
def gettext(message): return message
import __builtin__
if hasattr(__builtin__, ’ps1’):
# интерактивті режим қолданылады
_ = gettext
elif not hasattr(__builtin__, ’_’):
__builtin__._ = gettext
Бұл интерактивті режим де де модульді импорттауда қатесіз жұмыс істеуге мүмкіндік береді.
Gettext модулі сонымен қатар NullTranslations туындайтын GNUTranslations класын анықтайды. Бұл класс GNU gettext (big-endian және little-endian) форматындағы ‘.mo-файлдарды оқуды қамтамасыз ету үшін _parse() әдісін қайта анықтайды. Сонымен қатар каталогтың метамәліметтерін талдайды және оларды «қорғалған» _info атрибутының уөшірмесінде сақтайды. Егер каталогта ’Content-Type’ кілті бар жазба болса, онда нұсқалған кодтау «қорғалған» _charset атрибутында сақталады.
Егер ‘.mo’ бұзылған болса, GNUTranslations көшірмесін тексеру кезінде IOError хабарламасы шығады.
GNUTranslations класы gettext() және ugettext() әдістерін қайта анықтайды. Соңғысы _charset атрибутын қосымша unicode жолын алу үшінқондырылған unicode() функциясына береді.
ОС Solaris өзіндік ‘.mo’-файлдардың форматын анықтайды. Олар қазіргі кезде қолданылмайды.
