func Init(config core_config.Reader) go_i18n.TranslateFunc { sources := []string{ config.Locale(), os.Getenv(lcAll), os.Getenv(lang), defaultLocale, } assetNames := resources.AssetNames() for _, source := range sources { if source == "" { continue } for _, l := range language.Parse(source) { if l.Tag == zhTW || l.Tag == zhHK { l.Tag = zhHant } for _, assetName := range assetNames { assetLocale := strings.ToLower(strings.Replace(path.Base(assetName), underscore, hyphen, -1)) if strings.HasPrefix(assetLocale, l.Tag) { assetBytes, err := resources.Asset(assetName) if err != nil { panic(fmt.Sprintf("Could not load asset '%s': %s", assetName, err.Error())) } err = go_i18n.ParseTranslationFileBytes(assetName, assetBytes) if err != nil { panic(fmt.Sprintf("Could not load translations '%s': %s", assetName, err.Error())) } T, err := go_i18n.Tfunc(source) if err == nil { return T } } } } } panic("Unable to find suitable translation") }
func Init(config core_config.Reader) go_i18n.TranslateFunc { loadAsset("cf/i18n/resources/" + defaultLocale + resourceSuffix) defaultTfunc := go_i18n.MustTfunc(defaultLocale) assetNames := resources.AssetNames() sources := []string{ config.Locale(), os.Getenv(lcAll), os.Getenv(lang), } for _, source := range sources { if source == "" { continue } for _, l := range language.Parse(source) { if l.Tag == zhTW || l.Tag == zhHK { l.Tag = zhHant } for _, assetName := range assetNames { assetLocale := strings.ToLower(strings.Replace(path.Base(assetName), underscore, hyphen, -1)) if strings.HasPrefix(assetLocale, l.Tag) { loadAsset(assetName) t := go_i18n.MustTfunc(source) return func(translationID string, args ...interface{}) string { if translated := t(translationID, args...); translated != translationID { return translated } return defaultTfunc(translationID, args...) } } } } } return defaultTfunc }
func (ui *terminalUI) NotifyUpdateIfNeeded(config core_config.Reader) { if !config.IsMinCliVersion(cf.Version) { ui.Say("") ui.Say(T("Cloud Foundry API version {{.ApiVer}} requires CLI version {{.CliMin}}. You are currently on version {{.CliVer}}. To upgrade your CLI, please visit: https://github.com/cloudfoundry/cli#downloads", map[string]interface{}{ "ApiVer": config.ApiVersion(), "CliMin": config.MinCliVersion(), "CliVer": cf.Version, })) } }
func (ui *terminalUI) ShowConfiguration(config core_config.Reader) { table := NewTable(ui, []string{"", ""}) if config.HasAPIEndpoint() { table.Add( T("API endpoint:"), T("{{.ApiEndpoint}} (API version: {{.ApiVersionString}})", map[string]interface{}{ "ApiEndpoint": EntityNameColor(config.ApiEndpoint()), "ApiVersionString": EntityNameColor(config.ApiVersion()), }), ) } if !config.IsLoggedIn() { table.Print() ui.Say(NotLoggedInText()) return } else { table.Add( T("User:"******"%s target -o ORG -s SPACE", cf.Name()) ui.Say(T("No org or space targeted, use '{{.CFTargetCommand}}'", map[string]interface{}{ "CFTargetCommand": CommandColor(command), })) return } if config.HasOrganization() { table.Add( T("Org:"), EntityNameColor(config.OrganizationFields().Name), ) } else { command := fmt.Sprintf("%s target -o Org", cf.Name()) table.Add( T("Org:"), T("No org targeted, use '{{.CFTargetCommand}}'", map[string]interface{}{ "CFTargetCommand": CommandColor(command), }), ) } if config.HasSpace() { table.Add( T("Space:"), EntityNameColor(config.SpaceFields().Name), ) } else { command := fmt.Sprintf("%s target -s SPACE", cf.Name()) table.Add( T("Space:"), T("No space targeted, use '{{.CFTargetCommand}}'", map[string]interface{}{"CFTargetCommand": CommandColor(command)}), ) } table.Print() }
func (ui *FakeUI) NotifyUpdateIfNeeded(config core_config.Reader) { if !config.IsMinCliVersion(cf.Version) { ui.Say("Cloud Foundry API version {{.ApiVer}} requires CLI version " + config.MinCliVersion() + " You are currently on version {{.CliVer}}. To upgrade your CLI, please visit: https://github.com/cloudfoundry/cli#downloads") } }