Cheia de acces n sare lanagigarea in pagina. Sari la inceputul continutului.

Acest document e o traducere. In caz ca apare vreo eroare sau discrepanta, ultima versiune in Engleza este cea autoritativa. Copyright-ul original apartine W3C, dupa cum e aratat mai jos.

Traducator: Costea Marian

s_gotoW3cHome Internationalizare
 

Bidi- Pierdere de spatii

Cititorii vizati: utilizatori, programatori XHTML/HTML (care folosesc editoare si scripturi), dezvoltatori de scripturi (PHP, JSP, etc.),programatori CSS , dezvoltatori de scheme (DTDs, XML Schema, RelaxNG, etc.), dezvoltatori XSLT , manageri proiecte Web, si oricine este nou in internationalizare si are nevoie de indrumare in materiale de interes si cai de a gasi materialul pe site.

Intrebare

De ce in browserul meu apar spatii mari intre text Latin si Arabic/Hebrew?

Introducere

Spatiile intre text Latin si Arabic/Hebrew pot aparea daca textul este urmat de un spatiu in interiorul unui element din linie care include un atribut dir.

De exemplu, in unele browsere, codul:

<p dir="rtl"> العالمية <span dir="ltr">(W3C) </span> تخلق قواعد </p>

Ar produce un rezultat care arata ca urmatorul, unde sagetile indica locatia spatiului lipsa:

Imaginea rezultatului, nu arata nici un spatiu la stanga textului Latin.

Retineti ca acest efect se intalneste si cand textul de la dreapta la stanga este inclus intr-un pasaj de la stanga la dreapta.

Raspuns

Daca sectiunea anterioara descrie aspectul de cod, solutia este de a elimina toate spatiile dinainte de eticheta elementul din linie, sau eliminarea atributului dir (daca este cazul).

De exemplu, eliminand spatiul dintre (W3C) si </span>:

<p dir="rtl"> العالمية <span dir="ltr">(W3C)</span> تخلق قواعد </p>

ar produce un rezultat care arata ca:

Imaginea rezultatului, arata spatii in ambele parti ale textului Latin.

Retineti, de asemenea, ca, în acest exemplu atributul dir="ltr", în elementul <span> din jurul textului (W3C), nu este de fapt necesar pentru a produce aranjarea corecta. Ignorand atributul sau tot elementul span va rezolva de asemenea problema.

Cum functioneaza pentru mine?

Urmatoarele casete arata mostre de cod urmate de o punere în aplicare a acestui cod pe aceasta pagina, astfel încat sa puteti testa comportamentul agentului de utilizare curent..

Code: <p dir="rtl"> العالمية <span dir="ltr">(W3C) </span> تخلق قواعد </p>

العالمية (W3C) تخلق قواعد

Code: <p dir="rtl"> العالمية <span dir="ltr">(W3C)</span> تخلق قواعد </p>

العالمية (W3C) تخلق قواعد

Code: <p dir="rtl"> العالمية <span>(W3C) </span> تخلق قواعد </p>

العالمية (W3C) تخلق قواعد

Code: <p dir="rtl"> العالمية <span>(W3C)</span> تخلق قواعد </p>

العالمية (W3C) تخلق قواعد

Code: <p dir="rtl"> العالمية (W3C) تخلق قواعد </p>

العالمية (W3C) تخلق قواعد

Apropo

Cititi aceasta sectiune daca doriti detalii despre motivul pentru care acest lucru se intampla.

Comportamentul asteptat in cazul in care textul este afisat nu este descris in detalii in specificatiile XHTML/HTML, dar este descris in specificatii recente CSS. Chiar daca exemplele de pe aceasta pagina nu folosesc CSS, se aplica aceleasi principii. Urmatoarele exemple sunt luate din CSS 2.1 Working Draft:

  1. In cazul in care 'spatiul-alb este setat pe 'normal', 'nowrap', sau 'pre-line',
    1. fiecare fila (U 0009) este convertita într-un spaţiu (U 0020)
    2. orice spatiu(U+0020) care urmeaza dupa alt spatiu (U+0020) — chiar si un spatiu dinainte de linie, daca acel spatiu are de asemenea un 'spatiu-alb' setat pe 'normal', 'nowrap' sau 'pre-line' — este eliminat.

Avand în vedere un scenariu, dupa cum urmeaza (în cazul în care culorile reprezintă spatiile, U 0020, pentru o identificare usoara):

<ltr>A <rtl> B </rtl> C</ltr>

Specificatia spune ca spetiul de dupa A este pastrat, spatiul dinainte de B este eliminat, spatiul de dupa B este pastrat, spatiul dinainte de C este eliminat. Acesta este apoi redat in conformitate cu algoritmul bidirectional Unicode, iar rezultatul final este:

A  BC

Retineti ca sunt doua spatii intre A si B! Nivelurile de incorporare pot fi exprimate astfel:

11221

Spune-ne părerea ta (în Engleză).

Abonează-te la RSS feed.

Resurse noi

Noutăţi prima pagină

Twitter (Noutăţi prima pagină)

‎@webi18n

Alte materiale

Autor: Richard Ishida, W3C. Traducator: Costea Marian.

XHTML 1.0 Valid!
CSS Valid!
Incodat cu UTF-8!

Tradus din engleza: 2003-11-06. Ultima modificare a traducerii: 2011-01-11 17:45 GMT

Pentru a vedea toate schimbarile documentului, cauta qa-bidi-space pe blogul i18n.