The Multilingual Plugin makes it possible for administrators of a multilingual forum to create a rich and comprehensible environment for all users and guests, even if they donāt speak the default or majority language of the forum.
optional interface language and content language fields at signup (coming soon).
Please note
All of the above features work on top of the existing Discourse locale system, and work in conjunction with all features of that system (see the longer explaination of this here).
If you wish to add interface languages (ālocalesā) to Discourse, the best way of doing this is following the steps outlined here: How to add a new language. You can also add a locale via a plugin, as described here.
The ability to do this via the admin interface in this plugin should only be considered after the existing Discourse-supported methods are exhausted. Any languages added to Discourse via the Discourse-supported methods will automatically be available for all features in this plugin.
This plugin was made possible by the support of the Wikimedia Foundation, with particular support from @Elena_Lappen nd @icaria36, who had significant input on the design of the feature-set.
For further discussion on the thinking behind this plugin see:
Wow! You have been busy. Nice work, @angus! Look forward to seeing examples of this in the wild. Let me know if you need somebody like me to look at it and give feedback.
One gap has been the lack of a feature to enable staff to improve translations of posts provided by the translate plugin - is that going to be part of this effort?
hm. Iām not rulling it out, but that is probably more in the scope of the Translate Plugin.
A somehwat related feature which I built at one point for something else is a little count icon that shows for users when the locale theyāre using falls back to the default locale because a translation is missing. Click the icon and you see:
āx translations missing for this page. Help us translate them here: (link to discourseās transifex).ā
It seems as though many of our old topics are getting the language tag retroactively, which is desired, but only a handful at this point. Will a job run to apply the tag to all existing posts eventually? If not, is there a way to apply a language tag to all existing posts? Our site has been only English up to this point so I want all existing posts to have the en tag.
When you have multiple languages set under content languages should you be able to filter by an individual language? Currently when I click one of the languages in the drop down nothing happens.
Thanks for the feedback David and giving this a shot. Iāve pushed a number of udpates that, among other things, fix the two problems you mention above.
Not yet. Currently only the posts translated by the Translator plugin will automatically get a content tag retroactively (if the translator plugin is enabled and the sync feature is enabled).
I can add such a job, but itāll need to take a specific language as a parmeter and run on a defined scope. In addition to a āsite wideā scope, I could do it on a per-category, or per (non-content) tag basis (i.e. apply this content tag to all topics in this category or with this other tag). What would work for you?
No, the list is mean to just show you what your content languages are currently set at. Could you walk me through how you expect (or would like) this to behave?
Ideally I would like to have the en tag applied to all existing posts that do not have a language tag, is that too broad? The problem is that if a user sets their content language to say English and Spanish, they will then only see the posts with the language tag, they will not see the thousands of posts that have no tag.
Because there is a list and they highlight when hovered, it gives the impression that they are clickable. My expectation in that case is that when you click on one of them your posts would be filtered by that language. I think this could be a useful feature to filter by language, but itās not something Iām dying to have either.
On another note; I would love to have the option to move the language button. I have a lot of items in my nav bar already and itās starting to get cluttered. Also the highlighted button looks out of place above the new topic button and itās forcing the new topic button below. I suppose itās not possible to move it to the beginning of the navbar, say before Latest? Or it could be floating in a corner like I have on my wordpress homepage https://naturephotographers.network , or it could go in the header similar to the option in the translate plugin.
I understand your reasoning for putting it in the navbar, because you are filtering similar to the other buttons, but the thing is that you would only set this once and then forget it. Itās not like you would be regularly filtering by different languages.
Agreed, the solution I proposed on Pavilion is if the default locale matches one of the selected topic languages, then show all posts without tags. But bulk tagging would be the better option.
@angus, I am not 100% sure if this is related to your plugin or a change in core, but there may be a bug Iāve come across. When I edit an existing post, make some changes and try to save I get this error None of the tags you selected can be used, there are no tags set except the en tag, and minimun number of tags required in a topic is set to 0. Any ideas?
Ran into another issue today Angus, I previously had an ig tag (short for instagram) that was deleted by the plugin to make way for the Igbo language. I assume thereās no way to get this back? I tried turning off the plugin in hopes that it may still be there, but alas it appears to be long gone. I know this a risk you take when testing plugins. You might want to add a warning that it will delete any tags with the same name.
Just a note that David and I have resolved this issue and restored the existing ig tags.
If there is a conflict between a pre-existing tag and a content language tag, the language wonāt be available as a content language until the conflict is resolved. Youāll see this in your languages admin.
Dear Angus, is it possible to use only language switcher for guests?
I donāt need to use all functions of this system - only need to give the guest an ability to change language of the interface.
We installed the plugin, but now none of the content is visible to users anymore, even to staff. But, when you edit a category and try to delete it, we then get the following warning:
The only way to access a topic is then to follow the link on the warning message or know the URL of the topic. If we access the topic (RIO Paris) and then add a content language tag, say āenglishā, then it becomes visible as expected. Our guess is Multilingual plugin is working just fine. Only content associated with a tag is displayed. However, we find it misleading and confusing when people cannot see all the related topics without associating a language tag. We have thousands of topics previously published which are invisible. Is there a solution to swiftly attribute language tag to them as we cannot see a list at the moment?
Kindly please advise.
Edit: I solved my visibility issue by tagging all topics of categories certain categories according to the language they were supposed to use, in Rails:
cd /var/discourse then ./launcher enter app
getting the ids of the categories with rake categories:list
If a category that should only contain topics in German is 245, then rake tags:bulk_tag_category["de",245]
I deactivated this plugin now. Problems started with dissapearing of plugins list in admin panel. After that I tried to rebuild the app. But after rebuilding site didnāt open. Now it opens, but with this plugin deactivated.
@angus, can you check your plugin with a fresh version of Discourse?
in a safe mode without unofficial i see this page without list of plugins:
At that time no mode could solve the problem (safe, without inofficial, without all) - in all modes I didnāt see a list of plugins, installed in the system.