Мультиязычность

поддержка мультиязычности форума

  1. Next
    Совместимость с XenForo:
    • XenForo 1.2
    • XenForo 1.3
    • XenForo 1.4
    • XenForo 1.5
    Понадобилось на одном форуме сделать более расширенную мультиязычность.
    Т.е. что бы в зависимости от выбранного языка отображались определенные категории.

    Решается достаточно просто.
    Создадим два новых шаблона для каждой локализации:

    my_en_lang.css

    Код:
    .node.category.level_1.node_1,
    .node.category.level_1.node_2,
    .node.category.level_1.node_3,
    .node.category.level_1.node_4
    {
        display: none;
    }

    my_ru_lang.css

    Код:
    .node.category.level_1.node_5,
    .node.category.level_1.node_6,
    .node.category.level_1.node_7,
    .node.category.level_1.node_8
    {
        display: none;
    }

    где, например, node_1 - ID раздела, который НЕ нужно отображать в выбранной локализации.

    Теперь создадим модификацию шаблона PAGE_CONTAINER

    Найти:

    Код:
    <!--XenForo_Require:CSS-->
    Заменить:
    Код:
    <xen:if is="!{$visitor.user_id}">
    <xen:else />
    <xen:if is="{$visitorLanguage.language_code} == 'ru-RU'">
    <link rel="stylesheet" href="css.php?css=my_ru_lang&amp;style={xen:urlencode $_styleId}&amp;dir={$visitorLanguage.text_direction}&amp;d={$visitorStyle.last_modified_date}" />
    <xen:else />
    <link rel="stylesheet" href="css.php?css=my_en_lang&amp;style={xen:urlencode $_styleId}&amp;dir={$visitorLanguage.text_direction}&amp;d={$visitorStyle.last_modified_date}" />
    </xen:if>
    </xen:if>
    $0
    В результате гости видят разделы на всех языках. А авторизованные видят категории в зависимости от выбранного языка в настройках.

    Если хотите сделать, что бы и гости видели категории в зависимости от языка, то замену в модификации используйте такую:

    Код:
    <xen:if is="{$visitorLanguage.language_code} == 'ru-RU'">
    <link rel="stylesheet" href="css.php?css=my_ru_lang&amp;style={xen:urlencode $_styleId}&amp;dir={$visitorLanguage.text_direction}&amp;d={$visitorStyle.last_modified_date}" />
    <xen:else />
    <link rel="stylesheet" href="css.php?css=my_en_lang&amp;style={xen:urlencode $_styleId}&amp;dir={$visitorLanguage.text_direction}&amp;d={$visitorStyle.last_modified_date}" />
    </xen:if>
    $0
Поделиться этой страницей в