Атрибут translate тега <textarea>
Описание
Атрибут translate в теге <textarea> указывает, должен ли содержимое текстового поля переводиться при использовании автоматических инструментов перевода (например, Google Translate).
<textarea translate="no">
Этот текст не должен автоматически переводиться
</textarea>
Значения атрибута:
| Значение | Описание | Когда использовать |
|---|---|---|
yes |
Разрешает автоматический перевод (значение по умолчанию) | Для обычного текста, который можно переводить |
no |
Запрещает автоматический перевод | Для имен собственных, кода, специальных терминов |
Особенности работы:
- Не влияет на ручной перевод страницы
- Поддерживается не всеми сервисами перевода
- Работает только с содержимым элемента
- Наследуется от родительских элементов
Пример для разных сценариев:
<!-- Текст для перевода -->
<textarea translate="yes">
Этот текст может быть автоматически переведен
</textarea>
<!-- Код и имена собственные -->
<textarea translate="no">
function hello() { return "Привет, Иван"; }
</textarea>
Рекомендации:
- Используйте
translate="no"для полей с кодом - Для имен и фамилий также рекомендуется отключать перевод
- Сочетайте с
langатрибутом для точного указания языка - Тестируйте с реальными сервисами перевода
Ограничения:
- Не является стандартом W3C (но поддерживается браузерами)
- Не все сервисы перевода учитывают этот атрибут
- Не защищает от ручного перевода
- Может игнорироваться в некоторых мобильных приложениях
Пример хорошей практики:
<div class="user-profile">
<label>Биография:</label>
<textarea translate="yes">Обычный текст для перевода</textarea>
<label>Технические детали:</label>
<textarea translate="no" class="code-block">
const user = { name: "Иван", age: 30 };
</textarea>
</div>
<style>
.code-block {
font-family: monospace;
}
</style>
Примечание: Для полного контроля над переводом:
- Используйте профессиональные системы локализации
- Рассмотрите серверное определение языка
- Для важного контента избегайте автоматического перевода