code: func (p1 Pages) MergeByLanguage(p2 Pages) Pages {
  	merge := func(pages *Pages) {
  		m := make(map[string]bool)
  		for _, p := range *pages {
  			m[p.TranslationKey()] = true
  		}
  
  		for _, p := range p2 {
  			if _, found := m[p.TranslationKey()]; !found {
  				*pages = append(*pages, p)
  			}
  		}
  
  		SortByDefault(*pages)
  	}
  
  	out, _ := spc.getP("pages.MergeByLanguage", merge, p1, p2)
  
  	return out
  }
docs: // MergeByLanguage supplies missing translations in p1 with values from p2.
  // The result is sorted by the default sort order for pages.