Discourse uses transliteration rules to replace Unicode characters with ASCII characters. The rules depend on the site’s default_locale.
It works perfectly fine for German (transliterate.de.yml). It doesn’t work for French because there are no transliteration rules yet.
EDIT: Oh, looking at the output below, it actually matches your preferred “nos-oeuvres-cachees”. I’m not sure why… Maybe Rails started to include transliteration rules by default? ![]()
[1] pry(main)> SiteSetting.default_locale = :de
=> :de
[2] pry(main)> Slug.for("Küche", "")
=> "kueche"
[3] pry(main)> SiteSetting.default_locale = :fr
=> :fr
[4] pry(main)> Slug.for("Nos Œuvres Cachées", "")
=> "nos-oeuvres-cachees"
Could you create a PR with French transliteration rules?