qTranslate: неделя, полет нормальный

Мой блог изначально был двуязычным. Я использовал плагин gengo более 4 лет, но он не поддерживался уже чуть ли не с 2008 года, и сейчас пришло время заменить его на что-то более современное. Вариантов было не то, чтобы сильно много, и в итоге я остановился на qTranslate 2.5.31. Первое впечатление оказалось достаточно приятным — плагин делает ровно то, что от него требуется, включает в себя виджет для переключения языков блога и добавляет индикаторы языка в пермалинки. Еще он не требует изменений в структуре базы данных, что вселяет некоторую надежду, что апгрейды WordPress на будущие версии должны пройти без особых проблем. Впрочем, определенные грабли не заставлии себя долго ждать:

  •  Ссылка «Домой» сбрасывает текущий язык на язык блога по умолчанию. Похоже, большинство тем этим страдают
  • Виджет «Recent posts» не фильтрует посты по текущему языку, когда отображается один пост целиком. На главной странице блога такой проблемы нет
  • Ссылки на следующий и предыдущий пост также не фильтруют язык и ведут на посты, даже если они не имеют перевода на текущий язык. Выглядит это стремно.

Впрочем, после нескольких часов я нашел способ все эти проблемы исправить (об этом в следующих постах).

Тот факт, что qTranslate хранит все переводы поста в одной записи в БД, означает, что версии поста разделены специальными тегами. Это означает, что если плагин отключить, то блог заполнится стремно выглядищими тегами. Впрочем, это достаточно легко починиь, регулярно выразившись над дампом базы данных. Также, установка плагина на блог, в котором уже есть записи, не назначает имеющимся записям язык по умолчанию, но это можно сделать из меню расшиенных настроек плагина. Главное при этом — не ошибиться и не назначить другой язык языком по умолчанию (что я и сделал), т.к. единственный способ починить это (за исключением ручного редактирования всех постов) будет заключаться в восстановлении базы данных из резервной копии или применения хардкорной regex-магии к дампу таблицы wp_posts (что я тоже сделал).

А в остальном, своей текущей конфигурацией блога я остался доволоен — плагин довольно прост в использовании и, похоже, дружит с большинством тем без особых заморочек.

Оставите комментарий ?

12 Комментарии。

  1. Hi,

    I just read your article about qTranslate. I have the same problems as you with the plugins

    — Recent post widget loses the context of current language in the single post page and does not filter posts by the language. This does not happen on the main page
    — Next and Previous post links on a single post page also don’t take current language in the account; they will lead to the next and prev posts event if these are not available in current language.

    You write that you have found solutions for these problems, is it possible that you share the solutions please

    Thnaks,
    Tom

    • Hi Tom,

      Thank you for bringing this up, I was going to post a proopsed patch on qTransalte support forum, but kept forgetting about it.

      Here it is

      I hope this will get included in the next release, otherwise you could just apply patch yourself. It works on 2.3.32 and 2.5.31

  2. Константин

    Подскажите, как сделать, чтобы логотип тоже менялся для разных языковых версий.
    Сейчас в файле header.php прописан один логотип (с ссылкой), с русскими буквами. Думал, что можно его отделить тегом (и соотв. для английского), но не получилось.

    • 😯
      Не знаю, если честно. Точнее, не задумывался.
      Там есть список функций, которыми можно сделать условное отображение в зависимости от языка, но сам я не пробовал.

    • a href=»?php echo get_option(‘home’); ?/»
      ?php if(get_locale() == «ru_RU») { ?
      Картинка
      ?php } elseif(get_locale() == «en_US») { ?
      Image
      ?php } ?>
      /a

  3. Привет! Хотелось бы узнать как решил проблемы с двумя последними пунктами, с виджетом «Recent posts» и с фильтром языков или может я не заметил постов на эти темы? 😐

  4. Добрый день. Столкнулся с проблемой(( Сделал сайт на 4 языках, Русский по умолчанию site.ru остальные в поддиректориях site.ru/en/contacts/ site.ru/de/contacts/ site.ru/zn/contacts/ При смене языка по нажатию на флажок — язык меняется. Например выбираем на странице контактов Английский и переходим по ссылке в меню вида site.ru/en/about/, должна открыться страничка английской версии, но меня перебрасывает автоматом на русскоязычную версию site.ru/about/. В чем может быть проблема? В настройках плагина ничего нет, наверно что-то нужно добавить в файл функции шаблона или править пхп хуков самого плагина. Погуглил пару часов, ничего не нашел(( Неужели только у меня такое?

  5. Добрый день. Хочу установить этот плагин, но до конца не понимаю, он автоматически страницы переводит, а корректировать переврод можно? И ещё блог мне вообще не нужно переводить, тогда как быть?

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

  6. Добрый день. У меня страница переводится при смене флажка, но по нажатию на кнопку Ок текст той же самой страницы выводится не на выбранном языке, а на языке по-умолчанию. Что с этим можно сделать?

Оставить комментарий


Примечание - Вы можете использовать эти HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

11 посетителей онлайн
7 гостей, 4 bots, 0 зарегистрированных
Максимум сегодня:: 20 в 12:49 am UTC
В этом месяце: 53 в 09-21-2021 08:53 am UTC
В этом году: 248 в 07-26-2021 10:24 am UTC
За все время: 332 в 11-22-2019 03:23 am UTC