Fix the circle import

This commit is contained in:
Tnze
2021-02-18 16:57:11 +08:00
parent 8cc4747f88
commit 624fc138ba
4 changed files with 24 additions and 17 deletions

View File

@ -11,11 +11,11 @@ package chat
import (
"encoding/json"
"fmt"
en_us "github.com/Tnze/go-mc/data/lang/en-us"
"io"
"regexp"
"strings"
_ "github.com/Tnze/go-mc/data/lang/en-us"
pk "github.com/Tnze/go-mc/net/packet"
)
@ -141,8 +141,8 @@ var colors = map[string]string{
}
// translateMap is the translation table.
// By default it's set by data/lang/en-us.
var translateMap map[string]string
// By default it's en-us.
var translateMap = en_us.Map
// SetLanguage set the translate map to this map.
func SetLanguage(trans map[string]string) {

View File

@ -6,7 +6,6 @@ import (
"github.com/Tnze/go-mc/chat"
"testing"
_ "github.com/Tnze/go-mc/data/lang/en-us"
pk "github.com/Tnze/go-mc/net/packet"
)

View File

@ -13,6 +13,7 @@ import (
"regexp"
"strings"
"sync"
"text/template"
)
//go:generate go run $GOFILE
@ -107,16 +108,27 @@ func readLang(name string, r io.Reader) {
}
defer f.Close()
// write code
_, err = fmt.Fprintf(f,
"// Code generated by downloader.go; DO NOT EDIT. \n"+
"package %s\n\n"+
"import \"github.com/Tnze/go-mc/chat\"\n\n"+
"func init() { chat.SetLanguage(Map) }\n\n"+
"var Map = %#v\n",
name, LangMap)
genData := struct {
PkgName string
Name string
LangMap map[string]string
}{
PkgName: pName,
Name: name,
LangMap: LangMap,
}
if err != nil {
tmpl := template.Must(template.New("code_template").Parse(
`// Code generated by downloader.go; DO NOT EDIT.
package {{.Name}}
{{if ne .PkgName "en_us"}}
import "github.com/Tnze/go-mc/chat"
func init() { chat.SetLanguage(Map) }
{{end}}
var Map = {{.LangMap | printf "%#v"}}
`))
if err := tmpl.Execute(f, genData); err != nil {
log.Fatal(err)
}
}

File diff suppressed because one or more lines are too long