Проблемы автоматического импорта перевода в формате "Drupal 6 формат пакета (перевод с папками)"

Главные вкладки

Аватар пользователя Crea Crea 10 января 2010 в 7:10

Не знаю, это баг сервера локализации, или так на drupaler.ru работает.
Перевод, экспортированный с drupaler.ru в формате "Drupal 6 формат пакета (перевод с папками)" разбивается на папки, при этом экспортирующий код не проверяет, принадлежит ли текущая папка модулю. В результате, образуются кучи разбросанных папок translations, которые совершенно не жрет автоматический импорт переводов: автоматический импорт сканирует только папки, принадлежащие какому-нибудь модулю. Т.е. "blabla/modules/blabla-submodule/translations" сработает, а "blabla/js/translations/blabla.js.ru.po" не будет импортирован.
Да, можно потом пройтись ручками или скриптом по всем папкам, и скинуть в одну translations внутри модуля, но еще нужно догадаться, что скрипт не учитывает модули. Было бы неплохо починить эту логику, или хотя бы указать, что этот режим непригоден для копирования в инсталляцию Друпала без обработки напильником, чтобы люди не бились головой об стену, пытаясь понять, почему автоимпорт не работает.
Если это баг в сервере локализации, предлагаю отправить баг репорт.

Комментарии

Аватар пользователя Crea Crea 10 января 2010 в 7:46

"mak-vardugin" wrote:
а зачем вы разбиваете на кучку файлов, используйте импорт в один файл .po

А зачем эта опция нужна ? Разбитие на папки придумали в Drupal 6 чтобы иметь возможность автоимпорта только тех переводов, которые реально используются. Получается, кроме экспорта перевода в 1 файл, ни один из вариантов не подходит для автоматического импорта. Иначе нужно писать скрипты, которые все это приводят в нормальный вид, воспринимаемый автоимпортом. Ручной импорт при >100 модулей - не вариант вообще.
Ведь можно по-нормальному сделать, чтобы работало из коробки. Я, как пользователь, ожидал именно такой работы экспорта.

Аватар пользователя mak-vardugin mak-vardugin 10 января 2010 в 7:51

Я тоже такой импорт хочу и авто и чтоб с моим текстом, но как бы сказал бы RxB "модуль телепатии на Друпал не портировали"

Аватар пользователя Crea Crea 10 января 2010 в 7:55

Никакой телепатии для этого не нужно.
Для этого достаточно
1) проверять принадлежит ли папка модулю. Если не принадлежит, пихать не в местную translations, а в ближайшую вверх по иерархии, принадлежащую модулю.
2) добавлять код языка к имени файла.

Хотите сидеть в каменном веке - сидите.

Аватар пользователя mak-vardugin mak-vardugin 10 января 2010 в 8:06

Качая переводы с друпалер.ру не разу не видел лишние папки. Последнее что качал был перевод к signup, все папки соответствовали модулю, только переведено мало, пришлось ручками переводить много.
И как бы мне помог авто импорт? Если все равно надо контролировать качество перевода, а это лучше делать просматривая сводный файл.

Аватар пользователя Crea Crea 10 января 2010 в 9:20

Если нужно быстро запустить черновой вариант сайта для внутренних нужд - контроль качества проводить еще рано. Сойдет и перевод "на троечку".
Да, и разбиение на папки может существенно облегчить задачу контроля. Если модуль состоит из набора 10 под-модулей, и вы используете только 1 или 2 из них, гораздо проще проверить те, что используются, чем проверять всю пачку.
Ладно, посмотрим что нам скажут мейнтейнеры модуля.

Аватар пользователя Crea Crea 10 января 2010 в 20:22

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

  • нельзя делать повторный импорт после очистки предыдущего, т.к. он уничтожит изменения, сделанные в базе
  • перевод не попадает в систему контроля версий - т.е. такой перевод плохо поддается контролю изменений
  • перевод применяется на одном сайте, при >1 сайта действия нужно повторять на каждом сайте вручную

Можно, конечно, сделать экспорт, но это возвращает нас к предыдущему шагу Smile

Аватар пользователя andypost@drupal.org andypost@drupal.org 17 апреля 2010 в 21:23

Забавный баг, можно уточнить, на каком модуле выдает такую хрень и желательно привести issue на d.o

C ядром-то понятно проблем нет, а вот с чем проблема - хочется локализовать.

Предпочитаю держать свой сервер локализации, в последствии эксплуатации (импорта-экспорта с сайтов) возникают масса предложений, которые давно витает идея формализовать, например в "тематические переводы"