Locale::Po4a::TeX(3pm) | Po4a Алати | Locale::Po4a::TeX(3pm) |
Locale::Po4a::TeX - двосмерна конверзија TeX (и изведених из њега) докумената и PO фајлова
Циљ po4a (PO for anything – PO за било шта) пројекта је да поједностави превођење (и што је још интересантније, одржавање превода) употребом gettext алата на деловима на којима се не очекује њихова употреба, као што је документација.
Locale::Po4a::TeX је модул који помаже превођење TeX докумената на друге [људске] језике. Може да се користи и као основа за изградњу модула који обрађују документе базиране на TeX.
Корисници би углавном требало да користе LaTeX модул, јер је он изведен из TeX модула и садржи дефиниције уобичајених LaTeX команди.
Овај модул може директно да се користи за обраду генеричких TeX докумената. Он ће да издели ваш документ на мање блокове (пасусе, дословне блокове, или чак мање, као што су наслови или индекси).
Постоје неке опције (описане у наредном одељку) које могу да прилагоде ово понашање. Ако се не уклапа у формат вашег документа, најбоље је да напишете ваш сопствени модул изведен из овога, који ће да опише детаље вашег формата. Погледајте одељак ПИСАЊЕ ИЗВЕДЕНИХ МОДУЛА испод, да сазнате више о том процесу.
Овај модул такође може да се прилагоди линијама у TeX фајлу које почињу са „% po4a:”. Овај процес је описан у одељку ПРИЛАГОЂАВАЊЕ ИЗ САМОГ ФАЈЛА.
Ово су опције везане само за овај модул:
Имајте на уму да постоји разлика између дословног и no_wrap окружења. У дословним блоковима се не ради анализа команди и коментара.
Ако ово окружење није већ раније регистровано, програм po4a ће сматрати да ово окружење не узима никакве параметре.
Ако ово окружење није већ раније регистровано, програм po4a ће сматрати да ово окружење не узима никакве параметре.
Употребите ове опције да преиначите подразумевано понашање дефинисаних команди.
TeX модул може да се прилагоди линијама које почињу са % po4a:. Ове линије се интерпретирају као команде парсера. Препознају се следеће команде:
Испред команде команда1 можете да ставите
Напомена: у овом случају не морате да наведете који параметри су преводиви, али програм po4a мора да зна типове и број параметара.
Аргумент
параметри
је скуп [] (да
се наведе
опционални
аргумент)
или {} (да се
наведе
обавезан
аргумент).
Између
ових
заграда
можете да
ставите
доњу црту (_)
да бисте
назначили
да
параметар
мора да се
преведе. На
пример:
% po4a: command *chapter [_]{_}
Ово
указује да
команда chapter
има два
параметра:
опционални
(кратак
наслов) и
обавезни, и
да оба
морају да
се преведу.
Ако желите
да
наведете
да команда
href има два
обавезна
параметра,
и да не
желите да
преведете URL
(први
параметар),
и да не
желите да
се ова
команда
издвоји из
свог
пасуса (што
преводиоцу
омогућава
да помера
везу по
реченици),
можете да
употребите:
% po4a: command -href {}{_}
У овом случају, информација која говори који аргументи морају да се преведу, биће искоришћена само онда када је ова href команда једини садржај пасуса.
Што се тиче команди, испред окр може да се стави (+) чиме се назначава да команда \begin мора бити преведена заједно са свим својим аргументима.
Регуларни израз је омеђен знацима навода. Не би требало да креира никакве повратне референце. Ако вам је потребна група, употребите (?:). Могуће је да ће бити потребно означавање специјалних карактера.
На пример, LaTeX модул користи регуларни израз "(?:&|\\\\)" за одвојено превођење сваке ћелије табеле (линије се раздвајају са ’\\’ а ћелије са ’&’).
Појам окружења се пребацује у тип приказан у PO фајлу. Ово може да се искористи за поделу на „\\\\” у првом обавезном аргументу команде наслова. У овом случају, окружење је title{#1}.
Ако ово окружење није већ раније регистровано, програм po4a ће сматрати да ово окружење не узима никакве параметре.
Коментари пасуса се умећу као PO коментар за први преводиви стринг тог пасуса.
Ако је за текуће окружење дефинисана функција у %translate_buffer_env, за превођење бафера ће уместо translate_buffer() да се употреби та функција.
Осим дела за прикључивање фајла, ово је чиста копија функције за читање из класе Transtractor.
За више детаља, погледајте одељак ПРИЛАГОЂАВАЊЕ ИЗ САМОГ ФАЈЛА.
Функције за команде и окружења узимају следеће аргументе (поред $self објекта):
Прва 3 аргумента издвајају get_leading_command или get_trailing_command.
Функције команди и окружења враћају превод команде заједно са њеним аргументима и ново окружење.
Функције окружења се позивају када се наиђе на команду \begin. Позивају се са \begin командом и њеним аргументима.
TeX модул предлаже само једну функцију за команде и једну функцију за окружења: generic_command и generic_environment.
generic_command
користи
информације
које
наводи register_generic_command
или из
дефиниција
додатих у TeX
фајл:
% po4a: command
команда1
параметри
generic_environment
користи
информације
које
наводи
register_generic_environment или из
дефиниција
додатих у TeX
фајл:
% po4a: environment окр
параметри
Обе функције ће да преведу само параметре коју су били наведени као преводиви (са ’_’). generic_environment ће да дода име окружења на стек окружења, а generic_command ће да дода име команде иза које следе идентификатори параметара (као {#7} или [#2]).
Потребно је да се овај модул додатно тестира.
Тестиран је на књизи и Python документацији.
Разне ствари обележене са FIXME у изворном коду.
Locale::Po4a::LaTeX(3pm), Locale::Po4a::TransTractor(3pm), po4a(7)
Никола Франсоа <nicolas.francois@centraliens.net>
Права умножавања © 2004, 2005 Никола ФРАНСОА <nicolas.francois@centraliens.net>.
Овај програм је слободан софтвер; можете да га редистрибуирате и/или мењате под условима GPL (погледајте фајл COPYING).
2023-01-03 | Po4a Алати |