Revert "Merge pull request 'Complete Housekeeping migration and /ase cutover' (#52) from codex/housekeeping-complete into main"
This reverts commit488b6e57c4, reversing changes made tob506b4499a.
This commit is contained in:
1 parent
488b6e57c4
commit
b1ddda66ff
802 files changed
+61370
-76659
No files matched your search
@@ -3252,653 +3252,6 @@
|
||||
"failed": "Failed"
|
||||
}
|
||||
}
|
||||
},
|
||||
"housekeeping": {
|
||||
"preview": {
|
||||
"badge": "Forhåndsvisning af struktur",
|
||||
"commandDisabled": "Søg i administration",
|
||||
"backToSite": "Tilbage til siden"
|
||||
},
|
||||
"navigation": {
|
||||
"skipToContent": "Gå til indhold",
|
||||
"primary": "Driftsarbejdsområde · Admin menu",
|
||||
"contextual": "Driftsarbejdsområde",
|
||||
"operatorRank": "Rang {rank}"
|
||||
},
|
||||
"commandDeck": {
|
||||
"placeholder": "Søg i administration",
|
||||
"navigation": "Navigering",
|
||||
"commands": "Kommandoer",
|
||||
"entities": "Elementer",
|
||||
"loading": "Vi klargør de tilgængelige administrationsværktøjer.",
|
||||
"empty": "Intet indhold tilgængeligt",
|
||||
"partial": "Administration kunne ikke indlæses",
|
||||
"close": "Luk"
|
||||
},
|
||||
"domains": {
|
||||
"operations": {
|
||||
"title": "Dashboard",
|
||||
"description": "Dashboard · Driftsarbejdsområde"
|
||||
},
|
||||
"people": {
|
||||
"title": "Brugere og adgang",
|
||||
"description": "Brugere og adgang · Driftsarbejdsområde"
|
||||
},
|
||||
"content": {
|
||||
"title": "Indhold",
|
||||
"description": "Indhold · Driftsarbejdsområde"
|
||||
},
|
||||
"economy": {
|
||||
"title": "Økonomi",
|
||||
"description": "Økonomi · Driftsarbejdsområde"
|
||||
},
|
||||
"hotel": {
|
||||
"title": "Værelser",
|
||||
"description": "Værelser · Driftsarbejdsområde"
|
||||
},
|
||||
"system": {
|
||||
"title": "System",
|
||||
"description": "System · Driftsarbejdsområde"
|
||||
}
|
||||
},
|
||||
"routes": {
|
||||
"content": {
|
||||
"brand": {
|
||||
"favicon": "Favicon",
|
||||
"theme": "Tema"
|
||||
},
|
||||
"editorial": {
|
||||
"article-create": "Editorial article Create",
|
||||
"article-detail": "Editorial article Detail",
|
||||
"articles": "Artikler",
|
||||
"tags": "Tags",
|
||||
"writeable-boxes": "Editorial writeable Boxes"
|
||||
},
|
||||
"engagement": {
|
||||
"event-create": "Engagement event Create",
|
||||
"event-detail": "Engagement event Detail",
|
||||
"event-types": "Engagement event Types",
|
||||
"events": "Events",
|
||||
"poll-create": "Engagement poll Create",
|
||||
"poll-detail": "Engagement poll Detail",
|
||||
"polls": "Polls",
|
||||
"prefixes": "Engagement prefixes"
|
||||
},
|
||||
"help": {
|
||||
"email-templates": "Hjælpecenter",
|
||||
"question-create": "Hjælpecenter",
|
||||
"question-detail": "Hjælpecenter",
|
||||
"questions": "Hjælpecenter"
|
||||
},
|
||||
"localization": {
|
||||
"client": "Oversættelser",
|
||||
"cms": "Oversættelser",
|
||||
"emulator": "Oversættelser",
|
||||
"overview": "Oversættelser"
|
||||
},
|
||||
"media": {
|
||||
"ad-create": "Medier",
|
||||
"ad-detail": "Medier",
|
||||
"ads": "Annoncer",
|
||||
"banners": "Banners",
|
||||
"library": "Medier",
|
||||
"photos": "Fotos"
|
||||
}
|
||||
},
|
||||
"economy": {
|
||||
"catalog": {
|
||||
"builder-club-detail": "Katalog",
|
||||
"detail": "Katalog",
|
||||
"maintenance": "Vedligeholdelse",
|
||||
"overview": "Katalog"
|
||||
},
|
||||
"commerce": {
|
||||
"marketplace": "Marketplace",
|
||||
"shop": "Butik",
|
||||
"shop-create": "Commerce shop Create",
|
||||
"shop-detail": "Commerce shop Detail",
|
||||
"subscriptions": "Abonnementer",
|
||||
"vouchers": "Kuponer"
|
||||
},
|
||||
"history": {
|
||||
"transactions": "Transaktioner"
|
||||
},
|
||||
"items": {
|
||||
"detail": "Items base",
|
||||
"overview": "Items base"
|
||||
},
|
||||
"rewards": {
|
||||
"achievements": "Præstationer",
|
||||
"badges": "Badges",
|
||||
"calendar": "Kalender",
|
||||
"calendar-detail": "Rewards calendar Detail",
|
||||
"sounds": "Lyde"
|
||||
},
|
||||
"value": {
|
||||
"rare-values": "Value rare Values"
|
||||
}
|
||||
},
|
||||
"hotel": {
|
||||
"navigation": "Navigation",
|
||||
"radio": {
|
||||
"api-keys": "Radio",
|
||||
"autodj": "Radio",
|
||||
"banners": "Banners",
|
||||
"embed": "Radio",
|
||||
"history": "Radio",
|
||||
"moderation": "Moderation",
|
||||
"monitoring": "Radio",
|
||||
"overview": "Radio",
|
||||
"points": "Radio",
|
||||
"ranks": "Radio",
|
||||
"settings": "Indstillinger"
|
||||
},
|
||||
"room-detail": "Room Detail",
|
||||
"room-furni": "Room Furni",
|
||||
"rooms": "Værelser",
|
||||
"studio": {
|
||||
"audit": "Studio",
|
||||
"badges": "Badges",
|
||||
"clone": "Studio",
|
||||
"clothing": "Studio",
|
||||
"effects": "Studio",
|
||||
"furni": "Studio",
|
||||
"maintenance": "Vedligeholdelse",
|
||||
"pets": "Studio",
|
||||
"repair-icons": "Studio",
|
||||
"sync": "Studio",
|
||||
"upload": "Studio"
|
||||
}
|
||||
},
|
||||
"operations": {
|
||||
"workspace": "Dashboard"
|
||||
},
|
||||
"people": {
|
||||
"community": {
|
||||
"guild-detail": "Community guild Detail",
|
||||
"guilds": "Community guilds",
|
||||
"online": "Community online"
|
||||
},
|
||||
"moderation": {
|
||||
"actions": "Moderation",
|
||||
"bans": "Forbud",
|
||||
"cfh": "Moderation",
|
||||
"cfh-detail": "Moderation",
|
||||
"ip": "Moderation",
|
||||
"overview": "Moderation",
|
||||
"vpn": "Moderation",
|
||||
"word-filter": "Moderation"
|
||||
},
|
||||
"staff": {
|
||||
"applications": "Ansøgninger",
|
||||
"moderation-team": "Staff moderation Team",
|
||||
"teams": "Hold"
|
||||
},
|
||||
"support": {
|
||||
"help-ticket-detail": "Support help Ticket Detail",
|
||||
"help-tickets": "Support help Tickets",
|
||||
"ticket-desk": "Support ticket Desk",
|
||||
"ticket-detail": "Support ticket Detail",
|
||||
"ticket-templates": "Support ticket Templates",
|
||||
"tickets": "Billetter"
|
||||
},
|
||||
"users": {
|
||||
"detail": "Brugere",
|
||||
"edit": "Brugere",
|
||||
"list": "Brugere",
|
||||
"multi-accounts": "Brugere"
|
||||
}
|
||||
},
|
||||
"system": {
|
||||
"access": {
|
||||
"permission-detail": "Access permission Detail",
|
||||
"permissions": "Tilladelser"
|
||||
},
|
||||
"configuration": {
|
||||
"emulator": "Configuration emulator",
|
||||
"settings": "Indstillinger"
|
||||
},
|
||||
"observability": {
|
||||
"analytics": "Analytics",
|
||||
"analytics-activity": "Observability analytics Activity",
|
||||
"analytics-economy": "Observability analytics Economy",
|
||||
"devops": "DevOps",
|
||||
"devops-errors": "Observability devops Errors",
|
||||
"logs-audit": "Observability logs Audit",
|
||||
"logs-chat": "Observability logs Chat",
|
||||
"logs-commands": "Observability logs Commands",
|
||||
"logs-staff": "Observability logs Staff",
|
||||
"logs-trades": "Observability logs Trades"
|
||||
},
|
||||
"operations": {
|
||||
"alerts": "Advarsler",
|
||||
"command-center": "Operations command Center",
|
||||
"maintenance": "Vedligeholdelse"
|
||||
}
|
||||
}
|
||||
},
|
||||
"commands": {
|
||||
"content": {
|
||||
"brand": {
|
||||
"favicon": {
|
||||
"delete": "Favicon · Delete",
|
||||
"save": "Favicon · Save"
|
||||
},
|
||||
"logo": {
|
||||
"save": "Logo save · Save"
|
||||
},
|
||||
"theme": {
|
||||
"apply-custom": "Tema · Apply Custom",
|
||||
"apply-preset": "Tema · Apply Preset",
|
||||
"custom-change": "Tema · Custom Change",
|
||||
"update": "Tema · Update"
|
||||
}
|
||||
},
|
||||
"editorial": {
|
||||
"article": {
|
||||
"change": "Artikler · Change"
|
||||
},
|
||||
"navigation": {
|
||||
"update": "Navigation update · Update"
|
||||
},
|
||||
"tag": {
|
||||
"change": "Tag change · Change"
|
||||
},
|
||||
"writeable-box": {
|
||||
"change": "Writeable Box change · Change"
|
||||
}
|
||||
},
|
||||
"engagement": {
|
||||
"event-prize": {
|
||||
"change": "Event Prize change · Change"
|
||||
},
|
||||
"event-type": {
|
||||
"change": "Event Type change · Change"
|
||||
},
|
||||
"event-winner": {
|
||||
"add": "Event Winner add · Add"
|
||||
},
|
||||
"event": {
|
||||
"change": "Events · Change"
|
||||
},
|
||||
"poll-question": {
|
||||
"change": "Poll Question change · Change"
|
||||
},
|
||||
"poll": {
|
||||
"change": "Polls · Change"
|
||||
},
|
||||
"prefix-blacklist": {
|
||||
"change": "Prefix Blacklist change · Change"
|
||||
},
|
||||
"prefix-settings": {
|
||||
"update": "Prefix Settings update · Update"
|
||||
},
|
||||
"prefix": {
|
||||
"change": "Prefix change · Change"
|
||||
}
|
||||
},
|
||||
"help": {
|
||||
"email-template": {
|
||||
"change": "Hjælpecenter · Change"
|
||||
},
|
||||
"question": {
|
||||
"change": "Hjælpecenter · Change"
|
||||
}
|
||||
},
|
||||
"localization": {
|
||||
"client": {
|
||||
"save": "Oversættelser · Save"
|
||||
},
|
||||
"cms": {
|
||||
"save": "Oversættelser · Save"
|
||||
},
|
||||
"emulator": {
|
||||
"save": "Oversættelser · Save"
|
||||
}
|
||||
},
|
||||
"media": {
|
||||
"ad": {
|
||||
"change": "Medier · Change"
|
||||
},
|
||||
"asset": {
|
||||
"delete": "Medier · Delete",
|
||||
"upload": "Medier · Upload"
|
||||
},
|
||||
"banner": {
|
||||
"change": "Medier · Change"
|
||||
},
|
||||
"photo": {
|
||||
"delete": "Medier · Delete"
|
||||
}
|
||||
}
|
||||
},
|
||||
"economy": {
|
||||
"catalog": {
|
||||
"bc-item": {
|
||||
"change": "Katalog · Change"
|
||||
},
|
||||
"bc-page": {
|
||||
"change": "Katalog · Change",
|
||||
"delete-tree": "Katalog · Delete Tree",
|
||||
"reorder": "Katalog · Reorder"
|
||||
},
|
||||
"item": {
|
||||
"bulk-create": "Katalog · Bulk Create",
|
||||
"change": "Katalog · Change",
|
||||
"move": "Katalog · Move",
|
||||
"reorder": "Katalog · Reorder",
|
||||
"translate": "Katalog · Translate"
|
||||
},
|
||||
"maintenance": {
|
||||
"align-ids": "Vedligeholdelse · Align Ids",
|
||||
"fix-everything": "Vedligeholdelse · Fix Everything",
|
||||
"fix-offers": "Vedligeholdelse · Fix Offers",
|
||||
"fix-sprite-ids": "Vedligeholdelse · Fix Sprite Ids",
|
||||
"reconcile-ids": "Vedligeholdelse · Reconcile Ids",
|
||||
"remove-duplicates": "Vedligeholdelse · Remove Duplicates"
|
||||
},
|
||||
"page": {
|
||||
"change": "Katalog · Change",
|
||||
"delete-tree": "Katalog · Delete Tree",
|
||||
"reorder": "Katalog · Reorder"
|
||||
}
|
||||
},
|
||||
"commerce": {
|
||||
"marketplace": {
|
||||
"cancel": "Marketplace · Cancel"
|
||||
},
|
||||
"shop-article": {
|
||||
"change": "Shop Article change · Change"
|
||||
},
|
||||
"voucher": {
|
||||
"change": "Voucher change · Change"
|
||||
}
|
||||
},
|
||||
"items": {
|
||||
"base": {
|
||||
"update": "Items base · Update"
|
||||
}
|
||||
},
|
||||
"rewards": {
|
||||
"badge": {
|
||||
"give": "Badge give · Give",
|
||||
"upload": "Badge upload · Upload"
|
||||
},
|
||||
"soundtrack": {
|
||||
"change": "Soundtrack change · Change"
|
||||
}
|
||||
},
|
||||
"value": {
|
||||
"category": {
|
||||
"change": "Category change · Change"
|
||||
},
|
||||
"rare": {
|
||||
"change": "Rare change · Change"
|
||||
}
|
||||
}
|
||||
},
|
||||
"hotel": {
|
||||
"radio": {
|
||||
"api-key": {
|
||||
"create": "Radio · Create",
|
||||
"delete": "Radio · Delete"
|
||||
},
|
||||
"autodj": {
|
||||
"delete": "Radio · Delete"
|
||||
},
|
||||
"banner": {
|
||||
"delete": "Radio · Delete"
|
||||
},
|
||||
"rank": {
|
||||
"delete": "Radio · Delete"
|
||||
},
|
||||
"shout": {
|
||||
"delete": "Radio · Delete"
|
||||
}
|
||||
},
|
||||
"rooms": {
|
||||
"delete": "Værelser · Delete",
|
||||
"furni": {
|
||||
"bulk-delete": "Værelser · Bulk Delete",
|
||||
"delete": "Værelser · Delete"
|
||||
},
|
||||
"runtime": {
|
||||
"control": "Værelser · Control"
|
||||
}
|
||||
}
|
||||
},
|
||||
"operations": {
|
||||
"alert": {
|
||||
"broadcast": "Alert broadcast · Broadcast"
|
||||
},
|
||||
"alerts": {
|
||||
"mark-read": "Advarsler · Mark Read"
|
||||
},
|
||||
"maintenance": {
|
||||
"update": "Vedligeholdelse · Update"
|
||||
}
|
||||
},
|
||||
"people": {
|
||||
"application": {
|
||||
"decide": "Application decide · Decide"
|
||||
},
|
||||
"ban": {
|
||||
"create": "Ban create · Create",
|
||||
"lift": "Ban lift · Lift"
|
||||
},
|
||||
"cfh": {
|
||||
"resolve": "Cfh resolve · Resolve",
|
||||
"sanction": "Cfh sanction · Sanction"
|
||||
},
|
||||
"guild": {
|
||||
"disband": "Guild disband · Disband"
|
||||
},
|
||||
"help-ticket": {
|
||||
"reply": "Help Ticket reply · Reply",
|
||||
"status": "Help Ticket status · Status",
|
||||
"unban": "Help Ticket unban · Unban"
|
||||
},
|
||||
"ip": {
|
||||
"action": "Ip action · Action"
|
||||
},
|
||||
"moderation": {
|
||||
"action": "Moderation · Action"
|
||||
},
|
||||
"team": {
|
||||
"change": "Team change · Change"
|
||||
},
|
||||
"ticket-template": {
|
||||
"change": "Ticket Template change · Change"
|
||||
},
|
||||
"ticket": {
|
||||
"assign": "Billetter · Assign",
|
||||
"priority": "Billetter · Priority",
|
||||
"reply": "Billetter · Reply",
|
||||
"status": "Billetter · Status"
|
||||
},
|
||||
"user": {
|
||||
"alert": "Brugere · Alert",
|
||||
"ban": "Brugere · Ban",
|
||||
"disconnect": "Brugere · Disconnect",
|
||||
"mute": "Brugere · Mute",
|
||||
"reset-password": "Brugere · Reset Password",
|
||||
"send-currency": "Brugere · Send Currency",
|
||||
"trade-lock": "Brugere · Trade Lock",
|
||||
"unban": "Brugere · Unban",
|
||||
"unmute": "Brugere · Unmute",
|
||||
"update": "Brugere · Update"
|
||||
},
|
||||
"users": {
|
||||
"bulk-badge": "Brugere · Bulk Badge",
|
||||
"bulk-ban": "Brugere · Bulk Ban",
|
||||
"bulk-currency": "Brugere · Bulk Currency",
|
||||
"bulk-unban": "Brugere · Bulk Unban"
|
||||
},
|
||||
"vpn": {
|
||||
"configure": "Vpn configure · Configure"
|
||||
},
|
||||
"word-filter": {
|
||||
"update": "Word Filter update · Update"
|
||||
}
|
||||
},
|
||||
"system": {
|
||||
"access": {
|
||||
"permissions": {
|
||||
"repair": "Tilladelser · Repair",
|
||||
"update": "Tilladelser · Update"
|
||||
},
|
||||
"rank": {
|
||||
"create": "Rank create · Create",
|
||||
"delete": "Rank delete · Delete",
|
||||
"update": "Rank update · Update"
|
||||
}
|
||||
},
|
||||
"configuration": {
|
||||
"emulator-setting": {
|
||||
"update": "Emulator Setting update · Update"
|
||||
},
|
||||
"emulator-text": {
|
||||
"update": "Emulator Text update · Update"
|
||||
},
|
||||
"setting": {
|
||||
"create": "Setting create · Create",
|
||||
"delete": "Setting delete · Delete",
|
||||
"update": "Setting update · Update"
|
||||
},
|
||||
"settings": {
|
||||
"save": "Indstillinger · Save"
|
||||
}
|
||||
},
|
||||
"operations": {
|
||||
"alert": {
|
||||
"broadcast": "Alert broadcast · Broadcast"
|
||||
},
|
||||
"alerts": {
|
||||
"mark-read": "Advarsler · Mark Read"
|
||||
},
|
||||
"maintenance": {
|
||||
"update": "Vedligeholdelse · Update"
|
||||
},
|
||||
"rcon": {
|
||||
"alert-user": "Rcon alert User · Alert User",
|
||||
"disconnect-user": "Rcon disconnect User · Disconnect User",
|
||||
"execute-command": "Rcon execute Command · Execute Command",
|
||||
"forward-user": "Rcon forward User · Forward User",
|
||||
"give-badge": "Rcon give Badge · Give Badge",
|
||||
"give-credits": "Rcon give Credits · Give Credits",
|
||||
"give-diamonds": "Rcon give Diamonds · Give Diamonds",
|
||||
"give-duckets": "Rcon give Duckets · Give Duckets",
|
||||
"hotel-alert": "Rcon hotel Alert · Hotel Alert",
|
||||
"send-gift": "Rcon send Gift · Send Gift",
|
||||
"set-motto": "Rcon set Motto · Set Motto",
|
||||
"set-rank": "Rcon set Rank · Set Rank",
|
||||
"update-catalog": "Rcon update Catalog · Update Catalog",
|
||||
"update-navigator": "Rcon update Navigator · Update Navigator",
|
||||
"update-word-filter": "Rcon update Word Filter · Update Word Filter"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"widgets": {
|
||||
"content": {
|
||||
"editorial-summary": "Widgets · Editorial Summary",
|
||||
"localization-summary": "Widgets · Localization Summary",
|
||||
"media-summary": "Widgets · Media Summary"
|
||||
},
|
||||
"economy": {
|
||||
"catalog-summary": "Widgets · Catalog Summary",
|
||||
"commerce-summary": "Widgets · Commerce Summary",
|
||||
"value-summary": "Widgets · Value Summary"
|
||||
},
|
||||
"hotel": {
|
||||
"studio": {
|
||||
"active-operations": "Widgets · Studio"
|
||||
}
|
||||
},
|
||||
"operations": {
|
||||
"workspace-summary": "Widgets · Workspace Summary"
|
||||
},
|
||||
"people": {
|
||||
"queue": "Widgets · Queue"
|
||||
},
|
||||
"system": {
|
||||
"alert-summary": "Widgets · Alert Summary",
|
||||
"observability": {
|
||||
"devops": "Widgets · DevOps"
|
||||
},
|
||||
"operational-health": "Widgets · Operational Health",
|
||||
"operations": {
|
||||
"alerts": "Widgets · Advarsler"
|
||||
}
|
||||
}
|
||||
},
|
||||
"workspace": {
|
||||
"title": "Driftsarbejdsområde",
|
||||
"description": "Vi klargør de tilgængelige administrationsværktøjer.",
|
||||
"noDomainsTitle": "Intet indhold tilgængeligt",
|
||||
"noDomainsDescription": "Adgang nægtet",
|
||||
"partial": "Administration kunne ikke indlæses",
|
||||
"inbox": {
|
||||
"title": "Driftsarbejdsområde",
|
||||
"domainFilter": "Driftsarbejdsområde · Indhold",
|
||||
"stateFilter": "Driftsarbejdsområde · Monitoring",
|
||||
"priorityFilter": "Driftsarbejdsområde · Advarsler",
|
||||
"all": "Udvid alle",
|
||||
"loading": "Vi klargør de tilgængelige administrationsværktøjer.",
|
||||
"empty": "Intet indhold tilgængeligt",
|
||||
"partial": "Administration kunne ikke indlæses",
|
||||
"open": "Åbn"
|
||||
},
|
||||
"recent": {
|
||||
"title": "Seneste arbejde",
|
||||
"empty": "Intet indhold tilgængeligt"
|
||||
},
|
||||
"favorites": {
|
||||
"title": "Favoritter",
|
||||
"pin": "Fastgør",
|
||||
"unpin": "Frigør",
|
||||
"error": "Administration kunne ikke indlæses",
|
||||
"reorderInstructions": "Tryk på mellemrum, og brug piletasterne til at ændre rækkefølgen."
|
||||
},
|
||||
"widgetSettings": {
|
||||
"title": "Widgets · Indstillinger",
|
||||
"mandatory": "Påkrævet",
|
||||
"error": "Administration kunne ikke indlæses"
|
||||
},
|
||||
"widgets": {
|
||||
"title": "Widgets",
|
||||
"partial": "Administration kunne ikke indlæses",
|
||||
"error": "Administration kunne ikke indlæses",
|
||||
"reorderInstructions": "Tryk på mellemrum, og brug piletasterne til at ændre rækkefølgen."
|
||||
}
|
||||
},
|
||||
"states": {
|
||||
"loading": {
|
||||
"title": "Vi klargør de tilgængelige administrationsværktøjer.",
|
||||
"description": "Vi klargør de tilgængelige administrationsværktøjer."
|
||||
},
|
||||
"empty": {
|
||||
"title": "Intet indhold tilgængeligt",
|
||||
"description": "Intet indhold tilgængeligt"
|
||||
},
|
||||
"partial": {
|
||||
"label": "Administration kunne ikke indlæses",
|
||||
"title": "Administration kunne ikke indlæses",
|
||||
"description": "Vi klargør de tilgængelige administrationsværktøjer."
|
||||
},
|
||||
"error": {
|
||||
"title": "Administration kunne ikke indlæses",
|
||||
"description": "Administration kunne ikke indlæses"
|
||||
},
|
||||
"forbidden": {
|
||||
"title": "Adgang nægtet",
|
||||
"description": "Adgang nægtet"
|
||||
},
|
||||
"ready": {
|
||||
"title": "Driftsarbejdsområde",
|
||||
"description": "Vi klargør de tilgængelige administrationsværktøjer."
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"emails": {
|
||||
|
||||
Reference in new issue
Block a user