summaryrefslogtreecommitdiffstats
path: root/hugolib/multilingual.go
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2016-08-06 14:51:50 +0200
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2016-09-06 18:32:17 +0300
commit596e0e98e4483d2a0a709412a338ceddb6538757 (patch)
tree0f8b33f98aa67dcb6fed48095b47ddd565575960 /hugolib/multilingual.go
parent7cac19b1e3d2631395b88998b523a5a6d84b9e29 (diff)
Make it possible to add a language in server mode
See #2309
Diffstat (limited to 'hugolib/multilingual.go')
-rw-r--r--hugolib/multilingual.go21
1 files changed, 21 insertions, 0 deletions
diff --git a/hugolib/multilingual.go b/hugolib/multilingual.go
index 8bc7bea33..cc9f607f2 100644
--- a/hugolib/multilingual.go
+++ b/hugolib/multilingual.go
@@ -6,6 +6,7 @@ import (
"sort"
"strings"
+ "errors"
"fmt"
"github.com/spf13/cast"
@@ -63,6 +64,26 @@ func (ml *Multilingual) Language(lang string) *Language {
return ml.langMap[lang]
}
+func newMultiLingualFromSites(sites ...*Site) (*Multilingual, error) {
+ languages := make(Languages, len(sites))
+
+ for i, s := range sites {
+ if s.Language == nil {
+ return nil, errors.New("Missing language for site")
+ }
+ languages[i] = s.Language
+ }
+
+ defaultLang := viper.GetString("DefaultContentLanguage")
+
+ if defaultLang == "" {
+ defaultLang = "en"
+ }
+
+ return &Multilingual{Languages: languages, DefaultLang: NewLanguage(defaultLang)}, nil
+
+}
+
func (ml *Multilingual) enabled() bool {
return len(ml.Languages) > 1
}