Eu as merge pe prima varianta si ar fi si din punct de vedere al logicii de programare. Daca nu stii sigur ca primul element din uri iti este indicatorul de limba.. tot timpul trebuie sa faci comparare de string sa vezi daca ai sau nu limba. Eu zic ca nu merita efortul si timpul de procesare.
O alta varianta ar fi ca switch-ul sa il faci la nivel de sesiune cu mapari de 1*1 intre pagini. Asta inseamna ca pentru fiecare pagina.. la schimbarea limbii ai fie echivalentul paginii in limba respectiva fie ai index-ul limbii daca nu ai pagina echivalenta ia din db scoti tot timpul limba astfel incat sa poti face switch.
In felul asta nivelele de url nu se schimba iar motoarele oricum o sa faca diferenta intre ro si en de ex.