Для чего нужен атрибут translate

В HTML5 до­бав­лен но­вый ат­ри­бут translate

Как это работает? Скопировать ссылку

Обычно либо автор текста, либо среда вывода, которая автоматически формирует текст, ставит этот атрибут в разметку страницы. Кроме того, в ситуации промышленного перевода локализаторы могут добавлять этот атрибут на стадии подготовки перевода, чтобы избежать множества ошибок перевода при большом количестве языков в одном тексте.

На рендеринге страницы этот атрибут никак не сказывается (впрочем, можно добавить к нему свои стили, если вы найдёте для этого повод). Планируется, что этот атрибут в основном будет полезен для тех инструментов, которые используются в процессе перевода текста — будь это тщательная работа профессиональных переводчиков, быстрые API или облачные сервисы перевода коротких текстовых фрагментов.

Если установить этот флаг на элемент, то же самое значение будет применено ко всем вложенным элементам и атрибутам этих элементов.

Зачем это нужно? Скопировать ссылку

Потребность в этом встречается довольно-таки часто. В спецификации HTML5 есть пример с игрой про пчелу и мёд. Вот похожий, но на этот раз реальный пример из моего опыта работы в Xerox, где документация, которая переводилась на другой язык, относилась к устройству, на котором текст находился прямо на «железе» и поэтому не переводился.

Оригинальный текст на английском — прим. переводчика.

Текст при переводе на русский язык — прим. переводчика.

Оригинальный текст на английском — прим. переводчика.

При переводе на русский язык. На русском языке в таких случаях, впрочем, название работы обычно принято переводить — прим. переводчика.

Следующий пример со страницы о французском хлебе — «хлеб» по-французски «pain».

Оригинальный текст на английском — прим. переводчика.

При переводе на русский язык. Речь идёт о французской компании, которая называется «french pain» — прим. переводчика.

Как обстоят дела у Google Translate и Microsoft Translator? Скопировать ссылку

Службы перевода Google и Microsoft и ранее предоставляли возможность предохранять текст от перевода посредством добавления разметки, но делали они это (несколькими) разными способами. Будем надеяться, что новый атрибут очень поможет тем, что предоставит стандартный подход.

Во всех этих проприетарных системах, впрочем, есть масса нестандартных способов синтаксически выразить эту же идею (даже если мы говорим только о Google и Microsoft).

Также непонятно, кстати, и с тем, и с другим сервисом перевода, как делать доступными для перевода вложенные элементы внутри элемента, для которого translate установлено в значении no — а это иногда может понадобиться.

Как говорилось выше, новый HTML5-атрибут использует простую и стандартную возможность HTML, которая может заменить и упростить все эти различные подходы. И, конечно, это поможет авторам создавать такое текстовое содержимое, настройки локализации которого будут работать и с другими системами.

Больше, чем просто атрибут translate Скопировать ссылку

с указанным классом должны иметь флаг translate в значении no в каком-либо конкретном наборе документов.

Накануне публикации перевода был представлен первый рабочий черновик ITS 2.0, следующей версии спецификации — прим. редактора.

Кстати, в ближайших планах W3C есть организаций новой рабочей группы совместно с проектом Европейской Комиссии — MultilingualWeb-LT — чтобы дальше развивать идеи по спецификации ITS и разработать ряд её практических реализаций. Помимо всего прочего, эта группа будет искать новые способы интеграции нового атрибута translate в процессы и стандарты индустрии локализации. Ждите, скоро всё будет!

Источник

HTML5

Словарь и соответствующие API для HTML и XHTML

Рекомендация W3C от 28 Октября 2014

3 Семантика, структура и API HTML-документов

3.2 Элементы

3.2.5.1 Атрибут

Значение данного атрибута должно быть уникальным среди всех ID в домашнем поддереве элементов, а также должно содержать не менее одного символа. При этом значение не должно содержать пробельных символов.

Отсутствуют ограничения на то, какие значения может принимать ID, в частности, идентификаторы могут состоять только из цифр, начинаться с цифры, с символа подчеркивания, состоять только из знаков препинания и т.д.

уникальный идентификатор элемента может быть использован для различных целей, в первую очередь для установки якоря, в конкретной части документа используя идентификаторы фрагментов, потом как способ указания уникального имени элемента для работы с ним из скриптов, а так же для того чтобы установить CSS стиль для конкретного элемента.

3.2.5.2 Атрибут title

Атрибут представляет справочную информацию для элемента, например, в виде всплывающей подсказки. При указывании атрибута в теге ссылки, он может выполнять роль названия или описания целевого ресурса; в изображении может выполнять роль альтернативы изображению или описание изображения; в теге абзаца может выполнять роль сноски или комментария к тексту; в цитате может выполнять роль дополнительной информации об источнике; в интерактивном содержимом может выполнять роль отметки или инструкции к использованию элемента; и так далее. В качестве значения данного атрибута может выступать любой текст.

Полагаться на атрибут title в настоящее время не рекомендуется, поскольку многие агенты пользователей не предоставляют атрибут в доступной форме в соответствии с требованиями настоящей спецификации (например, требуется указывающее устройство, такое как мышь, чтобы вызвать всплывающую подсказку, что исключает не только устройства, использующие только клавиатуру, но и устройства, использующие только сенсорное управление, такие как любой современный телефон или планшет).

Если этот атрибут опущен из элемента, то подразумевается, что атрибут title ближайшего предка являющегося HTML элементом с title атрибутом является также актуальным по отношению к данному элементу. Установка данного атрибута переопределяет это правило, прямо указывая, что справочная информация от любых родительских элементов больше не имеет отношения к этому элементу. Установка пустой строки в качестве значения данного атрибута означает, что у элемента отсутствует всплывающая подсказка.

Если значение title атрибута содержит «LF» (U+000A) символы, то содержание разделяется на несколько строк. Каждый «LF» (U +000A) символ во всплывающей подсказке представляет символ перевода строки.

Следует проявлять осторожность при переводе сроки в значениях title атрибутов.

Например, в следующем примере определение аббревиатурной расшифровки написано с разрывом строки:

элемента является значением, которое возвращает следующий алгоритм, с алгоритмом который прерывается, как только возвращается значение. Когда алгоритм возвращает пустую строку, то справочная информация отсутствует.

В противном случае, если элемент имеет родительский элемент, то возвращается справочная информация родительского элемента.

В противном случае, возвращается пустая строка.

Агенты пользователей должны информировать пользователя, когда элементы имеют справочную информацию, в противном случае информации не должно быть видно.

3.2.5.3 Атрибуты lang и xml:lang

XML атрибут в XML пространстве имён определён в XML. [XML]

Если данные атрибуты не указаны в элементе, то язык этого элемента совпадает с языком его родительского элемента, если таковой имеется.

Атрибут lang вне пространства имён может быть использован в любом HTML элементе.

Атрибут lang в XML пространстве имён может быть использован в HTML элементах в XML документах, а также в элементах других пространств имён, если позволяют это соответствующие технические характеристики (в частности, в MathML и SVG допускается использование lang атрибутов в XML пространстве имён указаных в их элементах). Если и атрибут lang не принадлежащий пространству имён и атрибут lang принадлежащий XML пространству имён указывается в одном элементе, то они должны иметь одинаковое значение без учёта ASCII регистра символов.

Авторы не должны использовать XML атрибут lang принадлежащий the XML пространству имён в HTML элементах HTML документов. Для облегчения перехода от XHTML, авторы могут указать атрибут не принадлежащий пространству имён без префикса и с буквальным локальным именем » xml:lang » в HTML элементах HTML документов, но такие атрибуты должны быть указаны только в случае, если для элемента уже указан атрибут lang не принадлежащий пространству имён, при условии, что оба этих атрибута имеют одинаковое значение без учёта ASCII регистра символов.

Атрибут вне пространства имён без префикса и с буквальным локальным именем » xml:lang » не влияет на обработку языка.

Для определения узла, агенты пользователей должны посмотреть на ближайший родительский элемент (в том числе и сам элемент, если узел является элементом), который имеет атрибут lang принадлежащий XML пространству имён или является HTML элементом, который имеет lang не принадлежащий пространству имён набора атрибутов. Данный атрибут задаёт язык узла (вне зависимости от его значения).

Если ни один узел, ни кто-либо из предков узла, включая корневой элемент, не имеет ни одного из данных атрибутов, но присутствует pragma-набор действий для установления языка по умолчанию, то это установленный таким образом язык является языком узла. Если нет pragma-набора действий для установления языка по умолчанию, то информация о языке, получается, от высокоуровневого протокола (например, HTTP), если таковой имеется, должен быть использован в качестве последнего резервного метода определения языка. В случае отсутствия какой-либо информации о языке, а также в случаях, когда протокол более высокого уровня предоставляет отчеты на нескольких языках, язык узла неизвестен и соответствующая метка языка является пустой строкой.

Если полученное значение является нестандартной меткой языка, то данное значение должно рассматриваться как неизвестный язык, имеющий данную метку языка отличающуюся от остальных языков. В целях кругооборота или общения с другими службами, которые ожидают языковые метки, web-браузеры должны оставить неизвестные метки языка без изменений, и пометить как языковые метки BCP 47, так чтобы впоследствии сервисы не интерпретировали данные как ещё один тип описания языка. [BCP47]

Так, например, элемент с lang=»xyzzy» будет соответствовать селектору :lang(xyzzy) (например в CSS), но не будет соответствовать :lang(abcde) хотя оба они одинаково недействительны. Аналогично, если веб-браузер и программа чтения с экрана, работают совместно обмениваясь информацией о языке элемента, браузер должен будет сообщать программе чтения с экрана, что меткой языка является «xyzzy», даже если он знает, что данная метка неверна, это делается на всякий случай для того, чтобы узнать поддерживает ли программа чтения с экрана язык с подобной меткой. Даже если программа чтения с экрана одновременно поддерживает BCP 47 и другие синтаксисы для кодирования названий языков, и в этом другом кодировании синтаксис строки «xyzzy» является одним из способов обозначения белорусского языка, было бы неправильным для программы чтения с экрана начать обрабатывать текст как белорусский, потому что «xyzzy» в BCP 47 кодах не описывается как белорусский (в BCP 47 для обозначения белорусского языка используется код «be»).

Если полученное значение является пустой строкой, то это значение должно быть интерпретировано как неизвестный язык узла.

Агенты пользователей могут использовать языковую метку для определения правильной обработки или визуализации (например, в выборе соответствующих шрифтов или произношения, для выбора словаря, или для пользовательских интерфейсов управления формой, таких как выбор даты).

IDL атрибут должен вернуть содержимое атрибута lang не принадлежащего пространству имён.

3.2.5.4 Атрибут translate

Атрибут является перечисляемым атрибутом, который используется для определения необходимости перевода значений атрибутов элементов и значений их дочерних Текстовых узлов в условиях, когда страница локализована.

Следующие атрибуты являются :

IDL атрибут должен вернуть true, если режим перевода элемента находится в состоянии поддержки перевода и false в противном случае. При использовании, он должен задать атрибуту значение » yes «, если новое значение является true/правдой или в противном случае задать значение » no «.

В данном примере, после локализации страницы, все её содержимое за исключением образца вводимого текста и образца результата работы программы должно быть переведено:

Источник

7 полезных атрибутов HTML, о которых не все знают

Для чего нужен атрибут translate. Смотреть фото Для чего нужен атрибут translate. Смотреть картинку Для чего нужен атрибут translate. Картинка про Для чего нужен атрибут translate. Фото Для чего нужен атрибут translate

Jun 29 · 2 min read

Для чего нужен атрибут translate. Смотреть фото Для чего нужен атрибут translate. Смотреть картинку Для чего нужен атрибут translate. Картинка про Для чего нужен атрибут translate. Фото Для чего нужен атрибут translate

Каждый веб-разработчик должен иметь навыки использования HTML. Без знания этого языка нельзя стать стать настоящим профессионалом. Любой сайт в интернете создан на основе HTML, потому что он включает множество полезных и эффективных функций. Кроме того HTML также имеет атрибуты, которые можно использовать совместно с элементами или тегами, чтобы добавить им определенные интерактивные функции.

Рассмотрим далее несколько таких полезных возможностей HTML, которыми не все пользуются.

1. Accept

Как известно, HTML имеет средства ввода, позволяющие загружать файлы. Для расширения этой возможности атрибут HTML accept используется для указания допустимых при загрузке на сервер типов файлов или формата.

Проверить это можно на сайте CodePen:

2. Multiple

3. Content editable

Этот код позволяет редактировать список сотрудников на веб-странице.

4. Download

Атрибут HTML download определяет загрузку после нажатия на ссылку. Этот атрибут позволяет пользователям скачивать файлы с сайтов.

5. Translate

Атрибут translate используется для того, чтобы указать, нужно или нет переводить содержимое. Это глобальный атрибут, он может быть прикреплен ко всем тегам HTML. Его можно использовать, например, на текстовых логотипах, чтобы сохранить оригинальное название бренда при переводе страницы на другой язык.

6. Poster

Атрибут poster используется для отображения изображения во время загрузки HTML видео или до тех пор, пока пользователь не нажмет кнопку воспроизведения.

Изображение будет отображаться в виде миниатюры для видео до тех пор, пока пользователь не нажмет кнопку воспроизведения.

7. Pattern

Заключение

Очевидно, что атрибуты HTML очень полезны. Их нужно знать, так как они позволяют добавлять к выражениям HTML полезные функции.

Источник

Объявление языка в HTML

Целевая аудитория: HTML кодеры, веб-разработчики (PHP, JSP, и т. д.), менеджеры веб-проектов, а также все, кто хочет лучше понимать, как объявлять язык текста на веб-странице.

Вопрос

Как установить язык содержимого моей HTML страницы?

Краткий ответ

Всегда используйте языковой атрибут тэга html для объявления языка по умолчанию на странице. Если страница содержит контент на другом языке, добавляйте языковой атрибут к элементам, окружающим этот контент.

Используйте lang атрибут для HTML страниц и xml:lang атрибут для страниц XML. Для XHTML 1.x и документов HTML5 Polyglot используйте оба атрибута вместе.

Используйте вложенные элементы для того, чтобы позаботиться о контенте и значения атрибутов для одинаковых элементов на разных языках.

Детали

Основы

Выбор корректного атрибута

Если ваш документ HTML (то есть обрабатывается, как text/html ), используйте lang атрибут для установки языка документа или блока текста. Например, следующий код установит французский языком по умолчанию:

Атрибут xml:lang не особо полезен для обработки HTML файлов, но он будет перекрывать значение lang атрибута каждый раз, когда вы обрабатываете документ, как XML. Атрибут lang разрешен синтаксисом XHTML и может быть распознан браузерами. Однако, когда используются другие синтаксические анализаторы XML (например, функция lang() в XSLT), вы не можете полагаться на то, что атрибут lang будет распознан.

Что, если содержимое элемента и значения его атрибутов на разных языках?

Иногда язык текста в атрибутах и язык непосредственно контента элемента различаются. Например, в правом верхнем углу этой статьи расположен список ссылок на другие переводы данной страницы. Текст ссылки отображает язык целевой страницы, но связанный title атрибут содержит подсказку на языке текущей страницы:

Для чего нужен атрибут translate. Смотреть фото Для чего нужен атрибут translate. Смотреть картинку Для чего нужен атрибут translate. Картинка про Для чего нужен атрибут translate. Фото Для чего нужен атрибут translate

Вместо этого, перенесите языковой атрибут в другой элемент, как показано в данном примере, в котором span элемент наследует en язык по умолчанию, установленный у html элемента.

Что если нет подходящего элемента для того, чтобы прицепить атрибут языка?

Выбор значений языка

Чтобы быть уверенными, что юзер агенты распознают указанный вами язык, вам следует придерживаться стандартизированному подходу при указании значений атрибутов языка. Вам также необходимо подумать о том, как стандартизированно ссылаться на различные диалекты одного языка, например, такие, как американский и британский английский, которые существенно отличаются своим написанием и произношением.

Правила создания языковых атрибутов описываются IETF спецификацией, которая называется BCP 47. Помимо описания использования простых тэгов языка таких, как en (английский) или fr (французский), BCP 47 описывает, как сочетать языковые тэги, что позволяет вам указывать региональные диалекты, скрипты и другие варианты, относящиеся к данному языку.

Неофициальная утилита Language Subtag Lookup предоставляет удобный фронтенд инструментарий для IANA registry.

Дополнительная информация

Указание метаданных о языке аудитории

Это пример HTTP заголовка, объявляющего ресурс смесью английского, хинди панджаби языков:

Content-Language: en, hi, pa

Обратите внимание, что этот подход не сработает, если страница загружается с жесткого диска, CD или другого источника, не являющегося сервером. В настоящее время нет широко распространенного способа использования таких метаданных внутри страницы.

Различные вещи, которые не относятся к делу

Вероятно, стоит упомянуть ещё несколько моментов, которые не имеют отношения к этой дискуссии.

Первое, невозможно объявить язык с помощью CSS.

Третье, иногда люди предполагают, что информация о естественном языке может быть получена из кодировки символов. Тем не менее, кодировка символов не позволяет однозначно идентифицировать естественный язык. Должно быть взаимно однозначное сопоставление между кодировкой и языком, чтобы это сработало, а его нет. Одна кодировка может быть использована многими языками, например Latin 1 (ISO-8859-1) используется и французским, и английским, а ещё многими другими языками. В дополнение, кодировка может отличаться в рамках одного языка, например арабский может использовать ‘Windows-1256’ или ‘ISO-8859-6’ или ‘UTF-8’.

Все эти примеры кодировок спорны, так как весь контент сегодня должен быть создан в UTF-8, который охватывает все, кроме самых редких, языки.

В некоторых текстах, таких, как арабский и иврит, отображаемый текст читается в основном справа налево, хотя числа и иностранные термины отображаются слева направо. Необходима разметка, такая, как dir атрибут, для объявления right-to-left содержания. И в некоторых случаях разметка необходима для правильного отображения двунаправленного текста, но это невозможно сделать с помощью разметки языка.

То же самое относится к направлению текста. Как и в случае с кодировками, не всегда существует соответствие между языком и текстом, в том числе его направлением. Например, азербайджанский может быть записан справа налево (арабская письменность) и слева направо (латиница и кириллица), соответственно код языка az может относится к обоим вариантам. Дополнительно, разметка направления текста применяет к тексту целый ряд различных значений, в то время, как язык является простым переключателем, который не соответствует поставленным задачам.

Источник

Зачем использовать атрибут языка?

Intended audience: шифровальщики HTML (используя редакторы или скрипты), разработчики скриптов (PHP, JSP, и т.д.), и каждый, кто задается вопросом, почему он должен использовать языковые атрибуты в HTML.

Question

Почему я должен использовать атрибут языка на веб-страницах?

Quick answer

Определение языка вашего контента позволяет автоматически сделать ряд вещей, от изменения внешнего вида и поведения страницы, к добыванию информации, изменению способа работы приложения. Некоторые из языковых программ работают на уровне документа в целом, некоторые работают с соответствующими отмеченными фрагментами документа.

Лучше всего добавить информацию о языке к вашему контенту сейчас для того, чтобы пожинать плоды тогда, когда появятся новые разработки. Это легко сделать при создании контента, но сложнее модернизировать позже.

Details

Здесь перечислены некоторые из случаев, в которых информация о языке полезна в данный момент, однако, так как спецификации и браузеры развиваются, то в будущем может быть много дополнительных программ для установки информации о языке.

Стилизация страниц

Например, возможно, потребуется изменить шрифты и межстрочный интервал, чтобы разместить различные алфавиты, кавычки сгенерированные с помощью стиля могут отличаться языком, ударение, возможно, надо будет выразить способами, которые зависят от языка, и т.д.

Следующий пример показывает, как можно было бы установить определенный шрифт для встроенного Арабского текста на странице.

Other typographic and layout features that are affected by language include line-breaking, justification, and case conversion, and more are coming as the specifications develop.

Выбор шрифта

Клиентские приложения могут использовать (и используют) информацию о языке для выбора соответствующих языку шрифтов, что улучшает общее впечатление пользователя от страницы.

Например, на странице закодированной в Unicode, текст на Упрощенном Китайском, Традиционном Китайском, Японском, и Корейском языках может разделять ту же самую точку кода для идеографических символов, но люди, которые говорят на этих языках ожидают глифы, которые используются для небольших изменений от языка к языку. При отсутствии явного стиля, примененного автором контента, некоторые браузеры автоматически назначают соответствующие шрифты согласно к языку контента. Иллюстрации на рисунке ниже показывают как повлияет на текст тот факт, если мы ничего не будем менять, но при наличии значения языкового атрибута в таких браузерах как Firefox или Internet Explorer.

Для чего нужен атрибут translate. Смотреть фото Для чего нужен атрибут translate. Смотреть картинку Для чего нужен атрибут translate. Картинка про Для чего нужен атрибут translate. Фото Для чего нужен атрибут translate

Поиск

Хотя автоматическое определение языка обычно используется крупными поисковиками для определения языка ресурсов, внутренняя разметка страницы может использоваться для улучшения качества результатов поиска, которые основанные на лингвистических предпочтениях пользователя.

Программы для проверки орфографии и грамматики

Средства разработки могут приспосабливать проверки правописания и грамматики, которые базируются на языке контента, или игнорировать контент, который не написан языком программы, которая проверяет правописание. Это может значительно повысить эффективность при проверке орфографии.

Перевод

Инструменты для перевода могут использовать языковые атрибуты для определения страниц или разделов текста на определенном языке и автоматически настроить рабочий процесс или защитить текст от изменений переводчиком в инструментах для перевода.

Программы для чтения нетекстового контента

Информация о языке помогает синтезаторам речи и переводчикам Брайля выдавать полезные результаты. Эти приложения должны знать могут ли они выдавать результат в тексте, или же, возможно, им необходимо переключиться на другой языковой режим.

Анализаторы и скрипты

Отметка контента информацией о языке также позволяет специфическую языковую обработку.

Например, скрипт или таблица стилей XSLT могут использоваться для различных вещей, включая:

Имейте в виду, что при создании информации вы не всегда знаете, как позже люди захотят ее обработать.

By the way

За последние годы увеличилась польза отметки языка, так как технология прогрессировала, и будет улучшаться по мере продвижения вперед. Во многих случаях эти программы могут и не быть вам важными, когда вы впервые разрабатываете свой ​​контент, но с течением времени их значение может возрасти. Тем не менее, в настоящее время мы сталкиваемся с круговой проблемой. Люди, которые не видят приложений с информацией о языке не обеспечивают такой информацией свой контент. Приложения, связанные с языком разворачиваться медленно, пока эта информация не будет широко применяться к контенту. Этот цикл может быть нарушен авторами контента, которые назначают информацию о языке как само собой разумеющееся. Чем больше будет правильно отмеченного контента, тем более полезными и всепроникающими станут такие программы. Как правило, очень легко добавить информацию о языке и это не несет никаких санкций.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *