В момента съм маркирал всички променливи на обвивката с $ - например
$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