Domenii cu diacritice (românești și nu numai) – IDNs. Afișarea lor în diferitele programe de navigare pe internet („browsere”)

Până recent (în 2009 în teorie, din 2010 în practică), domeniile internet – adresele saiturilor web, mai pe românește – nu puteau conține caractere cu diacritice, indiferent dacă aceste diacritice erau franțuzești (accente), germane (de exemplu umlaut-urile), românești etc.

Pe scurt, acest lucru se datorează faptului că numele domeniilor sunt păstrate în sistemul DNS (esențial funcționării internetului) în format ASCII, iar diacriticele pot fi reprezentate doar prin codificări multi-octet UNICODE. (Nu am de gând să intru în detalii atât de plictisitoare pentru mulți – ce înseamnă DNS, codificarea ASCII versus codificarea UNICODE etc.)

Era, evident, nedrept, astfel că, în 1996, Martin Dürst a propus conceptul de IDN – internationalized domain name, nume de domeniu „internaționalizat”, ce permitea includerea tuturor diverselor diacritice particular „naționale” în numele de domenii. Conceptul teoretic a fost implementat doi ani mai târziu, în Taiwan. IDNs puteau fi de-acum folosite în practică – numele cu diacritice se pot memora în sistemele DNS în codificare ASCII datorită unei transformări (codificări) particulare a lor – folosind transcrierea Punny.

De exemplu, domeniul „scrie-românește.net” (cu „ș” cu virgulă, „ș românesc”) poate fi memorat ASCII (prin transformare Punnycode) prin codul „http://xn--scrie-romnete-qeb187b.net/” , iar domeniul „scrie-româneşte.net” (cu „ș turcesc”, cu sedilă!) – prin „xn--scrie-romnete-qeb19p.net” – vezi diferențele între cele două variante de „ș” și „ț” explicate pe larg și într-un context mai general aici.

După îndelungi dezbateri, a fost adoptat un standard numit „Internationalizing Domain Names in Applications” – IDNA, ce definea riguros modalitatea de implementare a domeniilor cu diacritice (IDN), prin memorarea lor în format ASCII (în DNS) folosind transformarea Punny.

Abia în 2009, însă, ICANN (Internet Corporation for Assigned Names and Numbers – o organizație neguvernamentală americană ce controlează, practic, activitatea pe internet!) a aprobat introducerea/folosirea IDNs în domeniile naționale („country code top-level domains” – cc TLDs), astfel că în Mai 2010 primul IDN ccTLD a fost instalat în DNS de nivel zero (DNS root zone – controlat de Departamentul de Comerț SUA!).

Ok. Gata cu denumirile tehnice complicate, greu de urmărit – sunt sigur – de majoritatea cititorilor (cine este interesat de mai multe detalii, poate citi pe wikipedia). Pentru a putea înțelege ușor cele ce urmează, este suficient dacă ați reușit să rețineți doar doi dintre termenii mai sus vehiculați;

  • IDN = nume internațional de domeniu, conținând diacritice (de exemplu românești)
  • Codificarea Punny = transformarea domeniilor cu diacritice (IDNs – „s”-ul însemnă pluralul) într-o formă („ASCII”) „digerabilă” de calculatoarele ce controlează internetul (serverele DNS) – însă mult mai puțin „digerabilă” de oameni, aș observa :-)

De asemenea, nu cred că va fi o problemă să rețineți că voi folosi în continuare expresia „browser” pentru a desemna orice program folosit pentru navigarea pe internet (de exemplu Internet Explorer, Mozila Firefox, Chrome, Opera etc.).

Înainte de a continua, mai trebuie amintit că fiecare țară are deplina libertate de a aproba / introduce / permite folosirea numelor de domeniu cu diacritice „naționale” (IDNs) – sau de a NU permite această folosire.

Ei bine, România este printre puținele țări din Europa care nu a introdus diacriticele naționale (românești) în numele domeniilor „.ro” (pe baza scuzei că există, la nivel internațional, două seturi diferite de codificări UNICODE pentru „ș” și „ț” – vezi detalii aicio scuză ieftină, în opinia mea, ce trădează mai degrabă o posibilă urmă de indolență), astfel că saiturile web românești nu pot achiziționa / folosi nume de domenii cu diacritice românești!

Din fericire, restricția de mai sus este valabilă doar pentru domenii cu terminația .ro – controlate de roTLD / ICI.

Alte organizații (care controlează alte „Top Level Domain”, TLDs) permit folosirea diacriticelor românești în numele de domenii cu terminația respectivă.

Astfel că – fiind pus în imposibilitatea de a alege un domeniu din „spectrul” .ro (cum, evident, mi-aș fi dorit) – am ales „spectrul” .net. Am ales, inițial, (sub)domeniul „scrie.româneşte-pe.net” – pentru că exprima cel mai bine denumirea campaniei. Am renunțat însă ulterior să-l folosesc, datorită faptului că îl cumpărasem folosind scrierea cu „ș turcesc” (singurul permis de computerul meu cu setarea actuală – vezi detalii tehnice în articolul ce descrie cele două codificări ale „ș” și „ț” și probleme ce decurg din asta aici ) și pentru că era greoi de transcris (ca adresă, în browser), datorită succesiunii atipice „.”, „-”. Am cumpărat, ulterior, „scrie-românește.net” – în toate cele trei forme de scriere ale lui (cu „ș românesc”, cu „ş turcesc”, fără diacritice) și le-am setat să „ducă” toate spre aceeași pagină, cea de față (domeniul cu „ș românesc”! – singurul, la urma urmei, scris corect).

Domeniul „scrie-românește.net” (scris corect, cu „ș românesc”, nu cu „ş turcesc”) funcționează, chiar dacă – în unele cazuri – browserul dumneavoastră vă afișează altceva în adresă – mai precis, vă afișează codificarea sa în format Punny („xn--scrie-romnete-qeb187b.net”).

Nu toate browserele afișează numele de domeniu cu diacritice (IDNs) – în principal din motive de siguranță (nu intru în detalii, s-ar putea scrie multe aici). Politicile adoptate de producătorii acestor programe diferă. Unele browsere – precum Firefox și Opera – au ales să afișeze IDNs doar pentru anumite domenii (unde au certitudinea că TLD respectiv nu permite înregistrarea unor nume de domenii ce pot păcăli sau chiar înșela utilizatorii); altele afișează IDNs doar dacă atât IDN cât și pagina respectivă conțin doar diacritice „aprobate” (figurând pe așa numitele „liste albe”); altele – doar dacă browserul respectiv este setat pe localizarea națională corespunzătoare.

Pe scurt, iată situația existentă în acest moment (prezentată mult simplificat, cu aplicație pentru domeniul ales de mine – scrie-româneşte.net) în cazul celor mai uzuale browsere.

  •  INTERNET EXPLORER (versiunea 7 sau superior): dacă aveți setările în limba română – numele domeniului vi se afișează corect (scrie-românește.ro); în caz contrar, se afișează codificarea Punny (xn--scrie-romnete-qeb187b.net)
    NOTĂ: o versiune mai veche a IE (versiunea 6 sau inferioară) NU știe să afișeze diacritice în numele de domenii.
    Vezi detalii aici;
  • MOZILA FIREFOX – nu afișează IDN pentru domeniile generice (.com, .net, .org etc). Deoarece domeniul ales de mine este dintr-un spectru generic („.net”), Firefox îl afișează întotdeauna în notația Punny (xn--scrie-romnete-qeb187b.net)
    Vezi detalii aici;
  • Google CHROME – asemănător IE: dacă aveți browserul setat ori localizat pentru/în limba română, va afișa IDN (scrie-românește.ro). În caz contrar, vă afișează codificarea Punny (xn--scrie-romnete-qeb187b.net).
    Vezi detalii aici (cel mai bine explicat, cel mai ușor de urmărit sau înțeles – inclusiv motivele pentru care se adoptă astfel de politici);
  • OPERA – similar FIREFOX – nu afișează IDNs pentru domeniile generice: va afișa întotdeauna numele domeniului ales de mine în notație Punny (xn--scrie-romnete-qeb187b.net).
    Vezi detalii aici;
  • SAFARI (produs de Apple) – știu doar teoria, nu știu ce se întâmplă în practică. Safari are o „listă albă” pentru cazurile în care *afișează* diacritice; pentru toate IDNs care nu figurează în acea „listă albă”, va afișa întotdeauna codificarea Punny.
    Vezi detalii aici.
  • DOLPHIN (pentru ANDROID) – l-am instalat și testat; afișează adresele corect, cu diacritice. Adresa aplicației în GOOGLE play este aceasta. Nu știu dacă recunoașterea vocală ‘știe’ despre diacritice. Mie nu mi-a reușit…

REȚINEȚI: modul în care browserele afișează numele domeniilor cu diacritice (IDNs) depinde de politica adoptată de producătorii respectivului program. Unele browsere nu afișează diacriticele din numele domeniului, alegând să afișeze codificarea „internă” (transformarea Punny, cea memorată în serverele DNS), însă o fac în principal pentru protecția dumneavoastră!

La urma urmei, nu este deloc important cum se afișează adresa în browser. Important este că numele de domenii pot conține diacritice și IDNs sunt corect manipulate de browsere! Cu alte cuvinte, dezvoltatorii de web pot folosi nume de domenii cu diacritice, iar utilizatorii pot ajunge ușor și rapid la aceste pagini web – fie urmând linkuri, fie tastând direct adresa în browser (chiar dacă unele dintre acestea – de exemplu Firefox, în cazul domeniilor generice .net, .com etc – vor converti automat această adresă în codificarea Punny).

P.S.: O altă complicație se referă la dificultatea (practic: imposibilitatea) de a trimite mesaje electronice (mailuri) pe adrese de mail din domenii cu diacritice. În majoritatea programelor de mesagerie electronică uzuale nu puteți trimite mesaje pe adrese de genul „wemaster@scrie-românește.net” – pur și simplu adresa respectivă este respinsă de program ca invalidă. Acest comportament – neadecvat – se va schimba probabil în timp.

P.P.S.: cine dorește, mă poate totuși contacta pe adresa (alternativă) webmaster[/@/]scrie-romaneste.ro (de pe domeniul fără diacritice, achiziționat special de mine, odată cu cele două conținând diacritice, în cele două variante de scriere a „ș”-ului / cu sedilă, respectiv cu virgulă) . Nota bene: eliminați semnele de dinaintea și după „@” – „[/” și „/]” – pentru a obține adresa reală, validă. Le-am scris acolo ca măsură de protecție anti-spam (practică uzuală pe internet).

Share

ALTE ARTICOLE
Postat în DOCUMENTAȚIE

One comment on “Domenii cu diacritice (românești și nu numai) – IDNs. Afișarea lor în diferitele programe de navigare pe internet („browsere”)
  1. Dragoș spune:

    Tocmai am făcut upgrade la Firefox 17.0 și acum afișarea adreselor IDN se face corect, folosind diacritice în bara de adrese la acest browser.
    Există o setare în interiorul Firefox (pagina about:config – la întrebare răspundeți că o să fiți grijulii!), și anume network. IDN_show_punycode care acum este pe FALSE. Dacă am înțeles bine, la versiunile anterioare era implicit pe TRUE (și din cauza asta se afișa adresa ca punycode).
    Cine dorește să vadă adresele corect, fără a face upgrade la software, poate încerca să facă această modificare.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*