В момента съм маркирал всички променливи на обвивката с $ - например
$HOME.  Технически това не е съвсем вярно винаги, защото с $
предизвикваме заместване на променливата с нейната стойност.  На
практика - възможността за неразбиране е малка.  Има и случаи, когато
всъщност са имали предвид не променлива, а стойността й.

Мисля, че се печели четимост по този начин, но донякъде е въпрос на
вкус.  Ако има някой на който не му харесва - да се обади, може и да го
махна.

Разкарал съм всички табулации, защото това може да промени подредбата.
Има хора, които си играят с размера й.

Табулациите съм направил по 4 шпации.  Доколкото съм видял - Антон
използва най-различни по големина отстъпи. Вероятно ги е взимал от
оригинала.  Понеже моят оригинал е доста зле в това отношение, взех
решението да ползвам четириинтервален (и кратен) отстъп.  Той по принцип
е или от началото на реда или (в по-редки случаи) от края на някоя дума.
Ако някой е навит да експериментира с раличен размер - да спомене
резултата.

Използвал съм 80 знаков ред.  Някъде може нещата да излизат от това и да
се пренасят на нов ред поради две причини:

 - Прекалено дълъг програмен низ, който се замества (примерно някакъв
%s). Не мога да наравя кой знае какво, освен типичният случай не е
дразнещ и тогава ще трябва да изнеса %s на нов ред.  За това - хайде да
се разтествайте малко, сам не мога да оправя всички случаи.

 - Допълнителни шпации в началото на реда, които се изпечатват от
програмата - тези мога да ги оправя, стига да ми се посочат.  Търся, но
ми трябват и други опитни зайчета.

Подрежданията на дългите редове са по следния начин:
=======
    -о    Обяснение
    -p    Едно по-дълго обяснение, което не се събира на ред и
              се пренася с допълнителен отстъп
    --ДългаДразнещаОпция
          Започвам от долния ред, но на същата позиция и щом трябва
              пак слагам 4-интервален отвъп
    -о    Обяснение
=======

Причината е следната - искам опциите като цяло да са отделни и да не се
забъркват с обясненията. Целта е лесно да са отделими в този ред
    - опциите
    - принадлежащите им определения
    - началото и края на отделните опрделения.

Като пробвах различни варианти - отрицателният отсъп ми се стори
най-последователен и най-четим.

Опции, аргументи, флагове - тези три понятия се използват в оригинала.
При превода съм използвал следната логика:
Всички неща след една команда са аргументи (и влизат в *argv). Част от
тях са опции - имат си чертички пред тях -R например, но може и да има
+. Едни опции приемат аргументи, други не. В оригинала вторият вид се
наричат понякога флагове (защото или ги има, или не), но това съм го
предавал с опция - просто не съм виждал подобна употреба на флаг и лично
не ми харесва.

Тук идва и positional parameter, което е аргумент на определена позиция.
Предавал съм го като позиционен аргумент (въобще parameter).

Масово съм използвал български кавички 9966, за разделянето на команди и
опции.  Старал съм се да бъда адекватен, но може да има и грешки.

Счупените скоби <> съм заменял с френски кавички: «»

Превеждал съм първата част на съобщенията за грешка придналежащи на
функция/ файл с изходен код:

=======
функция с проблем: съобщение за грешка %s
=======

Причината е, че първата част е насочена към пишещия скриптове - да го
насочи коя функционалност не е харесала писанията му, а не е (има и
изключения) насочена към това да си свали сорсовете на bash и
да търси конкретните имплементации.  Освен това - трябва да си хептен
ербап да си дебъгваш обвивката само по съобщения.  На практика - за
дебъгващия - няма колосално значение, освен че му подсказвам какво прави
определена функция. В bash си я има цялата кавалкада
malloc/free/realloc, която е преизпълнена с дефанзивни трикове. Направо
не ми се мисли на какви системи се подкарва bash и как системните
библиотеки лъжат, та се късат.

Във всеки случай - добре, че имах кода. Освен това се вижда, че версията
която съм си изтеглил през Translation Project е с орязани коментари в
po-файла. Ако някой друг превежда през TP - обаждайте се да генерираме
свестен po-файл, а не да разчитате на TP.

Речник (по първа буква):
----------------
abort:           преустановявам
alias:           синоним
allocate:        заделям
array subscript: индекс на масив
array variable:  променлива за масив
assertion:       предположение (по аналогия с математическия изказ:
                     предполагаме, че хикс е над 3).
background:      фонов режим
bind:            присвоявам (функция на клавиш)
botched assertion:
                 отпечатано предположение (вика се функцията
                     botch()/xbotch(), която прави това)
builtin:         команда вградена в обвивката
carriage return: връщане на каретка
chunk:           къс (в смисъл - част) (за памет)
clobbered block: зает/неподходящ блок - блок с памет, който е в списъка
                     със свободна памет се е оказал несвободен (обявен
                     за зает) или с неподходящ размер.
completion:      дописване (на команда)
directory:       директория
double:          дублирам [ЗП]
dynamic loading: динамично зареждане
enclosing:       обхващащ (за цикъл, блок)
environment:     обкръжение
expand:          замествам (shell expansion) [НБ]
expand, expansion:
                 замествам, заместване
foreground:      на преден план
form feed:       завършване на формуляр (за ASCII FF)
frame:           рамка (при изпълнение на блокове)
hash:            хеширане, хеш
here document:   вътрешен документ
job:             задача
job control:     управление на задачите
jump:            преход
keymap:          клавишна подредба (не подредба на клавишите! Става
                     дума за подредбата на фунцкиите, а не на буквите).
login shell:     входна обвивка
named pipe:      именуван програмен канал
null environment:
                 нулево (чисто) обкръжение
parameter:       аргумент
positional:      позиционен
pre-increment/decrement:
                 предварително увеличаване/намаляване
process group leader:
                 водач на група процеси
range:           допустим интервал
reallocate:      презаделям
regular file:    обикновен файл
restricted:      ограничена (за обвивка)
scope:           област (на видимост)
set:             задавам (променлива)
shared object:   споделен обект
specification (completion ~):
                 клас (дописвания)
suspend:         временно спирам (процес)
symbolic mode:   описателен режим (за chmod - ugo=rw, вместо 666)
trace:           проследявам
trap:            капан
unallocated:     незаделен
unary/binary:    унарен/бинарен - за оператор
unbind:          премахвам присвояване (функция на клавиш)
underflow:       отрицателно препълване [МБ]
unset:           премахвам (за променлива) [(АЗ)]
----------------


Долните съм ги обсъждал в списъка, но не ги откривам в превода. Пак съм
спал като съм писал. Как пък не можах мръсни сънища да сънувам - само
буфери в главата ми.

----------------
dirty buffer:    нечист (мръсен) буфер [(КД, МБ)]
nested loop:     обхващащ цикъл (от гледна точка на вътрешните)
-----------------


Допуснати и вече коригирани грешки, които показват, че в главата ми има
не само буфери, но и цикли.

-----------------
допълнителен:    допънителен
изчакване:       изакване
променлива:      пременлива
съвпадене:       съвмадение
цикъл:           цицъл
-----------------

В [] - хората, чиито преводи ползвам.
В [()] - хората, които са ми дали идеи да променя донакъде превод


Михаил Балабанов
Николай Бачийски
Калоян Доганов
Антон Зиновиев
Златко Попов

Ако има пропуснати да се обадят, че пак сънувам - електрически овце -
като андроидите, ще си тичам по острието - натам, насам. Сега виждам
смътно като през скенер, в София вали и костите ме наболяват, а това
заключение трябваше да бъде в леонини и хексаметър, но то е светско та
заслужава презрение.

ал_шопов




_______________________________________________
Dict mailing list
[email protected]
http://zver.fsa-bg.org/cgi-bin/mailman/listinfo/dict

Raspunde prin e-mail lui