Синхронизатор переводов
Прислано: WARpholomey
сб, 22/08/2009 - 20:51
Доброй ночи всем открывшим эту тему. С вопросами перевода Drupal я у многих уже в печенках, но все таки больной это вопрос. Сейчас опять таки есть что спросить.
Я не ошибся разделом, все таки хочется оформить это в виде модуля. Значит так, что мы имеем. Есть некий модуль, который по cron'у, скажем каждые 2 часа выбирает из базы данных все непереведенные строки, а затем, читая .PO файл добавляет только нужные в базу данных.
В формате переводов Drupal есть возможность скачивать весь перевод полностью, одним файлом. Но даже в таком пакете остается довольно много мусора. Написать сам модуль нетрудно, я с этим вполне справлюсь, единственное что не смог найти: функции которые позволят парсить .PO файл? Буду очень благодарен если тыкните носом, как парсить файлы перевода.
Ведь заметьте, тогда обновление системы с одной версии до другой будет куда приятнее: после обновления грохнуть весь перевод интерфейса, чтобы система сама по мере надобности подгружала нехватающие строки из файла в базу данных.
Заранее спасибо.
Переобозначение функции?
Прислано: WARpholomey
чт, 13/08/2009 - 08:48
Добрый день, буду очень благодарен за помощь, вот по какому вопросу:
Мне крайней хочется изменить поведение одной функции в ядре Drupal, но по известным причинам не хочется править код ядра. Можно-ли переобозначить системную функцию без непосредственного вмешательства в ядро?
Функция, которую хочется переобозначить, это locale(), модуля "locale", разумеется. У функции есть одна логичная особенность, если ей передают строку, которой нет в базе данных, она ее обязательно туда добавит. Подход понятен, но в случае поддержки сайта на одном языке это грозит рядом неудобств: например изменив описание типа материала на русском языке, он тут-же окажется в базе, причем на русском и со статусом "не переведен".
Участок кода совсем небольшой:
<?php // We do not have this translation cached, so get it from the DB.
$translation = db_fetch_object(db_query("SELECT s.lid, t.translation, s.version FROM {locales_source} s LEFT JOIN {locales_target} t ON s.lid = t.lid AND t.language = '%s' WHERE s.source = '%s' AND s.textgroup = 'default'", $langcode, $string));
if ($translation) {
// We have the source string at least.
// Cache translation string or TRUE if no translation exists.
$locale_t[$langcode][$string] = (empty($translation->translation) ? TRUE : $translation->translation);
if ($translation->version != VERSION) {
// This is the first use of this string under current Drupal version. Save version
// and clear cache, to include the string into caching next time. Saved version is?>Обертка запроса через .htaccess
Прислано: WARpholomey
пн, 08/12/2008 - 15:59
Здравствуйте. Столкнулся с проблемой, не совсем связанной с Drupal, но относящейся я так понимаю непосредственно к работе Apache. Вкратце:
Модулем mod_rewrite нужно обернуть любой запрос, и передать его файлу index.php:
/news/2008/12/ должно быть переписано в /index.php?comm=news/2008/12 - что собственно с лёгкостью достигается правилом:
RewriteRule ^(.*)$ /?comm=$1 [L,QSA]
Но есть одно неприятное "но" - запросы /images/news/ (в случае если папка /images/ существует в корне) пытаются открыть папку /images/news/, и словно бы игнорируются mod_rewrite.
Вот и вопрос, как сделать, чтобы можно было обрабатывать запросы на существующие директории. В гугле нашёл разве что то, что дело может быть в модуле mod_negotiation, но по понятным причинам, не могу я его просто выключить в настройках сервера...
Использование внутренних ссылок внутри материала
Прислано: WARpholomey
вс, 18/05/2008 - 07:32
Спасибо всем, кто обратит внимание на эту тему)
Проблема в следующем (может я откровенно туплю), но если внутри материала с адресом node/117 разместить гиперссылку на материал node/31, причём разместить с помощью тэга A, путь указывать не абсолютный, а относительный, то тогда с включёнными "Чистыми Ссылками" это всё станет выглядеть так: node/117/node/31
Пример, пишу я вот такую ссылку:
<a href="node/31">Материал<a>
А после добавления она разумеется просто прибавляется к пусти страницы:
Выходит что ссылается на тот-самый node/117/node/31
Темы оформления? Кошмар...
Прислано: WARpholomey
вс, 20/04/2008 - 10:10
Вот опять я поднимаю вопрос о ещё одном аспекте этого чудесного фреймворка - Drupal.
Первый вопрос был связан с многоязычностью, и по правде для меня решился весьма радикально - не использовать её, а что-бы не было нелепым наличие русского контента среди английского интерфейса - правильно, набирать и контент на английском.
Вторая проблема с которой я столкнулся это темы оформления.
Удалить строки которых нет в системе
Прислано: WARpholomey
вс, 06/04/2008 - 18:45
Здравствуйте!
Продолжаю пытаться привыкнуть к Drupal после таких гибридов танка и мусорного контейнера как SLAED и Nuke.
На этот раз вопрос встал весьма резко, опять наверное к тому-же спору о том гдк лучше хранить переводы - в базе или в файлах. Поясню ситуацию - вот есть установленный Drupal, модуль Autolocale и уже добавленный в базу 100% перевод системы на русский язык. Если я ставлю модули, количество строк понятное дело увеличивается - я их понемногу перевожу и так далее...
image_attach и Drupal 6.1 - нельзя прикрепить рисунок к нодам
Прислано: WARpholomey
сб, 15/03/2008 - 16:44
Модуль image: 6.x-1.x-dev
Проблема с компонентом image_attach, версия Drupal 6.1
Эта проблема уже обсуждалась здесь:
http://drupal.org/node/220723
Проблема: при добавлении нового материала (пользователь может аттачить рисунки, присоединение рисунков к данному типу содержания разрешён) отображается список рисунков галереи и форма для загрузки нового рисунка.
FCKEditor в Firefox2
Прислано: WARpholomey
ср, 07/11/2007 - 08:33
Всем добрый день.
Пользуюсь CMS Drupal буквально пару дней, но за это время был изрядно впечатлён. Столкнулся лишь с незначительной помехой - нуждой в визуальном редакторе. Ставлю FCK, так как привычнее всё таки, но он банально не работает в лисе!
Выглядит так внизу крупных полей есть полоска что-бы менять их высоту, так вот, после настройки редактора на сайте, у тех полей для которых он настроен это функция исчезает, в коде страницы появляется java-script редактора, но никакого редактора днём с огнём не сыщешь!