/
BespredeL
/
LMStudioTelegramBot
Обзор
Документация
Войти
/
BespredeL
/
LMStudioTelegramBot
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
localization.go
41 строка
1 KB
Aleksandr Kireev
Refactor
04 фев 2025, 13:23
04 фев 2025, 13:23
0b587e7
Код
Авторство
О чём код?
package main import ( "encoding/json" "fmt" "os" ) // translations Keeps loaded transfers var translations map[string]string // loadTranslations Uploads a json file with translations func loadTranslations(lang string) { filePath := fmt.Sprintf("locales/%s.json", lang) file, err := os.Open(filePath) if err != nil { logger.Fatalf("Error loading localization (%s): %v", lang, err) } defer func(file *os.File) { err := file.Close() if err != nil { logger.Fatalf("Error closing localization (%s): %v", lang, err) } }(file) decoder := json.NewDecoder(file) translations = make(map[string]string) if err := decoder.Decode(&translations); err != nil { logger.Fatalf("JSON parsing error (%s): %v", lang, err) } logger.Infof("Localization loaded: %s", lang) } // t returns the translated line or the key itself if there is no translation func t(key string, args ...interface{}) string { if msg, exists := translations[key]; exists { return fmt.Sprintf(msg, args...) } return fmt.Sprintf(key, args...) // Return the key if there is no translation }