Separate config files per language

In my Hugo project I have one config.toml file containing also translations. Let me give a snippet:

baseurl = "/"
theme = "hugo-creative-theme"
DefaultContentLanguage = "en"

[params]
  author = "Free Software Foundation Europe (FSFE)"
  languageCode = "en-us"
  languageName = "English"

[params.navigation.links]
  start     = "Start"

# === TRANSLATIONS ===
[Languages]
[Languages.en]

# == GERMAN ==
[Languages.de]
  languageCode = "de-DE"
  languageName = "Deutsch"

[Languages.de.navigation.links]
  start     = "Start"

As you can see, some strings don’t get translated specifically in each language because the English default suffices.

I address these strings for example with

{{ .Site.Params.navigation.links.start }}

Now the config file contains many strings. Because we plan to add many translations, it would be great to have the opportunity to also split the config files to have a better overview. So can a config file include other config files?

I read in the Hugo documentation that you can run Hugo with different config files for each language but I’m afraid this would break our current hacked layout which is designed to run only once.

No, but it “next Hugo” you can have multiple config files which gets merged (last key wins):

See Added support for multiple config files via --config a.toml,b.toml,c.toml by jgielstra · Pull Request #3532 · gohugoio/hugo · GitHub

I’m not sure how smart the merging is, though, so you would have to test it for your use case.

Also see proposal: Optional externalize site config · Issue #3090 · gohugoio/hugo · GitHub

Which I may or may not get to soonish…