Merge remote-tracking branch 'origin/master'
This commit is contained in:
72
svc/cmd/translation_sync_once/main.go
Normal file
72
svc/cmd/translation_sync_once/main.go
Normal file
@@ -0,0 +1,72 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"bssapp-backend/db"
|
||||
"bssapp-backend/routes"
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"github.com/joho/godotenv"
|
||||
)
|
||||
|
||||
func main() {
|
||||
_ = godotenv.Load(".env", "mail.env", ".env.local")
|
||||
|
||||
if err := db.ConnectMSSQL(); err != nil {
|
||||
log.Fatalf("mssql connect failed: %v", err)
|
||||
}
|
||||
pgDB, err := db.ConnectPostgres()
|
||||
if err != nil {
|
||||
log.Fatalf("postgres connect failed: %v", err)
|
||||
}
|
||||
defer pgDB.Close()
|
||||
|
||||
limit := 30000
|
||||
if raw := os.Getenv("TRANSLATION_SYNC_LIMIT"); raw != "" {
|
||||
if parsed, err := strconv.Atoi(raw); err == nil && parsed > 0 {
|
||||
limit = parsed
|
||||
}
|
||||
}
|
||||
|
||||
langs := []string{"en", "de", "it", "es", "ru", "ar"}
|
||||
if raw := strings.TrimSpace(os.Getenv("TRANSLATION_SYNC_LANGS")); raw != "" {
|
||||
parts := strings.Split(raw, ",")
|
||||
custom := make([]string, 0, len(parts))
|
||||
for _, p := range parts {
|
||||
v := strings.TrimSpace(strings.ToLower(p))
|
||||
if v != "" {
|
||||
custom = append(custom, v)
|
||||
}
|
||||
}
|
||||
if len(custom) > 0 {
|
||||
langs = custom
|
||||
}
|
||||
}
|
||||
|
||||
autoTranslate := true
|
||||
if raw := strings.TrimSpace(strings.ToLower(os.Getenv("TRANSLATION_SYNC_AUTO_TRANSLATE"))); raw != "" {
|
||||
if raw == "0" || raw == "false" || raw == "off" {
|
||||
autoTranslate = false
|
||||
}
|
||||
}
|
||||
|
||||
result, err := routes.PerformTranslationSync(pgDB, db.MssqlDB, routes.TranslationSyncOptions{
|
||||
AutoTranslate: autoTranslate,
|
||||
Languages: langs,
|
||||
Limit: limit,
|
||||
OnlyNew: true,
|
||||
})
|
||||
if err != nil {
|
||||
log.Fatalf("manual sync failed: %v", err)
|
||||
}
|
||||
|
||||
fmt.Printf("translation sync done: seeds=%d affected=%d auto_translated=%d langs=%v\n",
|
||||
result.SeedCount,
|
||||
result.AffectedCount,
|
||||
result.AutoTranslated,
|
||||
result.TargetLangs,
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user