XF 1.5 Перевод категории через фразу

Статус
В этой теме нельзя размещать новые ответы.

Hodor

Проверенные
Сообщения
39
Реакции
0
Баллы
710
Здравствуйте, подскажите пожалуйста, почему не получается сделать перевод через фразу?
Сделал фразу в Russian language "name_for_cat2", назвал её "Главный раздел", вставил в название категории {xen:phrase name_for_cat2}
Редактировать категорию {xenphrase name_for_cat2}  Панель управления - XenForo - Google Chrome.jpg

но она так и отображается на главной странице:
{XEN:PHRASE NAME_FOR_CAT2}

UPD найдено решение!
ТОЛЬКО ДЛЯ ТЕХ, КТО СМЫСЛИТ В КОДЕ ДАБЫ НЕ ИСПОРТИТЬ СЕБЕ ФОРУМ!

Может кому понадобится перевод категорий, описания категорий, перевод разделов, описания разделов.

Чтобы перевести категории, вам нужно открыть в шаблоне node_category_level_1
Найти строку:
Код:
<h3 class="nodeTitle"><a href="{xen:link categories, $category}">{$category.title}</a></h3>
И заменить {$category.title} на

Код:
<xen:if is="{$category.node_id} == 1">
                {xen:phrase category_1}
            <xen:elseif is="{$category.node_id} == 2" />
                {xen:phrase category_2}
            <xen:elseif is="{$category.node_id} == 3" />
                {xen:phrase category_3}
            <xen:elseif is="{$category.node_id} == 4" />
                {xen:phrase category_4}
            <xen:elseif is="{$category.node_id} == 5" />
                {xen:phrase category_5}
            <xen:elseif is="{$category.node_id} == 6" />
                {xen:phrase category_6}
            <xen:elseif is="{$category.node_id} == 7" />
                {xen:phrase category_7}
            <xen:elseif is="{$category.node_id} == 8" />
                {xen:phrase category_8}
            <xen:elseif is="{$category.node_id} == 9" />
                {xen:phrase category_9}
            <xen:else />
                {$category.title}
            </xen:if>

Получим:
Код:
<h3 class="nodeTitle"><a href="{xen:link categories, $category}">
            <xen:if is="{$category.node_id} == 1">
                {xen:phrase category_1}
            <xen:elseif is="{$category.node_id} == 2" />
                {xen:phrase category_2}
            <xen:elseif is="{$category.node_id} == 3" />
                {xen:phrase category_3}
            <xen:elseif is="{$category.node_id} == 4" />
                {xen:phrase category_4}
            <xen:elseif is="{$category.node_id} == 5" />
                {xen:phrase category_5}
            <xen:elseif is="{$category.node_id} == 6" />
                {xen:phrase category_6}
            <xen:elseif is="{$category.node_id} == 7" />
                {xen:phrase category_7}
            <xen:elseif is="{$category.node_id} == 8" />
                {xen:phrase category_8}
            <xen:elseif is="{$category.node_id} == 9" />
                {xen:phrase category_9}
            <xen:else />
                {$category.title}
            </xen:if>
            </a></h3>

Чтобы перевести описания категорий, вам в шаблоне node_category_level_1
Найти строку:
Код:
<xen:if is="{$category.description}"><blockquote class="nodeDescription baseHtml">{xen:raw $category.description}</blockquote></xen:if>

И заменить {xen:raw $category.description} на
Код:
<xen:if is="{$category.node_id} == 1">
                {xen:phrase category_description_1}
            <xen:elseif is="{$category.node_id} == 2" />
                {xen:phrase category_description_2}
            <xen:elseif is="{$category.node_id} == 3" />
                {xen:phrase category_description_3}
            <xen:elseif is="{$category.node_id} == 4" />
                {xen:phrase category_description_4}
            <xen:elseif is="{$category.node_id} == 5" />
                {xen:phrase category_description_5}
            <xen:elseif is="{$category.node_id} == 6" />
                {xen:phrase category_description_6}
            <xen:elseif is="{$category.node_id} == 7" />
                {xen:phrase category_description_7}
            <xen:elseif is="{$category.node_id} == 8" />
                {xen:phrase category_description_8}
            <xen:elseif is="{$category.node_id} == 9" />
                {xen:phrase category_description_9}
            <xen:else />
                {xen:raw $category.description}
            </xen:if>

Получим:
Код:
<xen:if is="{$category.description}"><blockquote class="nodeDescription baseHtml">
            <xen:if is="{$category.node_id} == 1">
                {xen:phrase category_description_1}
            <xen:elseif is="{$category.node_id} == 2" />
                {xen:phrase category_description_2}
            <xen:elseif is="{$category.node_id} == 3" />
                {xen:phrase category_description_3}
            <xen:elseif is="{$category.node_id} == 4" />
                {xen:phrase category_description_4}
            <xen:elseif is="{$category.node_id} == 5" />
                {xen:phrase category_description_5}
            <xen:elseif is="{$category.node_id} == 6" />
                {xen:phrase category_description_6}
            <xen:elseif is="{$category.node_id} == 7" />
                {xen:phrase category_description_7}
            <xen:elseif is="{$category.node_id} == 8" />
                {xen:phrase category_description_8}
            <xen:elseif is="{$category.node_id} == 9" />
                {xen:phrase category_description_9}
            <xen:else />
                {xen:raw $category.description}
            </xen:if>
            </blockquote></xen:if>

Теперь будем добавлять фразы к разделам и их описанию
Открываем node_forum_level_2 и ищем строку
Код:
<h3 class="nodeTitle"><xen:if is="{$watchCheckBoxName}"><input type="checkbox" name="{$watchCheckBoxName}" value="{$forum.node_id}" />&nbsp;</xen:if><a href="{xen:link forums, $forum}" data-description="{xen:if @nodeListDescriptionTooltips, '#nodeDescription-{$forum.node_id}'}">{$forum.title}</a></h3>

И добавляем за место {$forum.title}
Код:
<xen:if is="{$forum.node_id} == 1">
                {xen:phrase forum_1}
            <xen:elseif is="{$forum.node_id} == 2" />
                {xen:phrase forum_2}
            <xen:elseif is="{$forum.node_id} == 3" />
                {xen:phrase forum_3}
            <xen:elseif is="{$forum.node_id} == 4" />
                {xen:phrase forum_4}
            <xen:elseif is="{$forum.node_id} == 5" />
                {xen:phrase forum_5}
            <xen:elseif is="{$forum.node_id} == 6" />
                {xen:phrase forum_6}
            <xen:elseif is="{$forum.node_id} == 7" />
                {xen:phrase forum_7}
            <xen:elseif is="{$forum.node_id} == 8" />
                {xen:phrase forum_8}
            <xen:elseif is="{$forum.node_id} == 9" />
                {xen:phrase forum_9}
            <xen:else />
                {$forum.title}
            </xen:if>

Получаем:
Код:
<h3 class="nodeTitle"><xen:if is="{$watchCheckBoxName}"><input type="checkbox" name="{$watchCheckBoxName}" value="{$forum.node_id}" />&nbsp;</xen:if><a href="{xen:link forums, $forum}" data-description="{xen:if @nodeListDescriptionTooltips, '#nodeDescription-{$forum.node_id}'}"><xen:if is="{$forum.node_id} == 1">
                {xen:phrase forum_1}
            <xen:elseif is="{$forum.node_id} == 2" />
                {xen:phrase forum_2}
            <xen:elseif is="{$forum.node_id} == 3" />
                {xen:phrase forum_3}
            <xen:elseif is="{$forum.node_id} == 4" />
                {xen:phrase forum_4}
            <xen:elseif is="{$forum.node_id} == 5" />
                {xen:phrase forum_5}
            <xen:elseif is="{$forum.node_id} == 6" />
                {xen:phrase forum_6}
            <xen:elseif is="{$forum.node_id} == 7" />
                {xen:phrase forum_7}
            <xen:elseif is="{$forum.node_id} == 8" />
                {xen:phrase forum_8}
            <xen:elseif is="{$forum.node_id} == 9" />
                {xen:phrase forum_9}
            <xen:else />
                {$forum.title}
            </xen:if></a></h3>

Теперь будем добавлять фразу к описанию разделов!
Ищем строку
Код:
<blockquote class="nodeDescription {xen:if @nodeListDescriptionTooltips, nodeDescriptionTooltip} baseHtml" id="nodeDescription-{$forum.node_id}">{xen:raw $forum.description}</blockquote>

И заменяем {xen:raw $forum.description} на
Код:
<xen:if is="{$forum.node_id} == 1">
                {xen:phrase forum_description_1}
            <xen:elseif is="{$forum.node_id} == 2" />
                {xen:phrase forum_description_2}
            <xen:elseif is="{$forum.node_id} == 3" />
                {xen:phrase forum_description_3}
            <xen:elseif is="{$forum.node_id} == 4" />
                {xen:phrase forum_description_4}
            <xen:elseif is="{$forum.node_id} == 5" />
                {xen:phrase forum_description_5}
            <xen:elseif is="{$forum.node_id} == 6" />
                {xen:phrase forum_description_6}
            <xen:elseif is="{$forum.node_id} == 7" />
                {xen:phrase forum_description_7}
            <xen:elseif is="{$forum.node_id} == 8" />
                {xen:phrase forum_description_8}
            <xen:elseif is="{$forum.node_id} == 9" />
                {xen:phrase forum_description_9}
            <xen:else />
                {xen:raw $forum.description}
            </xen:if>

Получаем:
Код:
<blockquote class="nodeDescription {xen:if @nodeListDescriptionTooltips, nodeDescriptionTooltip} baseHtml" id="nodeDescription-{$forum.node_id}">
                <xen:if is="{$forum.node_id} == 1">
                {xen:phrase forum_description_1}
            <xen:elseif is="{$forum.node_id} == 2" />
                {xen:phrase forum_description_2}
            <xen:elseif is="{$forum.node_id} == 3" />
                {xen:phrase forum_description_3}
            <xen:elseif is="{$forum.node_id} == 4" />
                {xen:phrase forum_description_4}
            <xen:elseif is="{$forum.node_id} == 5" />
                {xen:phrase forum_description_5}
            <xen:elseif is="{$forum.node_id} == 6" />
                {xen:phrase forum_description_6}
            <xen:elseif is="{$forum.node_id} == 7" />
                {xen:phrase forum_description_7}
            <xen:elseif is="{$forum.node_id} == 8" />
                {xen:phrase forum_description_8}
            <xen:elseif is="{$forum.node_id} == 9" />
                {xen:phrase forum_description_9}
            <xen:else />
                {xen:raw $forum.description}
            </xen:if>
                </blockquote>

{xen:phrase forum_description_1} - это фраза, вы её должны добавить в ваш язык!
Пример:
Админка -> Языки -> Фразы -> Создать новую фразу
В Заголовок вводи forum_description_1
В Текст Фразы вводим перевод: Основная категория

Если кому помог - нажмите "мне нравится" :inlove:

P.S Вы так же руками можете увеличивать число разделов\категорий\описаний и увеличивать число фраз.
 
Последнее редактирование:
Можно через
Код:
<xen:if is="{$forum.node_id} == 1">
                {xen:phrase smiliecat_1}
            <xen:elseif is="{$forum.node_id} == 2" />
                {xen:phrase smiliecat_2}
            <xen:elseif is="{$forum.node_id} == 3" />
                {xen:phrase smiliecat_3}
            <xen:elseif is="{$forum.node_id} == 4" />
                {xen:phrase smiliecat_4}
            <xen:elseif is="{$forum.node_id} == 5" />
                {xen:phrase smiliecat_5}
            <xen:elseif is="{$forum.node_id} == 6" />
                {xen:phrase smiliecat_6}
            <xen:elseif is="{$forum.node_id} == 7" />
                {xen:phrase smiliecat_7}
            <xen:elseif is="{$forum.node_id} == 8" />
                {xen:phrase smiliecat_8}
            <xen:elseif is="{$forum.node_id} == 9" />
                {xen:phrase smiliecat_9}
            <xen:else />
                {xen:phrase smiliecat_0}
            </xen:if>

Но я не знаю как пристроить это сюда: node_forum_level_2
Код:
<div class="nodeText">
        <h3 class="nodeTitle"><xen:if is="{$watchCheckBoxName}"><input type="checkbox" name="{$watchCheckBoxName}" value="{$forum.node_id}" />&nbsp;</xen:if><a href="{xen:link forums, $forum}" data-description="{xen:if @nodeListDescriptionTooltips, '#nodeDescription-{$forum.node_id}'}">{$forum.title}</a></h3>
 
Вам заняться нечем, ей-богу. Ну будут у вас названия разделов в зависимости от языка меняться. И что?.. А темы?.. Тоже "через фразы" переводить будете?.. А сообщения пользователей?..
Займитесь лучше чем-нибудь более важным.
 
Вам заняться нечем, ей-богу. Ну будут у вас названия разделов в зависимости от языка меняться. И что?.. А темы?.. Тоже "через фразы" переводить будете?.. А сообщения пользователей?..
Займитесь лучше чем-нибудь более важным.
Да не нужно мне темы, сообщения переводить.... Хочу категории и разделы, и это всё!
 
Человек хочет поднять индексацию в иноземных поисковиках :) но поверь, если форум русскоязычный и контингент тоже, темы все на русском языке, то приток иностранцев, создаст тебе больше проблем, чем популярности :)
 
  • Мне нравится
Реакции: Hope
Человек хочет поднять индексацию в иноземных поисковиках :-) но поверь, если форум русскоязычный и контингент тоже, темы все на русском языке, то приток иностранцев, создаст тебе больше проблем, чем популярности :-)
Русских намного меньше у меня будет. По-этому мне нужно сделать перевод
 
Человек хочет поднять индексацию в иноземных поисковиках :-)
Не понял, в смысле?! Каким это образом? Язык по-умолчанию для форума русский то скорее всего. А это значит, что роботы "видят" сайт только на русском. При чём любые роботы. Или я чего-то не понимаю, и "иноземный робот" заходя на сайт может переключить язык на свой родной английский?.. )))

Русских намного меньше у меня будет. По-этому мне нужно сделать перевод
Перевод чего?.. Категорий?.. Зачем это, если весь контент русский. Если русских будет прям намного меньше, то тогда и делайте англоязычный форум целенаправленно. А вообще, я бы так поступил: два языка - русский и английский, и форум разделил бы условно на две части. Создал бы категории и разделы для русскоговорящей аудитории, и категории и разделы для англоговорящих юзеров. И всё. Человек заходит на форум, выбирает в случае необходимости свой язык и общается в своей части форума. А через условия шаблонов, в зависимости от выбора языка попробовал бы задать порядок отображения категорий для комфорта пользователей.
А то, что вы пытаетесь сделать... бессмысленно чуть менее, чем полностью.
 
  • Мне нравится
Реакции: Hope
Не понял, в смысле?! Каким это образом? Язык по-умолчанию для форума русский то скорее всего. А это значит, что роботы "видят" сайт только на русском. При чём любые роботы. Или я чего-то не понимаю, и "иноземный робот" заходя на сайт может переключить язык на свой родной английский?.. )))


Перевод чего?.. Категорий?.. Зачем это, если весь контент русский. Если русских будет прям намного меньше, то тогда и делайте англоязычный форум целенаправленно. А вообще, я бы так поступил: два языка - русский и английский, и форум разделил бы условно на две части. Создал бы категории и разделы для русскоговорящей аудитории, и категории и разделы для англоговорящих юзеров. И всё. Человек заходит на форум, выбирает в случае необходимости свой язык и общается в своей части форума. А через условия шаблонов, в зависимости от выбора языка попробовал бы задать порядок отображения категорий для комфорта пользователей.
А то, что вы пытаетесь сделать... бессмысленно чуть менее, чем полностью.
Бессмысленно? Ну это ваша точка зрения! Конечно вам проще разделить людей по разным форумам, ведь это меньше времени у вас займет, чем редактировать код, делать фразы....
Лично я не хочу разделять людей, а просто хочу перевести категории, разделы, дискрипшены в зависимости от выбранного языка по фразам, что кстати говоря я уже сделал и скоро опубликую данное решение.
Не важно на каком языке человек будет писать на форуме! Важно то, что он не будет юзать гуглтранслейт, чтобы найти нужную секцию. :O_o:

UPD Опубликовал решение.
 
UPD Опубликовал решение.
Конечно молодцы, что решили вопрос. Но. Так эксплуатировать условия в шаблонах - какое-то издевательство над движком. Ладно 3-4 условия, но ваши пару десятков... А если не 10 узлов, а 200?.. 400 дополнительных условий. Тут надо нормальный плагин писать. Добавляющий дополнительные поля названий/описаний узлов на страницах их создания/редактирования. И настройки, типа указать ID языка при котором будут выводиться значения этих доп. полей. Так это вижу.
 
Конечно молодцы, что решили вопрос. Но. Так эксплуатировать условия в шаблонах - какое-то издевательство над движком. Ладно 3-4 условия, но ваши пару десятков... А если не 10 узлов, а 200?.. 400 дополнительных условий. Тут надо нормальный плагин писать. Добавляющий дополнительные поля названий/описаний узлов на страницах их создания/редактирования. И настройки, типа указать ID языка при котором будут выводиться значения этих доп. полей. Так это вижу.
"Молодец", а не "молодцы" :rolleyes:
Я сделал это для себя! У меня не 200 и не 400 узлов, а если плагин напишут на данном решении - то я буду только рад :inlove:
 
Статус
В этой теме нельзя размещать новые ответы.
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу