From 8520b4b5b32165ab5dfaf847c93226c2eaab1cbf Mon Sep 17 00:00:00 2001 From: jbergner Date: Mon, 1 Sep 2025 21:53:56 +0200 Subject: [PATCH] CSS-Update --- main.go | 48 ++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 44 insertions(+), 4 deletions(-) diff --git a/main.go b/main.go index 188afdb..e6fd142 100644 --- a/main.go +++ b/main.go @@ -3,6 +3,7 @@ package main import ( "context" "database/sql" + "encoding/json" "errors" "fmt" "html/template" @@ -30,13 +31,51 @@ func getenv(k, d string) string { return d } +// Funktion zur Deserialisierung und Umwandlung in map[string]map[string]string +func loadTranslationsFromFile(filename string) (map[string]map[string]string, error) { + // Dateiinhalt lesen + fileData, err := os.ReadFile(filename) + if err != nil { + return nil, fmt.Errorf("fehler beim lesen der datei: %w", err) + } + + var translationFile TranslationFile + + // Deserialisierung des JSON in die Struktur + if err := json.Unmarshal(fileData, &translationFile); err != nil { + return nil, fmt.Errorf("fehler beim deserialisieren der json-daten: %w", err) + } + + // Umwandlung der Struktur in eine Map + result := make(map[string]map[string]string) + for _, trans := range translationFile.Translations { + result[trans.Language] = trans.Messages + } + + return result, nil +} + +// Die Struktur für die Übersetzungen. +type TranslationsStruct struct { + Language string `json:"language"` + Messages map[string]string `json:"messages"` +} + +// Temporäre Struktur zur Deserialisierung. +type TranslationFile struct { + Translations []TranslationsStruct `json:"translations"` +} + +// Globale Variable für die Übersetzungen +var translations map[string]map[string]string + const page = ` Discord Webposter (mit Subscribers)