Cthulhu
12.03.2013 15:08 work
Интересно, о чем думали ублюдки, писавшие gettext, когда решили не предусматривать в нем никакого механизма для определения того, почему перевод строки не находится? Интересно, какое особо изощренное наказание придумано для таких в аду?
а что бы ты делал, если бы не находил перевода строки?
Возвращал бы оригинал, как и они. Но у меня была бы возможность определить, откуда оно брало перевод, почему именно оттуда и тд.
подробнее можно?
О чем конкретно подробнее?
Несколько недогоняю что тебе нужно и чего не хватает. Например когда кеды переводишь, там видно добавленый авторами контекст оригинала, известен файл, откуда берётся строчка и можно добавлять примечания, но это, конечно, в основном навороты над программой перевода, хотя всё равно оно всё хранится в .po
вопрос как дебажить это говно, без засовывания рук по локоть в сорцы геттекст
Нет, я не о том. Допустим я в своей софтине пользую геттекст. И одна из строк не переводится. Прототип вызова там const char *gettext(const char *msg). Я никак не могу определить, почему она не переводится. Я забыл вызвать textdomain? Перевода нету в .mo? Я передал кривой путь в bindtextdomain? Геттекст выбрал локаль, для которой перевода пока нет? Я положил файлы с переводом по неверному пути? Что-то еще? Все эти варианты я должен проверять вручную — у геттекста нет никакого способа просигналить мне о том, что конкретно произошло.
Еще, конечно, разработчиков надо бы поиметь раскаленным ломом за то, что я не могу сказать ему "используй сейчас конкретно вот этот файл, сука", кроме как меняя вручную локаль для этого. Ну и докучи за навязывание структуры — переводы должны обязательно лежать в %prefix%/%locale%/%category%/%package%.mo, иначе никак.
При этом я-то могу открыть исходники glibc и угадать, что там происходит (хоть сегодня от этого у меня вытекли оба глаза и умерло 5 братьев); а как с ним живут, например, php-бляди — вообще страшно представить.
В кедах можно .mo кидать в локальный префикс
Што. Я тоже могу кидать в локальный префикс, но внутри него структура каталогов должна быть обязательно такой, как описано выше.
Да, но при желании можно кидать туда нужный файл, например в кдешном lokalize есть пункт меню, который автоматом компилирует текущий файл в mo и кидает его в локальный префикс
Можно, все можно, для всего тулзы есть. Но почему нету функции "сука, бери переводы вот из этого файла", безо всякой ебли с префиксами/локалями/структурой каталогов?
enjoy your opensource
вот это выворот мозгов
впрочем да, запили модификацию либы и нееби другим мозги :D