Атрибут lang тега <dfn>
Описание
Атрибут lang определяет язык термина внутри элемента <dfn>. Это важно для:
- Правильного отображения и произношения текста
- Работы средств доступности (скринридеров)
- Поисковой оптимизации (SEO)
- Автоматического перевода контента
<dfn lang="en">Computer</dfn> - электронно-вычислительная машина (англ.)
<dfn lang="ru">Компьютер</dfn> - электронно-вычислительная машина (рус.)
<dfn lang="de">Computer</dfn> - elektronische Rechenmaschine (нем.)
Форматы языковых тегов:
| Пример | Язык | Стандарт |
|---|---|---|
lang="en" |
Английский | ISO 639-1 |
lang="zh-Hans" |
Китайский (упрощенный) | BCP 47 |
lang="es-419" |
Испанский (Латинская Америка) | BCP 47 |
Определение языка термина и определения:
<dfn lang="la" title="лат.">Algorithmus</dfn> -
<span lang="ru">набор инструкций для решения задачи</span>
<dfn lang="fr">Ordinateur</dfn> -
<span lang="ru">электронное устройство для обработки данных</span>
Использование с CSS:
<style>
dfn[lang="en"] { font-style: italic; }
dfn[lang="ru"] { font-weight: bold; }
dfn[lang|="zh"] { font-family: "SimSun", serif; }
</style>
<dfn lang="en">Software</dfn>
<dfn lang="ru">Программное обеспечение</dfn>
<dfn lang="zh-Hans">软件</dfn>
Лучшие практики:
- Всегда указывайте язык для терминов на иностранных языках
- Для древних языков используйте соответствующие коды (например,
grcдля древнегреческого) - Сочетайте с атрибутом
titleдля указания языка в подсказке - Для сложных случаев используйте BCP 47 теги (
ru-Cyrl,zh-Hantи т.д.)
Пример с JavaScript:
<dfn id="multilingual-term" lang="en">Network</dfn>
<button onclick="translateTerm()">Перевести</button>
<script>
const translations = {
en: "Network",
ru: "Сеть",
es: "Red"
};
function translateTerm() {
const term = document.getElementById('multilingual-term');
const currentLang = term.lang;
if(currentLang === 'en') term.lang = 'ru';
else if(currentLang === 'ru') term.lang = 'es';
else term.lang = 'en';
term.textContent = translations[term.lang];
}
</script>
SEO и доступность:
- Помогает поисковым системам правильно индексировать многоязычный контент
- Позволяет скринридерам выбирать правильное произношение
- Может влиять на результаты поиска в зависимости от языка пользователя
- Используйте вместе с атрибутом
translateдля управления автоматическим переводом
Примечание: Для словарей и технической документации правильное указание языка терминов критически важно. Рассмотрите возможность автоматической проверки соответствия языка термина и его определения с помощью языковых инструментов (например, LanguageTool).