working on meaningfull messages for task and project related events
Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
This commit is contained in:
@@ -1,10 +1,13 @@
|
||||
/* © SRSoftware 2025 */
|
||||
package de.srsoftware.umbrella.translations;
|
||||
|
||||
import static de.srsoftware.umbrella.core.constants.Field.BASE_URL;
|
||||
import static de.srsoftware.umbrella.core.exceptions.UmbrellaException.missingField;
|
||||
import static java.lang.System.Logger.Level.WARNING;
|
||||
import static java.nio.charset.StandardCharsets.UTF_8;
|
||||
|
||||
import com.sun.net.httpserver.HttpExchange;
|
||||
import de.srsoftware.configuration.Configuration;
|
||||
import de.srsoftware.tools.Path;
|
||||
import de.srsoftware.tools.PathHandler;
|
||||
import de.srsoftware.umbrella.core.ModuleRegistry;
|
||||
@@ -14,15 +17,21 @@ import java.io.IOException;
|
||||
import java.net.URL;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
import org.json.JSONObject;
|
||||
|
||||
public class Translations extends PathHandler implements Translator {
|
||||
private static final System.Logger LOG = System.getLogger("Translations");
|
||||
private final String baseUrl;
|
||||
|
||||
private HashMap<String, JSONObject> translations = new HashMap<>();
|
||||
|
||||
public Translations() {
|
||||
public Translations(Configuration config) {
|
||||
ModuleRegistry.add(this);
|
||||
Optional<String> baseUrl = config.get(BASE_URL);
|
||||
if (baseUrl.isEmpty()) throw missingField(BASE_URL);
|
||||
this.baseUrl = baseUrl.get();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -70,7 +79,7 @@ public class Translations extends PathHandler implements Translator {
|
||||
if (fills != null) for (var entry : fills.entrySet()) {
|
||||
translated = translated.replaceAll("\\{"+entry.getKey()+"}",entry.getValue());
|
||||
}
|
||||
return translated;
|
||||
return translated.replaceAll("\\{base_url}",baseUrl);
|
||||
} catch (IOException e) {
|
||||
return text;
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
"by": "von",
|
||||
|
||||
"cancel": "abbrechen",
|
||||
"Changes in task '{task}':\n\n{body}": "Änderungen an Aufgabe '{task}':\n\n{body}",
|
||||
"choose_type": "Typ wählen",
|
||||
"click_to_edit": "Anklicken zum Bearbeiten",
|
||||
"client_id": "Client-ID",
|
||||
@@ -218,6 +219,7 @@
|
||||
"my files": "Meine Dateien",
|
||||
|
||||
"name": "Name",
|
||||
"'{name}' has been added to '{task}' by '{user}'.": "'{name}' wurde von {user} zu '{task}' hinzugefügt.",
|
||||
"net_price": "Nettopreis",
|
||||
"net_sum": "Netto-Summe",
|
||||
"new_contact": "neuer Kontakt",
|
||||
@@ -332,6 +334,8 @@
|
||||
"tags": "Tags",
|
||||
"task": "Aufgabe",
|
||||
"task_list": "Aufgabenliste",
|
||||
"'{task}' has been added to '{object}':\n\n{body}": "'{task}' wurde zu '{object}' hinzugefügt:\n\n{body}",
|
||||
"Task '{task}' was edited": "Aufgabe '{task}' wurde bearbeitet",
|
||||
"tasks": "Aufgaben",
|
||||
"tasks_for_tag": "Aufgaben mit Tag „{tag}“",
|
||||
"tax_id": "Steuernummer",
|
||||
@@ -339,6 +343,9 @@
|
||||
"tax_rate": "Steuersatz",
|
||||
"template": "Vorlage",
|
||||
"theme": "Design",
|
||||
"The task '{task}' has been created": "Die Aufgabe '{task}' wurde angelegt",
|
||||
"The task '{task}' has been deleted": "Die Aufgabe '{task}' wurde gelöscht",
|
||||
"The task '{task}' has been deleted by {user}": "Die Aufgabe '{task}' wurde von {user} bearbeitet",
|
||||
"time ({id})": "Zeit ({id})",
|
||||
"times": "Zeiten",
|
||||
"timetracking": "Zeiterfassung",
|
||||
@@ -385,6 +392,7 @@
|
||||
"visible_to_guests": "Für Besucher sichtbar",
|
||||
|
||||
"year": "Jahr",
|
||||
"You can view/edit this task at {base_url}/task/{id}/view": "Du kannst diese Aufgabe unter {base_url}/task/{id}/view ansehen/bearbeiten.",
|
||||
"Your token to create a new password" : "Ihr Token zum Erstellen eines neuen Passworts",
|
||||
"your_profile": "dein Profil"
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
"by": "by",
|
||||
|
||||
"cancel": "cancel",
|
||||
"Changes in task '{task}':\n\n{body}": "Changes in task '{task}':\n\n{body}",
|
||||
"choose_type": "choose type",
|
||||
"click_to_edit": "click to edit",
|
||||
"client_id": "client ID",
|
||||
@@ -218,6 +219,7 @@
|
||||
"my files": "my files",
|
||||
|
||||
"name": "Name",
|
||||
"'{name}' has been added to '{task}' by '{user}'.": "'{name}' has been added to '{task}' by '{user}'.",
|
||||
"net_price": "net price",
|
||||
"net_sum": "net sum",
|
||||
"new_contact": "new contact",
|
||||
@@ -332,6 +334,8 @@
|
||||
"tags": "tags",
|
||||
"task": "task",
|
||||
"task_list": "task list",
|
||||
"'{task}' has been added to '{object}':\n\n{body}": "'{task}' has been added to '{object}':\n\n{body}",
|
||||
"Task '{task}' was edited": "Task '{task}' was edited",
|
||||
"tasks": "tasks",
|
||||
"tasks_for_tag": "tasks with tag „{tag}“",
|
||||
"tax_id": "tax ID",
|
||||
@@ -339,6 +343,9 @@
|
||||
"tax_rate": "tax rate",
|
||||
"template": "template",
|
||||
"theme": "design",
|
||||
"The task '{task}' has been created": "The task '{task}' has been created",
|
||||
"The task '{task}' has been deleted": "The task '{task}' has been deleted",
|
||||
"The task '{task}' has been deleted by {user}": "The task '{task}' has been deleted by {user}",
|
||||
"time ({id})": "time ({id})",
|
||||
"times": "times",
|
||||
"timetracking": "time tracking",
|
||||
@@ -385,6 +392,7 @@
|
||||
"visible_to_guests": "visible to guests",
|
||||
|
||||
"year": "year",
|
||||
"You can view/edit this task at {base_url}/task/{id}/view": "You can view/edit this task at {base_url}/task/{id}/view",
|
||||
"Your token to create a new password" : "Your token to create a new password",
|
||||
"your_profile": "your profile"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user