Some checks failed
Server CI / Postgres (shard 0) (push) Has been skipped
Server CI / Postgres (shard 3) (push) Has been skipped
BuildEnv Docker Image / build-image (push) Failing after 4s
BuildEnv Docker Image / build-image-fips (push) Failing after 4s
Migration Review & Release Notes / Generate migration review & release notes (push) Failing after 3s
Server CI / Build Environment (push) Failing after 3s
Server CI / Postgres (shard 1) (push) Has been skipped
Tools CI / check-style (mattermost-govet) (push) Failing after 4s
Server CI / Postgres (shard 2) (push) Has been skipped
Tools CI / check-style (mmgotool) (push) Failing after 3s
Server CI / Elasticsearch v8 Compatibility (push) Has been skipped
Server CI / OpenSearch v2 Compatibility (push) Has been skipped
Server CI / Postgres FIPS (shard 0) (push) Has been skipped
Tools CI / Test (mattermost-govet) (push) Failing after 3s
Server CI / Postgres FIPS (shard 1) (push) Has been skipped
Server CI / Postgres FIPS (shard 2) (push) Has been skipped
Tools CI / Test (mmgotool) (push) Failing after 3s
Server CI / Postgres FIPS (shard 3) (push) Has been skipped
Server CI / Run mmctl tests (push) Has been skipped
Server CI / Run mmctl tests (FIPS) (push) Has been skipped
Server CI / Merge Postgres Test Results (push) Has been skipped
Server CI / Merge Postgres FIPS Test Results (push) Has been skipped
Server CI / Check backport migrations (push) Has been skipped
Server CI / Check generated files (push) Has been skipped
Server CI / check-style (push) Has been skipped
Server CI / Vet API (push) Has been skipped
Server CI / Build mattermost server app (push) Has been skipped
Server CI / Server CI Complete (push) Failing after 2s
Server CI / Server CI Artifacts (push) Has been skipped
Server CI / Sentry Upload (push) Has been skipped
Server CI / Server CI Report (push) Failing after 5m1s
Server CI Nightly Race / Race Detector (push) Has been skipped
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
Webapp CI Cache Warm / Warm Webapp node_modules Cache (push) Has been cancelled
E2E CI Cache Warm / Warm E2E npm Registry Cache (push) Has been cancelled
API / build (push) Has been cancelled
Web App CI / check-types (push) Has been cancelled
Web App CI / check-lint (push) Has been cancelled
Web App CI / check-i18n (push) Has been cancelled
Web App CI / check-external-links (push) Has been cancelled
Web App CI / test (platform) (push) Has been cancelled
Web App CI / test (mattermost-redux) (push) Has been cancelled
Web App CI / test (channels shard 1/4) (push) Has been cancelled
Web App CI / test (channels shard 2/4) (push) Has been cancelled
Web App CI / test (channels shard 3/4) (push) Has been cancelled
Web App CI / test (channels shard 4/4) (push) Has been cancelled
Web App CI / upload-coverage (push) Has been cancelled
Web App CI / build (push) Has been cancelled
YAML Lint / yamllint (push) Has been cancelled
Push mirrored docker images / cd/Push mirrored docker images (push) Has been cancelled
docs-cd / Build and deploy docs (push) Has been cancelled
Docs CI / build (push) Has been cancelled
E2E Cache Warm: Cypress deps / Warm Cypress deps cache (push) Has been cancelled
Scorecards supply-chain security / Scorecard analysis (push) Has been cancelled
Server CI Weekly / Postgres FIPS (push) Has been skipped
Server CI Weekly / Run mmctl tests (FIPS) (push) Has been skipped
Server CI Weekly / Postgres with binary parameters (push) Has been skipped
Server CI Weekly / Build Environment (push) Failing after 1s
Server CI Cache Warm / Warm Go Module and Build Cache (push) Failing after 2s
Server CI Nightly Race / Build Environment (push) Failing after 1s
449 lines
13 KiB
JSON
449 lines
13 KiB
JSON
{
|
|
"Mattermost": {
|
|
"target": "Mattermost"
|
|
},
|
|
"Enterprise Edition": {
|
|
"target": "Enterprise Edition"
|
|
},
|
|
"Team Edition": {
|
|
"target": "Team Edition"
|
|
},
|
|
"Mattermost Cloud": {
|
|
"target": "Mattermost Cloud"
|
|
},
|
|
"Channels": {
|
|
"target": "Channels",
|
|
"note": "As a product name keep English. The common noun 'channels' is 'Kanäle'."
|
|
},
|
|
"Playbooks": {
|
|
"target": "Playbooks"
|
|
},
|
|
"Boards": {
|
|
"target": "Boards"
|
|
},
|
|
"Calls": {
|
|
"target": "Calls"
|
|
},
|
|
"Markdown": {
|
|
"target": "Markdown"
|
|
},
|
|
"OAuth": {
|
|
"target": "OAuth"
|
|
},
|
|
"SAML": {
|
|
"target": "SAML"
|
|
},
|
|
"LDAP": {
|
|
"target": "LDAP",
|
|
"note": "'AD/LDAP' stays as-is."
|
|
},
|
|
"SSO": {
|
|
"target": "SSO"
|
|
},
|
|
"MFA": {
|
|
"target": "MFA"
|
|
},
|
|
"OpenID Connect": {
|
|
"target": "OpenID Connect"
|
|
},
|
|
"Entra ID": {
|
|
"target": "Entra ID"
|
|
},
|
|
"GitLab": {
|
|
"target": "GitLab"
|
|
},
|
|
"Elasticsearch": {
|
|
"target": "Elasticsearch"
|
|
},
|
|
"Gossip": {
|
|
"target": "Gossip",
|
|
"note": "Protocol name; never render literally. Never 'Klatsch und Tratsch'."
|
|
},
|
|
"Actiance XML": {
|
|
"target": "Actiance XML"
|
|
},
|
|
"Global Relay": {
|
|
"target": "Global Relay",
|
|
"note": "Export format written 'Global-Relay-EML' when compounded."
|
|
},
|
|
"System Console": {
|
|
"target": "Systemkonsole",
|
|
"note": "Feminine: die Systemkonsole. Consistent across webapp and mobile."
|
|
},
|
|
"marketplace": {
|
|
"target": "Marktplatz",
|
|
"note": "Beware: the default channel 'Town Square' is also 'Marktplatz' in existing translations — disambiguate via context (Plugin-Marktplatz vs. channel name)."
|
|
},
|
|
"channel": {
|
|
"target": "Kanal",
|
|
"note": "Masculine: der Kanal, Plural Kanäle."
|
|
},
|
|
"team": {
|
|
"target": "Team",
|
|
"note": "Neuter: das Team."
|
|
},
|
|
"post": {
|
|
"target": "Nachricht",
|
|
"note": "Same as message. A few newer server strings use 'Beitrag'."
|
|
},
|
|
"message": {
|
|
"target": "Nachricht",
|
|
"note": "Feminine: die Nachricht."
|
|
},
|
|
"thread": {
|
|
"target": "Unterhaltung",
|
|
"note": "Consistently 'Unterhaltung' (not 'Thread') across webapp, server, and mobile; the Threads view is 'Unterhaltungen'."
|
|
},
|
|
"reply": {
|
|
"target": "Antwort",
|
|
"note": "Verb: antworten. Plural: Antworten."
|
|
},
|
|
"direct message": {
|
|
"target": "Direktnachricht",
|
|
"note": "Abbreviation DM is not expanded in German UI; a few strings use 'direkte Nachricht' — prefer the compound."
|
|
},
|
|
"group message": {
|
|
"target": "Gruppennachricht"
|
|
},
|
|
"mention": {
|
|
"target": "Erwähnung",
|
|
"note": "Verb: erwähnen. '@mention' stays '@Erwähnung' or keeps the @username literal."
|
|
},
|
|
"notification": {
|
|
"target": "Benachrichtigung"
|
|
},
|
|
"pin": {
|
|
"target": "anheften",
|
|
"note": "Pinned messages = 'Angeheftete Nachrichten'; unpin = 'Loslösen' / 'nicht mehr anheften'."
|
|
},
|
|
"bookmark": {
|
|
"target": "Lesezeichen",
|
|
"note": "Neuter: das Lesezeichen. Verb usage: 'Lesezeichen hinzufügen'."
|
|
},
|
|
"saved messages": {
|
|
"target": "Gespeicherte Nachrichten",
|
|
"note": "save = speichern, unsave = 'nicht mehr speichern'"
|
|
},
|
|
"draft": {
|
|
"target": "Entwurf",
|
|
"note": "Masculine: der Entwurf, Plural Entwürfe."
|
|
},
|
|
"scheduled post": {
|
|
"target": "Geplante Nachricht",
|
|
"note": "Existing UI uses 'Geplante Nachrichten' / 'geplanter Versand'."
|
|
},
|
|
"emoji": {
|
|
"target": "Emoji",
|
|
"note": "Neuter: das Emoji, Plural Emojis."
|
|
},
|
|
"custom emoji": {
|
|
"target": "Benutzerdefiniertes Emoji"
|
|
},
|
|
"reaction": {
|
|
"target": "Reaktion",
|
|
"note": "Verb 'react' = reagieren."
|
|
},
|
|
"status": {
|
|
"target": "Status",
|
|
"note": "Masculine: der Status; plural also Status."
|
|
},
|
|
"custom status": {
|
|
"target": "Benutzerdefinierter Status",
|
|
"note": "Majority rendering; a few mobile strings shorten to 'eigener Status' — prefer 'benutzerdefinierter Status'."
|
|
},
|
|
"do not disturb": {
|
|
"target": "Nicht stören",
|
|
"note": "Status label; keep without 'Bitte'. Abbreviation DND is not used in German UI."
|
|
},
|
|
"away": {
|
|
"target": "Abwesend",
|
|
"note": "Lowercase 'abwesend' inside sentences."
|
|
},
|
|
"online": {
|
|
"target": "Online"
|
|
},
|
|
"offline": {
|
|
"target": "Offline"
|
|
},
|
|
"out of office": {
|
|
"target": "Nicht im Büro",
|
|
"note": "Existing status label is '\"Nicht im Büro\"'. In prose about absence, 'abwesend' also appears."
|
|
},
|
|
"guest": {
|
|
"target": "Gast",
|
|
"note": "Masculine: der Gast, Plural Gäste. Guest access = Gastzugang."
|
|
},
|
|
"member": {
|
|
"target": "Mitglied",
|
|
"note": "Neuter: das Mitglied, Plural Mitglieder."
|
|
},
|
|
"user": {
|
|
"target": "Benutzer",
|
|
"note": "Not 'Nutzer', which appears sporadically."
|
|
},
|
|
"system admin": {
|
|
"target": "Systemadministrator",
|
|
"note": "Also 'Systemadmin' in short labels; prefer the full compound."
|
|
},
|
|
"team admin": {
|
|
"target": "Teamadministrator"
|
|
},
|
|
"channel admin": {
|
|
"target": "Kanaladministrator"
|
|
},
|
|
"session": {
|
|
"target": "Sitzung"
|
|
},
|
|
"sign in": {
|
|
"target": "anmelden",
|
|
"note": "Both 'sign in' and 'log in' = anmelden (noun: Anmeldung). Register belongs to the catalog, not to this term: the shipped German files address the user informally, so 'Melde dich an' over 'Melden Sie sich an'."
|
|
},
|
|
"sign out": {
|
|
"target": "abmelden",
|
|
"note": "Both 'sign out' and 'log out' = abmelden (button: 'Abmelden')."
|
|
},
|
|
"join": {
|
|
"target": "beitreten",
|
|
"note": "Takes dative: 'dem Kanal beitreten'."
|
|
},
|
|
"leave": {
|
|
"target": "verlassen",
|
|
"note": "'Kanal verlassen', 'Team verlassen'."
|
|
},
|
|
"archive": {
|
|
"target": "archivieren",
|
|
"note": "Adjective 'archived' = archiviert."
|
|
},
|
|
"unarchive": {
|
|
"target": "wiederherstellen",
|
|
"note": "'Kanal wiederherstellen', 'Team wiederherstellen'. Not 'dearchivieren'."
|
|
},
|
|
"mute": {
|
|
"target": "stummschalten",
|
|
"note": "'Kanal stummschalten'; unmute a channel = 'Stummschaltung aufheben'. Same verb is used for microphone mute in Calls."
|
|
},
|
|
"follow": {
|
|
"target": "folgen",
|
|
"note": "Takes dative: 'einer Unterhaltung folgen'."
|
|
},
|
|
"unfollow": {
|
|
"target": "nicht mehr folgen",
|
|
"note": "'Nicht mehr folgen' is the established button label."
|
|
},
|
|
"favorite": {
|
|
"target": "Favorit",
|
|
"note": "Masculine: der Favorit, Plural Favoriten (sidebar category 'Favoriten'). Verb: 'zu Favoriten hinzufügen'; unfavorite: 'aus Favoriten entfernen'."
|
|
},
|
|
"search": {
|
|
"target": "Suche",
|
|
"note": "Verb: suchen; 'browse' = durchsuchen."
|
|
},
|
|
"integration": {
|
|
"target": "Integration"
|
|
},
|
|
"slash command": {
|
|
"target": "Slash-Befehl"
|
|
},
|
|
"webhook": {
|
|
"target": "Webhook",
|
|
"note": "Masculine: der Webhook. Kept in English."
|
|
},
|
|
"incoming webhook": {
|
|
"target": "Eingehender Webhook"
|
|
},
|
|
"outgoing webhook": {
|
|
"target": "Ausgehender Webhook"
|
|
},
|
|
"trigger word": {
|
|
"target": "Auslösewort",
|
|
"note": "Plural: Auslösewörter. Command trigger word = Befehlsauslösewort."
|
|
},
|
|
"plugin": {
|
|
"target": "Plugin",
|
|
"note": "Neuter: das Plugin. Kept in English."
|
|
},
|
|
"bot": {
|
|
"target": "Bot",
|
|
"note": "Masculine: der Bot. Bot account = Bot-Konto."
|
|
},
|
|
"role": {
|
|
"target": "Rolle"
|
|
},
|
|
"permission": {
|
|
"target": "Berechtigung",
|
|
"note": "Consistent existing rendering (not 'Erlaubnis'/'Recht')."
|
|
},
|
|
"scheme": {
|
|
"target": "Schema",
|
|
"note": "Neuter: das Schema, Plural Schemata. Permission scheme = Berechtigungsschema."
|
|
},
|
|
"license": {
|
|
"target": "Lizenz"
|
|
},
|
|
"seat": {
|
|
"target": "Sitz",
|
|
"note": "Majority rendering in licensing strings (Plural Sitze); 'Lizenzplatz' also appears once and is arguably clearer, but keep 'Sitz' for consistency."
|
|
},
|
|
"trial": {
|
|
"target": "Testversion",
|
|
"note": "Majority rendering; 'Testphase'/'Testzeitraum' appear when a period is meant. Free trial = 'kostenlose Testversion'."
|
|
},
|
|
"workspace": {
|
|
"target": "Arbeitsbereich",
|
|
"note": "Strong majority (56 vs 2 occurrences of untranslated 'Workspace')."
|
|
},
|
|
"subscription": {
|
|
"target": "Abonnement",
|
|
"note": "Informal 'Abo' appears in a few strings."
|
|
},
|
|
"deactivate": {
|
|
"target": "deaktivieren",
|
|
"note": "Deactivated account = deaktiviertes Konto."
|
|
},
|
|
"invite": {
|
|
"target": "einladen",
|
|
"note": "Verb; as a noun use 'Einladung'."
|
|
},
|
|
"invitation": {
|
|
"target": "Einladung"
|
|
},
|
|
"sidebar": {
|
|
"target": "Seitenleiste"
|
|
},
|
|
"unread": {
|
|
"target": "ungelesen",
|
|
"note": "'Unreads' view = 'Ungelesene Nachrichten' / 'Ungelesenes'."
|
|
},
|
|
"attachment": {
|
|
"target": "Anhang",
|
|
"note": "Masculine: der Anhang, Plural Anhänge."
|
|
},
|
|
"public channel": {
|
|
"target": "Öffentlicher Kanal"
|
|
},
|
|
"private channel": {
|
|
"target": "Privater Kanal"
|
|
},
|
|
"shared channel": {
|
|
"target": "Gemeinsamer Kanal",
|
|
"note": "Majority rendering ('gemeinsamer Kanal'); 'geteilter Kanal' also occurs and the admin role name stays English ('Shared Channel Manager'). Keep 'gemeinsam' for consistency."
|
|
},
|
|
"channel header": {
|
|
"target": "Kanalüberschrift",
|
|
"note": "UI labels use 'Kanal-Kopfzeile'; bare 'header' = Kopfzeile."
|
|
},
|
|
"channel purpose": {
|
|
"target": "Kanalzweck",
|
|
"note": "Bare 'purpose' = Zweck."
|
|
},
|
|
"system message": {
|
|
"target": "Systemnachricht",
|
|
"note": "Write as one compound; an existing string has the incorrect spaced form 'System Nachricht'."
|
|
},
|
|
"persistent notification": {
|
|
"target": "Dauerhafte Benachrichtigung"
|
|
},
|
|
"message priority": {
|
|
"target": "Nachrichtenpriorität",
|
|
"note": "Existing strings vary between 'Nachrichtenpriorität' and 'Nachrichten-Priorität'; prefer the solid compound."
|
|
},
|
|
"urgent": {
|
|
"target": "Dringend",
|
|
"note": "Priority label; lowercase 'dringend' in sentences. 'Important' = Wichtig."
|
|
},
|
|
"recap": {
|
|
"target": "Rückblick",
|
|
"note": "Webapp UI uses 'Rückblick'; server error strings use 'Zusammenfassung' (inconsistent). Prefer Rückblick to avoid clashing with summary = Zusammenfassung."
|
|
},
|
|
"agent": {
|
|
"target": "Agent",
|
|
"note": "Masculine: der Agent, Plural Agenten. 'AI agent' is rendered inconsistently as 'KI-Agent' and 'AI-Agent'; prefer 'KI-Agent'."
|
|
},
|
|
"burn-on-read": {
|
|
"target": "Löschen-nach-Lesen",
|
|
"note": "Majority rendering ('Löschen-nach-Lesen-Nachricht'); some admin strings keep English 'Burn-on-Read'."
|
|
},
|
|
"magic link": {
|
|
"target": "Magic Link",
|
|
"note": "Webapp majority keeps English 'Magic Link' (10 vs 4); server strings use 'magischer Link'. Keep Magic Link for consistency with the user-facing webapp."
|
|
},
|
|
"personal access token": {
|
|
"target": "Persönlicher Zugangs-Token",
|
|
"note": "Webapp majority uses 'Zugriffs-Token'. Token is masculine ('den Token')."
|
|
},
|
|
"announcement banner": {
|
|
"target": "Ankündigungs-Banner",
|
|
"note": "Existing strings mix 'Ankündigungs-Banner' and 'Ankündigungsbanner'. Bare 'banner' = Banner."
|
|
},
|
|
"channel banner": {
|
|
"target": "Kanal-Banner",
|
|
"note": "Existing strings mix 'Kanal-Banner' and 'Kanalbanner'."
|
|
},
|
|
"keyword": {
|
|
"target": "Schlüsselwort",
|
|
"note": "Notification settings use 'Schlüsselwörter'; compliance UI uses 'Stichworte' (inconsistent). For mention keywords use Schlüsselwort."
|
|
},
|
|
"user group": {
|
|
"target": "Benutzergruppe",
|
|
"note": "Bare 'group' = Gruppe."
|
|
},
|
|
"permalink": {
|
|
"target": "Permalink",
|
|
"note": "Not 'dauerhafter Link'."
|
|
},
|
|
"profile": {
|
|
"target": "Profil"
|
|
},
|
|
"username": {
|
|
"target": "Benutzername"
|
|
},
|
|
"nickname": {
|
|
"target": "Spitzname"
|
|
},
|
|
"display name": {
|
|
"target": "Anzeigename"
|
|
},
|
|
"collapsed reply threads": {
|
|
"target": "Unterhaltungen",
|
|
"note": "Existing UI renders the feature name simply as 'Unterhaltungen' (mobile display settings). If a literal rendering is required, use 'Eingeklappte Unterhaltungen' — but prefer the established short form."
|
|
},
|
|
"auto-translation": {
|
|
"target": "Automatische Übersetzung",
|
|
"note": "'auto-translated' = automatisch übersetzt."
|
|
},
|
|
"data retention": {
|
|
"target": "Datenaufbewahrung",
|
|
"note": "Policy = 'Datenaufbewahrungsrichtlinie'."
|
|
},
|
|
"compliance export": {
|
|
"target": "Compliance-Export",
|
|
"note": "Keep 'Compliance' English; consistent existing rendering."
|
|
},
|
|
"access control": {
|
|
"target": "Zugriffskontrolle",
|
|
"note": "Attribute-based access control = 'attributbasierte Zugriffskontrolle'; policy = Richtlinie."
|
|
},
|
|
"attribute": {
|
|
"target": "Attribut",
|
|
"note": "Neuter: das Attribut, Plural Attribute. Custom profile attribute = 'benutzerdefiniertes Profilattribut'."
|
|
},
|
|
"onboarding": {
|
|
"target": "Onboarding"
|
|
},
|
|
"Town Square": {
|
|
"target": "Marktplatz",
|
|
"note": "Established default-channel name in server i18n. Caution: 'marketplace' (plugin store) is also 'Marktplatz' — rely on context; consider 'Plugin-Marktplatz' when ambiguity is possible."
|
|
},
|
|
"Off-Topic": {
|
|
"target": "Sonstiges"
|
|
},
|
|
"read-only": {
|
|
"target": "schreibgeschützt",
|
|
"note": "Channel context uses 'Dieser Kanal ist schreibgeschützt'; admin strings also use 'Nur Lesen'/'Nur-Lese-…'. Prefer schreibgeschützt for channels."
|
|
},
|
|
"server": {
|
|
"target": "Server",
|
|
"note": "Masculine: der Server; plural Server."
|
|
}
|
|
}
|