Входной файл HTML - как перевести "Выбрать файл" и "Файл не выбран"?

Я знаю, что эти два слова переводятся автоматически из-за языка браузера. Но мой HTML этого не делает.

HTML:

<p>
  <label for="id_company_logo">
     Company Logo:
  </label>
  <input type="file" name="company_logo" id="id_company_logo" />
</p>

Он генерируется из следующего кода "формы" django:

company_logo = forms.ImageField(label=_('Company Logo'),required=False, error_messages = {'invalid':_("Image files only")}, widget=forms.FileInput)

Я что-то не так делаю? Некоторое время я искал, но мне не повезло.

Заранее спасибо.


person 0xmtn    schedule 15.01.2013    source источник
comment
Я не думаю, что эти сообщения можно перевести, поскольку они встроены в элемент управления загрузкой файлов в браузере. Они должны отображаться на языке браузера.   -  person Pekka    schedule 15.01.2013
comment
Я тоже это знаю. Но что странно, он так себя не ведет. : S   -  person 0xmtn    schedule 15.01.2013
comment
Что происходит вместо этого? Вы можете показать пример?   -  person Pekka    schedule 15.01.2013
comment
Ничего не происходит - например, я меняю язык браузера на турецкий, но он по-прежнему отображается на английском.   -  person 0xmtn    schedule 15.01.2013
comment
Попробуйте использовать окно в режиме инкогнито в Chrome / Chrome и измените язык там.   -  person PepperoniPizza    schedule 15.01.2013
comment
При нажатии на настройки в инкогнито открывается обычная страница настроек хрома, и снова ничего не происходит. Он по-прежнему отображается на английском языке.   -  person 0xmtn    schedule 15.01.2013
comment
Какие языковые настройки вы меняете. Вы получаете все элементы интерфейса браузера (меню и т. Д.) На турецком языке?   -  person Pekka    schedule 15.01.2013
comment
Используя средства локализации django, я перевожу все кнопки, ярлыки и все вручную из-за смены языка браузера. И да, они все меняются. ;)   -  person 0xmtn    schedule 15.01.2013
comment
Текст «Выбрать файл» и «Нет выбранного файла» не может быть переведен вашим приложением, потому что это не строка, заданная вашим приложением. Эта строка определяется и переводится вашим браузером. Если изменение языка браузера не приводит к изменению этих строк, вам следует убедиться, что у вас есть перевод для этих языков (если переводы распространяются отдельно), и если они есть, возможно, сообщите об ошибке в своем браузере.   -  person T0xicCode    schedule 16.01.2013
comment
Попробуйте Bootstrap FileStyle stackoverflow.com/a/18909078/757850   -  person Fernando Kosh    schedule 20.09.2013
comment
возможный дубликат Как изменить текст кнопки ввода ‹ type = file / ›?   -  person pstenstrm    schedule 25.08.2014


Ответы (2)


Об этой проблеме несколько раз говорили в Stackoverflow.
Вот статьи:
Как изменить текст кнопки input type = «file»?
Маркировка кнопка загрузки файла
Изменить текст по умолчанию в типе ввода = «Файл»?

Но это отличная статья.

Здесь вы можете найти решение своей проблемы.

person Dragos    schedule 20.01.2013
comment
ссылка не работает https://web.archive.org/web/20161119093541/http://www.appelsiini.net:80/projects/filestyle - person apm; 11.12.2017

Пожалуйста, подайте на это в суд.

.upload-btn-wrapper {
  position: relative;
  overflow: hidden;
  display: inline-block;
  background-color: #fff;
  border: 1px solid #cdcdcd;
  border-radius: 3px;
  padding: 8px 12px;
  height: 39px!important;
  width:calc(100% - 26px);
}

.upload-btn-wrapper .btnr {
  border: 1px solid gray;
  color: gray;
  background-color: #eee;
  padding: 5px 10px;
  border-radius: 1px;
  font-size: 14px;
  font-weight: bold;
  position: relative;
}
.upload-btn-wrapper .btnr + span {
  padding: 5px;
  font-weight: normal;
  }

.upload-btn-wrapper input[type=file] {
    font-size: 42px;
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0;
}
<div class="upload-btn-wrapper">
  <button class="btnr" title="haga clic para cargar el archivo">Seleccionar archivos</button>
  <span>No hay archivos elegidos</span>
  <input type="file" name="myfile" title="haga clic para cargar el archivo" />
</div>

И css и беги смотреть

person Rajib Ganguly    schedule 14.11.2019