Загрузка...

[DevCore Studios] Translator Title Threads (XenForo)

Thread in Engines, frameworks created by ToSa Nov 9, 2024. (bumped Nov 23, 2024) 691 view

  1. ToSa
    ToSa Topic starter Nov 9, 2024 guest, боже, храни кьют-рок. :beer::beer::beer: 23,801 Dec 18, 2021
    Возможности аддона:

    - Перевод названий тем (С помощью Google Translate)
    - Новый ББ-Код
    [lang]
    (Должно быть минимум 2 в сообщении)

    При создании темы, если пользователь вводит название темы на русском - оно автоматически переводится на английский язык, и наоборот.

    Также учел пожелания юзеров в прошлых аддонах и добавил Repository. Там одна функция - перевод текста с помощью Google Translate.
    HTML
    <xf:set var="$text" value="{$xf.app.em.getRepository('DCS\TranslatorTitleThreads:Translator').getTranslatedText('Hello World!', 'ru')}"/>
    Вывод:

    [IMG]
    [IMG]

    - Переводить RU заголовок при изменении EN заголовка:
    [IMG]
    Если включено, при изменении "En title" будет переводится и русский заголовок.
    [IMG]

    Используется так. Если человек выбрал русский язык - ему покажется только содержимое тега
    [lang=ru]
    , если английский - соответственно
    [lang=en]


    Также существует проверка на кол-во тегов
    [lang]
    , оно должно быть четным и для разных языков. Если, к примеру, написать так:
    [IMG]

    Или же так:
    [IMG]

    Выйдет ошибка:
    [IMG]
    [IMG]

    С русским:
    [IMG]

    С английским:
    [IMG]

     
  2. lessql
    lessql Nov 9, 2024 LOVE машулю :smile_love: 8653 Apr 13, 2020
    видишь тему с не русским названием -> кидаешь репорт, что еще нужно то :ok_angry:
     
    1. ToSa Topic starter
      lessql, на эту тему тоже получается?
    2. lessql
      ToSa, пожалуй воздержусь, но будь осторожен
    3. ToSa Topic starter
  3. Гомиак
    Гомиак Nov 9, 2024 НЕРВЫ ГОНДУРАСЫ 333 Dec 31, 2019
    неплохая фича, полезно
     
  4. neverd3
    neverd3 Nov 18, 2024 8 May 2, 2021
    Было бы неплохо вместо лишних запросов в БД, использовать систему кэширования, в виде Memcached или Redis.
    Ради того, чтобы получить переведённый заголовок обращаться к бд, если это можно реализовать проще - нецелесообразно, как по мне.

    В
    ⁡DCS\TranslatorTitleThreads\XF\Entity\Post;
    ⁡про валидацию наличия двух тегов - жесть.
    Можно было обойтись без этой проверки и всего лишь одним BB-кодом, только при его рендере, получать язык визитора и в соответствии с этим — отдавать уже нужный перевод части текста в этом BB-коде (при этом не забывая про кэш). Костыль.

    И насчёт использования переводчика в шаблонах, во первых тянуть целый репозиторий для этого неправильно (да и в целом, репозиторий, по задумке, должен в себе содержать взаимодействие с базой данных, а не полезные функции, утилки)
    Было бы лучше расширить имеющийся у ксенфоро шаблонизатор, добавив свою функцию или фильтр. В первом случае, так же принимать изначальный текст, и код языка для перевода, во втором же, можно так же, подтянуть язык визитора и перевести выделенный текст.

    Задумка неплохая. Но реализация подкачала :)
     
Loading...
Top