Klucz dostępu n przeskakuje w nawigacji strony. Przejdź do początku.

Ten dokument jest tłumaczeniem. W przypadku rozbieżności i błędów aktualna wersja angielska powinna być uznana za autorytatywną. Pierwotne prawa autorskie należą do W3C jak wykazano poniżej.

Tłumacz: K.Wiśniewski

s_gotoW3cHome Internacjonalizacja
 

Tagowanie tekstu bez języka

Potencjalni odbiorcy: Koderzy XML oraz XHTML/HTML (używający edytorów, lub skryptowania), deweloperzy skryptów (PHP, JSP, itp), deweloperzy schema (DTDs, XML Schema, RelaxNG, iyp.), oraz każdy, kto chce wiedzieć jak znaczyć treść informacjami językowymi, gdy żaden język nie ma zastosowania.

Pytania

Jak używać znaczników w HTML, lub XML gdy nie zna się języka, lub jest to treść niejęzykowa?

Tło informacyjne

W HTML lub formatach oparty na XML zawsze powinno się zidentyfikować język tekstu, jeśli jest on znany, w taki sposób, aby aplikacje takie jak, na przykład, przeglądarki głosowe, akrusze stylów i tym podobne mogły przetworzyć tekst. W formatach opartych na XML przeważnie używa się atrybutu xml:lang , a w XHTML/HTML atrybutów lang lub/oraz xml:lang. (Zobacz Deklarowanie języka w XHTML i HTML po szczegółowe informacje o tagowaniu języków w HTML.)

Ustawienie języka dla całego dokumentu można zmieniać miejscowo, na przykład jesli chcemy użyć orginalnego cytatu w innym języku niż obecny dokument, używając odpowiednich atrybutów na początku i końcu danego fragmentu.

Załóżmy, że mamy tekst, który nie prezentuje żadnego języka naturalnego, na przykład próbki czcionek, ciągi liczb, przykłady danych binarnych, itp. Co się dzieje w sytuacji, gdy weźmiemy tekst z bazy danych i nie mamy żadnych informacji o tym w jakim języku został napisany?

Odpowiedź

Odpowiedź na to pytanie składa się z dwóch części. Ten artykół używa przykładów xml:lang, ponieważ jest to zalecany sposób deklarowania języka w formatach opartych na XML.

Gdy tekst jest niejęzykowy

Gdy wiemy, że tekst nie jest w żadnym języku używamy podtagu zxx.

Ma to zastosowanie w przypadku próbek czcionek, ciągów liczb, przykładów danych binarnych, itp. Definicja zxx w Language Subtag Registry to 'brak treści językowej'.

Na przykład:

<p>Lista numerów identyfikacyjnych: <span xml:lang="zxx" lang="zxx">9RUI34 8XOS12 3TYY85</span>.</p>

Gdy język jest nieznany

Jeśli format XML który używasz obsługuje xml:lang="", użyj go, w przeciwnym wypadku użyj xml:lang="und".

Wartości te oznaczją, że nie możemy określić jakie jest język informacji, lub czy tekst jest niejęzykowy. Na przykład, można użyć xml:lang="" jeśli baza danych jest zawarta w dokumencie, ale nie dostarcza informacji językowych i nie możemy być pewni z jakim językiem mamy do czynienia. Ma to na celu zapobieganie zastosowania w tym konkretnym tekście informacji językowych zadeklarowanych wyżej w hierarchii elementów w dokumencie.

Jednakże, powinno się opisywać tekst jako nieokreślony tylko wtedy gdy nie można pozostawić go takim jaki jest. W praktyce oznacza to, że powinno się używać znacznika xml:lang tylko jeśli nieokreżlony tekst jest wpleciony w jakąś treść, która ma już przypisany język, lub jeśli użycie tego znacznika jest wymagane na poziomie dokumentu przez format, którego się używa.

xml:lang="" zadziała tylko pod warunkiem, że schemat, która opisuje format dokumentu pozwala na pusty ciąg wartości xml:lang. Na przykład, ponieważ XHTML DTD charakteryzują xml:lang w taki sposób, że pusty ciąg wartości dla atrybutu xml:lang jest zabroniony, nie można użyć pustego ciągu w XHTML.

Dla tych, którzy orientują się jak działają schematy DTD i inne: Atrybut xml:lang przybiera wartości NMTOKEN w schemacie HTML więc nie mogą one być puste. W XML DTD zadeklaruj, jeśli to możliwe, xml:lang jako CDATA aby pozwalać na puste wartości.
Dla użytkowników schematów XML: można odnieść się do schematu XML dla przestrzeni nazw XML.

Sugestie dla XHTML/HTML Dla XHTML oraz HTML
Powinno się używać und jeśli jest potrzeba wyrażenia nieokreślonej natury tekstu zawartego w dokumencie, ponieważ (jak wspomniano powyżej) xml:lang="" jest niedozwolony. W rzadkich przypadkach, gdy cały dokument ma niezdefiniowany język, łatwiej jest nie deklarować domyślnego języka dokumentu.

To samo dotyczy atrybutu lang w HTML (z tego samego powodu).

Dodadkowe informacje

Jest to podsumowanie dyskusji dostępnej w wątku na www-international@w3.org, oraz dalszej kontynuacji.

Martin Dürst sugeruje że można tak zdefiniować format XHTML/HTML w obrębie dokumentu, aby stworzyć stronę HTML/XHTML, która waliduje podczas użycia lang="" or xml:lang="". Nie zaleca się jednak nadmiernego używania takiego przedefiniowania, ponieważ taki dokument nie będzie zgodny z XHTML 1.0.

Powiedz nam co myślisz (po angielsku).

Prenumeruj kanał RSS.

Nowe źródła

Wiadomość ze strony głównej

Twitter (Wiadomość ze strony głównej)

‎@webi18n

Warto przeczytać

Autor: Richard Ishida, W3C. Tłumacz: K.Wiśniewski.

Ważny XHTML 1.0!
Ważne CSS!
Zakodowano w UTF-8!

Angielska wersja dokumentu z dnia 2007-10-30. Tłumaczenie wykonano dnia 2011-05-03 20:44 GMT

Historia zmian dokumentu qa-no-language w blogu i18n.