diff --git a/docs/content/content/multilingual.md b/docs/content/content/multilingual.md
index f5ff46f9c..7e1df45e1 100644
--- a/docs/content/content/multilingual.md
+++ b/docs/content/content/multilingual.md
@@ -93,13 +93,12 @@ By having the same _base file name_, the content pieces are linked together as t
To create a list of links to translated content, use a template similar to this:
```
-{{ $translations := .Translations }}
-{{ if gt (len $translations) 0 }}
+{{ if .IsTranslated }}
{{ i18n "translations" }}
diff --git a/hugolib/node.go b/hugolib/node.go
index 53c22af13..780190ec6 100644
--- a/hugolib/node.go
+++ b/hugolib/node.go
@@ -271,10 +271,16 @@ func (n *Node) Translations() Nodes {
translations = append(translations, t)
}
}
-
return translations
}
+// IsTranslated returns whether this node is translated to
+// other language(s).
+func (n *Node) IsTranslated() bool {
+ n.initTranslations()
+ return len(n.translations) > 1
+}
+
func (n *Node) initTranslations() {
n.translationsInit.Do(func() {
if n.translations != nil {
diff --git a/hugolib/page.go b/hugolib/page.go
index 74f51c0bb..b09e2b1f7 100644
--- a/hugolib/page.go
+++ b/hugolib/page.go
@@ -531,6 +531,12 @@ func (p *Page) AllTranslations() Pages {
return p.translations
}
+// IsTranslated returns whether this content file is translated to
+// other language(s).
+func (p *Page) IsTranslated() bool {
+ return len(p.translations) > 1
+}
+
// Translations returns the translations excluding the current Page.
func (p *Page) Translations() Pages {
translations := make(Pages, 0)