![]()
Всеки е добре дошъл да се присъедини към FDP-BG. Няма минимални изисквания
или квота от документация която трябва да превеждате всеки месец. Все пак поемането
на отговорност за превеждане на част от документацията Ви задължава да я завършите.
Поемайки отговорност за превод на част от документацията означава, че само вие
можете да превеждате тази част. Ако не сте в състояние да завършите превода
(заети сте или по куп други причини) просто го обявете навреме, за да може човек
който е свободен в момента да работи. Иначе просто спъвате развитието на проекта.
Все пак забавянето на превод с няколко седмици поне за сега не е фатално!
Какво е необходимо да знаете преди да сте превели и една дума?
В момента проектът превежда Наръчника към FreeBSD 5.2.1 RELEASE. Инструкции как да изтеглите документацията от CVS хранилището на FDP-BG може да намерите тук. Обърнете специално внимание, че ако теглите документацията чрез CVSup, трябва да използвате етикета tag=RELEASE_5_2_1 във вашия sup файл. Това ще гарантира безпроблемно компилиране на преводите, без нуждата от допълнително синхронизиране.
Не е фатално ако използвате различно кодиране (Unicode или ISO), но окончателните ви документи ТРЯБВА да са в CP1251 (поне докато официалната документация не премине към Unicode). Когато това стане вероятно ще се използват готови скриптове за конвертиране на съществуващата документация от CP1251 към Unicode.
Причината е, че всяка от документациите е 'подвижна' цел. Още преди да сте завършили превода той вече няма да е актуален - ще има липсващи примери който са били добавени след като сте започнали, или структурата на документа (глави подзаглавия) ще бъде променена и т.н. От това няма как да се предпазите, но ако имате копие на оригиналните SGML файлове и версиите на файловете, бихте могли да проверите разликите между това от което сте превеждали и текущите документи и да опресните преводите си. Ако не вие то някой, който разполага с време за опресняване на преводите.
Тъй като целта на тези преводи е преведените документи да бъдат част от официалните дистрибуции на FreeBSD, за да се избегнат проблеми (и публично осмиване на преводачите на Български във FreeBSD мейл листа) при компилирането на документите заедно с останалите преводи (Руски, Немски, Френски и т.н.) е важно всички преводачи на една и съща статия или книга да използват едни и същи начални версии!!!
Това ще гарантира, че няма да има обръщения към несъществуващи .sgml или други (графични, нови глави и т.н.) файлове.
Има проблем с компилирането на готовите документи. Малко 'я'
(код 255 в кодова таблица на CP1251) не е валиден sgml
символ. Възможен начин за заобикаляне на този проблем е
използването на един от следните SGML escape символи:
'ÿ' 'я' или
'я' вместо малко 'я'. Тоест трябва да
имате две версии на документа върху който работите (за сега) - една
версия с 'я' върху която работите и от която да правите версия с
escape символ вместо 'я'.
Кой символ е правилно да се използва? В проекта по превод се
спряхме на използването на 'я' вместо
малко 'я'. Придържайте се към тази конвенция.
Ето примерен скрипт, който да автоматизирате заменянето на малко 'я' с 'я'. След изпълняването му, в текущата директория за всеки файл, завършващ на .sgml, ще имате и файл завършващ на .release.sgml, отговарящ на изискванията.
#!/bin/sh
ya=`printf "\0377"`
for file in *.sgml; do
newname=`echo $file | sed -e "s/\.sgml//"`
sed -e "s/$ya/\я/g" $file > $newname.release.sgml
done
Не е известно да има проблеми с най-разпространените текстови редактори. Все пак използвайте някой, който има SGML 'оцветяване' на текста, поддържа CP1251 енкодинг и най-важното - предоставя проверка за правопис! Вече има български речник както за ispell така и за aspell.
if !exists("format_fdp_sgml")
let format_fdp_sgml = 1
" correction for highlighting special characters
autocmd BufNewFile,BufRead *.sgml,*.ent,*.html syn match sgmlSpecial "&[^;]*;"
" formatting FreeBSD SGML/Docbook
autocmd BufNewFile,BufRead *.sgml,*.ent set autoindent formatoptions=tcq2l textwidth=76 shiftwidth=2 softtabstop=2 tabstop=8
" fix the lowercase 'ja'
autocmd BufEnter *.sgml,*.ent map! я я
endif
(defvar fdp-sgml-want-special-ya nil
"If you want to remap \"я\" to я set this to 't'.")
(if fdp-sgml-want-special-ya
(global-set-key "я" "я"))
(defun fdp-sgml-toggle-special-ya()
"Toggle the input conversion of \"я\" to я."
(interactive)
(setq fdp-sgml-want-special-ya (not fdp-sgml-want-special-ya))
(message (concat "fdp-sgml-want-special-ya is "
(cond (fdp-sgml-want-special-ya "true.")
(t "false."))))
(cond (fdp-sgml-want-special-ya (global-set-key "я" "я"))
(t (global-unset-key "я"))))
;; shortcut to toggle state with F12
(define-key global-map [f12]
(lambda () (interactive)
(fdp-sgml-toggle-special-ya)))