What if: Organising a multilingual site by tags

Continuing the discussion from Early preview of the new tagging plugin:

I just had a thought. What if a (special) tag could be set as a site-wide filter, invisible as anything other than a setting. The setting being your standard language selection menu in a corner somewhere:

Here’s how you would use tags on a multi-lingual site

Imagine a website with two languages: English and French.

The site’s default language is English. As a result, by default, all new topics are tagged lang:en, and you can only see topics tagged lang:en. This isn’t a tag you can find and select from the taglist yourself.

If you change the site language to French however, two things happen:

  • Any new topic you make while the French language setting is turned on will be tagged with lang:fr.
  • You will only be able to see topics tagged lang:fr

That’s it. No need to make new categories for each new language, e.g. like on forum.topeleven.com. (provided category names can be translated).

I think this could be a very powerful complement to the existing work that came out of the “Multiple languages on single discourse site” debate.

2 Likes

This feels like a great idea, easy to switch between languages and browse in whatever language you so choose.

One gripe could be for those wanting multi-languages, they’d be forced to manually swap and browse for each language, but that’s a minor annoyance compared to the possibilities.

At least in theory, that’s a very simple query. The language selector could let you select multiple languages (though in this case the Interface Language would have to be a separate option, or maybe the first one you select).

So if your site has English, French and German, and you want to see all English and German posts, the filter would be set to show IF post has lang:en OR lang:de and hide IF post has lang:fr.

I could see that as being awesome, then. And tags would allow it to be done without much trouble I suppose, perhaps using a slightly modified adhoc tagging?

just to avoid confusion and make it straightforward.

Not quite sure what you’re imagining here. Care to elaborate?

What I had in mind was simply a language selector at the bottom of the topic, maybe integrated into the tags field, pre-set to your default language.

Since we’re already in blue sky plugin territory, one could even take it one step further and plug into the Google Translate API for language detection. Imagine you start writing a new topic in a language that’s not your default: After a couple of paragraphs, Discourse would tell you “It looks like you’re writing in French, but this topic is tagged as English. Would you like to change the language-tag of this post?”

Just thinking out loud it would be better as a separate plugin maybe.

as for the rest, what you say would be good. Just need one field within the message composer and a per-topic and global multi-filter.

That would pretty much be enough for a completely fine multi language forum.

Now, one small question: what would happen to a topic that’s written, say, in English? You could filter answers in other languages, but the OP/first message will always be in one language, right?

Uhm, I don’t think you’d ever want to be in a position where a topic is being discussed in multiple languages. Also, the tags system would not support such a scenario, since tags are per-topic only, not per post.

I guess so, it would be quite chaotic even if it were possible.

Alright! I believe your idea is nice enough, I would love it