mirror of
https://github.com/gohugoio/hugo.git
synced 2025-05-07 11:16:26 +03:00
docs: Add docs for lang.Merge
See https://github.com/gohugoio/hugo/issues/4463
This commit is contained in:
parent
ffaec4ca8c
commit
70005364a2
2 changed files with 51 additions and 6 deletions
47
docs/content/functions/lang.Merge.md
Normal file
47
docs/content/functions/lang.Merge.md
Normal file
|
@ -0,0 +1,47 @@
|
|||
---
|
||||
title: lang.Merge
|
||||
description: "Merge missing translations from other languages."
|
||||
godocref: ""
|
||||
workson: []
|
||||
date: 2018-03-16
|
||||
categories: [functions]
|
||||
keywords: [multilingual]
|
||||
menu:
|
||||
docs:
|
||||
parent: "functions"
|
||||
toc: false
|
||||
signature: ["lang.Merge FROM TO"]
|
||||
workson: []
|
||||
hugoversion:
|
||||
relatedfuncs: []
|
||||
deprecated: false
|
||||
draft: false
|
||||
aliases: []
|
||||
comments:
|
||||
---
|
||||
|
||||
As an example:
|
||||
|
||||
```bash
|
||||
{{ $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:
|
||||
|
||||
|
||||
```bash
|
||||
{{ $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 %}}
|
Loading…
Add table
Add a link
Reference in a new issue