Kalo te përmbajtja
SEO Analyzer

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 CSSmargin-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

Kjo faqe ndjek matjen, jo tekstin që prodhon analizuesi.
Teksti i analizuesitÇfarë ndodhSi u matBurimi
(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.10services/InternationalSeoAnalyzer.php:67

Kodi që e kryen matjen

  • services/InternationalSeoAnalyzer.php:161InternationalSeoAnalyzer::checkRTLSupport
  • services/InternationalSeoAnalyzer.php:67rtl

Standardi