mirror of
https://github.com/danielmiessler/Fabric.git
synced 2026-02-12 15:05:10 -05:00
### CHANGES - Introduce `cmd` directory for all main application binaries. - Move all Go packages into the `internal` directory. - Rename the `restapi` package to `server` for clarity. - Consolidate patterns and strategies into a new `data` directory. - Group all auxiliary scripts into a new `scripts` directory. - Move all documentation and images into a `docs` directory. - Update all Go import paths to reflect the new structure. - Adjust CI/CD workflows and build commands for new layout.
43 lines
909 B
Go
43 lines
909 B
Go
package lang
|
|
|
|
import (
|
|
"github.com/danielmiessler/fabric/internal/plugins"
|
|
"golang.org/x/text/language"
|
|
)
|
|
|
|
func NewLanguage() (ret *Language) {
|
|
|
|
label := "Language"
|
|
ret = &Language{}
|
|
|
|
ret.PluginBase = &plugins.PluginBase{
|
|
Name: label,
|
|
SetupDescription: "Language - Default AI Vendor Output Language",
|
|
EnvNamePrefix: plugins.BuildEnvVariablePrefix(label),
|
|
ConfigureCustom: ret.configure,
|
|
}
|
|
|
|
ret.DefaultLanguage = ret.AddSetupQuestionCustom("Output", false,
|
|
"Enter your default output language (for example: zh_CN)")
|
|
|
|
return
|
|
}
|
|
|
|
type Language struct {
|
|
*plugins.PluginBase
|
|
DefaultLanguage *plugins.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
|
|
}
|