mirror of
https://github.com/danielmiessler/Fabric.git
synced 2026-02-14 16:05:02 -05:00
42 lines
844 B
Go
42 lines
844 B
Go
package lang
|
|
|
|
import (
|
|
"github.com/danielmiessler/fabric/common"
|
|
"golang.org/x/text/language"
|
|
)
|
|
|
|
func NewLanguage() (ret *Language) {
|
|
|
|
label := "Language"
|
|
ret = &Language{}
|
|
|
|
ret.Configurable = &common.Configurable{
|
|
Label: label,
|
|
EnvNamePrefix: common.BuildEnvVariablePrefix(label),
|
|
ConfigureCustom: ret.configure,
|
|
}
|
|
|
|
ret.DefaultLanguage = ret.Configurable.AddSetupQuestionCustom("Output", false,
|
|
"Enter your default want output lang (for example: zh_CN)")
|
|
|
|
return
|
|
}
|
|
|
|
type Language struct {
|
|
*common.Configurable
|
|
DefaultLanguage *common.SetupQuestion
|
|
}
|
|
|
|
func (o *Language) configure() error {
|
|
if o.DefaultLanguage.Value != "" {
|
|
langTag, err := language.Parse(o.DefaultLanguage.Value)
|
|
if err == nil {
|
|
o.DefaultLanguage.Value = langTag.String()
|
|
} else {
|
|
o.DefaultLanguage.Value = ""
|
|
}
|
|
}
|
|
|
|
return nil
|
|
}
|