How do I make a locale available in Postgresql?
It looks like a syntax problem. This statement:

create collation fr_FR (LOCALE=‘fr_FR.utf8’)


has Unicode non-ASCII quotes LEFT SINGLE QUOTATION MARK and RIGHT SINGLE QUOTATION MARK instead of the normal ASCII double-quote. These fancy quotes are not delimiters for the SQL syntax, so they get interpreted as being part of the locale's name.

Try with:

create collation fr_FR (LOCALE="fr_FR.utf8");