diff --git a/core/wiki/field.go b/core/wiki/field.go index 8386a243..900881bf 100644 --- a/core/wiki/field.go +++ b/core/wiki/field.go @@ -32,7 +32,7 @@ func _field_show(m *ice.Message, name, text string, arg ...string) { } }) meta[mdb.NAME], meta[mdb.INDEX] = name, text - _wiki_template(m.Options(mdb.META, kit.Format(meta)), "", name, text) + _wiki_template(m.Options(mdb.META, kit.Format(meta)), "", kit.Select(name, text, m.IsEnglish()), text) } const FIELD = "field" diff --git a/misc.go b/misc.go index 292d2321..444ea32f 100644 --- a/misc.go +++ b/misc.go @@ -6,6 +6,9 @@ import ( kit "shylinux.com/x/toolkits" ) +func (m *Message) IsEnglish() bool { + return kit.IsIn(strings.ToLower(m.Option(MSG_LANGUAGE)), "en", "en-us") +} func (m *Message) Split(str string, arg ...string) *Message { m.Set(MSG_APPEND).Set(MSG_RESULT) field := kit.Select("", arg, 0) diff --git a/render.go b/render.go index 62e3a527..3adce089 100644 --- a/render.go +++ b/render.go @@ -34,13 +34,9 @@ func Render(m *Message, cmd string, args ...Any) string { break } kit.For(kit.Split(k), func(k string) { list = append(list, kit.Format(``, k, k)) }) - case Maps: + case Map, Maps: kit.For(k, func(k, v string) { - list = append(list, kit.Format(``, k, kit.Select(k, v, m.Option(MSG_LANGUAGE) == "zh"))) - }) - case Map: - kit.For(k, func(k, v string) { - list = append(list, kit.Format(``, k, kit.Select(k, v, m.Option(MSG_LANGUAGE) == "zh"))) + list = append(list, kit.Format(``, k, kit.Select(v, k, m.IsEnglish()))) }) default: list = append(list, Render(m, RENDER_BUTTON, kit.LowerCapital(kit.Format(k))))