Hi Margo and Juan,
I have built many multilingual Moodle sites over the years. Unfortunately you cannot make a course appear or not appear based on the user's country however you can display a Moodle course in the user's current language.
First you will need to install the Moodle language packs for each of the languages you want to support. Depending on the theme used, this should display a language selection menu in the Moodle navigation. When a user switches language, Moodle will then display it's menus in that language.
Next, you will need to install and enable the Multi-Language Content (v2) filter. Be sure to enable it for both Content and Headings. What this will do is enable a plain text {mlang xx} tag which will give you the ability to display content in the current language. For example:
{mlang XX}content in language XX{mlang}{mlang YY}content in language YY{mlang}{mlang ZZ}content in language ZZ{mlang}
Note that if you use a particular localization of a language such as French Canadian, you will need to install both the French language pack AND the French Canadian language pack. To avoid having them both appear in the menus, you will need to specify the list of languages you want to have appear in the menu. Your {mlang} tags will also need to specify the localized language code. So where French would normally be {mlang fr}Your text in French{mlang}, for French Canadian it would be {mlang fr_ca}Your text in French Canadian{mlang}.
Don't forget to apply these tags to your site name (frontpage settings).
You can
download that plugin from
https://moodle.org/plugins/filter_multilang2
Now, you can't really hide courses in Moodle. However you can create multi-language courses by wrapping each piece of content (don't forget the course names) in an {mlang} set of tags. Then, not only will the user see the course in their current language, but they will be able to switch language at any time as they make their way through the course.
Another option with Moodle native courses is to make use of the activity restriction option. You can display or hide
activities within a course by telling Moodle to only display if the user interface is in a specific language. To make this work, you will need to install and activate the Moodle Restriction by Language availability plugin. This is available for
download from
https://moodle.org/plugins/availability_language . Note the challenge you may have with this approach is in assessing course completion status since not all learners will end up completing the same activities.
Applying these strategies, you end up with a single course that works in any of the languages it supports.
Now, if you are dealing with
SCORM packages, it gets much more complex and will be a little different. You can still do it however you will need to build the language selection menu into the
SCORM package as well as all of the languages. You may be able to have the default language controlled by Moodle but this may require some additional customization.
On a side note, you can find information on getting started with WordPress multi-language sites by taking a look at
https://www.wpbeginner.com/showcase/9-best-translation-plugins-for-wordpress-websites/ and
https://github.com/qtranslate/qtranslate-xt
Hope you find this information useful.
Best regards,
Michael