Hugo

Multilingual filename issue, please assist

I’m seeing the same issue with Hugo 0.60.1.

In my case, my site has two languages, en and fr — the default language is en.

If I create an image file at the path content/image.fr.jpg, I would expect Hugo to copy it to public/fr/image.jpg, but instead is gets copied to public/fr/image.fr.jpg. Hugo correctly places it in the fr language directory, but doesn’t remove the language suffix from the file name.

Is this a bug, or the intended behaviour?

My post got split off from another thread and lost some context. Here’s some further information on my issue.

If my config.toml file looks like this:

baseURL = "http://example.org/"
title = "My New Hugo Site"
disableKinds = ["RSS", "taxonomy", "taxonomyTerm", "sitemap", "robotsTXT", "404"]
[languages]
    [languages.en]
        languageCode = "en"
        languageName = "English"
        weight = 1
    [languages.fr]
        languageCode = "fr"
        languageName = "Français"
        weight = 2

And my content directory look like this:

├── content
│   ├── test
│   │   ├── image.jpg
│   │   ├── image.fr.jpg
│   │   ├── index.en.html
│   │   └── index.fr.html
│   ├── _index.en.html
│   └── _index.fr.html

My public directory ends up like this after I run hugo on the command line:

├── public
│   ├── en
│   │   └── index.html
│   ├── fr
│   │   ├── test
│   │   │   ├── image.fr.jpg
│   │   │   └── index.html
│   │   └── index.html
│   ├── test
│   │   ├── image.jpg
│   │   └── index.html
│   └── index.html

Notice that the HTML files in public/fr/ have the .fr language suffix removed from the file name. This is not the case for images — for example, the image in public/fr/test/ is still named image.fr.jpg.

I’d like Hugo to output the image to public/fr/test/image.jpg.