code: func ParseTranslations(rawKey string, tv TranslationValues) (translations Translations, err error) {
  	// Load the translation templates from the file
  	tt, err := loadTranslationTemplates(rawKey)
  	if err != nil {
  		log.Error("Error while parsing translations - Failed to load translations: ", err)
  		return
  	}
  	translations = make(Translations)
  	templateEngine := template.New("translations")
  	buf := new(bytes.Buffer)
  	// Iterate over the keys and values provided to render
  	for key, value := range tv {
  		// If a translation key is provided that does not exist in the file consider it an error
  		template, exists := tt[key]
  		if !exists {
  			log.Error("Error while parsing translations - Trying to render an unexisting key: ", err)
  			return
  		}
  		// If no translation values are provided, store the raw template (could be that there
  		// are no values required for this template).
  		if value == nil {
  			translations[key] = template
  			continue
  		}
  		// Make sure the buffer is empty
  		buf.Reset()
  		// Parse the template string in the template engine and render it in the buffer
  		templateEngine.Parse(template)
  		err = templateEngine.Execute(buf, value)
  		if err != nil {
  			log.Error("Error while parsing translations - Failed to render template: ", err)
  			return
  		}
  		translations[key] = buf.String()
  	}
  	return
  }
docs: // Parse translations loads the translation templates and renders them with the
  // provided values