Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
jamiesun committed Dec 28, 2023
2 parents 7e2c8e8 + 8add7ca commit 19f38c8
Show file tree
Hide file tree
Showing 12 changed files with 2,205 additions and 76 deletions.
4 changes: 2 additions & 2 deletions app/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -127,9 +127,9 @@ func (a *Application) MigrateDB(track bool) (err error) {
}
}()
if track {
_ = a.gormDB.Debug().Migrator().AutoMigrate(models.Tables...)
log.ErrorIf(a.gormDB.Debug().Migrator().AutoMigrate(models.Tables...))
} else {
_ = a.gormDB.Migrator().AutoMigrate(models.Tables...)
log.ErrorIf(a.gormDB.Migrator().AutoMigrate(models.Tables...))
}
return nil
}
Expand Down
40 changes: 39 additions & 1 deletion app/i18n.go
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ func (a *Application) QueryTranslateTable(lang string, module, keyword string) [
if module != "" && module != string(k) {
return nil
}
if keyword != "" && !strings.Contains(string(kk), keyword) {
if keyword != "" && !strings.Contains(string(kk), keyword) && !strings.Contains(string(vv), keyword) {
return nil
}
result = append(result, TransTable{
Expand All @@ -164,6 +164,44 @@ func (a *Application) QueryTranslateTable(lang string, module, keyword string) [
return result
}

func (a *Application) ListTranslateTable(lang string) []TransTable {
transdb, err := a.TransDB()
if err != nil {
return nil
}
var result = make([]TransTable, 0)
_ = transdb.View(func(tx *bolt.Tx) error {
b := tx.Bucket([]byte(lang))
if b == nil {
return nil
}

_ = b.ForEach(func(k, v []byte) error {
if v != nil {
return nil
}
sub := b.Bucket(k)
_ = sub.ForEach(func(kk, vv []byte) error {
result = append(result, TransTable{
Lang: lang,
Module: string(k),
Source: string(kk),
Result: string(vv),
})
return nil
})
return nil
})

return nil
})
sort.Slice(result, func(i, j int) bool {
return result[i].Module < result[j].Module
})

return result
}

func (a *Application) Translate(lang, module, src, defValue string) string {
transdb, err := a.TransDB()
if err != nil {
Expand Down
3 changes: 3 additions & 0 deletions assets/assets.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ var TemplatesFs embed.FS
//go:embed buildinfo.txt
var BuildInfo string

//go:embed translate-zh_CN.json
var I18nZhCNResources []byte

//go:embed menu-admin.json
var AdminMenudata []byte

Expand Down
10 changes: 5 additions & 5 deletions assets/buildinfo.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
BuildVersion=latest v8.0.4 2023-11-29 14:27:38
BuildVersion=latest v8.0.4 2023-12-28 23:05:59
ReleaseVersion=v8.0.4
BuildTime=2023-11-29 14:27:38
BuildTime=2023-12-28 23:05:59
BuildName=toughradius
CommitID=9da4db5c09e52abcd943057fb2c4d5711452b92f
CommitDate=Wed, 29 Nov 2023 14:25:57 +0800
CommitID=735a24489c73b3a4c530610412ef8404f2f93ccc
CommitDate=Wed, 29 Nov 2023 14:28:20 +0800
CommitUser=jamiesun.net@gmail.com
CommitSubject=2023-11-29 14:25:44 : eap features
CommitSubject=2023-11-29 14:27:38 : v8.0.4 #159 eap support
109 changes: 103 additions & 6 deletions assets/templates/translate.html
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
callback: function (ev) {
if (ev) {
webix.ajax().headers({
"Content-type":"application/json"
"Content-type": "application/json"
}).post('/admin/translate/delete', JSON.stringify(items)).then(function (result) {
if (callback)
callback()
Expand All @@ -39,6 +39,38 @@
});
}

let initTranslate = function (callback) {
webix.confirm({
title: "Operation confirmation",
ok: "Yes", cancel: "No",
text: "Confirm to init? This operation is irreversible.",
callback: function (ev) {
if (ev) {
webix.ajax().get('/admin/translate/init').then(function (result) {
if (callback)
callback(result)
})
}
}
});
}

let translateAll = function (lang, callback) {
webix.confirm({
title: "Operation confirmation",
ok: "Yes", cancel: "No",
text: "Confirm to trans all? This operation is irreversible.",
callback: function (ev) {
if (ev) {
webix.ajax().get('/admin/translate/transall', {lang: lang}).then(function (result) {
if (callback)
callback(result)
})
}
}
});
}

webix.ready(function () {
let importUrl = '/admin/translate/import'
let exportUrl = '/admin/translate/export'
Expand All @@ -55,12 +87,46 @@
title: "Translate",
icon: "mdi mdi-server",
elements: [
wxui.getPrimaryButton(tr("translate", "Translate All"), 90, false, function () {
let lang = $$(queryid).elements["lang"].getValue()
if (lang === "") {
webix.message({
type: 'error',
text: "Please select a non-English language",
expire: 1500
});
return
}
let btn = this
btn.disable()
translateAll(function (result) {
btn.enable()
let resp = result.json()
webix.message({type: resp.msgtype, text: resp.msg, expire: 3000});
reloadData()
})
}),
wxui.getPrimaryButton(tr("translate", "Export"), 90, false, function () {
let lang = $$(queryid).elements["lang"].getValue()
if (lang === "") {
webix.message({type: 'error', text: "Please select language", expire: 1500});
return
}
wxui.exportData("/admin/translate/export?lang=" + lang, "translate.json")
}),
wxui.getPrimaryButton(tr("translate", "Flush"), 90, false, function () {
webix.ajax().get('/admin/translate/flush').then(function (result) {
let resp = result.json();
webix.message({type: resp.msgtype, text: resp.msg, expire: 3000});
})
}),
wxui.getPrimaryButton(tr("translate", "Init"), 90, false, function () {
initTranslate(function (result) {
let resp = result.json();
webix.message({type: resp.msgtype, text: resp.msg, expire: 3000});
reloadData()
})
}),
wxui.getPrimaryButton(gtr("Create"), 90, false, function () {
wxui.openFormWindow({
width: 640,
Expand Down Expand Up @@ -100,7 +166,13 @@
labelWidth: 75,
width: 270
},
{view: "search", id: "keyword", name: "keyword", placeholder: "Keywords", width: 320},
{
view: "search",
id: "keyword",
name: "keyword",
placeholder: "Keywords",
width: 320
},
{
view: "button",
label: gtr("Query"),
Expand Down Expand Up @@ -133,18 +205,43 @@
{id: "lang", header: [gtr("Language")], adjust: true, sort: "server"},
{id: "module", header: [gtr("Module")], adjust: true, sort: "server"},
{id: "source", header: [gtr("Source text")], fillspace: true, sort: "server"},
{id: "result", header: [gtr("Translate result (click to modify)")], editor: "popup", fillspace: true, sort: "server"},
{
id: "result",
header: [gtr("Translate result (click to modify)")],
editor: "popup",
fillspace: true,
sort: "server"
},
{
id: "opt", header: '', template: function (obj) {
let actions = []
actions.push("<span title='translate' class='table-btn do_translate'><i class='mdi mdi-link'></i> " + tr("translate", "Translate") + "</span> ")
return actions.join(" ")
}, width: 140
},
// {header: {content: "headerMenu"}, headermenu: false, width: 35}
],
leftSplit: 1,
rightSplit: 1,
pager: true,
on: {},
onClick: {
do_translate: function (e, id) {
let item = this.getItem(id)
webix.ajax().get('/admin/translate/transone', {
lang: item.lang,
source: item.source
}).then(function (result) {
let resp = result.json();
webix.message({type: resp.msgtype, text: resp.msg, expire: 3000});
reloadData()
})
},
},
}),
wxui.getTableFooterBar({
tableid: tableid,
actions: [

],
actions: [],
callback: reloadData
}),
]
Expand Down
Loading

0 comments on commit 19f38c8

Please sign in to comment.