Атрибут translate тега <ruby>


Описание

Атрибут translate определяет, должен ли элемент <ruby> и его содержимое переводиться автоматическими системами перевода (например, Google Translate). Особенно важен для сохранения целостности иероглифов и их чтений.

Пример использования:
<ruby translate="no"> 漢字 <rp>(</rp><rt translate="no">かんじ</rt><rp>)</rp> </ruby>

Значения атрибута:

Значение Описание Рекомендация для ruby
yes Разрешить перевод Для поясняющего текста вокруг ruby
no Запретить перевод Для иероглифов и их чтений (по умолчанию)

Критические случаи применения:

<div translate="yes"> <p>Это предложение можно переводить</p> <ruby translate="no"> 日本語 <rp>(</rp><rt translate="no">にほんご</rt><rp>)</rp> </ruby> </div>

Рекомендации по использованию:

  • Всегда используйте translate="no" для иероглифов и их транскрипций
  • Для поясняющего текста можно разрешить перевод
  • Сочетайте с атрибутом lang для точного определения языка
  • Проверяйте поведение в разных браузерах
Важно! Без translate="no" системы перевода могут:
  • Неправильно интерпретировать иероглифы
  • Пытаться переводить транскрипции (ромадзи, кану)
  • Нарушать структуру ruby-разметки

Пример с разными языками:

<ruby translate="no" lang="zh"> 中国 <rp>(</rp><rt translate="no" lang="zh-Latn">Zhōngguó</rt><rp>)</rp> </ruby> <ruby translate="no" lang="ja"> 中国 <rp>(</rp><rt translate="no" lang="ja">ちゅうごく</rt><rp>)</rp> </ruby>
Примечание: Для учебных материалов и словарей атрибут translate="no" необходим для:
  • Сохранения оригинальных иероглифов
  • Защиты фонетических чтений от перевода
  • Поддержки целостности лингвистических данных
Даже если система перевода игнорирует этот атрибут, его указание является хорошей практикой.