.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Locale::Po4a::TeX 3pm" .TH Locale::Po4a::TeX 3pm "2023-01-03" "Po4a Алати" "Po4a Алати" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "ИМЕ" .IX Header "ИМЕ" Locale::Po4a::TeX \- двосмерна конверзија TeX (и изведених из њега) докумената и \s-1PO\s0 фајлова .SH "ОПИС" .IX Header "ОПИС" Циљ po4a (\s-1PO\s0 for anything – \s-1PO\s0 за било шта) пројекта је да поједностави превођење (и што је још интересантније, одржавање превода) употребом gettext алата на деловима на којима се не очекује њихова употреба, као што је документација. .PP Locale::Po4a::TeX је модул који помаже превођење TeX докумената на друге [људске] језике. Може да се користи и као основа за изградњу модула који обрађују документе базиране на TeX. .PP Корисници би углавном требало да користе LaTeX модул, јер је он изведен из TeX модула и садржи дефиниције уобичајених LaTeX команди. .SH "ПРЕВОЂЕЊЕ СА PO4A::TEX" .IX Header "ПРЕВОЂЕЊЕ СА PO4A::TEX" Овај модул може директно да се користи за обраду генеричких TeX докумената. Он ће да издели ваш документ на мање блокове (пасусе, дословне блокове, или чак мање, као што су наслови или индекси). .PP Постоје неке опције (описане у наредном одељку) које могу да прилагоде ово понашање. Ако се не уклапа у формат вашег документа, најбоље је да напишете ваш сопствени модул изведен из овога, који ће да опише детаље вашег формата. Погледајте одељак \fBПИСАЊЕ ИЗВЕДЕНИХ МОДУЛА\fR испод, да сазнате више о том процесу. .PP Овај модул такође може да се прилагоди линијама у TeX фајлу које почињу са „% po4a:”. Овај процес је описан у одељку \fBПРИЛАГОЂАВАЊЕ ИЗ САМОГ ФАЈЛА\fR. .SH "ОПЦИЈЕ КОЈЕ ПРИХВАТА ОВАЈ МОДУЛ" .IX Header "ОПЦИЈЕ КОЈЕ ПРИХВАТА ОВАЈ МОДУЛ" Ово су опције везане само за овај модул: .IP "\fBdebug\fR" 4 .IX Item "debug" Активира дибаговање за неке интерне механизме овог модула. Погледајте изворни код да сазнате за који делове може да се користи дибаг. .IP "\fBno_wrap\fR" 4 .IX Item "no_wrap" Листа окружења раздвојених зарезима која не би требало да се поново обавијају. .Sp Имајте на уму да постоји разлика између дословног и no_wrap окружења. У дословним блоковима се не ради анализа команди и коментара. .Sp Ако ово окружење није већ раније регистровано, програм po4a ће сматрати да ово окружење не узима никакве параметре. .IP "\fBexclude_include\fR" 4 .IX Item "exclude_include" Листа фајлова раздвојених зарезима које команде \einput и \einclude не би требало да прикључе. .IP "\fBdefinitions\fR" 4 .IX Item "definitions" Име фајла који садржи дефиниције за po4a, као што је дефинисано у одељку \fBПРИЛАГОЂАВАЊЕ ИЗ САМОГ ФАЈЛА\fR. Ову опцију можете користити у случају да није могуће постављање дефиниција у документ који се преводи. .IP "\fBverbatim\fR" 4 .IX Item "verbatim" Листа окружења раздвојених зарезима која би требало да се пренесу дословно. .Sp Ако ово окружење није већ раније регистровано, програм po4a ће сматрати да ово окружење не узима никакве параметре. .PP Употребите ове опције да преиначите подразумевано понашање дефинисаних команди. .SH "ПРИЛАГОЂАВАЊЕ ИЗ САМОГ ФАЈЛА" .IX Header "ПРИЛАГОЂАВАЊЕ ИЗ САМОГ ФАЈЛА" TeX модул може да се прилагоди линијама које почињу са \fB% po4a:\fR. Ове линије се интерпретирају као команде парсера. Препознају се следеће команде: .IP "\fB% po4a: command\fR \fIкоманда1\fR \fBalias\fR \fIкоманда2\fR" 4 .IX Item "% po4a: command команда1 alias команда2" Наводи да би аргументи команде \fIкоманда1\fR требало да се третирају као аргументи команде \fIкоманда2\fR. .IP "\fB% po4a: command\fR \fIкоманда1\fR \fIпараметри\fR" 4 .IX Item "% po4a: command команда1 параметри" Ово детаљно описује параметре команде \fIкоманда1\fR. Ова информација ће да се употреби за проверу броја аргумената и њихових типова. .Sp Испред команде \fIкоманда1\fR можете да ставите .RS 4 .IP "звездицу (\fB*\fR)" 4 .IX Item "звездицу (*)" Програм po4a ће ову команду да издвоји из пасуса (ако се налази на почетку или крају пасуса). Преводиоци ће онда морати да преведу параметре који су обележени као преводиви. .IP "знак плус (\fB+\fR)" 4 .IX Item "знак плус (+)" Као за звездицу, команда ће да се издвоји у случају да се налази на крајевима блока, али параметри се неће преводити одвојено. Преводилац ће морати да преведе команду спојену са свим својим параметрима. На овај начин се задржава више контекста, и корисно је за команде са малим речима у параметрима, које могу да имају вишеструка значења (и преводе). .Sp Напомена: у овом случају не морате да наведете који параметри су преводиви, али програм po4a мора да зна типове и број параметара. .IP "знак минус (\fB\-\fR)" 4 .IX Item "знак минус (-)" У овом случају команда неће да са издваја из било којег блока. Али ако се у блоку појави сама, онда ће се преводиоцу приказати само параметри означени као преводиви. Ово је корисно за фонт команде. У општем случају, ове команде не би требало да се одвајају од својих пасуса (да би се сачувао контекст), али нема разлога да се преводилац њима узнемирава ако је таквом командом уоквирен комплетан стринг. .RE .RS 4 .Sp Аргумент \fIпараметри\fR је скуп [] (да се наведе опционални аргумент) или {} (да се наведе обавезан аргумент). Између ових заграда можете да ставите доњу црту (_) да бисте назначили да параметар мора да се преведе. На пример: % po4a: command *chapter [_]{_} .Sp Ово указује да команда chapter има два параметра: опционални (кратак наслов) и обавезни, и да оба морају да се преведу. Ако желите да наведете да команда href има два обавезна параметра, и да не желите да преведете \s-1URL\s0 (први параметар), и да не желите да се ова команда издвоји из свог пасуса (што преводиоцу омогућава да помера везу по реченици), можете да употребите: % po4a: command \-href {}{_} .Sp У овом случају, информација која говори који аргументи морају да се преведу, биће искоришћена само онда када је ова href команда једини садржај пасуса. .RE .IP "\fB% po4a: environment\fR \fIокр\fR \fIпараметри\fR" 4 .IX Item "% po4a: environment окр параметри" Ово дефинише параметре које прихвата окружење \fIокр\fR и наводи оне који треба да се преведу. Та информација се касније користи за проверу броја аргумената команде \&\ebegin, и дозвољава да се наведе који од њих морају да се преведу. Синтакса аргумента \fIпараметри\fR је иста као што је описано за остале команде. Први параметар команде \ebegin је име окружења. Овај параметар не сме да се наведе у листи параметара. Ево неколико примера: % po4a: environment multicols {} % po4a: environment equation .Sp Што се тиче команди, испред \fIокр\fR може да се стави (+) чиме се назначава да команда \ebegin мора бити преведена заједно са свим својим аргументима. .ie n .IP "\fB% po4a: separator\fR \fIокр\fR \fB""\fR\fIрегизраз\fR\fB""\fR" 4 .el .IP "\fB% po4a: separator\fR \fIокр\fR \fB``\fR\fIрегизраз\fR\fB''\fR" 4 .IX Item "% po4a: separator окр ""регизраз""" Назначава да би окружење требало да се подели сагласно са датим регуларним изразом. .Sp Регуларни израз је омеђен знацима навода. Не би требало да креира никакве повратне референце. Ако вам је потребна група, употребите (?:). Могуће је да ће бити потребно означавање специјалних карактера. .Sp На пример, LaTeX модул користи регуларни израз \*(L"(?:&|\e\e\e\e)\*(R" за одвојено превођење сваке ћелије табеле (линије се раздвајају са ’\e\e’ а ћелије са ’&’). .Sp Појам окружења се пребацује у тип приказан у \s-1PO\s0 фајлу. Ово може да се искористи за поделу на „\e\e\e\e” у првом обавезном аргументу команде наслова. У овом случају, окружење је title{#1}. .IP "\fB% po4a: verbatim environment\fR \fIокр\fR" 4 .IX Item "% po4a: verbatim environment окр" Назначава да је \fIокр\fR дословно окружење. У овом окружењу ће да се игноришу команде и коментари. .Sp Ако ово окружење није већ раније регистровано, програм po4a ће сматрати да ово окружење не узима никакве параметре. .SH "ПИСАЊЕ ИЗВЕДЕНИХ МОДУЛА" .IX Header "ПИСАЊЕ ИЗВЕДЕНИХ МОДУЛА" .IP "\fBpre_trans\fR" 4 .IX Item "pre_trans" .PD 0 .IP "\fBpost_trans\fR" 4 .IX Item "post_trans" .IP "\fBadd_comment\fR" 4 .IX Item "add_comment" .PD Додаје стринг као коментар који се додаје око наредног преводивог елемента. Ово је углавном корисно за texinfo модул, јер TeX аутоматски води рачуна о коментарима. .IP "\fBtranslate\fR" 4 .IX Item "translate" Окружујућа класа око translate методе класе Transtractor, са филтерима за пре\- и пост\-процесирање. .Sp Коментари пасуса се умећу као \s-1PO\s0 коментар за први преводиви стринг тог пасуса. .IP "\fBget_leading_command\fR($buffer)" 4 .IX Item "get_leading_command($buffer)" Ова функција враћа: .RS 4 .IP "Име команде" 4 .IX Item "Име команде" Ако се на почетку датог бафера не пронађе ниједна команда, овај стринг ће да буде празан. У обзир се узимају само команде које могу да се раздвоје. Хеш \f(CW%separated_command\fR садржи листу ових команди. .IP "Варијанту" 4 .IX Item "Варијанту" Ово назначава да се користи варијанта. На пример, на крај команде краја одељка може да се дода звездица (*) чиме се наводи да одељци не би требало да се нумеришу. У том случају, ово поље ће да садржи „*”. Ако нема варијанте, ово поље ће бити празно. .IP "Низ дублета (тип аргумента, аргумент)" 4 .IX Item "Низ дублета (тип аргумента, аргумент)" Типа аргумента може да буде или ’{’ (за обавезне аргументе) или ’[’ (за опционалне аргументе). .IP "Остатак бафера" 4 .IX Item "Остатак бафера" Остатак бафера након уклањања ове водеће команде и њених аргумената. Ако се не пронађе никаква команда, оригинални бафер остаје неизмењен и враћа се у овом пољу. .RE .RS 4 .RE .IP "\fBget_trailing_command\fR($buffer)" 4 .IX Item "get_trailing_command($buffer)" Исто као \fBget_leading_command\fR, али за команде на крају бафера. .IP "\fBtranslate_buffer\fR" 4 .IX Item "translate_buffer" Рекурзивно преводи бафер раздвајањем из бафера водећих команди и команди са краја (оне које би требало да се преведу одвојено). .Sp Ако је за текуће окружење дефинисана функција у \f(CW%translate_buffer_env\fR, за превођење бафера ће уместо \fBtranslate_buffer()\fR да се употреби та функција. .IP "\fBread\fR" 4 .IX Item "read" Преиначује функцију \fBread()\fR из класе Transtractor. .IP "\fBread_file\fR" 4 .IX Item "read_file" Чита фајл рекурзивно, додајући на крај прикључене фајлове који нису наведени у низу \f(CW@exclude_include\fR. Прикључени фајлови се траже командом \fBkpsewhich\fR из Kpathsea библиотеке. .Sp Осим дела за прикључивање фајла, ово је чиста копија функције за читање из класе Transtractor. .IP "\fBparse_definition_file\fR" 4 .IX Item "parse_definition_file" Подрутина за парсирање фајла са директивама за програм po4a (дефиниције за нове команде). .IP "\fBparse_definition_line\fR" 4 .IX Item "parse_definition_line" Парсира линију дефиниције у облику „% po4a: ”. .Sp За више детаља, погледајте одељак \fBПРИЛАГОЂАВАЊЕ ИЗ САМОГ ФАЈЛА\fR. .IP "\fBis_closed\fR" 4 .IX Item "is_closed" .PD 0 .IP "\fBparse\fR" 4 .IX Item "parse" .IP "\fBdocheader\fR" 4 .IX Item "docheader" .PD .SH "ИНТЕРНЕ ФУНКЦИЈЕ које се користе за писање изведених парсера" .IX Header "ИНТЕРНЕ ФУНКЦИЈЕ које се користе за писање изведених парсера" Функције за команде и окружења узимају следеће аргументе (поред \f(CW$self\fR објекта): .IP "Име команде" 4 .IX Item "Име команде" .PD 0 .IP "Варијанту" 4 .IX Item "Варијанту" .IP "Низ (тип, аргумент) дуплета" 4 .IX Item "Низ (тип, аргумент) дуплета" .IP "Текуће окружење" 4 .IX Item "Текуће окружење" .PD .PP Прва 3 аргумента издвајају get_leading_command или get_trailing_command. .PP Функције команди и окружења враћају превод команде заједно са њеним аргументима и ново окружење. .PP Функције окружења се позивају када се наиђе на команду \ebegin. Позивају се са \ebegin командом и њеним аргументима. .PP TeX модул предлаже само једну функцију за команде и једну функцију за окружења: generic_command и generic_environment. .PP generic_command користи информације које наводи register_generic_command или из дефиниција додатих у TeX фајл: % po4a: command \fIкоманда1\fR \fIпараметри\fR .PP generic_environment користи информације које наводи register_generic_environment или из дефиниција додатих у TeX фајл: % po4a: environment \fIокр\fR \fIпараметри\fR .PP Обе функције ће да преведу само параметре коју су били наведени као преводиви (са ’_’). generic_environment ће да дода име окружења на стек окружења, а generic_command ће да дода име команде иза које следе идентификатори параметара (као {#7} или [#2]). .SH "СТАТУС ОВОГ МОДУЛА" .IX Header "СТАТУС ОВОГ МОДУЛА" Потребно је да се овај модул додатно тестира. .PP Тестиран је на књизи и Python документацији. .SH "ЛИСТА СТВАРИ КОЈЕ ТРЕБА ДА СЕ УРАДЕ" .IX Header "ЛИСТА СТВАРИ КОЈЕ ТРЕБА ДА СЕ УРАДЕ" .IP "Аутоматска детекција нових команди" 4 .IX Item "Аутоматска детекција нових команди" TeX модул би могао да парсира аргументе команде newcommand и да покуша да погоди број аргумената, њихов тип и да ли треба да се преведу или не. .IP "Превод сепаратора окружења" 4 .IX Item "Превод сепаратора окружења" Када се као сепаратор окружења користи \eitem, аргумент ставке се прикључује наредном стрингу. .IP "Неке команде би требало да се додају на стек окружења" 4 .IX Item "Неке команде би требало да се додају на стек окружења" These commands should be specified by couples. This can be used to specify commands beginning or ending a verbatim environment. .IP "Остало" 4 .IX Item "Остало" Разне друге ствари су обележене са \s-1TODO\s0 и изворном коду. .SH "ПОЗНАТИ БАГОВИ" .IX Header "ПОЗНАТИ БАГОВИ" Разне ствари обележене са \s-1FIXME\s0 у изворном коду. .SH "ПОГЛЕДАЈТЕ ТАКОЂЕ" .IX Header "ПОГЛЕДАЈТЕ ТАКОЂЕ" \&\fBLocale::Po4a::LaTeX\fR\|(3pm), \fBLocale::Po4a::TransTractor\fR\|(3pm), \fBpo4a\fR\|(7) .SH "АУТОРИ" .IX Header "АУТОРИ" .Vb 1 \& Никола Франсоа .Ve .SH "ПРАВА УМНОЖАВАЊА И ЛИЦЕНЦА" .IX Header "ПРАВА УМНОЖАВАЊА И ЛИЦЕНЦА" Права умножавања © 2004, 2005 Никола ФРАНСОА . .PP Овај програм је слободан софтвер; можете да га редистрибуирате и/или мењате под условима \s-1GPL\s0 (погледајте фајл \s-1COPYING\s0).