Атрибут lang | htmlbook.ru
Internet Explorer | Chrome | Opera | Safari | Firefox | Android | iOS |
6.0+ | 1.0+ | 3.5+ | 1.0+ | 1.0+ | 1.0+ | 1.0+ |
Описание
Текст документа может быть набран как на одном языке, так и содержать вставки на других языках, которые могут различаться по своим правилам оформления текста. Например, для русского, немецкого и английского языка характерны разные кавычки, в которые берется цитата. Чтобы указать язык, на котором написан текст внутри текущего элемента и применяется атрибут lang. Браузер использует его значение для правильного отображения некоторых символов.
Синтаксис
lang="код языка"
Значения
См. коды языков
Значение по умолчанию
Нет.
Применяется к тегам
<a>, <abbr>, <acronym>, <address>, <applet>, <area>, <b>, <basefont>, <bdo><bgsound>, <big>, <blockquote>, <body>, <br>, <button>, <caption>, <center>, <cite>, <code>, <col>, <colgroup>, <dd>, <del>, <dfn>, <dir>, <div>, <dl>, <dt>, <em>, <embed>, <fieldset>, <font>, <form>, <frame>, <h2>, <h3>, <h4>, <h5>, <h5>, <h6>, <hr>, <i>, <iframe>, <img>, <input>, <ins>, <isindex>, <kbd>, <label>, <legend>, <li>, <link>, <map>, <marquee>, <menu>, <nobr>, <object>, <ol>, <option>, <p>, <plaintext>, <pre>, <q>, <s>, <samp>, <select>, <small>, <span>, <strike>, <strong>, <sub>, <sup>, <table>, <tbody>, <td>, <textarea>, <tfoot>, <th>, <thead>, <tr>, <tt>, <u>, <ul>, <var>, <wbr>, <xmp>
Пример
HTML5IECrOpSaFx
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Атрибут lang</title> <style> p { font-size: 130%; /* Размер текста */ } q:lang(de) { quotes: "\201E" "\201C"; /* Вид кавычек для немецкого языка */ } q:lang(en) { quotes: "\201C" "\201D"; /* Вид кавычек для английского языка */ } q:lang(fr), q:lang(ru) { /* Вид кавычек для русского и французского языка */ quotes: "\00AB" "\00BB"; } </style> </head> <body> <p>Цитата на французском языке: <q lang="fr">Ce que femme veut, Dieu le veut</q>. </p> <p>Цитата на немецком: <q lang="de">Der Mensch, versuche die Gotter nicht</q>.</p> <p>Цитата на английском: <q lang="en">То be or not to be</q>.</p> </body> </html>
Результат данного примера показан на рис. 1. Для отображения типовых кавычек в примере используется стилевое свойство quotes, а само переключение языка и соответствующего вида кавычек происходит через атрибут lang, добавляемый к тегу <q>.
Рис. 1. Вид кавычек для разных языков
Коды языков | htmlbook.ru
Management
Атрибуты тегов
Значения атрибутов
Код языка применяется для атрибутов, задающих язык, на котором написан весь документ или отдельные его блоки. В HTML язык обычно задается через атрибут lang.
В табл. 1 приведены некоторые распространенные языки и их коды, которые используются в качестве значений.
Язык | Код |
---|---|
Абхазский | ab |
Азербайджанский | az |
Аймарский | ay |
Албанский | sq |
Английский | en |
Американский английский | en-us |
Арабский | ar |
Армянский | hy |
Ассамский | as |
Африкаанс | af |
Башкирский | ba |
Белорусский | be |
Бенгальский | bn |
Болгарский | bg |
Бретонский | br |
Валлийский | cy |
Венгерский | hu |
Вьетнамский | vi |
Галисийский | gl |
Голландский | nl |
Греческий | el |
Грузинский | ka |
Гуарани | gn |
Датский | da |
Зулу | zu |
Иврит | iw |
Идиш | ji |
Индонезийский | in |
Интерлингва (искусственный язык) | ia |
Ирландский | ga |
Исландский | is |
Испанский | es |
Итальянский | it |
Казахский | kk |
Камбоджийский | km |
Каталанский | ca |
Кашмирский | ks |
Кечуа | qu |
Киргизский | ky |
Китайский | zh |
Корейский | ko |
Корсиканский | co |
Курдский | ku |
Лаосский | lo |
Латвийский, латышский | lv |
Латынь | la |
Литовский | lt |
Малагасийский | mg |
Малайский | ms |
Мальтийский | mt |
Маори | mi |
Македонский | mk |
Молдавский | mo |
Монгольский | mn |
Науру | na |
Немецкий | de |
Непальский | ne |
Норвежский | no |
Пенджаби | pa |
Персидский | fa |
Польский | pl |
Португальский | pt |
Пуштунский | ps |
Ретороманский | rm |
Румынский | ro |
Русский | ru |
Самоанский | sm |
Санскрит | sa |
Сербский | sr |
Словацкий | sk |
Словенский | sl |
Сомали | so |
Суахили | sw |
Суданский | su |
Тагальский | tl |
Таджикский | tg |
Тайский | th |
Тамильский | ta |
Татарский | tt |
Тибетский | bo |
Тонга | to |
Турецкий | tr |
Туркменский | tk |
Узбекский | uz |
Украинский | uk |
Урду | ur |
Фиджи | fj |
Финский | fi |
Французский | fr |
Фризский | fy |
Хауса | ha |
Хинди | hi |
Хорватский | hr |
Чешский | cs |
Шведский | sv |
Эсперанто (искусственный язык) | eo |
Эстонский | et |
Яванский | jw |
Японский | ja |
html — Как правильно разобрать русский текст с помощью Python 2.
7 и BeautifulSoup? Пытаюсь разобрать все посты с русского сайта (http://games4you.ucoz.ua/news/). Я использую Python 2.7.9 и BeautifulSoup 4. Я работаю в PyCharm. Я много чего перепробовал, чтобы заставить его работать, но все равно вместо русского текста получаю: '\u0421\u0442\u0440\u0430\u0442\u0435\u0433\u0456\u0457'
Это мой код:
# Парсинг информации с games4you.ucoz.ua # -*- кодировка: utf-8 -*- импортировать повторно импортировать CSV импортировать urllib из bs4 импортировать BeautifulSoup BASE_URL = "http://games4you.ucoz.ua/news/" защита get_html (URL): ответ = urllib.urlopen(url) вернуть ответ.читать() защита get_page_count (html): суп = BeautifulSoup(html) разбиение на страницы = суп.найти('div', class_='catPages1') return int(paggination.find_all('a')[-2].text) защита сохранения (игры, путь): # с open(path, 'w') как csvfile: # писатель = csv.writer(csvfile) # #writer.writerow(('Название', 'Категория', 'Дата', 'Время')) # # писатель. writerows( # (game['title'], ', '.join(game['category']), game['date'], game['time']) для игры в играх # ) с открытым (путь, 'w+') как f: f.write(str(игры).encode("UTF-8")) деф синтаксический анализ (html): суп = BeautifulSoup(html) # Получение, содержащего все сообщения на странице all_entries = суп.найти('div',id='allEntries') # Получение всех сообщений (каждая таблица представляет собой одно сообщение) таблицы = all_entries.find_all('table',class_='eBlock') # Создание списка словарей для информации об играх игры = [] для таблицы в таблицах: пытаться: # Получение названия игры game_title = таблица.tr.td.a.text game_post_body = table.find('div',class_='eMessage') # Получение описания игры game_description = game_post_body.p.text.split('....')[0] + '.' game_details = table.find('div',class_='eDetails') # Получение категории игры game_category = game_details.a.text game_post_details = game_details.text кроме: напечатать «Некоторая ошибка» продолжать # Получение подсчета просмотров поста post_views = game_post_details[:game_post_details.find('функция')].split()[-2] # Получение даты поста post_date = game_details.span.text # Получение времени публикации post_time = game_details.span['название'] # print 'Название игры: ',game_title,'\n' # print 'Просмотры: ',post_views,'\n' # print 'Категория игры: ',game_category,'\n' # print 'Описание игры: ','\n',game_description,'\n' # print 'Дата публикации: ',post_date,'\n' # print 'Время публикации: ',post_time,'\n' games.append({ 'название': game_title, 'категория' : game_category, 'описание' : game_description, 'дата': post_date, 'время': post_time }) вернуть игры деф основной(): total_pages = get_page_count(get_html(BASE_URL)) print('Всего найдено %d страниц.