Autor Zpráva
David11
Profil
Dobrý den,
mám problém s vytvořením hebrejsky psané webové stránky (tzn. jazyk, který se píše zprava doleva).
Psát text zprava doleva pomocí tagů <bdo dir="rtl">text_zprava_doleva</bdo> umím. Textový html soubor mám jako UTF-8, takže do něj bez problémů mohu vložit libovolný (i "exotický" znak). Domnívám se tedy, že hebrejskou stránku bych vytvořit uměl, kdyby nenastala komplikace, kterou jsem vůbec nečekal. Nedaří se mi ten přeložený hebrejský text vložit do toho textového souboru s html kódem. Resp. když ho tam vložím, velice podivně mi to na daném řádku zpřehází znaky '<' a '>' resp. i normální kulaté závorky '(' a ')', pokud je onen hebrejský text obsahuje. Netušíte prosím někdo v čem by mohl být problém? Resp. jestli jde nějak vypnout (např. v Notepadu resp. jakémkoli jiném jednoduchém textovém editoru) u hebrejsky psaného textu podpora psaní zleva doprava? (podporou psaní zprava doleva mám na mysli např. to, že kurzor se v hebrejském textu pohybuje opačně = pravá šipka má za následek posun doleva apod., což pak na rozhraních hebrejského a normálního textu způsobuje velice zvláštní chování, viz výše - domnívám se, že kdyby se mi to podařilo vypnout, můj problém by to vyřešilo - a bylo by mi úplně jedno, že v takovémto Notepadu bez podpory psaní zprava doleva by se mi ten text zobrazoval špatně tzn. z hlediska hebrejštináře "pozpátku"). Naivně jsem si to celé představoval tak, že jen zkopíruji hebrejský text na správná místa do html souboru a bude to hotové. Ale ono to (kvůli tomu, že Notepad pozná, že se jedná o text psaný jazykem, který se píše zprava doleva) takhle jednoduše prostě nejde...
Nemohl byste mi prosím někdo poradit? Díky moc.
Xanomes
Profil
David11:
Takže problém je v tom, že tvůj editor přepne směr psaní a pak se chová podivně? Řešení by pro tebe mohlo být vytvořit soubor na kod.djpw, tam to funguje "normálně". Protože jsem Linuxák, napadá mne ještě primitivní terminálový editor textu nano, ale ten pravděpodobně nebudeš moci použít. Kod.djpw se mi tak jeví jako nejlepší možnost.
David11
Profil
Díky. Z toho editoru na webu se mi nedaří získat soubor, ve kterém by byly jen ty texty, které mají být jako html kód (když dám uložit jako, vždy mi to uloží zřejmě celou tu stránku - nepodařilo se mi přijít na to, jak uložit do texťáku jen ten html kód.
Nicméně zapátral jsem zde na jakpsatweb.cz a našel jsem tam zmínku o Notepadu++. Stáhl jsem si ho a chová se o poznání lépe než obyčejný Notepad, bohužel ale stejně, ve snaze o "jakousi podporu hebrejského textu", se chová způsobem, kterému nerozumím a ve webovém prohlížeči to pak v některých případech vypadá jinak, než jak to vypadat má.
Ale celý tento můj problém je vlastně způsoben tím, že "lpím" na tom, že tam chci mít ten kód <bdo dir="rtl">hebrejsky_text</bdo>. Tento kód je nutný, pokud bych chtěl zobrazovat pozpátku (tzn. zprava do leva) normální např. český text (což samozřejmě nechci). Pokud ale zobrazuji v html hebrejský text, zobrazuje se zprava do leva i bez toho tagu bdo. A pokud tam ten tag napíšu, zobrazuje se také správně (tzn. také zprava doleva, tzn. úplně beze změny, jako by tam ten tag bdo nebyl! - to mě fakt dostává - na normální český text - tam, kde to nepotřebuji - ten tag funguje přesně tak, jak bych očekával - a na hebrejský text nemá vůbec vliv, tzn. webový prohlížeč nějak "inteligentně" pozná, že již jednou, nějak "sám" ten text zobrazil zprava do leva a ten tag bdo pak na to už žádný další vliv nemá, nezobrazí to "dvakrát pozpátku", tedy vlastně normálně, ne pozpátku.)
OK, takže bych se mohl na ty tagy bdo vykašlat a doufat, že neexistuje prohlížeč, který by ten hebrejský text neuměl "sám od sebe" nějak "inteligentně" zobrazovat zprava doleva. Já se naivně domníval (když jsem zjistil, že ten tag bdo na zobrazování hebrejského textu nemá žádný vliv), že ho tam dám pro jistotu proto, aby se to zobrazovalo správně i v (zřejmě nějakých starších) prohlížečích, které, aby to zobrazily zprava do leva, to bdo "staromilsky" vyžadují. Čili je to z mé strany zbytečná obava a mám se (protože se mi u složitějších textů, kde je třeba část řádku hebrejsky a část normální latinkou - a navíc jsou tam závorky - nedaří v mých stávajících textových editorech ty hebrejské texty těmi tagy "obalit") - mám se tedy spoléhat na to, že všechny prohlížeče již dnes "inteligentně" poznají, že se jedná o hebrejský text a zobrazí ho správně i bez těch tagů bdo? A možná to (u některých "méně inteligentních" prohlížečů) navíc třeba zabrání tomu, aby ten prohlížeč nejdřív "sám od sebe" ten hebrejský text napsal správně "pozpátku, ale ten tag by navíc třeba mohl způsobit to, že se ta operace "pozpátku" provede ještě jednou a ve výsledku to nebude "pozpátku", takže špatně?
Fakt nechápu, proč ve webovém prohlížeči ta podpora "u hebrejského textu pozpátku samo od sebe" vůbec je. Já postupoval tak, že jsem si nejdřív zjistil, jak se v html pracuje s jazyky psanými zprava do leva, vyzkoušel jsem si to na českém textu, vše krásně fungovalo a teprve potom jsem se odhodlal si tu stránku nechat přeložit do hebrejštiny. A když jsem obdržel hebrejský překlad a zkoušel jím nahradit ty mé "zkušební české texty pozpátku", nestačil jsem se divit... fakt nechápu, proč se to takhle chová...
Čili abych přestal brečet a k něčemu se dobral - domníváte se, že tedy to bdo nemám vůbec používat a mám se spoléhat na to, že to stejně (snad) všechny prohížeče zobrazí správně "samy od sebe"?
Xanomes
Profil
David11:
Z toho editoru na webu se mi nedaří získat soubor, ve kterém by byly jen ty texty, které mají být jako html kód (když dám uložit jako, vždy mi to uloží zřejmě celou tu stránku - nepodařilo se mi přijít na to, jak uložit do texťáku jen ten html kód.
Až budete mít kód hotový, klikněte nahoře na tlačítko "Uložit a získat odkaz". Vedle tohoto tlačítka se objeví adresa kódu a šipka. Když kliknete na tu šipku, otevře se vám stránka se samotným zdrojovým kódem (tedy soubor ke stažení).

ve snaze o "jakousi podporu hebrejského textu", se chová způsobem, kterému nerozumím a ve webovém prohlížeči to pak v některých případech vypadá jinak, než jak to vypadat má.
Zdá se, že se snaží stejně jako ostatní editory "inteligentně" a tak píše tak, jak jsou Židé zvyklí, i kód (tedy zprava doleva). Řešení opravdu je používat "primitivní" editor.

mám se tedy spoléhat na to, že všechny prohlížeče již dnes "inteligentně" poznají, že se jedná o hebrejský text a zobrazí ho správně i bez těch tagů bdo?
Domnívám se, že dát ten kód dohromady v kod.djpw a pak ho jen stáhnout bude jednodušší.

A možná to (u některých "méně inteligentních" prohlížečů) navíc třeba zabrání tomu, aby ten prohlížeč nejdřív "sám od sebe" ten hebrejský text napsal správně "pozpátku, ale ten tag by navíc třeba mohl způsobit to, že se ta operace "pozpátku" provede ještě jednou a ve výsledku to nebude "pozpátku", takže špatně?
To není možné, protože tag má atribut dir="rtl", což znamená, žetag bude vždy zobrazovat text zprava doleva (rtl = right to left).

Fakt nechápu, proč ve webovém prohlížeči ta podpora "u hebrejského textu pozpátku samo od sebe" vůbec je. Já postupoval tak, že jsem si nejdřív zjistil, jak se v html pracuje s jazyky psanými zprava do leva, vyzkoušel jsem si to na českém textu, vše krásně fungovalo a teprve potom jsem se odhodlal si tu stránku nechat přeložit do hebrejštiny. A když jsem obdržel hebrejský překlad a zkoušel jím nahradit ty mé "zkušební české texty pozpátku", nestačil jsem se divit... fakt nechápu, proč se to takhle chová...
Jak jsem již psal, snaží se chovat "inteligentně" a tím ve vašem případě dojde k chování velice neinteligentnímu.

Čili abych přestal brečet a k něčemu se dobral - domníváte se, že tedy to bdo nemám vůbec používat a mám se spoléhat na to, že to stejně (snad) všechny prohížeče zobrazí správně "samy od sebe"?
Nic takového jsem neřekl a myslím si, že sepsat ten kód v nějakém primitivnějším editoru (třeba zmiňovaný kod.djpw) bude jednodušší.
_es
Profil
David11:
Pokud ale zobrazuji v html hebrejský text, zobrazuje se zprava do leva i bez toho tagu bdo.
Keď chceš, aby sa v bdo zobrazoval hebrejský text opačne, tak asi treba použiť opačnú hodnotu než má byť pre hebrejský text, teda <bdo dir=ltr>.
David11
Profil
Díky za rady. Nakonec jsem zjistil, že se ten djpw chová obdobně jako ten Notepad++, ale v obou případech to bylo zřejmě nepochopení na mé straně. Každopádně jak s djpw, tak s Notepadem++ by to snad mělo vždy jít zeditovat správně.

Měl bych ale ještě dva další dotazy:

Dá se ten tag <bdo> používat vnořeně? Resp. je to korektní použití? Jde mi o to, že potřebuji, aby "hlavní tok textu" byl zprava doleva (dir="rtl") a některé části uvnitř ale aby byly normálně zleva doprava (dir="ltr") a abych toho docílil bez nějakého nesmyslného zpřeházení těch jednotlivých částí, zkusil jsem to použít takhle:
<bdo dir="rtl">Hebrejsky_text1 <bdo dir="lrt">text_latinkou1</bdo> Hebrejsky_text2 <bdo dir="lrt">text_latinkou2</bdo></bdo>
(v IE se mi to zobrazilo tak jak jsem čekal - ale je to tak korektní a zobrazí to správně i v ostatních prohlížečích?)

A druhý dotaz:
Jak zobrazit zprava do leva text v title u odkazu? Toho se mi u normálního latinkového textu nijak nedaří dosáhnout (u hebrejského se to dělá automaticky - ale když už se tedy snažím zajistit to zobrazování textů zprava doleva pomocí dir="rtl", rád bych ten text v tom title viděl zprava doleva i u normálního latinkového textu, což se mi nedaří. Tohle
<bdo dir="rtl"><a href="test.htm" title="(popis testu)">TEST</a></bdo>
zobrazí zprava doleva jen to "TEST", ale nikoli to "(popis testu)"
Nevíte jak docílit toho, aby se zobrazovalo zprava doleva i to "(popis testu)"?
_es
Profil
David11:
Smer textu môžeš meniť nielen pomocou HTML elementu bdo, ale aj v CSS a aj v texte v Unicode sú na to nejaké špeciálne „prepínacie znaky“ - to by mohlo fungovať na text v HTML atribúte. Podrobnosti si skús nájsť sám. Nemá však zmysel meniť hebrejský text na smer zľava doprava a európske jazyky na smer sprava. Bdo vnorené do iného bdo by nemalo byť nekorektné.
Tomáš123
Profil
David11:
V tomto prípade vnímam vnorené značky ako zbytočnú komplikáciu a zneprehľadnenie. Ak má byť celá stránka v hebrejštine, nastavenie smeru písania textu patrí k značkám <html> alebo <body>. Z možností ako toto správanie zmeniť sa mi javí najkorektnejšie použiť globálny atribút dir. Otázkou ostáva, či je potrebné riešiť vypisovanie znakov v opačnom poradí za prehliadač. Ak áno, tak je pár značiek lepšou obetou ako nepodpora (súvisiaci článok).
David11
Profil
Díky všem za rady.

_es:
Jasně, hebrejský text měnit na směr zleva doprava a evropské znaky na směr zprava doleva na žádné skutečné stránce samozřejmě nehodlám. Jen se ale nechci spoléhat na to automatické rozpoznání hebrejského textu (resp. automatické vypsání tohoto textu zprava doleva) a proto jsem se snažil přijít na to, jak zapsat evropskými znaky ten title tak, aby se při najetí myši zobrazoval "pozpátku" (tzn. zprava doleva). Snažím se na to přijít prostředky html, nikoli nějakými speciálními unicodovskými znaky, což mi přijde "čistší" (když už se tedy pokouším nespoléhat se na to automatické rozpoznávání, které asi také funguje na bázi unicode - rád bych to vyřešil na té nejnižší úrovni, tzn. na úrovni prostého html kódu.) Což se mi stále nedaří.

Tomáš123:
Stránka má být celá v hebrejštině, ale některá vysvětlení (tzn. několik izolovaných slov na stránce) mají být latinkou.
Chápu to správně, že když přiřadím dir="rtl" značkám <html> resp. <body>, zajistím, že jednotlivé bloky (uzavřené např. v tazích <bdo>) se budou řadit zprava doleva (a vypisování textů zprava doleva písmenko po písmenku uvnitř bloku pak zařídím tím <bdo dir="rtl">)?

A ještě mě mate toto:
Proč když do html kódu napíšu toto:
<p dir="rtl">Zprava doleva.</p>
zobrazí se to v prohlížeči takto:
.Zprava doleva
Proč to tu tečku dá na začátek a zbytku textu se to dir="rtl" nijak netkne? To je to, co mě mate. Podobně "divně" (tedy z mého laického pohledu divně) se chovají závorky, např. kód:
<p dir="rtl">test (obsah závorky)</p>
vypíše:
(test (obsah závorky
Tomuhle už fakt nerozumím. Proč to v tomto případě nejen že tu ukončovací závorku dá na začátek, ale ještě z ní udělá závorku otevírací??? To mi fakt hlava nebere...
A zajímavé též je, že kód:
<p dir="rtl">Zprava doleva</p>
se vypíše takto:
Zprava doleva
- čili není to tak, že by to poslední znak vždy přesouvalo na začátek - na začátek přesouvá pouze některé znaky (jako např. tečku nebo závoku) to dá na začátek (a u té závorky to navíc změní uzavírací závorku na otevírací...)
_es
Profil
David11:
Snažím se na to přijít prostředky html, nikoli nějakými speciálními unicodovskými znaky, což mi přijde "čistší"
rád bych to vyřešil na té nejnižší úrovni, tzn. na úrovni prostého html kódu.
Lenže v HTML nie je možnosť prepnúť zmer textu len pre obsah HTML atribútu. A tie špeciálne znaky slúžia práve na to, čo potrebuješ. Môžeš ich zapísať aj entitmi, aby si ich v kóde ľahko videl. Akú „nižšiu úroveň“ než jednotlivé znaky Unicode by si chcel?

Ku zvyšku otázky, viď Obecné atributy » dir. Inde ako v bdo sa atribút dir chová „inak“.
David11
Profil
_es:
Díky. Jasně, jinde než v bdo se atribut dir chová "jinak" (viz ten odkaz Obecné atributy >> dir: "nemám s ním dobré zkušenosti, chová se poněkud zmateně." ; - )
S těmi unicode znaky máš pravdu, ano, určitě by mi to vyhovovalo, zapsat tam ty unicode znaky, zvlášť když jdou zapsat entitami. Našel jsem si entity &lrm; a &rlm; , bohužel mám pocit, že vůbec nefungují - ať je napíšu kamkoli, nemají na kód žádný vliv (zkoušel jsem to v IE a Chrome).
Zkoušel jsem toto:
<a href="test.htm" title="&rlm;(popis testu)">&rlm;TEST</a>
resp. toto:
<a href="test.htm" title="&rlm;(popis testu)&lrm;">&rlm;TEST&lrm;</a>
a nemá to vůbec žádný vliv. Zkoušel jsem i v tagu meta změnit charset na UTF-8, ale to je pro test se "zpravolevěním" textu psaného evropskými znaky asi irelevantní - a taky nic... : - / Dělám něco špatně?
(a ještě doplňuji: to TEST "zpravolevit" umím, zafunguje tam bez problémů např. to
<a href="test.htm" title="(popis testu)"><bdo dir="rtl">TEST</bdo></a>
- v těch předešlých příkladech jsem to &rlm;TEST&lrm; uvedl jen proto, abych zdokumentoval to, že mi ty entity nezafungovaly nejen na obsah html atributu, ale i na text, na který bez problémů zafunguje to bdo. Samozřejmě mi teď jde jen o to, jak pomocí těch entit "zpravolevit" obsah html atributu.)
_es
Profil
David11 [#11]:
Čo som skúšal, tak:
<div title="abcdefgh&#x202E;abcdefgh&#x202C;abcdefgh">abcdefgh&#x202E;abcdefgh&#x202C;abcdefgh</div>
niekde funguje, niekde nefunguje pre title.
Obávam sa však, že týmto „tvrdým nastavovaním“ smeru textu môžeš spraviť viac škody ako úžitku. Nie všetko asi musí byť v arabskom či hebrejskom texte sprava doľava.
Tomáš123
Profil
David11:
Chápu to správně...
Aj ja som to musel iba vyskúšať... Správanie je zrejmé z ukážky; <bdo> dedí smer písania textu, takže nie je potrebné atribút dir uvádzať. Na druhej strane, pri uvedení sa žiadna negácia nekoná.

Zkoušel jsem toto ...
Dve kombinácie si vynechal.

Obrátiť text v popise ide zrejme iba pomocou entít. CSS nezaberá...

Súhlasim s _esom, že takéto umelé nastavovanie može škodiť.


Mohol by som poprosiť moderátora o presun vlákna do kategórie HTML?

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: