Почему weblate не распознает мой файл pot?

Я использую размещенную веб-страницу.

Я нахожусь в разделе «Файлы» конфигурации моего компонента. Ниже моя установка.


Файлы перевода:

  • Формат файла: файл gettext PO
  • Маска файла: src/translations/*.po
  • Языковой фильтр: ^[^.]+$

Одноязычные переводы:

  • Все поля пусты
  • Редактировать базовый файл отмечен

Добавление новых языков:

  • Шаблон для новых переводов: src/translations/template.pot
  • Добавление нового перевода: Создайте новый языковой файл
  • Стиль кода языка: по умолчанию в зависимости от формата файла

Я не могу проверить эти настройки, у меня есть ошибка под полями Шаблон для новых переводов и Добавление нового перевода: Ошибка Неопознанный базовый файл для новых переводов.

Я на 100% уверен, что файл pot существует в ветке weblate, настроенной для использования, а также в мастере, и что путь правильный.

Вот первые несколько строк файла pot:

"Content-Type: text/plain; charset=UTF-8\n"

#: src/screens/CardList/CardList.texts.js:9
msgctxt "CardList"
msgid "hello"
msgstr ""

#: src/screens/CardList/CardList.texts.js:11
msgctxt "CardList"
msgid "cards"
msgstr ""

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


person Apolo    schedule 05.08.2020    source источник


Ответы (1)


Заголовок файла кажется раздетым. По крайней мере, вы должны добавить следующее, чтобы сделать его синтаксически действительным:

msgid ""
msgstr ""

См. https://github.com/WeblateOrg/weblate/blob/master/weblate/locale/django.pot для реального файла POT

person Michal Čihař    schedule 05.08.2020
comment
Это моя вина, я сделал скрипт, чтобы убрать их, потому что это была ошибка. Вы знаете, почему нужно иметь эти пустые определения вверху? - person Apolo; 07.08.2020
comment
Пустой msgid содержит заголовок, содержащий метаданные о переводе. Вы можете удалить его, но вы должны сделать это полностью, включая все значения, вы сохранили последнюю часть значения msgstr. - person Michal Čihař; 07.08.2020