serbiangnome-lista
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Serbiangnome-lista] Програм за пр оверу превода Терчек


From: Caslav Ilic
Subject: [Serbiangnome-lista] Програм за пр оверу превода Терчек
Date: Sun, 28 Sep 2003 21:21:31 +0200
User-agent: KMail/1.5.3

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Направих програм за проверу и измену терминологије превода, Терчек
(TerCheck, Terminology Checker). Тачније, програм заставицом обележава
поруке које задовољавају логички израз саграђен од различитих фраза.

Фраза је предстаљена уређеним скупом корена речи. Корен може бити сама реч
или имати афикс и/или префикс који се наводе цртицом. Нпр. фраза „фајл- --
подешавањ-“ поклопиће „фајл са подешавањима“, „фајлови са подешавањима“,
„фајл за подешавање“, итд.

Логички израз је у префиксном облику, има операторе „и“ (&), „или“ (|) и
„не“ (!). Нпр. израз „(! (| фолдер- фасцикл-))“ поклопиће све поруке које
у себи немају ни корен фолдер- ни корен фасцикл-. Ако треба да се наведе
фраза од више корена (као из претходног пасуса) користи се оператор
спајања ('), нпр. израз „(! (' датоте- систем-))“ поклопиће поруке које у
себи немају „датотечни систем“, „датотечним системима“, итд.

Могу да се задају изрази и за непреведену поруку (msgid) и за преведену
(msgstr), при чему се претпоставља однос „и“ између њих. Израз за msgid
обележава се са „>“ а за msgstr са „<“. Нпр. израз „> director- < (|
фолдер- фасцикл-)“ поклопиће све поруке које у свом msgid-у садрже корен
director- и у msgtsr-у садрже корен фолдер- или фасцикл-.

Корисник сâм наводи који се знаковни низови игноришу тј. избацују (нпр. „&“
за означавање пречице на тастатури) и који се знаковни низови конвертују
(нпр. велика у мала слова), што се ради пре свих провера, и у поруци и у
задатим фразама. Поред тога, корисник наводи и који знаковни низови деле
речи (интерпункција, али нпр. и „\n“). Такође, може да се бира и заставица
за означавање.

* * *

Сада досадан део, како се све ово задаје програму :)

Подаци се уносе путем конфигурационе датотеке, која има облик:

[field1 value1]
[field2 value2]
[field3 value3]
...

Редослед поља није битан, битно је само да постоје сва поља која програм
захтева. Вредност поља може бити један податак или низ података, а и цело
ново поље (чиме се добија хијерархијска структура ако је потребна).
Постоји и механизам укључивања датотека, овако:

[> filename]

Датотека може да се укључи и између и у сред поља, нпр:

[field1 1 2 3 4 [> othernums.hc]]
[> otherfields.hc]
[field2 a b c d [> otheralfas.hc]]

Могу да се користе и коментари, који почињу са „#“.

Конкретно, конфигурациона датотека би изгледала овако (без укључивања, која
би нормално била коришћена):

[flag
    tcmark
]
[ignore
    &
]
[interpunction
    .
    ,
    ;
    #...
]
[convert
    А   а
    Б   б
    В   в
    #...
]
[phrase
    {> director- < (| фолдер- фасцикл-)}
    {> file- < фајл-}
    #...
]

Када је конфигурациона датотека састављена (нпр. tcconf.hc, дата је у
прилогу поруке), а каталози за проверу су у директоријуму messages,
програм се позива овако:

$ tercheck -t tcconf.hc -d messages/

Програм ће проверити све *.po датотеке (и обележити поруке које
задовољавају бар један од наведених израза) у наведеном директоријуму и
свим поддиректоријумима.

Програм и библиотеке које је потребно претходно инсталирати налазе се на
http://home.drenik.net/caslav/program/. Ред инсталирања је: libhuey,
libutf8coll, libparsearg, libhconf, tercheck.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)

iD8DBQE/dzS+MSGXgigGr3ERAlTJAJ4+bQs3n5bnrt62pyqTBtcJGk0PnQCfaJ2y
3nd+s7dQbadV784VaUrtxqw=
=ikzw
-----END PGP SIGNATURE-----

Attachment: tcconf.tar.bz2
Description: application/tbz


reply via email to

[Prev in Thread] Current Thread [Next in Thread]