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 Вы так же руками можете увеличивать число разделов\категорий\описаний и увеличивать число фраз.
 
Последнее редактирование:
А какая разница ? Что из фраз будет брать название или напрямую из поля заголовка ? Интересно какая фишка задумана или кроется под этим вариантом
Ну к примеру ты пошел создавать категорию форума и хочешь сделать её для English языка как Main Forum, а для Russian языка как Главный Форум. Так вот если ты хочешь так сделать - то тебе понадобиться фраза! В название категории нужно будет вставить {xen:phrase name_for_cat2} и создать фразу для English языка и для Russian соответственно. В одной называем Main Forum, а в другом Главный Форум. Таким образом будет отображаться Main Forum или Главный Форум в зависимости от выбранного языка, но к сожалению данная фишка не работает :eek:
 
Может есть вариант реализовать через использование языка ?
Если инглиш уставнолен то будет иной текс а если ру то другой .
В смысле? Весь перевод в Xenforo построен на фразах. Изначально ты качаешь Null на английском, потом качаешь русификатор и он переводит тебе все фразы на русский и когда ты включаешь русский язык на сайте - твой сайт становится русским.
В каждом языке поддерживаются фразы, можно свои фразы придумывать и переводить Xenforo под себя! Можно шаблон перевести так, как ты сам этого захочешь путем вставки фраз, но категории, разделы не поддерживают фразы в названии :cry:
 
Последнее редактирование:
ну к примеру .
Сейчас я сделал так что заменяется весь текст если использую игглиш
upload_2017-3-1_18-5-0.png
А если ру то
upload_2017-3-1_18-5-30.png
Я не очень дружу с этим всем но думаю по такому принципу наверняка можно а может и нет )
То есть применить замену текста если используется инглиш но по айди раздела\категории.
Хорошая мысля на самом деле но для меня не значительно )
Код:
<xen:if is="{$visitorLanguage.language_code} == 'ru-RU'">
            <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>
        <xen:else />
                    <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}'}">арарарара</a></h3>
        </xen:if>
 
Rommax
Так у тебя все разделы заменяются "арарарара", а мне надо определенные категории, разделы.
+ мне не понятный твой код. Куда его вставлять, что именно он делает :redface:
Фразами в названия было бы куда проще :redface:
 
Ну так я и пишу что я не разбираюсь в этом ) Нужно каким то раком привести это ело к айди раздела и на каждый раздел наверное уже свой текст писать )
Да, но как? :inlove:
 
Ну уж очень хочется полноценный мультиязычный форум
А содержимое постов тоже фразами делать будешь?

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

Так или иначе, для полноценного мультиязычного надо дублировать посты на английском языке, значит надо дублировать весь форум, здесь уже не раз поднимался этот вопрос и думаю воспользовавшись поиском можно посмотреть на советы.
Мне посты не обязательно! Главное разделы и категории
 
Статус
В этой теме нельзя размещать новые ответы.
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу