aboutsummaryrefslogtreecommitdiffhomepage
path: root/hugolib/multilingual.go
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <[email protected]>2016-07-26 10:24:27 +0200
committerBjørn Erik Pedersen <[email protected]>2016-09-06 18:32:16 +0300
commit75dd596e6c38466fcb97a8b9dc9eb20fc2fb7fd6 (patch)
tree37f43d8af433033996fbae9d2b3914888144c60a /hugolib/multilingual.go
parent618948e4a83665f8355b01d8a3f7a7186e6bd3eb (diff)
downloadhugo-75dd596e6c38466fcb97a8b9dc9eb20fc2fb7fd6.tar.gz
hugo-75dd596e6c38466fcb97a8b9dc9eb20fc2fb7fd6.zip
Introduce HugoSites type
And a Hugo global variable which contains the site under build. This is really needed to get some level of control of the "multiple languages" in play. There are still work related to this scattered around, but that will come. With this commit, the multilingual feature is starting to work.
Diffstat (limited to 'hugolib/multilingual.go')
-rw-r--r--hugolib/multilingual.go21
1 files changed, 11 insertions, 10 deletions
diff --git a/hugolib/multilingual.go b/hugolib/multilingual.go
index becdd5ba1..c75f504ef 100644
--- a/hugolib/multilingual.go
+++ b/hugolib/multilingual.go
@@ -22,6 +22,11 @@ func NewLanguage(lang string) *Language {
return &Language{Lang: lang, params: make(map[string]interface{})}
}
+// TODO(bep) multilingo
+func newDefaultLanguage() *Language {
+ return NewLanguage("en")
+}
+
type Languages []*Language
func NewLanguages(l ...*Language) Languages {
@@ -93,10 +98,9 @@ func (l *Language) Get(key string) interface{} {
return viper.Get(key)
}
+// TODO(bep) multilingo move this to a constructor.
func (s *Site) SetMultilingualConfig(currentLang *Language, languages Languages) {
- // TODO(bep) multilingo evaluate
- viper.Set("CurrentLanguage", currentLang)
ml := &Multilingual{
Languages: languages,
}
@@ -108,14 +112,11 @@ func (s *Site) multilingualEnabled() bool {
return s.Multilingual != nil && s.Multilingual.enabled()
}
-func currentLanguageString() string {
- return currentLanguage().Lang
+// TODO(bep) multilingo remove these
+func (s *Site) currentLanguageString() string {
+ return s.currentLanguage().Lang
}
-func currentLanguage() *Language {
- l := viper.Get("CurrentLanguage")
- if l == nil {
- panic("CurrentLanguage not set")
- }
- return l.(*Language)
+func (s *Site) currentLanguage() *Language {
+ return s.Lang
}