* i18n: add i18n for server pacakge Signed-off-by: qwqcode <qwqcode@gmail.com> * i18n: add i18n for cmd pacakge Signed-off-by: qwqcode <qwqcode@gmail.com> * feat: add mustache syntax support for i18n.T in backend Signed-off-by: qwqcode <qwqcode@gmail.com> * i18n: improve i18n for backend further Signed-off-by: qwqcode <qwqcode@gmail.com> * i18n: `zh-CN` translation for backend Signed-off-by: qwqcode <qwqcode@gmail.com> Signed-off-by: qwqcode <qwqcode@gmail.com>
40 lines
924 B
Go
40 lines
924 B
Go
package cmd
|
|
|
|
import (
|
|
"github.com/spf13/cobra"
|
|
)
|
|
|
|
//// Shortcut Functions ////
|
|
|
|
func flag(cmd *cobra.Command, name string, defaultVal interface{}, usage string) {
|
|
f := cmd.PersistentFlags()
|
|
switch y := defaultVal.(type) {
|
|
case bool:
|
|
f.Bool(name, y, usage)
|
|
case int:
|
|
f.Int(name, y, usage)
|
|
case string:
|
|
f.String(name, y, usage)
|
|
}
|
|
}
|
|
|
|
func flagP(cmd *cobra.Command, name, shorthand string, defaultVal interface{}, usage string) {
|
|
f := cmd.PersistentFlags()
|
|
switch y := defaultVal.(type) {
|
|
case bool:
|
|
f.BoolP(name, shorthand, y, usage)
|
|
case int:
|
|
f.IntP(name, shorthand, y, usage)
|
|
case string:
|
|
f.StringP(name, shorthand, y, usage)
|
|
}
|
|
}
|
|
|
|
func flagV(cmd *cobra.Command, name string, defaultVal interface{}, usage string) {
|
|
flag(cmd, name, defaultVal, usage)
|
|
}
|
|
|
|
func flagPV(cmd *cobra.Command, name, shorthand string, defaultVal interface{}, usage string) {
|
|
flagP(cmd, name, shorthand, defaultVal, usage)
|
|
}
|