Use categories or tags to structure a multilingual community

Hi Neil, this is awesome! Thanks for taking this project on.

I just tried out the new required tags feature and unfortunately it didn’t work for me.

I created a category and set the required tag.


Image Description: Screenshot showing that a category’s Category Tags setting requires 1 number of tags from the project management tag group.

But I was able to successfully create a topic without any tags. Is this reproducible anywhere?


Image Description: Screenshot of topic titled “Does requiring tag work? test” that was successfully posted without any tags.

1 Like

You’re an admin on the site, so you can do whatever you want. Test with a non-staff account to see what it looks like.

3 Likes

That explains everything and it worked beautifully, especially the tags showing up in the dropdown. THANK YOU.

Is it possible to add a link to the tags page in the error message?

1 Like

@neil Sorry it’s take so long to respond, but I’ve taken advanage of your work here in a new plugin I’m building to implement the feature set I laid out above. It uses a modified version of the structure you added to require all topics carry a langauge tag if a site setting is enabled. So, thank you!

More notes the 'multilingual plugin' (in development) if anyone is interested.

Repository: https://github.com/paviliondev/discourse-multilingual

Hopefully the user interface is relatively self-explanatory, but a few notes on the nomenclature and current behavior:

  1. Type “Base” means that the language is part of the “base list” of languages. Currently the base list is the full list languages in the Discourse codebase, specifically this list: https://github.com/discourse/discourse/blob/master/config/locales/names.yml. The plugin is built in such a way that the base list can be changed at a later date if need be (albeit with some minor code changes).

  2. You’ll notice that a number of the “Base” list languages are listed has having “no translations”. This reflects the fact that the list of supported locales in Discourse is a subset of the list of languages in names.yml. No doubt, the goal is to add more supported locales over time, however this is dependent on the translation of Discourse into different locales (managed in Transifex).

  3. You can add new languages by uploading a .yml file in the format:

    iso_code: native name
    iso_code: native name
    ...
    

    You can include as made languages as you like in the file. You upload the file by clicking “Upload Languages” and selecting the .yml file. The list will automatically refresh with the new language added. Languages added in this way will show as type “Custom”.

  4. You can sort the list by any of the headings (apart from “Actions”) by clicking on the heading. You can also filter the list using the filter input in the top left (one minor issue with this is that it refreshes on every character added; I will fix this later).

  5. The checkboxes in the Content and Locale columns denote whether the language should be used as a content filter and / or locale. The locale management functionality is not yet complete so the checkboxes in that column will not function properly (and custom languages without locale translations will show a checkbox, instead of “no translations”).

  6. The chexboxes in the Content column will change the availability of the content languages to users, i.e if this checkbox is disabled:

    1. There will be no content language tag for that language listed in the content language selector in the composer.

    2. A user will not be able to select the content language in their profile.

Note also that the user’s content language and locale selectors are grouped at the top of their interface settings.

Note also that the initialization of the language selector in the composer (i.e. adding the user’s content lanaguage by default) should now be working.

Note also that the site setting multilingual require language tag determines whether a language tag is required. It has three potential values: no (not required of anyone), yes (required of everyone), non-staff (required of non-staff).

9 Likes

Hello, I have take a look, what is the way to have this sort of structure ?
I understand that ‘other languages’ is a catégory and the différent languages are the sub-categories ?
Is that right ?
And contributors post here according to their own languages ?

so they can post all subjects without any theme ?
thank you

Yves

1 Like

Does anybody think that it would be really great is to display all content and the interface to users in their native language?

AirBnB does this for years now: everybody writes in their own language and sees the responses in the language they write in.

This could be easily done technically with the Google Translate API, which to be honest, I find really impressive in how good it is.

I think the suggestions as well as the “multilingual plugin”, if I understood its function correctly, just leads to more segregation instead of removing the language barriers.

1 Like

Have you seen this?

2 Likes

Have you seen this?

Of course, but as far as I can tell, this only translates the posts after a click on it - or does it also work automatically and I just haven’t out found how?

1 Like

2 posts were split to a new topic: Translation cost estimates for a small community