I18n keys instead of translations in default language

When I view a page in the default language, for some reason the key is displayed instead of translation. The page in other language (Russian in this case) shows the translation as expected.

How to fix it?
Is there a way to debug it? I mean, to trace how exactly the translation lookup for the key worked?

The version:

$ hugo version
Hugo Static Site Generator v0.69.0-4205844B/extended darwin/amd64 BuildDate: 2020-04-10T09:15:13Z

Here are relevant parts of my setup:

In single.html:

<a href="/categories">
     {{ i18n "category" }}
</a>

# i18n/en.toml (bogus translations for debugging)
[category]
one = "foo"
other = "bar"

# i18n/ru.toml
[category]
other = "раздел"

$ cat config/_default/languages.yaml 
en:
    languageName: English
    weight: 0
ru:
    languageName: Русский
    weight: 20
de:
    languageName: Deutsch
    weight: 30
es:
    languageName: Español
    weight: 40
1 Like

2 posts were split to a new topic: Display translation key instead of an empty string if the key has no translation