un repo de coordonare a traducerilor din Debian
Salut,
În urmă cu ceva timp am spus că intenționez să creez un repo pentru a supravechea și coordona
traducerile româneși din Debian.
Am lucrat ceva la chestia asta, dar încă nu este gata totul si încă sunt niște probleme deschise
care îmi dau batăi de cap.
Ceea ce am încercat să fac e să avem un repo care să ofere cel puțin următoarele facilități:
- oricine ar trebui să poată obține foarte ușor *toate* traducerile cele mai noi si sa poată aduce
la zi pe oricare dintre ele, dacă este nevoie
- traducerile deja existente în debian se actualizează automat cu versiunile noi prezente în
pachetele din sid (sau alte surse precum VCS-urile pachetelor)
- comenzi precum msgstat[1], msgdiacr[2], și alte câteva foarte utile (po_rearrange, o funcție de
actualizare cu posibilitatea de a lua automat traduceri din compendium) ar trebui să fie disponibile
și, preferabil rulate automat înanite de a "înregistra"
- *oricine* poate adăuga la respectivul repo noi traduceri (preferabil după ce au fost traduse complet)
Repo-ul ce ar trebui să ofere în plus, față de o simplă metodă de stocare a datelor, următoarele:
- ușoară pornire pentru noii veniți (în condițiile în care multe din verificări are trebui să se
facă automat sau semiautomat, în cel mai rău caz)
- un țel clar pentru echipă - 100% pentru traducerile prezente în repo reprezintă un țel clar
- oricine poate să preia rolul de coordonator urmând să adauge „mutând” astfel ținta echipei pentru
traduceri
Acum despre ceea ce mă nemulțumește/îmi creează probleme:
1) Factorul securitate - având în vedere faptul ca trebuie sa se facă niște verificări automate,
există nevoia ca să existe câteva bucăti de cod chiar în repo - asta reprezintă un risc dpdv al
securității, pentru că, teoretic, oricine dine echipă poate schimba codul respectiv, ceilați membri
ai echipei urmând să fie expuși riscului de a rula cod malițios.
Ce părere aveți? Aveți ceva idei cum am putea rezolva problema?
Mă gândesc că infrastructura de pe lângă traduceri (toate scripturile aferente) ar putea fi ținută
într-un repo separat la care modificările se fac restrictiv, iar traducerile în sine să fie un modul
aflat într-un alt repo la care are oricine din echipă acces de scriere.
2) Prea complicat ? - nu știu dacă setul de comenzi aferente repo-ului pentru a fi manevrat este
prea extins și/sau dificil pentru a fi utilizat de un începător
Ideal ar trebui să existe doar câtev comenzi pentru:
- sincronizare cu repo-ul (recepție)
- sincronizare cu repo-ul (transmisie)
- scriere locală (commit) - ideal face automat câteva teste automat asupra traducerii si apoi
commit-ul propriu-zis, dacă testele trec
3) Actualizările automate intră în conflict cu modificări manuale - există niște fișiere de
configurare pentru fiecare traducere în parte pentru a preciza modul în care respectiva traducere se
actualizează, majoritate aurmând sa se actualizeze direct din pachetele din sid. Totuși, temporar o
traducere ar putea să aibă o altă origine, de exemplu, un mail de tip "call for translation update".
Temporar vesiunea din repo va fi mai nouă, fiind posibil ca unele mesaje să se fi schimbat, iar o
sincronizare automată va ajunge să tragă automat ceva vechi și să piardă eventuala actualizare
Mă gândesc că soluția e pe undeva în idea de a compara data creării șablonului (POT-Creation-Date)
și data modifcării traducerii (PO-Revision-Date), urmând ca niciodată o traducere mai veche dpdv al
datei sa nu fie considerată mai nouă ca cea din repo, decât dacă cele două date indică asta (nu
dezvolt cazurile de comparare..
Aștept sugestii, comentarii, idei.
Pentru cei ce au citit până aici, drept recompensă pot afla unde este scheletul inițial al acetui repo:
http://git.debian.org/?p=users/eddyp-guest/debian-ro-repo.git
Îl puteți obține cu oricare din comenzile:
git clone git://git.debian.org/git/users/eddyp-guest/debian-ro-repo.git
sau
git clone http://git.debian.org/git/users/eddyp-guest/debian-ro-repo.git
Prima fiind recomandată din considerente de viteză, a doua fiind potrivită în situații de restricții
de acces la internet.
Sincronizările ulterioare ar trebui (în această fază) să se facă cu comanda:
git pull
[1] http://users.alioth.debian.org/~eddyp-guest/darcs/msgextras/msgstat
[2] http://users.alioth.debian.org/~eddyp-guest/darcs/msgextras/msgdiacr
--
Regards,
EddyP
=============================================
"Imagination is more important than knowledge" A.Einstein
Reply to: