working on messagesystem, password reset form
Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
description = "Umbrella : Translations"
|
||||
|
||||
dependencies{
|
||||
implementation(project(":core"))
|
||||
implementation("org.json:json:20240303")
|
||||
}
|
||||
@@ -7,13 +7,14 @@ import static java.nio.charset.StandardCharsets.UTF_8;
|
||||
import com.sun.net.httpserver.HttpExchange;
|
||||
import de.srsoftware.tools.Path;
|
||||
import de.srsoftware.tools.PathHandler;
|
||||
import de.srsoftware.umbrella.core.api.Translator;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.net.URL;
|
||||
import java.util.HashMap;
|
||||
import org.json.JSONObject;
|
||||
|
||||
public class Translations extends PathHandler {
|
||||
public class Translations extends PathHandler implements Translator {
|
||||
private static final System.Logger LOG = System.getLogger("Translations");
|
||||
|
||||
private HashMap<String, JSONObject> translations = new HashMap<>();
|
||||
@@ -23,10 +24,13 @@ public class Translations extends PathHandler {
|
||||
allowOrigin(ex,"*");
|
||||
if (path.empty())return sendContent(ex,501,"Language missing");
|
||||
var lang = path.pop();
|
||||
var translationsForLang = translations.get(lang);
|
||||
if (translationsForLang == null) translations.put(lang,translationsForLang = loadTranslations(lang));
|
||||
return sendContent(ex,getTranslations(lang));
|
||||
}
|
||||
|
||||
return sendContent(ex,translationsForLang);
|
||||
private JSONObject getTranslations(String lang) throws IOException {
|
||||
var result = translations.get(lang);
|
||||
if (result == null) translations.put(lang,result = loadTranslations(lang));
|
||||
return result;
|
||||
}
|
||||
|
||||
private JSONObject loadTranslations(String lang) throws IOException {
|
||||
@@ -44,4 +48,14 @@ public class Translations extends PathHandler {
|
||||
return new JSONObject();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String translate(String language, String text) {
|
||||
try {
|
||||
var translations = getTranslations(language);
|
||||
return translations.has(text) ? translations.getString(text) : text;
|
||||
} catch (IOException e) {
|
||||
return text;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,14 +8,30 @@
|
||||
"login" : {
|
||||
"do_login" : "anmelden",
|
||||
"Email_or_Username": "Email oder Nutzername",
|
||||
"forgot_pass" : "Password vergessen?",
|
||||
"Login" : "Anmeldung",
|
||||
"OIDC_Login" : "Anmeldung mit OIDC",
|
||||
"Password" : "Passwort"
|
||||
},
|
||||
"menu" : {
|
||||
"bookmark": "Lesezeichen",
|
||||
"company": "Firma",
|
||||
"contact": "Kontakte",
|
||||
"document": "Dokumente",
|
||||
"files": "Dateien",
|
||||
"items": "Items",
|
||||
"logout": "Abmelden",
|
||||
"message": "Benachrichtigungen",
|
||||
"model": "Modelle",
|
||||
"notes": "Notizen",
|
||||
"project": "Projekte",
|
||||
"stock": "Inventar",
|
||||
"task": "Aufgaben",
|
||||
"time": "Zeiterfassung",
|
||||
"tutorial": "Tutorial",
|
||||
"user": "Benutzer",
|
||||
"users": "Benutzer",
|
||||
"tutorial": "Tutorial"
|
||||
"wiki": "Wiki"
|
||||
},
|
||||
"status" : {
|
||||
"403": "Zugriff verweigert",
|
||||
@@ -64,10 +80,13 @@
|
||||
"saved": "gespeichert",
|
||||
"save_service": "Service speichern",
|
||||
"save_user": "Nutzer speichern",
|
||||
"sent_email": "Email gesendet",
|
||||
"service": "Service",
|
||||
"settings" : "Eisntellungen",
|
||||
"theme": "Design",
|
||||
"unlink": "Trennen",
|
||||
"update": "aktualisieren",
|
||||
"UPDATE_USERS" : "Nutzer aktualisieren",
|
||||
"user_module" : "Umbrella User-Verwaltung",
|
||||
"your_profile": "dein Profil"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user