1
0
mirror of https://github.com/gohugoio/hugo.git synced 2024-05-11 05:54:58 +00:00
Files
gohugoio-hugo/docs/content/en/functions/lang.Merge.md
2018-05-04 09:44:59 +02:00

1.2 KiB

title, description, godocref, workson, date, categories, keywords, menu, toc, signature, workson, hugoversion, relatedfuncs, deprecated, draft, aliases, comments
title description godocref workson date categories keywords menu toc signature workson hugoversion relatedfuncs deprecated draft aliases comments
lang.Merge Merge missing translations from other languages.
2018-03-16
functions
multilingual
docs
parent
functions
false
lang.Merge FROM TO
false false

As an example:

{{ $pages := .Site.RegularPages | lang.Merge $frSite.RegularPages | lang.Merge $enSite.RegularPages }}

Will "fill in the gaps" in the current site with, from left to right, content from the French site, and lastly the English.

A more practical example is to fill in the missing translations for the "minority languages" with content from the main language:

 {{ $pages := .Site.RegularPages }}
 {{ .Scratch.Set "pages" $pages }}
 {{ $mainSite := .Sites.First }}
 {{ if ne $mainSite .Site }}
    {{ .Scratch.Set "pages" ($pages | lang.Merge $mainSite.RegularPages) }}
 {{ end }}
 {{ $pages := .Scratch.Get "pages" }} 

{{% note %}} Note that the slightly ugly .Scratch construct will not be needed once this is fixed: https://github.com/golang/go/issues/10608 {{% /note %}}