Почему загрузка файла игнорирует языковые настройки?

#html #internationalization

#HTML #интернационализация

Вопрос:

У меня есть сайт на английском и немецком языках, где пользователь может переключаться с английского на немецкий. Когда пользователь переключает сайт, содержимое переводится, информация о языке устанавливается ( lang="en", lang="de" ), но загрузка файла ( <input type="file"> ) выполняется на немецком языке. Есть ли способ перевести его без настройки загрузки файла?

Пример (egnlish):

 <html lang="en"  xml:lang="en">
<head>
    <title>Internationalisation test</title>
</head>
<body>
    <form>
      <input type="file" name="test">
    </form>
</body>
</html>
  

Пример (немецкий):

 <html lang="de"  xml:lang="de">
<head>
    <title>Internationalisation test</title>
</head>
<body>
    <form>
      <input type="file" name="test">
    </form>
</body>
</html>
  

Ответ №1:

Заголовок кнопки ввода файла написан не на немецком языке как таковом, а на языке веб-браузера. Если вы используете веб-браузер с другим языковым пакетом или устанавливаете его на другом языке ОС, язык будет другим.

Есть ли какой-нибудь способ это исправить?
Да и нет.

Я начну с нет. Если вы хотите придерживаться стандартного элемента управления HTML <input type="file"> , нет способа перевести заголовок.

Однако вы можете заменить элемент управления на нестандартный (обычно люди склонны использовать элементы управления загрузкой файлов на основе flash) или… Другой способ — фактически скрыть элемент управления (настройка оси z) и поместить над ним собственное текстовое поле и кнопку.
В основном это так.