Ndërkombëtare
Mbështetja për shkrim nga e djathta
Faqet në arabisht, hebraisht ose persisht duhet të kenë dir="rtl"; mjeti e llogarit por nuk prodhon konstatim.
Çfarë është
Disa gjuhë shkruhen nga e djathta në të majtë: arabishtja, hebraishtja, persishtja, urdu-ja. Për to, i gjithë drejtimi i faqes ndryshon — jo vetëm teksti, por edhe rendi i kolonave, pozicioni i menusë, drejtimi i shigjetave dhe i shiritave të përparimit.
Atributi dir="rtl" te <html> e vendos këtë drejtim për gjithë dokumentin. Shfletuesi pastaj i kthen automatikisht shumicën e rregullave të layout-it.
Për pjesë të veçanta teksti në drejtim tjetër brenda një faqeje, i njëjti atribut vendoset te elementi përkatës, ose përdoret dir="auto".
Pse ka rëndësi
Pa dir="rtl", një faqe arabisht shfaqet me tekstin e rreshtuar majtas dhe me shenjat e pikësimit në vendin e gabuar. Fjalitë lexohen, por struktura është e përmbysur — si të lexoje një libër shqip ku çdo paragraf nis nga fundi i faqes.
Problemi bëhet i rëndë te përmbajtja e përzier: një numër telefoni ose një emër latin brenda një fjalie arabisht shfaqet në pozicion të gabuar dhe ndonjëherë me shifrat e përmbysura.
Për formularët dhe navigimin, drejtimi i gabuar e bën ndërfaqen konfuze: butoni "Përpara" rri majtas, shigjeta tregon nga ana e gabuar.
Për një sajt që synon tregun shqiptar, ky kontroll ka rëndësi vetëm nëse ka edhe një version në një gjuhë të tillë. Për shumicën, ai është i parëndësishëm — dhe kjo duhet thënë.
Si rregullohet
<html lang="ar" dir="rtl">
…
<!-- një emër latin brenda tekstit arabisht -->
<p>…<span dir="ltr">Servisi Alfa</span>…</p>/* përdor veti logjike që punojnë në të dy drejtimet */
.karta { margin-inline-start: 1rem; padding-inline: 1rem; }
/* në vend të margin-left / padding-left */Hapat:
- `dir="rtl"` te `<html>`, jo te
<body>. - Përdor veti logjike CSS —
margin-inline-start,inset-inline-end,text-align: start— që kthehen vetë. - `dir="auto"` te fushat e hyrjes ku përdoruesi mund të shkruajë në cilindo drejtim.
- Kthe ikonat drejtimore me
transform: scaleX(-1)te konteksti RTL. - Testo me përmbajtje të vërtetë, jo me tekst latin të vendosur
rtl.
Si e mat ky mjet
InternationalSeoAnalyzer::checkRTLSupport() (services/InternationalSeoAnalyzer.php:161) lexon dir dhe lang te <html>, dhe kontrollon nëse kodi bazë i gjuhës është në listën e tetë gjuhëve RTL: ar, he, fa, ur, ps, sd, ug, yi (:167).
Kthen rtl_properly_set, që është i vërtetë kur gjuha nuk është RTL, ose kur është dhe dir është rtl (:173).
Çfarë NUK e mat
Rezultati nuk prodhon asnjë konstatim. Metoda thirret te services/InternationalSeoAnalyzer.php:67, vlera ruhet te të dhënat e raportit, dhe asnjë degë if nuk e lexon. Pra një faqe arabisht pa dir="rtl" — defekti që ky kontroll ekziston për ta kapur — nuk raportohet dhe nuk humb asnjë pikë.
Informacioni shfaqet vetëm si fushë te të dhënat e papërpunuara, ku duhet kërkuar me dorë.
Edhe po të raportohej, kontrolli sheh vetëm atributin te <html>. Nuk kontrollon drejtimin e pjesëve të veçanta, nuk sheh nëse CSS-ja përdor veti logjike, dhe nuk e vlerëson dot layout-in real.
Mospërputhje midis tekstit të analizuesit dhe matjes
| Teksti i analizuesit | Çfarë ndodh | Si u mat | Burimi |
|---|---|---|---|
| (asnjë) | Metoda thirret, vlera ruhet te të dhënat, dhe asnjë degë nuk e lexon. Një faqe arabisht pa dir=rtl nuk raportohet. | Ndryshorja `$rtl` përdoret vetëm te vargu i kthimit. — matur gjatë 5.10 | services/InternationalSeoAnalyzer.php:67 |
Kodi që e kryen matjen
services/InternationalSeoAnalyzer.php:161— InternationalSeoAnalyzer::checkRTLSupportservices/InternationalSeoAnalyzer.php:67— rtl