extended Project event translations

Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
This commit is contained in:
2026-01-20 20:21:54 +01:00
parent 1cb4d2ff14
commit 8c10f820d5
4 changed files with 35 additions and 14 deletions

View File

@@ -16,8 +16,8 @@ import java.util.Map;
public class ProjectEvent extends Event<Project>{
private final UmbrellaUser newMember;
private UmbrellaUser newMember;
public ProjectEvent(UmbrellaUser initiator, Project project, EventType type){
super(initiator, PROJECT, project, type);
newMember = null;
@@ -49,12 +49,12 @@ public class ProjectEvent extends Event<Project>{
}
private Translatable describeCreate() {
var head = t("You have been added to the new project '{project}', created by {user}':\n\n{body}", Field.PROJECT, payload().name(), BODY, payload().description(), USER, initiator().name());
var head = t("You have been added to the new project '{project}', created by {user}:\n\n{body}", Field.PROJECT, payload().name(), BODY, payload().description(), USER, initiator().name());
return t("{head}\n\n{link}","head",head,"link",link());
}
private Translatable describeMemberAdded() {
var head = t("'{name}' has been added to '{project}' by '{user}'.",NAME,newMember.name(),Field.PROJECT,payload().name(),USER,initiator().name());
var head = t("'{name}' has been added to '{object}' by '{user}'.",NAME,newMember.name(),Field.OBJECT,payload().name(),USER,initiator().name());
return t("{head}\n\n{link}","head",head,"link",link());
}
@@ -63,6 +63,11 @@ public class ProjectEvent extends Event<Project>{
return t("{head}\n\n{link}","head",head,"link",link());
}
@Override
protected Map<String, Object> filter(Map<String, Object> map) {
map.remove(MEMBERS);
return super.filter(map);
}
@Override
public boolean isIntendedFor(UmbrellaUser user) {
@@ -76,9 +81,11 @@ public class ProjectEvent extends Event<Project>{
return t("You can view/edit this project at {base_url}/project/{id}/view",ID,payload().id());
}
@Override
public Translatable subject() {
return t("{user} edited {object}",USER,initiator(),OBJECT,payload().name());
}
}
return switch (eventType()){
case CREATE -> t("The project '{project}' has been created", Field.PROJECT, payload().name());
case DELETE -> t("The project '{project}' has been deleted",Field.PROJECT, payload().name());
case MEMBER_ADDED, UPDATE -> t("Project '{project}' was edited",Field.PROJECT,payload().name());
};
}}

View File

@@ -50,11 +50,6 @@ public class TaskEvent extends Event<Task>{
};
}
private Translatable describeMemberAdded() {
var head = t("'{name}' has been added to '{task}' by '{user}'.",NAME,newMember.name(),Field.TASK,payload().name(),USER,initiator().name());
return t("{head}\n\n{link}","head",head,"link",link());
}
private Translatable describeCreate() {
String parentName = null;
var pid = payload().parentTaskId();
@@ -71,6 +66,11 @@ public class TaskEvent extends Event<Task>{
return t("{head}\n\n{link}","head",head,"link",link());
}
private Translatable describeMemberAdded() {
var head = t("'{name}' has been added to '{object}' by '{user}'.",NAME,newMember.name(), OBJECT,payload().name(),USER,initiator().name());
return t("{head}\n\n{link}","head",head,"link",link());
}
private Translatable describeUpdate() {
var head = t("Changes in task '{task}':\n\n{body}",Field.TASK,payload().name(),BODY,diff().orElse(""));
return t("{head}\n\n{link}","head",head,"link",link());

View File

@@ -33,6 +33,7 @@
"by": "von",
"cancel": "abbrechen",
"Changes in project '{project}':\n\n{body}": "Änderungen an Projekt '{project}':\n\n{body}",
"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",
@@ -285,6 +286,7 @@
"processing_code": "Code wird verarbeitet…",
"project": "Projekt",
"project ({id})": "Projekt ({id})",
"Project '{project}' was edited": "Projekt '{project}' wurde bearbeitet",
"projects": "Projekte",
"properties": "Eigenschaften",
"property": "Eigenschaft",
@@ -362,9 +364,12 @@
"tax_rate": "Steuersatz",
"template": "Vorlage",
"theme": "Design",
"The project '{project}' has been created":"Das Projekt '{project}' wurde angelegt",
"The project '{project}' has been deleted": "Das Projekt '{project}' wurde gelöscht",
"The project '{project}' has been deleted by {user}": "Das Projekt '{project}' wurde von {user} gelöscht",
"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",
"The task '{task}' has been deleted by {user}": "Die Aufgabe '{task}' wurde von {user} gelöscht",
"time ({id})": "Zeit ({id})",
"times": "Zeiten",
"timetracking": "Zeiterfassung",
@@ -412,7 +417,9 @@
"wiki_pages": "Wiki-Seiten",
"year": "Jahr",
"You can view/edit this project at {base_url}/project/{id}/view": "Du kannst dieses Projekt unter {base_url}/project/{id}/view ansehen/bearbeiten.",
"You can view/edit this task at {base_url}/task/{id}/view": "Du kannst diese Aufgabe unter {base_url}/task/{id}/view ansehen/bearbeiten.",
"You have been added to the new project '{project}', created by {user}:\n\n{body}": "Du wurdest zum neuen Projekt '{project}', angelegt von {user}, hinzugefügt:\n\n{body}",
"Your token to create a new password" : "Ihr Token zum Erstellen eines neuen Passworts",
"your_profile": "dein Profil"
}

View File

@@ -33,6 +33,7 @@
"by": "by",
"cancel": "cancel",
"Changes in project '{project}':\n\n{body}": "Changes in project '{project}':\n\n{body}",
"Changes in task '{task}':\n\n{body}": "Changes in task '{task}':\n\n{body}",
"choose_type": "choose type",
"click_to_edit": "click to edit",
@@ -236,7 +237,7 @@
"my files": "my files",
"name": "Name",
"'{name}' has been added to '{task}' by '{user}'.": "'{name}' has been added to '{task}' by '{user}'.",
"'{name}' has been added to '{object}' by '{user}'.": "'{name}' has been added to '{object}' by '{user}'.",
"net_price": "net price",
"net_sum": "net sum",
"new_contact": "new contact",
@@ -285,6 +286,7 @@
"processing_code": "processing code…",
"project": "project",
"project ({id})": "project ({id})",
"Project '{project}' was edited": "Project '{project}' was edited",
"projects": "projects",
"properties": "properties",
"property": "property",
@@ -362,6 +364,9 @@
"tax_rate": "tax rate",
"template": "template",
"theme": "design",
"The project '{project}' has been created":"The project '{project}' has been created",
"The project '{project}' has been deleted": "The project '{project}' has been deleted",
"The project '{project}' has been deleted by {user}": "The project '{project}' has been deleted by {user}",
"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}",
@@ -412,7 +417,9 @@
"wiki_pages": "wiki pages",
"year": "year",
"You can view/edit this project at {base_url}/project/{id}/view": "You can view/edit this project at {base_url}/project/{id}/view",
"You can view/edit this task at {base_url}/task/{id}/view": "You can view/edit this task at {base_url}/task/{id}/view",
"You have been added to the new project '{project}', created by {user}:\n\n{body}": "You have been added to the new project '{project}', created by {user}:\n\n{body}",
"Your token to create a new password" : "Your token to create a new password",
"your_profile": "your profile"
}