func Init(config configuration.ReadWriter) go_i18n.TranslateFunc { var T go_i18n.TranslateFunc var err error locale := config.Locale() if locale != "" { pieces := strings.Split(locale, "_") err = loadFromAsset(locale, pieces[1]) if err == nil { T, err = go_i18n.Tfunc(config.Locale(), DEFAULT_LOCALE) } } else { var userLocale string userLocale, err = initWithUserLocale() if err != nil { userLocale = mustLoadDefaultLocale() } T, err = go_i18n.Tfunc(userLocale, DEFAULT_LOCALE) } if err != nil { panic(err) } return T }
Expect(configRepo.ColorEnabled()).Should(Equal("true")) runCommand("--color", "false") Expect(configRepo.ColorEnabled()).Should(Equal("false")) }) It("fails with usage when a non-bool value is provided", func() { runCommand("--color", "plaid") Expect(ui.FailedWithUsage).To(BeTrue()) }) }) Context("--locale flag", func() { It("stores the locale value when --locale [locale] is provided", func() { runCommand("--locale", "zh_CN") Expect(configRepo.Locale()).Should(Equal("zh_CN")) }) It("informs the user of known locales if an unknown locale is provided", func() { runCommand("--locale", "foo_BAR") Expect(ui.Outputs).To(ContainSubstrings( []string{"known locales are"}, []string{"en_US"}, []string{"fr_FR"}, )) }) Context("when the locale is already set", func() { BeforeEach(func() { configRepo.SetLocale("fr_FR") Expect(configRepo.Locale()).Should(Equal("fr_FR"))