Файл SVG может содержать текст на нескольких языках (для альтернативного отображения) с использованием атрибута systemLanguage
внутри элемента <switch>
.См., Например:
Это очень удобно для отображения диаграмм на многоязычном веб-сайте: я могу просто включить изображениес помощью тега <img>
, и браузер автоматически отобразит текст на нужном языке, в зависимости от языка, выбранного в настройках браузера.
Однако, как правило, полагаться только на настройки браузера нецелесообразно, посколькуПользователь может захотеть увидеть сайт на другом языке, и требовать от него перебора настроек нецелесообразно.Таким образом, большинство сайтов предлагают способ переключения языка отображения.Например:
- на MDN в верхней части страницы есть кнопка «Язык»
- на сайте Debian есть ссылкив нижнем колонтитуле («Эта страница также доступна на следующих языках»)
Если я хочу предложить этот тип переключения языков, как я могу переключить язык отображения многоязычного файла SVG?Я не нашел HTML-тега, DOM API или подобного, который позволил бы изменить язык отображения, выбранный браузером.
Или мне придется делать это на стороне сервера?Это, очевидно, возможно, но довольно не элегантно.
Эта проблема была также замечена проектом Викимедиа - см. T60920 - поддержка языков SVG для изображений с использованием SystemLanguageAttribute, плохо определенная и неправильно поддерживаемая в браузерах .
tl; dr: При отображении многоязычного SVG (используя systemLanguage
) в браузере, могу ли я влиять на язык отображения SVG, не связываясь с файлом SVGсама