Multilingual site tag lists - bug? Feature?

I am working on a bilingual site now, and was experimenting with taxonomy settings. I’m not sure if this is working as expected, or, if it’s a bug.

Given a config.toml with:

baseURL = "http://thesite.jp"
defaultContentLanguage = "ja"
languageCode = "ja-jp"
enableGitInfo = "true"
enableemoji = "false"

[permalinks]
  post = "/:year/:month/:day/:slug/"
  page = "/:filename/"

[params]
    sitedescription = "blahblah"
    keywords = "blahblah"
    # various defaults …

[taxonomies]
  tag = "tags"

[languages]
[languages.ja]
languageName = "日本語"
title = "XYZ部会"
weight = 1
author = "XYZ部会 事務局"

[languages.en]
languageName = "English"
title = "XYZ Committee"
weight = 2
author = "XYZ Committee Office"

… I can list tags using this sort of code in a partial ranging on .Site.Taxonomies.tags:

{{ "<!-- ENTERING partial list-tags.html -->" | safeHTML }}
<hr class="class1">
<p class="class2">
    {{ $thislang := .Lang }}
    <a class="class3" href="{{ if eq $thislang "en" }}/en/{{ else }}/{{ end }}tags">{{ i18n "tagsListBrowse" }}</a><span class="red class4">&#10086;</span>
    {{ range $name, $taxonomy := .Site.Taxonomies.tags }}
    <a class="class5" href="{{ if eq $thislang "en" }}/en/{{ else }}/{{ end }}tags/{{ $name | urlize }}">{{ $name }}</a><span class="red class4"i>&#10086;</span>
    {{ end }}
</p>
{{ "<!-- LEAVING partial list-tags.html -->" | safeHTML }}

But, if I put the taxonomies under each language section, like:

[languages]
[languages.ja]
languageName = "日本語"
title = "XYZ部会"
weight = 1
author = "XYZ部会 事務局"
[languages.ja.taxonomies]
  tag = "tags"

[languages.en]
languageName = "English"
title = "XYZ Committee"
weight = 2
author = "XYZ Committee Office"
[languages.en.taxonomies]
  tag = "tags"

… the English side does not render. I assume it’s because I kept the taxo name and plural the same as the default language’s. Further, when I put {{ .Site.Taxonomies.tags }} outside the range to inspect it, it appears blank for English but populates for Japanese (default).

So I am correct to assume the rule of thumb here is, “specify a language taxonomy only if the string is to be different from the default one”?

Second, a question: is there something like {{ .URL | absLangURL }} that you can use in navs, but for taxonomy lists? I’d like to use a cleaner way than href="{{ if eq $thislang "en" }}/en/{{ else }}/{{ end }}tags"> and generic so I can use it for any taxo, if it exists.

On a related note, given a static/.htaccess with:

ErrorDocument 404 /404.html

… and a layouts/404.html containing:

<ul>
    {{ range $taxonomyname, $taxonomy := .Site.Taxonomies }}
      <li><h2>キーワード Keywords</h2></a>
        <ul>
          {{ range $key, $value := $taxonomy }}
          <li><h3 class="class7">{{ $key }}</h3></li>
            <ul>
              {{ range $value.Pages }}
              <li hugo-nav="{{ .RelPermalink }}"><a class="class8 class9" href="{{ .Permalink}}"><em>{{ .LinkTitle }}</em></a></li>
              {{ end }}
            </ul>
          {{ end }}
        </ul>
      </li>
    {{ end }}
</ul>

… which groups pages under taxo items, in the end it only returns the list of tags from the default language (Japanese).

Is it possible to make this template return all tags from all languages, or, is there a way to specify which language’s tags to display, in the range?

Someone mentioned separately to try .Page.Site.Taxonomies but, that does not change the outcome.

Also I noticed that accessing /404.html gives a Japanese tag list, while accessing /en/404.html gives an English tag list.

Ok, I resolved the 404 issue via a fix in Apache, not Hugo, but it works because Hugo does not clobber a file I placed.

My English side site is rendering in /en/. I thought it might help if I put an .htaccess in there, that I could force any errors under /en/ to use /en/404.html as the error page.

The way to make that happen is simply create this file:

/static/en/.htaccess

… adding to it:

ErrorDocument 404 /en/404.html

Now Apache returns the 404 from the right language side.

Still I want to know if I can get the full list of tags from both languages.