Structuring a multilingual community

Привет, Нил, это великолепно! Спасибо, что взялся за этот проект.

Я только что попробовал новую функцию обязательных тегов, но, к сожалению, у меня она не сработала.

Я создал категорию и установил обязательный тег.


Описание изображения: Скриншот, показывающий, что настройка «Теги категории» для категории требует 1 тег из группы тегов «Управление проектами».

Однако мне удалось успешно создать тему без каких-либо тегов. Можно ли воспроизвести это где-либо?


Описание изображения: Скриншот темы с заголовком «Работает ли требование тега? тест», которая была успешно опубликована без каких-либо тегов.

1 лайк

Вы администратор сайта, поэтому можете делать всё, что угодно. Проверьте, как это выглядит, используя учётную запись, не являющуюся служебной.

3 лайка

Это объясняет всё, и всё сработало прекрасно, особенно теги, которые отображаются в выпадающем списке. СПАСИБО БОЛЬШОЕ.

Можно ли добавить ссылку на страницу тегов в сообщение об ошибке?

1 лайк

@neil Извините, что так долго не отвечал, но я использовал вашу работу в новом плагине, который я разрабатываю, чтобы реализовать набор функций, который я описал выше. Он использует модифицированную версию структуры, которую вы добавили, чтобы требовать наличия языкового тега у всех тем, если включена соответствующая настройка сайта. Так что спасибо!

Дополнительные заметки о 'мультиязычном плагине' (в разработке), если кому-то интересно.

Репозиторий: GitHub - paviliondev/discourse-multilingual: A Discourse Plugin that makes it easier to administer a Multilingual Forum. · GitHub

Надеюсь, интерфейс интуитивно понятен, но несколько замечаний по терминологии и текущему поведению:

  1. Тип «Base» означает, что язык входит в «базовый список» языков. В настоящее время базовый список — это полный список языков в коде Discourse, а именно этот список: discourse/config/locales/names.yml at main · discourse/discourse · GitHub. Плагин разработан таким образом, что базовый список можно изменить в будущем при необходимости (хотя это потребует некоторых незначительных изменений в коде).

  2. Вы заметите, что многие языки из списка «Base» помечены как «нет переводов». Это отражает тот факт, что список поддерживаемых локалей в Discourse является подмножеством списка языков в names.yml. Безусловно, цель — со временем добавить больше поддерживаемых локалей, однако это зависит от перевода Discourse на различные локали (управляется в Transifex).

  3. Вы можете добавлять новые языки, загружая файл .yml в формате:

    iso_code: родное название
    iso_code: родное название
    ...
    

    Вы можете включить в файл столько языков, сколько захотите. Загрузите файл, нажав «Upload Languages» и выбрав файл .yml. Список автоматически обновится с добавлением нового языка. Языки, добавленные таким образом, будут отображаться как тип «Custom».

  4. Вы можете сортировать список по любому заголовку (кроме «Actions»), нажав на заголовок. Вы также можете фильтровать список с помощью поля ввода фильтра в верхнем левом углу (одна небольшая проблема с этим заключается в том, что список обновляется при добавлении каждого символа; я исправлю это позже).

  5. Флажки в столбцах Content и Locale указывают, должен ли язык использоваться как фильтр контента и/или локаль. Функциональность управления локалями ещё не завершена, поэтому флажки в этом столбце будут работать некорректно (и для пользовательских языков без переводов локалей будет отображаться флажок вместо «нет переводов»).

  6. Флажки в столбце Content изменят доступность языков контента для пользователей, т. е. если этот флажок отключён:

    1. В селекторе языков контента в редакторе не будет отображаться тег языка контента для этого языка.

    2. Пользователь не сможет выбрать язык контента в своём профиле.

Обратите также внимание, что селекторы языка контента и локали пользователя сгруппированы в верхней части их настроек интерфейса.

Обратите также внимание, что инициализация селектора языка в редакторе (т. е. добавление языка контента пользователя по умолчанию) теперь должна работать.

Обратите также внимание, что настройка сайта multilingual require language tag определяет, требуется ли языковой тег. Она имеет три возможных значения: no (не требуется никому), yes (требуется всем), non-staff (требуется от не-сотрудников).

9 лайков

Здравствуйте, я посмотрел, как добиться такой структуры?
Я понимаю, что «другие языки» — это категория, а различные языки — подкатегории?
Правильно ли я понял?
И авторы публикуются здесь в соответствии со своими языками?

Значит, они могут публиковать любые темы без привязки к тематике?
Спасибо.

Ив

1 лайк

Кому-нибудь кажется, что было бы действительно здорово отображать весь контент и интерфейс для пользователей на их родном языке?

Airbnb делает это уже несколько лет: каждый пишет на своём языке и видит ответы на том языке, на котором он написал.

Это можно легко реализовать технически с помощью Google Translate API, который, честно говоря, производит впечатление своей высокой качеством.

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

1 лайк

Вы видели это?

2 лайка

Вы видели это?Конечно, но насколько я могу судить, это переводит посты только после нажатия на них — или это работает автоматически, и я просто не нашёл, как это сделать?

1 лайк

2 сообщения были перенесены в новую тему: Оценка стоимости перевода для небольшого сообщества