func GetDefaultMessages(filename string) *I18nMessages { return &I18nMessages{ DefaultVoice: tropo.GetVoice("Vanessa"), WelcomeMessage: "Welcome, please leave a message after the beep", WelcomeAltMessage: "Sorry we do not take any message currently, please call again later", CheckNewMessages: "Hello %s, no new messages. Have a good day !", CheckNoMessage: "Hello %s, you have %d new messages", RecordingOKMessage: "We got your message recorded. Have a great day !", RecordingFailedMessage: "Sorry, we could not record your message. Please try again later", } }
// Load default messages from file // The file is in json format and contains one or more of the entries: // - GOLAM_VOICE // - GOLAM_WELCOME // - GOLAM_WELCOME_ALT // - GOLAM_CHECK_NO_MESSAGE // - GOLAM_CHECK_NEW_MESSAGES // - GOLAM_RECORDING_OK // - GOLAM_RECORDING_FAILED // If an entry is not present, a default english message is added func LoadMessagesConfiguration(filename string) *I18nMessages { conf := configure.New() glog.V(0).Infof("Loading env preferences from 1. env variables") conf.Use(configure.NewEnvironment()) if filename != "" { glog.V(0).Infof("Loading messages from: %s", filename) if file, err := os.Open(filename); err != nil { glog.Warningf("Could not open Messages definition, switching to default values", filename) } else { file.Close() conf.Use(configure.NewJSONFromFile(filename)) } } // messages defaultVoice := conf.String("GOLAM_VOICE", "Vanessa", "defaults to English") welcome := conf.String("GOLAM_WELCOME", "Welcome, please leave a message after the beep", "to enhance the welcome message of the new messages checker") welcomeAlt := conf.String("GOLAM_WELCOME_ALT", "Sorry we do not take any message currently, please call again later", "alternative message if storage service could not be started") checkNoMessage := conf.String("GOLAM_CHECK_NO_MESSAGE", "Hello %s, no new messages. Have a good day !", "") checkNewMessage := conf.String("GOLAM_CHECK_NEW_MESSAGES", "Hello %s, you have %d new messages", "") recordingOK := conf.String("GOLAM_RECORDING_OK", "Your message is recorded. Have a great day !", "") recordingFailed := conf.String("GOLAM_RECORDING_FAILED", "Sorry, we could not record your message. Please try again later", "") conf.Parse() var messages I18nMessages messages.DefaultVoice = tropo.GetVoice(*defaultVoice) messages.WelcomeMessage = *welcome messages.WelcomeAltMessage = *welcomeAlt messages.CheckNewMessages = *checkNewMessage messages.CheckNoMessage = *checkNoMessage messages.RecordingOKMessage = *recordingOK messages.RecordingFailedMessage = *recordingFailed return &messages }