IAP #12: Infoarena.org

Aceasta pagina descrie o propunere pentru echipa infoarena. Informatiile prezentate aici nu reprezinta planuri oficiale ale Asociatiei infoarena decat daca propunerea este adoptata.
Data2009-02-17
Autor(i)alextheroTandrau Alexandru alexthero
StareIN-CONSTRUCTIE

Abstract

Se propune utilizarea softului deja existent pentru crearea unei versiuni infoarena in limba engleza, independenta ca si continut de infoarena.ro. Realizarea acestui proiect consta in implementarea modificarilor necesare la nivel de cod si traducerea continutului.

Motivatie

Motivele si avantajele acestui proiect sunt multiple si evidente. Motivatia imediata o constituie organizarea Concursului Centrelor de Excelenta cu participare internationala (polonezi). Celelalte motive si avantaje:

  • organizarea de concursuri internationale
  • formarea unei comunitati internationale si cooptarea unor colaboratori internationali
  • potential acces la problemele si materialele de pregatire ale unor tari ca rusia, china, etc.
  • recunoasterea brandului infoarena la nivel international
  • access la o gama mai larga de eventuali sponsori

Implementare

O metoda usoara si rapid de pus in practica este sa punem sus codul si sa ne apucam sa traducem. Aceasta metoda are mai multe neajunsuri pe care vom incerca sa le rezolvam pe parcursul acestui document.

1. Folosirea aceluiasi cod pe ambele site-uri si update-uri concomitente.
Un punct important ar fi ca ambele site-uri sa poata fi updatate cu acelasi cod scris de "hackerul infoarena". Problema propriu zisa este intercalarea elementelor de limba cu cele de cod. Ca sa rezolvam aceasta problema ar trebui sa avem niste "language files", care sa contina toate frazele folosite in cod (tot in afara paginilor wiki). SMF are deja aceste fisiere, dar e posibil ca noi sa fi modificat cate ceva in versiunea romaneasca.

Avantaje:

  • acelasi cod pentru ambele siteuri
  • extinderea usoara la mai multe limbi (doar prin modificarea unui language file)

Dezavantaje:

  • volum mult de munca bruta? trebuie trecut prin fiecare fisier si modificat tot textul

2. Concursuri care pot fi date simultan pe ambele siteuri
Pornind de la motivatie, o intrebare care vine inevitabil este: "cum dam concursuri simultan pe ambele siteuri". O prima solutie ar fi crearea concursurilor pe ambele siteuri, cu probleme identice, dar traduse. Singura problema ar fi cum afisam clasamentele (cu concurenti de pe ambele siteuri). Ideal ar fi ca fiecare din cele 2 clasamente sa contina si userii care au submitat dincolo, dar cu un flag si cu link catre profilul lor. Putem avea username-uri identice, dar ele sa defineasca un alt utilizator.

Solutie: definim un nou macro care (dandui-se linkurile dintre concursuri + probleme):

  • se conecteaza la baza de date a celuilalt site / un fisier xml public actualizat de celalalt site
  • afiseaza clasamentul concatenat
    Trebuie sa folosim aceasi metoda ca acum pentru a reda eficient clasamentele.

Avantaje:

  • aparent rezolvam toate subproblemele care ar putea aparea la crearea concursurilor

Dezavantaje:

  • link inestetic catre profilul de pe celalalt site
  • multe linkuri catre acelasi site dauneaza la page ranking? nu sunt sigur

3. Teste

O alta informatie reduntanta sunt testele. Nu as fi mentionat acest lucru daca nu trimitea Bogdan e-mail-ul din 22 feb. Putem linka unele pagini intre ele, astfel incat atasamentele celor doua pagini sa fie aceleasi si mentinute o singura data. Totusi, pentru inceput, cred ca acest lucru nu e necesar.

O lista scurta cu ce trebuie implementat inainte sa ne apucam de tradus:

  • language files
  • clasamente comune

Traduceri

Ne propunem sa traducem urmatoarele pentru prima versiune:

  • documentatia necesara pentru un utilizator care vrea sa rezolve probleme si sa participe la concurs
  • un set de 5 probleme reprezentative din arhiva de probleme (A+B, CMMDC, 3 mai grele..)
  • un set de 3 probleme reprezentative din arhiva educationala
  • 1-2 articole
  • forumul incepe de la 0

Vom crea un nou proiect marca infoarena, "traduce infoarena" in care cautam colaboratori. Acestia vor traduce continut. Fiecare e liber sa traduca in limita timpului disponibil.

Localizare in alte proiecte open-source

PHPbb

  • Exista language packs specializate pe diferite limbi. Fiecare language pack contine aceleasi fisiere, care reprezinta
    impartirea tuturor frazelor folosite pe categorii. Fiecare fraza e definita de un text generic in engleza. e.g.
    'SUBMIT_VOTE' = 'Trimite vot'.

MediaWiki

  • Cate un fisier .php pentru fiecare limba care contine toate mesajele traduse. Din nou, fraza e definita de un text generic in
    engleza.
  • Ce e interesant la mediaWiki e ca au o metoda care returneaza mesajul in limba in functie de preferinte ( cred :) ). De exemplu,
    daca preferintele sunt 1. Engleza 2. Romana 3. Germana, functia cauta prima data textul respectiv in engleza. Daca nu e gasit, cauta
    in romana, iar apoi in germana. Acest lucru s-ar aplica bine la infoarena.org, avem preferinte: 1. Engleza 2. Romana pentru
    infoarena.org si preferinte: 1. Romana 2. Engleza pentru infoarena.ro. In cazul in care mesajul nu e gasit in prima limba, putem sa
    coloram textul din aceasta functie in ceva saritor in ochi (rosu?) pentru a sti ca trebuie tradus. Putem sa facem acest lucru doar
    pentru admini sau/si pentru helperi.

Wordpress

  • Cate un fisier .po sau .mo pentru fiecare limba. In fisierele acestea se gasesc comentarii pentru fiecare mesaj care spun unde
    este gasita fraza. Exemplu
#: wp-admin/edit-pages.php:29
#: wp-admin/edit-pages.php:32
#: wp-admin/edit.php:37
#: wp-admin/edit.php:40
#: wp-admin/page.php:170
#: wp-admin/page.php:173
#: wp-admin/post.php:211
#: wp-admin/post.php:214
#: wp-admin/upload.php:84

msgid "Error in deleting..."
msgstr "Eroare la stergere..."

Feedback

Intra pe forum pentru a da feedback.

remote content