feat: add i18n support for team management UI and role table header (#3702)

# Description of Changes

- Replaced hardcoded strings in `team-details.html` and `teams.html`
with internationalized message tags (e.g., `team.members`, `team.role`,
etc.)
- Introduced new message keys for team management across multiple
`messages_*.properties` files
- Added `text-overflow` styling to a shared CSS file
(`modern-tables.css`) for reuse across admin pages
- Removed the unused `adminUserSettings.roles` translation key and
replaced it with the singular `adminUserSettings.role` where necessary

These changes improve internationalization coverage in the team
management views and prevent layout issues in tight table columns
through shared styling.

@Frooodle merge after #3701

---

## Checklist

### General

- [x] I have read the [Contribution
Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md)
- [x] I have read the [Stirling-PDF Developer
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md)
(if applicable)
- [ ] I have read the [How to add new languages to
Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md)
(if applicable)
- [x] I have performed a self-review of my own code
- [x] My changes generate no new warnings

### Documentation

- [ ] I have updated relevant docs on [Stirling-PDF's doc
repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/)
(if functionality has heavily changed)
- [x] I have read the section [Add New Translation
Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md#add-new-translation-tags)
(for new translation tags only)

### UI Changes (if applicable)

- [ ] Screenshots or videos demonstrating the UI changes are attached
(e.g., as comments or direct attachments in the PR)

### Testing (if applicable)

- [ ] I have tested my changes locally. Refer to the [Testing
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md#6-testing)
for more details.
This commit is contained in:
Ludy
2025-06-14 22:53:08 +01:00
committed by GitHub
parent ffcbf31cca
commit da365c12b4
47 changed files with 779 additions and 390 deletions
@@ -212,6 +212,7 @@ color=Farbe
sponsor=Sponsor
info=Informationen
pro=Pro
proFeatures=Pro Features
page=Seite
pages=Seiten
loading=Laden...
@@ -219,12 +220,12 @@ addToDoc=In Dokument hinzufügen
reset=Zurücksetzen
apply=Anwenden
noFileSelected=Keine Datei ausgewählt. Bitte laden Sie eine hoch.
view=View
cancel=Cancel
view=Anzeigen
cancel=Abbrechen
back.toSettings=Back to Settings
back.toHome=Back to Home
back.toAdmin=Back to Admin
back.toSettings=Zurück zu Einstellungen
back.toHome=Zurück zur Startseite
back.toAdmin=Zurück zu Administrator
legal.privacy=Datenschutz
legal.terms=AGB
@@ -265,7 +266,7 @@ enterpriseEdition.button=Auf Pro-Version umsteigen
enterpriseEdition.warning=Diese Funktion ist nur für Pro-Nutzer verfügbar.
enterpriseEdition.yamlAdvert=Stirling-PDF Pro unterstützt YAML Konfigurationsdateien, SSO und weitere Funktionen.
enterpriseEdition.ssoAdvert=Suchen Sie weitere Funktionen in der Benutzerverwaltung? Steigen Sie auf die Pro-Version um
enterpriseEdition.proTeamFeatureDisabled=Team management features require a Pro licence or higher
enterpriseEdition.proTeamFeatureDisabled=Teammanagementfunktionen erfordern eine Pro-Lizenz oder höher
#################
@@ -346,8 +347,8 @@ account.property=Eigenschaft
account.webBrowserSettings=Webbrowser-Einstellung
account.syncToBrowser=Synchronisiere Konto -> Browser
account.syncToAccount=Synchronisiere Konto <- Browser
account.adminTitle=Administrator Tools
account.adminNotif=You have admin privileges. Access system settings and user management.
account.adminTitle=Administrator-Tools
account.adminNotif=Sie haben Administratorrechte - Zugriff auf Systemeinstellungen und Benutzerverwaltung.
adminUserSettings.title=Benutzerkontrolle
@@ -359,9 +360,8 @@ adminUserSettings.deleteUser=Benutzer löschen
adminUserSettings.confirmDeleteUser=Soll der Benutzer gelöscht werden?
adminUserSettings.confirmChangeUserStatus=Soll der Benutzer deaktiviert/aktiviert werden?
adminUserSettings.usernameInfo=Der Benutzername darf nur Buchstaben, Zahlen und die folgenden Sonderzeichen @._+- enthalten oder muss eine gültige E-Mail-Adresse sein.
adminUserSettings.roles=Rollen
adminUserSettings.role=Rolle
adminUserSettings.actions=Aktions
adminUserSettings.actions=Aktionen
adminUserSettings.apiUser=Eingeschränkter API-Benutzer
adminUserSettings.extraApiUser=Zusätzlicher eingeschränkter API-Benutzer
adminUserSettings.webOnlyUser=Nur Web-Benutzer
@@ -379,37 +379,48 @@ adminUserSettings.disabledUsers=Deaktivierte Benutzer:
adminUserSettings.totalUsers=Gesamtzahl der Benutzer:
adminUserSettings.lastRequest=Letzte Anfrage
adminUserSettings.usage=Statistiken
adminUserSettings.teams=View/Edit Teams
adminUserSettings.teams=Teams anzeigen/bearbeiten
adminUserSettings.team=Team
adminUserSettings.manageTeams=Manage Teams
adminUserSettings.createTeam=Create Team
adminUserSettings.viewTeam=View Team
adminUserSettings.deleteTeam=Delete Team
adminUserSettings.teamName=Team Name
adminUserSettings.teamExists=Team already exists
adminUserSettings.teamCreated=Team created successfully
adminUserSettings.teamChanged=User's team was updated
adminUserSettings.totalMembers=Total Members
adminUserSettings.confirmDeleteTeam=Are you sure you want to delete this team?
adminUserSettings.manageTeams=Teamsverwaltung
adminUserSettings.createTeam=Team erstellen
adminUserSettings.viewTeam=Team anzeigen
adminUserSettings.deleteTeam=Team löschen
adminUserSettings.teamName=Teamname
adminUserSettings.teamExists=Team existiert bereits
adminUserSettings.teamCreated=Team erfolgreich erstellt
adminUserSettings.teamChanged=Das Team des Benutzers wurde aktualisiert
adminUserSettings.teamHidden=Ausgeblendet
adminUserSettings.totalMembers=Mitgliederanzahl
adminUserSettings.confirmDeleteTeam=Sind Sie sicher, dass Sie dieses Team löschen möchten?
teamCreated=Team created successfully
teamExists=A team with that name already exists
teamNameExists=Another team with that name already exists
teamNotFound=Team not found
teamDeleted=Team deleted
teamHasUsers=Cannot delete a team with users assigned
teamRenamed=Team renamed successfully
teamCreated=Team erfolgreich erstellt
teamExists=Ein Team mit diesem Namen gibt es bereits
teamNameExists=Ein weiteres Team mit diesem Namen existiert bereits
teamNotFound=Team nicht gefunden
teamDeleted=Team gelöscht
teamHasUsers=Ein Team mit zugewiesenen Benutzern kann nicht gelöscht werden
teamRenamed=Team erfolgreich umbenannt
# Team user management
team.addUser=Add User to Team
team.selectUser=Select User
team.warning.moveUser=Warning: This will move the user from "{0}" team to "{1}" team. Are you sure?
team.confirm.moveUser=Are you sure you want to move this user from "{0}" team to "{1}" team?
team.userAdded=User successfully added to team
team.back=Back to Teams
team.internal=Internal Team
team.internalTeamNotAccessible=The Internal team is a system team and cannot be accessed
team.cannotMoveInternalUsers=Users in the Internal team cannot be moved to other teams
team.addUser=Benutzer zum Team hinzufügen
team.selectUser=Benutzer auswählen
team.warning.moveUser=WARNUNG: Dadurch wird der Benutzer aus Team "{0}" in das Team "{1}" verschoben. Sind Sie sicher?
team.confirm.moveUser=Sind Sie sicher, dass Sie diesen Benutzer aus dem Team "{0}" in das Team "{1}" verschieben möchten?
team.userAdded=Benutzer erfolgreich zum Team hinzugefügt
team.back=Zurück zur Teamverwaltung
team.internal=Internes Team
team.internalTeamNotAccessible=Das interne Team ist ein Systemteam und kann nicht zugegriffen werden
team.cannotMoveInternalUsers=Benutzer im internen Team können nicht in andere Teams verschoben werden
team.hidden=Ausgeblendet
team.name=Teamname
team.totalMembers=Mitgliederanzahl
team.members=Mitglieder
team.username=Benutzername
team.role=Rolle
team.status=Status
team.enabled=Aktiviert
team.disabled=Deaktiviert
team.noMembers=Dieses Team hat noch keine Mitglieder.
@@ -656,7 +667,7 @@ home.sanitizePdf.desc=Entfernen von Skripten und anderen Elementen aus PDF-Datei
sanitizePdf.tags=sauber,sicher,sicher,bedrohungen entfernen
home.URLToPDF.title=URL/Website zu PDF
home.URLToPDF.desc=Konvertiert jede http(s)URL zu PDF
home.URLToPDF.desc=Konvertiert jede http(s) URL zu PDF
URLToPDF.tags=web capture,seite speichern,web to doc,archiv
home.HTMLToPDF.title=HTML zu PDF
@@ -1544,8 +1555,8 @@ survey.meeting.button=Besprechung buchen
#error
error.sorry=Entschuldigung für das Problem!
error.needHelp=Brauchst du Hilfe / Ein Problem gefunden?
error.contactTip=Wenn du weiterhin Probleme hast, zögere nicht, uns um Hilfe zu bitten. Du kannst ein Ticket auf unserer GitHub-Seite einreichen oder uns über Discord kontaktieren:
error.needHelp=Brauchen Sie Hilfe / Ein Problem gefunden?
error.contactTip=Wenn Sie weiterhin Probleme haben, zögern Sie nicht, uns um Hilfe zu bitten. Sie können ein Ticket auf unserer GitHub-Seite einreichen oder uns über Discord kontaktieren:
error.404.head=404 - Seite nicht gefunden | Ups, wir sind im Code gestolpert!
error.404.1=Wir können die gesuchte Seite nicht finden.
error.404.2=Etwas ist schiefgelaufen
@@ -1702,5 +1713,3 @@ editTableOfContents.desc.1=This tool allows you to add or edit the table of cont
editTableOfContents.desc.2=You can create a hierarchical structure by adding child bookmarks to parent bookmarks.
editTableOfContents.desc.3=Each bookmark requires a title and target page number.
editTableOfContents.submit=Apply Table of Contents